Found a ZX81 and fixed it
Posted: Mon Jun 22, 2020 8:00 pm
Hi! I am in San Diego, California.
Last year I bought a huge box of Commodore stuff locally. A C64, VIC-20, 1541 disk drive, tape drive, and some books, cartridges, tapes, and joysticks.
After getting home and unpacking everything however, at the bottom of the box was a ZX81! I knew what it was from reading about them, but never encountered one before and know next to nothing about them. I tried plugging it into the TV, but got nothing. The power supply was a generic 9V wall wart, not original. Papers and receipts in the box for various things suggested the original owner was in the military in the 80's and stationed overseas, probably a NATO base in W. Germany or England. I figured it was a PAL model and set it aside.
Well, now I have a monitor capable of supporting a PAL signal, so a few days ago I remembered the ZX81 and dug it up to give it another go. I don't have a PAL tuner, so the first thing I did was buffer off the video input to the modulator and run it into the composite input.
Well, when plugging it in, I get a white screen for a fraction of a second, followed by a loss of vertical sync. Oscilloscope shows something very strange: Apparently valid rasters being generated, but at about 31khz instead of the expected 15khz. Well, video monitors don't do doublescan and I know this is a TV-output device, so that can't be right. For the first fraction of a second when plugging it in, I do get 15khz, which is that white screen.
I find a schematic. I spend the rest of the day verifying the clocks, address and data paths throughout the board and looking at the signals. Everything looks okay. So, what can I try with what I have on hand? Well, I don't have a ULA, obviously. I don't have a Z80. I do have equivalent SRAMs to the 4118 that it came with, so I try a couple of those, but it makes no difference.
The only other thing I might be able to do is to replace the ROM. I search around and find the ROM is eqivalent to 2364. I have 2764 EPROMS. I look around for some instructions, and also pull up the datasheets side by side. The 2364 is 24-pin, the 2764 is 28-pin and there is a 28-pin socket on the board. I start probing the extra pins on the board, and it turns out that the extra pins are already mapped to the right places! I only had to redirect two pins.
I find an 8K basic rom online, zipped together with an emulator. I take out my trusty TL866 and burn it. I hold my breath, plug in the power and.. am greeted with a stable picture with a little "K" on the corner of the screen. Success! Even the keyboard all seems to work OK!
I put a heatsink on the ULA. I also took a run at upgrading the RAM to 16K, but that didn't work - I'll ask about that in a different thread - however a 6116 worked fine, so I have 2K now.
Now to learn about the ZX81 - figure out storage, and get a handle on the BASIC for it. It's quite a cool little machine!
FYI, the instructions for adapting the 2764 EPROM to the 2364 ROM on the ZX81 that I found were either inaccurate or had unnecessary steps. Here is what I did to make the 2764 EPROM work. I used one 28-pin socket as an adapter and only had to redirect the following:
2764 EPROM pin 20: Bend out, connect to GND
2764 EPROM pin 23: Bend out, connect to ZX81 SOCKET pin 20
The four additional pins 1, 2, 27, 28 were already connected to the right places on my ZX81 motherboard, so nothing needed to be done with those.
Last year I bought a huge box of Commodore stuff locally. A C64, VIC-20, 1541 disk drive, tape drive, and some books, cartridges, tapes, and joysticks.
After getting home and unpacking everything however, at the bottom of the box was a ZX81! I knew what it was from reading about them, but never encountered one before and know next to nothing about them. I tried plugging it into the TV, but got nothing. The power supply was a generic 9V wall wart, not original. Papers and receipts in the box for various things suggested the original owner was in the military in the 80's and stationed overseas, probably a NATO base in W. Germany or England. I figured it was a PAL model and set it aside.
Well, now I have a monitor capable of supporting a PAL signal, so a few days ago I remembered the ZX81 and dug it up to give it another go. I don't have a PAL tuner, so the first thing I did was buffer off the video input to the modulator and run it into the composite input.
Well, when plugging it in, I get a white screen for a fraction of a second, followed by a loss of vertical sync. Oscilloscope shows something very strange: Apparently valid rasters being generated, but at about 31khz instead of the expected 15khz. Well, video monitors don't do doublescan and I know this is a TV-output device, so that can't be right. For the first fraction of a second when plugging it in, I do get 15khz, which is that white screen.
I find a schematic. I spend the rest of the day verifying the clocks, address and data paths throughout the board and looking at the signals. Everything looks okay. So, what can I try with what I have on hand? Well, I don't have a ULA, obviously. I don't have a Z80. I do have equivalent SRAMs to the 4118 that it came with, so I try a couple of those, but it makes no difference.
The only other thing I might be able to do is to replace the ROM. I search around and find the ROM is eqivalent to 2364. I have 2764 EPROMS. I look around for some instructions, and also pull up the datasheets side by side. The 2364 is 24-pin, the 2764 is 28-pin and there is a 28-pin socket on the board. I start probing the extra pins on the board, and it turns out that the extra pins are already mapped to the right places! I only had to redirect two pins.
I find an 8K basic rom online, zipped together with an emulator. I take out my trusty TL866 and burn it. I hold my breath, plug in the power and.. am greeted with a stable picture with a little "K" on the corner of the screen. Success! Even the keyboard all seems to work OK!
I put a heatsink on the ULA. I also took a run at upgrading the RAM to 16K, but that didn't work - I'll ask about that in a different thread - however a 6116 worked fine, so I have 2K now.
Now to learn about the ZX81 - figure out storage, and get a handle on the BASIC for it. It's quite a cool little machine!
FYI, the instructions for adapting the 2764 EPROM to the 2364 ROM on the ZX81 that I found were either inaccurate or had unnecessary steps. Here is what I did to make the 2764 EPROM work. I used one 28-pin socket as an adapter and only had to redirect the following:
2764 EPROM pin 20: Bend out, connect to GND
2764 EPROM pin 23: Bend out, connect to ZX81 SOCKET pin 20
The four additional pins 1, 2, 27, 28 were already connected to the right places on my ZX81 motherboard, so nothing needed to be done with those.