Trying to restart a 33 years old ZX81 [SOLVED]

Discussions about Sinclair ZX80 and ZX81 Hardware
dinosaur
Posts: 44
Joined: Fri Aug 14, 2015 4:39 pm

Trying to restart a 33 years old ZX81 [SOLVED]

Post by dinosaur »

Greetings folks !

I exhumed my 33 years old (much expanded) ZX-81. The expansions include a 64Kb memory module, a high resolution graphics card, and a mechanical keyboard, all boxed up nicely.

Alas, once everything connected and turned on again (after a 30 years slumber or so), the only thing I get is a white screen (that screen that used to show while the ZX-81 used to boot, and before the "K" cursor appear). So, I know the ULA seems to be working, but it's like if the Z80A was not running.

I verified everything, checked supplies, checked for possible oxidation of the contacts (and cleaned up the latter for good measure), unplugged everything (including the keyboard), changed C5 (the reset circuit electrochemical capacitor), changed the 7805 (it was providing barely 4.83V under load, which seemed quite close to the 4.75V minimum limit: now getting 4.93V with the new 7805), all to no avail: I always get the same white screen.

I wondered if any of you ran into the same kind of issue, and I'm starting to wonder if the 33 years old PROM didn't end up "forgetting" the operating system...
Last edited by dinosaur on Wed Aug 26, 2015 2:03 pm, edited 1 time in total.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: Trying to restart a 33 years old ZX81

Post by PokeMon »

Did you try to use with just the internal 1k (disconnect memory expansion) ?
dinosaur
Posts: 44
Joined: Fri Aug 14, 2015 4:39 pm

Re: Trying to restart a 33 years old ZX81

Post by dinosaur »

PokeMon wrote:Did you try to use with just the internal 1k (disconnect memory expansion) ?
Like I wrote: "unplugged everything (including the keyboard)"...

So yes, obviously. I did try the bare ZX-81 board alone, to no avail.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: Trying to restart a 33 years old ZX81

Post by PokeMon »

Could maybe the ULA - pin 16 is a 3 level output for sync level, black level and white level.
I had myself one system which gave out only the sync pulses and white level but no black level.
Do you have an oscilloscope ? A15 could be easily checked.

Another method would be typing in blind SAVE "P" <NEWLINE> while pressing S, Shift-P, P, Shift-P and Newline and connecting a soundcard or amplifier input to the MIC output (yes MIC is output). You will hear 5 seconds silence after command and then a few second saving noise, ending after a few seconds. This will work only when your keyboard is working good.
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Trying to restart a 33 years old ZX81

Post by Rishi »

if you don't have an oscilloscope, my test-pen could also be used as an indication of pulse (mind you not as continues pulse as an oscilloscope does) it can indicate if a pin goes either high or low at times, and is a lot cheaper to make (and i mean a lot cheaper the switches cost the most)
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
dinosaur
Posts: 44
Joined: Fri Aug 14, 2015 4:39 pm

Re: Trying to restart a 33 years old ZX81

Post by dinosaur »

PokeMon wrote:Could maybe the ULA - pin 16 is a 3 level output for sync level, black level and white level.
I had myself one system which gave out only the sync pulses and white level but no black level.
Do you have an oscilloscope ? A15 could be easily checked.

Another method would be typing in blind SAVE "P" <NEWLINE> while pressing S, Shift-P, P, Shift-P and Newline and connecting a soundcard or amplifier input to the MIC output (yes MIC is output). You will hear 5 seconds silence after command and then a few second saving noise, ending after a few seconds. This will work only when your keyboard is working good.
A simpler method is SHIFT-F <NEWLINE> (switch to FAST mode, which would cause the display to go blank, if the ZX-81 is working). In my case, it didn't happen, thus my inference about a non-running Z80A, which I could confirm with my oscilloscope (the clock is there, on pin 6, and properly running at 3.25MHz, but the An/Dn pins stay always at the same level, excepted when the ZX-81 is reset, when they change level once).

There was no reason for the ULA to be faulty anyway: the ZX-81 worked just fine the last time I switched it off, 30 years ago, and electromigration won't have an impact on such low density ICs that were kept off (and thus cool) for 30 years. The only usual suspects were: oxidation of the contacts (not the case here), faulty electrochemical capacitor(s) (I replaced the one in the reset circuit for good measure, but it was still OK, as proved the measure I made on it once desoldered), or an erased OTP ROM...

At this point, I see only one explanation: the PROM lost its contents... It's a ZCM38818P and I found no information (no data sheet) on Internet about it, but I suspect it's one of those "EPROMs without an UV erasing window", and EPROMs can't keep their contents forever... Most EPROM makers quoted 10 years for the "typical" retention time in their data sheet, and 30 years is 3 times that amount... So, my question is: did you guys already encounter such an erased PROM in a ZX8x ?
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Trying to restart a 33 years old ZX81

Post by 1024MAK »

No, but most of mine have a mask "programmed" ROM chip.
Other machines produced in the early to mid 1980's that use EPROMs do sometimes fail due to corrupted EPROM data. But it is amazing how many are still okay. Okay, so the number of old machines that use EPROMs compared to using mask "programmed" ROMs is low, but...

If you do suspect the EPROM / PROM, remove it from it's socket. Then power up the ZX81. If the data bus floats high like in the ZX Spectrum, the CPU will see a restart instruction and so push the PC to the stack. So you should see activity on the address lines.
Even if the CPU is not executing instructions, as long as it is not in reset, or tri-state mode (where it has released the buses), the refresh count should still be present on A0 to A6. Another indicator is /M1 and also /MREQ.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
dinosaur
Posts: 44
Joined: Fri Aug 14, 2015 4:39 pm

Re: Trying to restart a 33 years old ZX81

Post by dinosaur »

1024MAK wrote:No, but most of mine have a mask "programmed" ROM chip.
Yes, those are indestructible, since the code is literally engraved into the silicon... What is the reference of your ROM, please ?
Other machines produced in the early to mid 1980's that use EPROMs do sometimes fail due to corrupted EPROM data. But it is amazing how many are still okay. Okay, so the number of old machines that use EPROMs compared to using mask "programmed" ROMs is low, but...
On the contrary... Most "ROMs" as seen in the 80s computers are in actuality OTP (one time programming) PROMs, very similar (often totally identical, but for the packaging, with just the quartz-based glass window missing) to the EPROMs. They suffer from the same (super)slow leakages in their cells, that will invariably end up into corrupted data. But yes, the "typical" retention parameter (10 years) as given in their data sheet is often largely underestimated (but from one serial to another, and, most important, from one EPROM programmer to another, your mileage may vary by very large percentages).
If you do suspect the EPROM / PROM, remove it from it's socket.
It's soldered, alas... Thus why I want to know if any other issue 3 (French/German) ZX-81 owner with a ZCM38818P "ROM" fitted has encountered the same issue, before I recourse to radical measures; desoldering the ROM will most probably require cutting off all its pins, because desoldering a circuit soldered on vias (i.e. metalized holes, with pads both on top and on bottom of the printed circuit) like it's the case here, is a real nightmare... In practice, you got the choice between destroying the IC or the board, and I'll of course choose to loose the former !
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: Trying to restart a 33 years old ZX81

Post by PokeMon »

dinosaur wrote:thus my inference about a non-running Z80A, which I could confirm with my oscilloscope (the clock is there, on pin 6, and properly running at 3.25MHz, but the An/Dn pins stay always at the same level, excepted when the ZX-81 is reset, when they change level once).
You should measure if there comes out a signal on MREQ or M1 or RD. There must be any periodic signal even if the PROM content is wrong. The Z80 does always read an instruction from time to time. There are a few exceptions from this rule:

HALT (pin 18) - must be high (stuck low with no further NMI and disabled interrupts)
WAIT (pin 24) - must be high (could be stuck in WAIT with a killed transistor)
BUSREQ (pin 25) - must be high, not used at all
RESET (pin 26) must be high of course

So there is another possible source of failure I had just a few month ago when repairing my ZX80CORE. This had a clock at pin 6 (measured) but a stuck address bus while all other signals are okay. It seems it was stuck inside a read cylce of an instruction. I killed the soldered CPU as I was convinced it must have been an internal failure because clock was running. Put a new one in a socket then but no change.

After some further measurements I found out, that the clock generation failed but worked any time I measured. Not sure but this extra capacitance made it working (with monitor attached you can see) and stopped as soon as I put the scope tip away. So replaced the 74LS05 used for clock generation and everything worked fine. Just a hint to test for.
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Trying to restart a 33 years old ZX81

Post by 1024MAK »

Hello Dinosaur, welcome to our forum :D

One of my ZX81 Issue 1 boards - view of the Mostek MK36809N-5 ROM
ZX81 Issue 1 - view of Mostek MK36809N-5 ROM
ZX81 Issue 1 - view of Mostek MK36809N-5 ROM
ZX81 Issue 1 - view of Mostek MK36809N-5 ROM_640pix.jpg (148.06 KiB) Viewed 4439 times
Most of my ZX81's (issue 1 and issue 3 boards) use "ROM"s. I am presuming that they are the mask "programmed" type, rather than the windowless PROM type.

If you want to save both the chip and the board, carefully use an electric paint stripping hot air gun to melt the solder on the bottom (non-component) side. Don't keep it pointing at the same area, move it backwards and forwards along the length of the chip along each line of pins. With a set of long nose pliers or similar, hold the chip. When it becomes loose, gently (with not too much force) ease it out of the PCB, while being careful not to overheat the PCB.

Needless to say, I strongly recommend you practice this first on a scrap PCB before attempting it on a ZX81 that you want to repair.

So far I have found ZX81's bought from ebay either worked okay (apart from the normal membrane failure), needed some dry joints resoldering (mainly the jack sockets), a new Z80 CPU (one) or a replacement ULA (one). Not had a ROM fault yet on a ZX81. ZX Spectrum's appear to have more ROM faults, but then, I am only going on a limited number of reports from the WoS forum.

Mark

Edited due to a typo...
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
Post Reply