My Sinclair ZX Spectrum Programs

Sinclair ZX Spectrum+ from wikipedia

Programs from the 1980s that can still be run today...

In the mid-1980s, I bought my first computer, a Sinclair ZX Spectrum+. It was a wonderful machine, solidly built with a proper keyboard and it came with an excellent guide published by Dorling Kindersley, along with, IIRC, a bundle of software including a primitive but fun racing simulator (Chequered Flag), a chess program and a wire-frame 3D viewer (VU-3D).

This and machines like it were at the forefront of the home computer revolution in the UK at least. They could be bought for perhaps a similar amount of money as a portable colour TV, although peripherals would bump up the total cost of course. The 'educational' angle was promoted, which no doubt increased their take-up, although gaming would have been the main market for software. Crucially though, the interface was a Basic language interpreter and a whole software industry was born in teenagers' bedrooms as a result.

I was no teenager, but working as a software developer on much bigger machines. I remember clearly buying one on the way back home after a tough day at the office!

I was a relatively late adopter of this new technology, but was spurred on by programming challenges of a mathematical nature in Scientific American (called Computer Recreations) and The Sunday Times and by my attempts to 'play' John Conway's Game of Life with paper and pencil! Sinclair were British with a reputation for innovative if quirky, inexpensive electronics, albeit with a mixed record - calculators good, digital LED watches not so good. The ZX Spectrum + had good reviews and built on the success of their earlier machines - the ZX80, the ZX81 and the ZX Spectrum (of rubbery keyboard fame) - so I decided to take the plunge.

While I did buy a few games (notably the incredible Elite, never getting much further than the planet Zaonce, IIRC, but loving every minute of it!) most of the time I used it to write programs for my own amusement, inspired by the challenges mentioned earlier.

Programs were stored as audio signals on cassette tape and I bought a suitable tape player/recorder with signal meter for the purpose, at the same time as I bought the computer.

As programs were loaded, there was a little sound and light show, which seemed quite hi-tech at the time, and rather charming now. If you wanted to save a program, you had to make sure not to overwrite anything else on the tape. Compared with saving a file on a PC today it was rather a laborious process, with scope for losing the fruits of all your hard work, so it made sense to have a printer as well. In my case, I think it was this one here.

The amount of memory available to the coder was a tiny 48k, the z80 processor ran at a snail's pace and was limited in its functions - it didn't even have in-built multiplication and division operations (these were implemented in the Spectrum's ROM)! And yet you could have so much fun with it.

It occupied a lot of my spare time for perhaps a year or two as I wrote the bulk of my code. The last programs were I think the Strange Attractor and Mandelbrot Set ones later in the decade.

After perhaps a dozen years, around the turn of the century, I tried to use the machine again, but some of the keys didn't work and I gave it away, rather than throwing it out, in the hope that it could be repaired and appreciated again by someone else. Luckily, I'd come across some PC-based emulators and tools and decided to transfer my old programs across to the PC, to give them a new lease of life. I was thrilled to be able to do so and to see them running again after such a long time!

Having got this far, I decided to put my old programs online, plus a few new ones as well, in a similar vein. Follow the links at the side for programs and details. Hopefully, they demonstrate the versatility of this marvellous machine and that it wasn't all about games (as good as they were!) and there was indeed an 'educational' angle. 

I've chosen to provide my programs in z80 format files, which are snapshots of ZX Spectrum memory. The reason for this choice is that in a couple of cases I need to provide machine code as well as BASIC programs and this format allows me to do just this in a single file. For consistency I'm using this format for all cases. You can readily open these files and run the programs (just hit the R key) in browser-based emulators Qaop/JS or JSSpeccy3. Both are excellent, but Qaop/JS allows you to save any edits you make. 

Using this capability, as well as that in Fuse, I've modified my old programs and created many new ones as well. In fact, the number of new topics now equals the number of old ones and may well exceed it before long!

Miscellaneous notes