Home   • Persönlich •

< Persönlich

< Persönlich: Projects

> Intro

• 1. Generation ZX80/81

> 2. Generation SBCS

> 3. Generation FISC


— Projects: History, 1. Generation ZX80/81 —

ZX80 and ZX81

ZX80 Early in 1980, Science of Cambridge, Ltd. in Cambridge, UK, introduced a microcomputer based on a Zilog Z80 CPU. It featured 4 KB ROM containing the operating system, the character decoder and a BASIC interpreter with integer mathematics, and 1 KB (one Kilobyte!) of RAM. A built-in video modulator interfaced to a black and white TV to display the 25 lines of 40 characters text. And of course, there was a keyboard as well. When the computer ran a program, there was no display, only when data was to be entered or the results were being displayed.

Together with a colleague of mine, I ordered a microcomputer for each one of us directly in the UK and paid for one piece what today would buy you a Palmtop. This was in late spring 1980.

ZX81 In 1981, the Sinclair ZX81 microcomputer hit the market. In the USA it was sold as Timex TS1000. It had a 8 KB ROM with the operating system, an enhanced BASIC interpreter and a floating point math package. There was a fast and a slow mode. The fast mode worked like the ZX80 while the slow mode had a display also when a program run. This was done by (mis)using the Refresh register of the Z80 CPU as a counter to generate the TV lines.

Unfortunately, buying a new microcomputer a good half year after the major investment in the ZX80 was out of my budget. Instead, I purchased the 8 KB ROM to upgrade the old micro. Slow mode did not work, however, due to hardware restrictions.

I bought the 16 KB RAM pack that plugged on the back side also. A cassette interface stored the data permanently. Saving and loading programs of 16 KB took 7½ minutes — if it worked the first time, which was seldom the case.


The cassette interface to store programs was a real nuissance and many proud owner of the ZX81 complained about it in the computer magazines of that time. The first thing was to improve this. Also, we wanted to use ZX80 and ZX81 mode alternatively.

The picture below shows the ZX80 in the foreground with the stacked ROMs that could be selected by a switch. To the left, an interface was added that connected to the unit at left in the 19 inch case in the background. It contained the audio filters I made. From that time on, the cassette interface worked with almost 100% reliability.


The ZX80 had an edge connector that accepted an add-on memory pack of 16 KB. It was a mechanical catastrophe. Depending on how hard you pushed on the keyboard, it lost contact and another half an hour of typing was lost. Because of that, typing in a long program and save it to the cassette could take half a day.

A plug-in unit was added beside the audio filters and the 16 KB memory screwed onto the board. A ribbon cable connected the ZX80 to the RAM. The power supply to the right was designed with major hardware extensions in mind: 5 V, 5 A; +12 V, 1 A; -12 V, 1 A.

Eventually, I found used keyboard PCBs from «real» computers with gold plated traces on the PCB for a price that was slightly higher of what you have to pay for a cheap new keyboard today. My colleague built a wooden case to build the board into. An additional interface had to be built for it. It worked fine. The keyboard can be seen on top of the tray in the picture above.

The first really useful program written for the enhanced ZX80/81 system was by a colleague. It was used to determine the components for a transistor amplifier.


The above is a screen dump of the result page from an example run. I did it not on the ZX81, but with an emulator on the Pentium II I had at the time.

The BASIC program has a size of 6'791 bytes and needs 7.5 KB ROM and 512 Bytes for the character decoder. Try to match this today. You can download the program together with a game and a ZX81 emulator for DOS here (emulator.zip 38 KB).

  © 2004 - 2018 by Horo Wernli.