Sunday, 13 September 2026

ZX81 Repairs and Upgrades - Board 2

In the previous post, I was trying to get one good ZX81 out of one tatty ZX81 case and three broken boards.

I repaired some damage to the first board, fitted new sockets and a new regulator and composite mod, that is now working well as a test board.

Using that, I was able to test out the remaining chips and get a set of working chips to test the other two boards.

Even with known working chips, I couldn't get anything out of either of them. It was the same issue, missing or intermittent contact on some of the pins. I could get continuity between the pins on the back of the board, the traces were fine, but between some of the IC pins it was failing.

I expect that up until I bought these about 10 years ago, they had spent most of the preceding 30 years in someone's damp garage or shed.

Board #2

This board had socketed ULA, ROM and Z80, and a soldered RAM chip.

  • Feranti ULA 2C210E 8240 (the later ULA with back porch on the video)
  • Sinclair Research ROM 8228
  • NEC D780 Z80 clone 8213
  • Mostek MK4118 8212 (not to be confused with MOS, or 4116)
  • UM1233 Modulator 8215

Those all seem to be point to a mid 1982 board. The later ULA is mostly found in issue three boards.

The 7805 looked like the output leg had been cut and resoldered. Sometimes a way to check for a short on the 5V rail.

I powered that up, there was no overcurrent and the 5V rail was OK. There was no video output via the RF modulator, or on the intermediate video signal.

The original ULA was bad, but the ROM and Z80 were fine. I was using a known good ULA.

It was possibly bad RAM since that was soldered, or purely the bad contacts again.

Looking at the state of the sockets, I decided not to waste any more time and went straight to the desoldering station.

That went very smoothly, no issues, no damaged traces or lifted pads.

All it takes is a decent desoldering station which is regularly cleaned, lots of flux and practice and patience. It also helps if you lock any potential levering tools in another room so you are not tempted to force the chips out before they fall out by themselves nice and cleanly.

I removed the modulator so that I could remove the internal PCB, ready to fit a better composite mod at some point. For now, I went with a very simple transistor buffer. Not ideal, particularly with the old ULA, but it will do the job for the time being.

I fitted four new sockets.

And four tested chips.

The ROM is as supplied, but I have replaced the ULA, which was faulty. The Z80 is a modern one, actually 2016, but it was one that I had in my box of ZX81 spares.

The RAM is a 6116, a 2K chip, because I fitted link 2 as I will need that later.

I replaced the 7805 with a switching regulator replacement. This time a horizontal 2A device I normally use on Spectrum upgrades.

This is slightly lower profile than the normal switching regulator, so better suits boards destined to go back into a ZX81 case.

I tried it for size, and you can just see there is a gap between the regulator and the case.

Testing

I tested using a Minstrel Expansion Bus powered backplane to get the power in and a new ZX81 membrane. Before I started, I also stuck a heatsink onto the ULA to stop it overheating.

That fired up first time with a nice fast K cursor waiting.

I loaded a few programs to test, although I was limited to 2K at this point.

OK, that's all looking good.

Time for some upgrades.

RAM Upgrade

I have fitted internal RAM upgrades to ZX81s many times before, this version from 2014 involved current a couple of traces.

Most of the time, I used the alternative I demonstrated in a later post from 2017.

It is rather appropriate that the post about a 16K upgrade has had 16K views.

I am doing the same sort of thing here, but this is an issue 1 board, so the diodes are not the best pickup points for the missing address lines.

As explained in the previous post, the socket had address lines A0 through to A9. By fitting link L2, we get A10.

To get 16K RAM, we need to wire up address lines A11, A12 and A13.

The chip I use is a 62256, a 32K RAM chip, although only 16K will be used here.

It is not possible to get 32K by just adding A14, it requires some extra decoding as the RAM needs to go from 8K-40K in the memory map. That would mean wiring in an extra logic chip somewhere, so I do not usually bother.

Of the four spare address lines, pin 2 is connected to 5V in the socket, so I will leave that as is. The other address lines need to be connected to pins 1, 26 and 23.

I bent up the legs that needed to be connected to the higher address lines.

The three address lines, are most easily found on the issue 1 board on the three marked vias directly above the chip. The order of the address lines is not important on a RAM chip.

ROM Replacement

This is not really an upgrade (unless you are fitting a different ROM), but more a sort of future proofing.

Like the RAM, there is a 28 pin outline in the location the 24 pin ROM chips lives.

I am not aware of any chips which directly fit this pinout. Three of the extra four pins (pins 1, 27 and 28) and connected to 5V, and pin 2 is wired to A12, which is already connected to pin 21 of the 24 pin chip.

I plan to replace the vintage 24 pin mask ROM with a modern 27C256 one-time-programmable EPROM.

I happened to find one I had programmed something else into the bottom half of, so I was able to burn the ZX81 ROM to the top 8K of the 32K chip. The extra three address lines are the ones on the extra pins, and they are all tied to 5V, so the top 8K will always be selected.

As with the RAM, the pinout is mostly right, but here there are two pins that need to be changed, so I have bent those two out.

Pin 20 in the socket is A11, but the chip need that to be /CE. Pin 22 is /OE, and so pin 20 can be lifted and wired to pin 22, /OE and /CE are then activated at the same time by the same signal.

Pin 23 on the socket is A12, which is also on pin 2 where it is needed. Here it needs to be bent out and connected to A11. There is a handy via where that can be connected just to the side of the chip, here marked with a blue dot.

The replacement chips should be lower power and hopefully should last longer than the vintage chips, the RAM also provides a handy upgrade to 16K.

With all those changes made, the board is ready to be retested.

Testing the Upgrades

That also fired up, with the K cursor being notable slower to appear. That is actually a good sign, it means it is testing the full 16K of RAM, which takes longer than it did with 1K or 2K.

A quick check (this is the short method, PEEK 16388 is usually zero, so you can skip that part if you have already typed it lots of times in the last week whilst you have been repairing several ZX81s and writing up a blog post about it)

32768 is the number we want, that means the first byte that isn't RAM is at the 32K mark, so there is 16K of good RAM between the 16K mark and the 32K mark.

I tried various tests and all seemed to be working nicely, the ROM and RAM appearing where they should in the memory map.

Time for the Minstrel ZXpand II.

Well, what did you expect me to load first?

And there we go.

Yes, I am here.

Let's hope Rex plays nicely this time...

Oh dear, deaded again.

I was interested to try the 25th Anniversary demo, as I know that pushes the limits a bit.

Ah, that's good, that bit is working, as it says, it needs at least 16 kilobytes of RAM, it also needs the ROM overlay disable to be working correctly, which it is.

What does that say at the bottom? "To see all next parts, HRG capabilities are required".

Oh yes, now I remember.

The rest of the graphics demos fail because there is no RAM from 8K to 16K. I am so used to running this on a Minstrel 3 which has that (and the necessary pullup resistor on the /WR pin)

At least it runs at 100% of the speed of a ZX81.

And Perilous Swamp works, complete with the clunky screen clear you get on a real ZX81 due to the way you end up with a partially expanded display file when scroll is used.

Next Time

The case I found with these boards was not pretty.

The top was had shinny patches in places and the red had mostly rubbed off the ZX81 lettering.

They keyboard was also covered in sellotape.

In the next post, I will do my best to tidy up the case and repair or replace the membrane.


All items are still available, and I can ship worldwide.

Including the Minstrel 2 and 3 which are available in versions which will fit in a ZX81 case as a drop in replacement for the ZX81.

The Minstrel 2 is ZX80 level, no NMI compute and display (slow) mode, but 16K of RAM.

The Minstrel 3 is ZX81 compatible, with slow mode and 32K of RAM to allow high resolution graphics.

The Minstrel 2, 3 and Minstrel 4th (Jupiter Ace / ZX80 / ZX81 / Lambda 8300 / RC2014,) are available with built in keyboards

All versions are available in kit form, or pre-built, and optionally the new Minstrel ZXpand II SD card and joystick interface.

International shipping is a bit complicated at the moment, so if you want to order from outside the UK, please contact me using the contact link at the top of this page.

See here for more information:

Sorry to have to do this, and I know this is going to affect sales, but please understand it is the only option I have right now.


Patreon

If you enjoy posts like this, you can support me via Patreon, and get access to advance previews of blog posts, and exclusive posts. Paid Patreon supports will be getting the third part shortly, and maybe a forth part three will follow if there is any interest

You also get progress updates on new projects and other behind the scenes updates, as well as access to my Patreon only Discord server for even more regular updates, and to discuss your own projects.

Sunday, 6 September 2026

ZX81 Repairs - Board 1

When I was getting the Minstrel ZXpand II ready for the previous post, I needed to test on a ZX81 and get some photos.

I have many ZX81s, but I couldn't find any of them, they are all neatly packed away in boxes - somewhere. Somewhere amongst many many other boxes.

I had found a TS1000, which I used for testing and the photos, but I kept looking for a ZX81.

I eventually found a box with one very tatty ZX81 case and three boards.

Three boards, at least one of them is going to work, right?

Well, no, none of them did.

They were all issue one boards, two with full sets of chips.

And one with three empty sockets.

The third board had empty ULA, ROM and Z80 sockets and the alternate RAM option, a pair of soldered 2114 chips.

The RAM was a pair of NEC 2114. 209 could be a date code, 8209, 1982, week 9?

The 7805 is marked 8234 and the UM1233 Modulator is dated 8220, so this looks like a mid 1982 board.

The heatsink is marked "No B-£", which suggests a problem with the membrane, one of the 8 half rows is missing.

I tried that with known working chips and it did absolutely nothing.

Investigating further, there was nothing on any of the busses, which turned out to be due to there being no 5V rail. Dead 7805?

I tried it with 5V from the bench power supply, and it did a bit more, but as with the other boards, black screen, no contents. The ULA was a working chip, as was the ROM and Z80, could be bad RAM?

Looking over the board, the Z80 socket looks to have previously been desoldered. It looks the original type, so was it removed and replaced, or desoldered from another board?

The ZX81 is a very minimal design with just the 4 (or in this case 5) main chips, but they all need to be working to get a picture, if any of them are bad (or not talking to each other), then you get nothing.

You lose.

Good day, Sir.

A common theme with all the chips seemed to be bad contacts, When checking continuity from pin to pin, I was getting lots of intermittent or missing contacts.

The legs of the 2114 RAM chips were showing signs of corrosion, so it is quite possible the contacts inside the IC sockets are in a similar state if they have been empty for a while. There are not the best sockets anyway, single wipe, so you get one chance of a good contact with the pin.

When Sinclair went to the issue three boards (issue two is lost in the mists of time, we assume Rex ate it), they soldered all the chips in. I am sure there was an element of reliability as well as cost saving in that decision.

Desoldering Time

I thought I would start by desoldering that Z80 socket to fit a better one, In doing so, I found some evidence of damage to the pads, several of them were loose or missing. Someone had a bad day the last time it was desoldered. Based on the smell of the old flux, that was probably quite a long time ago. The smell of 80s flux is quite distinct. You don't get that these days, it has probably been banned.

Well, at least that explains why some of the signals were not getting through, there was no through hole plating left on several of the pins, with what turned out to be pointless blobs of solder on the bottom of the PCB not making contact with the top.

I know some PCBs were pretty poor quality in those days, but I had not had a problem with ZX81 boards myself.

As a test, and because it seemed like it needed to be done anyway, I tried removing the other sockets and the two RAM chips.

They all came off cleanly, no damage to the pads or tracks, other than the pre-existing damage to the Z80 socket.

I can't just replace that socket, there was nothing to solder to with the missing pads, previously, some were just optimistic blobs of solder.

I could solder a Z80 chip in directly and flow the pads on the top of the board, but it just seems wrong. I don't think I've ever soldered in a Z80 without a socket?

(ED. I think I did one on a Minstrel kit where the buyer specifically wanted only the ROM socketed for some reason. It looked nice, but felt wrong.)

I prefer to use turned pin sockets for various reasons, one of which is in situations like this where you might have missing tracks or through hole plating, it is useful that the pins are (just about) accessible on the top side of the board.

I had to temporarily remove a resistor array for better access, but with the 6 damaged pads, I was able to get solder to flow on the top side.

To do this, I would hold the board steady and then apply heat from the iron to the pin from the bottom of the board, then with my third hand and second pair of eyes, I would feed in solder to the junction of the pin and the pad on the top side of the board until it flowed.

There was one damaged trace on the bottom, the /M1 line (which is ironic given how many Z80s with bad M1 lines we see on Spectrums). I had to add a small bit of wire to reconnect to the trace on the bottom of the board.

The ZX81 has two sets of outlines for the RAM, either two 18 pin sockets for the 2114s, or a 28 pin socket for a 24 pin 1K or 2K RAM chip.

I am not sure what the plan was, I have never seen a 28 pin RAM chip with that footprint, pin 1 is connected to /Refresh, not sure why you would need that unless there was some kind of DRAM?

(also side note, I went down a rabbit hole of wondering why the only connections to /Refresh were the Z80, the edge connector and that pin. No connection to the ULA? On the ZX80, /Refresh is important for muxing the address lines and generating several of the control signals. The ZX81 didn't have the mux chips, just more resistors to overdrive the address lines from the ULA when it wanted to. It must presumably have been able to work out when to do that without /Refresh ?)

I think this board is heading towards being a test board, so I may as well fit both sets of sockets and a jumper for L1/L2.

The L1 / L2 links are used to set pin 19 of the 24 pin outline to A10 for a 2K chip or 5V for a 1K chip. I am not aware of any ZX81s that came with 2K, but I think most of the TS1000s did.

I initially tested with a 6116 2K RAM chip (the same type used on the VIC20 CR), and the jumper set to L2, for 2K RAM.

I had confirmed the 7805 was dead, so I fitted a switching regulator replacement.

With all the sockets replaced, and the new regulator, time to give it a go.

OK, looks promising, but I don't think I can keep using RF output, my TV isn't very good at tuning in and I don't have the time or space to dig out an analogue TV.

I fitted a temporary composite mod, to save having to use RF. Not the best circuit, more on that later I am sure.

Ah, that's better.

(at least for a few minutes, then it faded out, blame the composite mod and ULA)

I tried some more of the original chips, none of the ULAs worked, I was hoping the 2C210E would, as that is the better type, but unfortunately it didn't.

The best of them give a sort of rolling screen with a K but no keyboard response.

I will stick with my test one (8135) for the moment.

I did try the 2114 chips, and they worked after cleaning up the legs, always handy to have more of those.

Since that was working, I did a few extra things to the board.

The keyboard connectors were showing signs of corrosion, green pins on the outside, and probably the inside, which was also full of bits of broken of membrane tails.

Time for some new connectors there.

I also fitted a connector for a Minstrel keyboard, so I can use one of those on the test bench instead of a membrane.

I am also using a Minstrel Expansion Bus powered backplane to get 9V into the ZX81 board, so I have a power switch (inline with the cable) and a power LED, and I can monitor current consumption on the bench power supply.

I ran a few of the usual tests, all the keys worked, and I was also to confirm it was seeing 2K of RAM (18432 - 16384 = 2048 bytes)

Along with my usual test screen for checking the composite mod.

I got used to typing that in blind sometimes when the screen has gone too dark, but I still want to check what the output is doing.

The signal did not seem to change when it went dark. It is well out of spec in several ways, so I can't blame the TV for not coping.

The top trace is the ULA output, about 4V peak to peak, with no back porch to set the black level, and a very high black level of about 60% rather than 30% of the signal height as it should be.

The bottom trace shows the output to the monitor, only about 300mV peak to peak when it should be 1V.

I did quite a bit of fiddling with different circuits, I will have to come back to this.

I did find some PCBs for two different versions of a ZX81 composite mod / back porch board I had designed in the past. I don't think either of these was good enough, I can see I designed a few versions after these with different circuits, but I don't think I even get those made.

Further Testing

I was able to do what I started out to do, test the new Minstrel ZXpand II.

That worked nicely.

I was able to load 1K programs, like 1K Chess (amazing to think the fitted chess into 1K).

And with 2K fitted, I could load my character test program.

I fitted ZIF sockets to go through the chips from those boards and see what was working. Several of the chips from the other boards were dead, but if I can find another working ULA, there is enough for one more board.

Next Time

That's a good start, one board and some known working chips, time for another one?

Next time I will be looking at one of the other boards, and getting that repaired, upgraded and ready to go back into a ZX81 case.

But for now, Rex lies in wait as I can't load 3D Monster Maze with 2K of RAM.


All items are still available, and I can ship worldwide.

Including the Minstrel 2 and 3 which are available in versions which will fit in a ZX81 case as a drop in replacement for the ZX81.

The Minstrel 2 is ZX80 level, no NMI compute and display (slow) mode, but 16K of RAM.

The Minstrel 3 is ZX81 compatible, with slow mode and 32K of RAM to allow high resolution graphics.

The Minstrel 2, 3 and Minstrel 4th (Jupiter Ace / ZX80 / ZX81 / Lambda 8300 / RC2014,) are available with built in keyboards

All versions are available in kit form, or pre-built, and optionally the new Minstrel ZXpand II SD card and joystick interface.

International shipping is a bit complicated at the moment, so if you want to order from outside the UK, please contact me using the contact link at the top of this page.

See here for more information:

Sorry to have to do this, and I know this is going to affect sales, but please understand it is the only option I have right now.


Patreon

If you enjoy posts like this, you can support me via Patreon, and get access to advance previews of blog posts, and exclusive posts. Paid Patreon supports have already got the second part, and a part three will follow if there is any interest

You also get progress updates on new projects and other behind the scenes updates, as well as access to my Patreon only Discord server for even more regular updates, and to discuss your own projects.