Thursday, 22 June 2017

Microace repair

This is a Microace. A 1980's clone of the Sinclair ZX80 (and nothing to do with the Jupiter Ace).
The colour scheme seems to be a photo negative of the actual ZX80. Can you tell which is which? Looks a bit Andy Warhol, but I think he was more of an Amiga man.
Inside is a PCB which looks very similar to the ZX80 board, with a few minor circuit changes and a slightly different layout.
The dimensions, mounting points, connector locations and keyboard are all the same as the ZX80. The board has a few differences. This one seems to date to late 1980, the Z80 has a later date code, so was presumably replaced at some point.
This is how the board looked when it arrived here. The owner has started the work on the board, replacing the missing 7805 regulator and UM1233 modulator, fixing a faulty ceramic resonator. He has also replaced the capacitors and removed various aftermarket modifications that had been made to the board (including various switches and wiring for an external keyboard). He also removed D9 which put it into PAL mode as it was presumably designed to run in NTSC mode.
The circuit is pretty much the standard ZX80, apart from the addition on two extra RAM chips and one logic chip to address them, making this a 2K machine. This was an optional extra, and has been removed to aid diagnosis.
The other things the owner changed was the ROM chips which was getting hot and was presumably faulty. This had been swapped for a ZX80 ROM, usually a 2532, although I didn't remove the label to check.
There were some modifications around the ROM chip. Due to a problem with was apparently 'out of their control', they ordered the wrong chips or the manufacturer made a mistake. Either way, the A12 line needed to be disconnected from the ROM chip, and that pin held high. The line passes through the pad for the chip, so the track was cut either side and a link made to reinstate the connection for the rest of the board. That all tested out OK.
The original ROM and all four of the RAM chips did indeed test as faulty. The ZX80 ROM I tested on a ZX80, and that was fine. So why wasn't it working. Everything else looked OK as far as I could see?
Now comes the folklore segment. When first advertised, apparently no mention or credit was given to Sinclair or the ZX80. Later adverts (this is from Byte Magazine, November 1980) state this is 'licensed by Sinclair Research Ltd.'.
The same magazine does have an advert for the ZX80, so yes, contrary to general opinion, Sinclair did market the ZX80 in the US, but at $200, compared to $149 for the Microace ($169 for the 2K model).
A later edition of Byte (April 1984) included the Microace advert and a review, but no more adverts from Sinclair themselves. This licensing deal was apparently the result of a court case where Microace claimed their machine was different because all the code in the ROM was different.
But it wasn't different, it was the standard ZX80 ROM, what they had done is wired D3 and D4 the wrong way around and swapped the bits in the ROM. This made it look binary different to the Sinclair ROM, even though it ran identically. I verified this on the board, D3 and D4 were indeed reversed.
To test this, I built up a 2364 adapter board, which allows you to use a standard 28 pin ROM in the 24 pin ROM socket. I cut the tracks on the adapter and wired D3 and D4 backwards.
You might just be able to see the green wires on the left side of the socket. I fitted this and powered on.
Success, the Microace was running again. The options at this point would be to make up a ROM image with D3 and D4 bits reversed and burn to a 2532, or cut the tracks on the board and reverse them so a normal ZX80 ROM could be used, or leave the adapter in place, which is what I have gone for as it seems to offer the most options.
That was using the standard ZX80 4K BASIC ROM image. The hardware should also be capable of running the ZX81 style 8K BASIC ROM, however A12 had been disconnected from the socket.
I reinstated the cut tracks and removed the bypass wire to reattach the A12 line to the ROM socket. The owner then has a choice of the original 4K BASIC or the later 8K BASIC. The jumpers on the 2364 ROM board select one of 8 ROM images in a 27C512 EPROM, 4 in a 27C256, 2 in a 27C128 or a single ROM image in a 27C64.
With that working, I refitted the additional chips for the 2K upgraded, with another two new 2114 chips, and the tried that out. The usual test of RAMTOP is as follows.
This returned 18432 as expected, the top of available RAM is 2K above the 16K base address of the RAM, so the full 2K had been detected.
To protect them from damage, the owner hadn't sent the case or keyboard. A good idea since the plastics are very brittle after all these years. But it did leave me without a keyboard.
The Microace uses the same principle as the ZX80, there are interwoven spiral tracks for the row and column for each switch, and a keyboard overlay with silvered conductive pads on the back to make these connections. I didn't have the original piece, so I made one from the front half of a faulty ZX81 membrane.
The ZX81 actually has the rows connecting the keys, they would have just been circles or squares for each key originally, but it doesn't matter as the rows are connected on the back of the PCB anyway.
The ZX81 membrane will probably go well with the black case, if the owner wants to use 8K BASIC.
Or one of my ZX80 style overlays could be used, as unsurprisingly, the spacing is identical.
So that's it finished, 4 faulty RAM chips and a faulty ROM and some interesting rewiring to avoid copyright (which didn't seem to help).
With that all in place, a bit more testing and it's ready to go back to be reunited with it's case.
If you can't find a Microace or a ZX80, you could always get one of my Minstrel ZX80 clone kits from my Tindie Store.