Saturday, 23 February 2013

Sinclair ZX80 Repair

I've been doing a number of projects recently on the ZX81, and one of the things that comes up from time to time, is its predecessor, the Sinclair ZX80. This was a similar machine, in many ways the ZX81 is a cost reduced version of the ZX80.
The ZX81 had a new version of BASIC, with various improvments. It also had additional hardware to support fast and slow modes, which allow it to temporarily disable the screen display (which takes up most of the processors time normally) to allow the program to have full use of the processor.
Internally, the main change is the 21 chips in the ZX80 were reduced to 4 (or 5) in the ZX81, which together with the reduction in board size this brings made it much cheaper to produce than the ZX80. Apart from fast mode, the spec is largely the same, 1K RAM, 3.25MHz Z80 CPU. The ZX81 version of BASIC is in an 8K ROM as opposed to the ZX80's 4K. The other difference is the external case of the ZX80 seems to be made of the same stuff they make yoghurt cartons out of, making them very susceptible to damage. The ZX81 has a more sturdy case.
I've been after a ZX80 for ages. Recently, I decided it would be interesting to build one from scratch. That's progressing, but currently looks like this, so there is still a bit to do.
Work has been interrupted as I have managed to get hold of an actual ZX80. It was sold as 'not working', but I'm never put off by that on something that should be perfectly serviceable. One of the beauties of the ZX80 is that is it build from mainly standard parts (no ULA's), so any faulty parts can be replaced. A bonus was that this ZX80 was built from a kit, so the chips are all socketed, making that even easier.
Like many computers of that age, this one had been modified over time. The ZX80 had a wire link to allow white on black or black on white mode, this has been wired to an external switch and a hole drilled on the case for the switch (covered by the sticker on the top, below the vent).
Sinclair also released the ZX81 version of BASIC for the ZX80 (albeit without support for fast / slow modes). Some of the keys changed function, so it would have been supplied with a new keyboard overlay for ZX81 mode (which I don't have). This unit has both ROM chips fitted 'piggy backed' with two pins each bent out and wired to a switch to select which version to use.
One of the issues these computers suffered from was the dreaded 'RAM pack wobble'. The RAM packs plugged into the back of the unit to expand the RAM to 16K. The connector used was susceptible to being knocked (or sometimes someone sneezing nearby), which usually resulted in the computer resetting and losing all the work you'd been doing. Talking to the original owner, this had beren remedied by soldering the RAM pack on via a ribbon cable. This has since been removed, but that process had left a few small solder bridges between pins on the connector, presumably leading to the 'not working' situation. There were also some loose wires on the switch, which was stopping the ZX80 ROM working. I took the (difficult) decision to undo the ROM modification. The ZX80 version was the one I wanted, and so I removed and separated the two ROM chips.
The one of the left is the 4732, the original 4K ROM. The one on the right, the 2364 is the 8K ZX81 style version. Presumably due to height restrictions, the socket had been removed and the chips soldered directly to the board. I decided to fit a socket, I tried to find one of a suitable vintage so it didn't look out of place. With everything cleaned up, I tried it out, with the 8K ZX81 ROM which had been working. No problems, still working. It's easy to tell it's 8K BASIC as some of the keys are different. For example 10 PRINT "hi" is 1, 0, p, shift p, h, i, shift p on the ZX81, it's 1, 0, o, shift y, h, i, shift y on the ZX80. The font is also narrower on the later BASIC.
Next I tried the ZX80 ROM which hadn't worked before, and I'm pleased to say that now worked.
Below is the result of
10 PRINT "HELLO ZX80" 
20 GOTO 10. 
Apologies for the photo, I haven't done the composite video mod (and don't intend to), so it's on a CRT monitor. However, you can still just see the ZX80 is has a winder font.
So, one ZX80 restored to original condition. I've left it with the original 4K ROM, so it's now in permanent ZX80 mode. The 8K version is there if I want it, but I doubt I'll switch back to that since I have no keyboard overlay (and several ZX81s if I do want to use the later version of BASIC).
The next task is to build a 16K RAM pack for it.....