Help in resurrecting my ZX81

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Help in resurrecting my ZX81

Post by mrtinb »

As mentioned in another thread viewtopic.php?f=7&t=1793&start=20#p18903 , my old ZX81 died after 5 minutes of use after I found it in my basement. (I waited to use it for a day, so it would get the right temperature.)

I’m not an expert in electronics. The above thread is my first electronics project. The project is to build a keyboard for my ZX81. The project is not assembled yet, and have not been connected to my ZX81. It’s not the cause for the failure of my ZX81.

I’ve found a webpage to help diagnostic the ZX81 http://www.worldofspectrum.org/hardware/rep3.html . The page lists how to test the ZX81 board with a digital probe to figure out which ICs are broken. Therefore I’ve bought a digital probe and tested my ZX81.

The table below list what a working ZX81 data should be (according the the link above), and what my ZX81’s data is.

Pulse
High
Low
Open Curcuit

Code: Select all

Pin  ULA  My ULA  ROM  My ROM  Z80  My Z80  RAM  My RAMa  My RAMb
1    P    OC      P    L       P    OC      P    OC       OC
2    P    OC      P    OC      P    OC      P    OC       OC
3    P    OC      P    L       PL   OC      P    L        L
4    P    L       P    L       P    OC      P    OC       OC
5    P    L       P    L       P    OC      P    L        L
6    P    L       P    L       P    L       P    PL       L
7    PH   L       P    L       P    H       P    L        L
8    PH   OC      P    L       P    PH      P    L        L
9    P    L       P    H       P    PH      L    L        L
10   P    H       P    H       P    H       P    PL       PL
11   P    OC      P    PHL     H    H       P    PHL      H
12   P    L       L    L       P    PH      P    PHL      PHL
13   P    H       P    PHL     P    L       P    PHL      H
14   P    H       P    PL      P    H       P    PH       H
15   PH   H       P    PHL     P    H       P    L        L
16   PH   PH      P    L       P    OC      P    L        L
17   P    H       P    PHL     PH   H       P    L        L
18   P    OC      P    OC      P    H       H    H        H
19   P    L       P    OC      P    L
20   L    L       P    L       PH   L
21   P    H       P    OC      P    L
22   OC   OC      P    OC      PH   PL
23   P    PH      P    OC      H    H
24   P    H       H    L       PH   H
25   H    H                    H    H
26   P    PH                   H    H
27   H    H                    P    PH
28   P    PH                   P    H
29   H    H                    L    L
30   P    H                    P    L
31   H    H                    P    L
32   P    H                    P    L
33   H    H                    P    L
34   L    L                    P    L
35   H    H                    P    L
36   P    L                    P    OC
37   P    L                    P    L
38   P    L                    P    OC
39   P    OC                   P    OC
40   H    L                    P    OC
Any help would be greatly appreciated.

/Martin
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Help in resurrecting my ZX81

Post by 1024MAK »

I've added the pin names for both the ULA and the Z80 CPU to make this table easier to understand.
You can see the pin-out diagrams here ;)

Code: Select all

Pin  ULApin  ULA  My ULA  ROM  My ROM Z80pin Z80  My Z80  RAM  My RAMa  My RAMb
     name                             name
1    A7'     P    OC      P    L      A11    P    OC      P    OC       OC
2    A8'     P    OC      P    OC     A12    P    OC      P    OC       OC
3    A2'     P    OC      P    L      A13    PL   OC      P    L        L
4    A1'     P    L       P    L      A14    P    OC      P    OC       OC
5    A0'     P    L       P    L      A15    P    OC      P    L        L
6    /RD     P    L       P    L      CLK    P    L       P    PL       L
7    /IORQ   PH   L       P    L      D4     P    H       P    L        L
8    /WR     PH   OC      P    L      D3     P    PH      P    L        L
9    /MREQ   P    L       P    H      D5     P    PH      L    L        L
10   /M1     P    H       P    H      D6     P    H       P    PL       PL
11   A14     P    OC      P    PHL    +5V    H    H       P    PHL      H
12   /RAMCS  P    L       L    L      D2     P    PH      P    PHL      PHL
13   /ROMCS  P    H       P    PHL    D7     P    L       P    PHL      H
14   CLK     P    H       P    PL     D0     P    H       P    PH       H
15   /NMI    PH   H       P    PHL    D1     P    H       P    L        L
16   TVTAPE  PH   PH      P    L      /INT   P    OC      P    L        L
17   /HALT   P    H       P    PHL    /NMI   PH   H       P    L        L
18   A15     P    OC      P    OC     /HALT  P    H       H    H        H
19   D7      P    L       P    OC     /MREQ  P    L
20   TAPEIN  L    L       P    L      /IORQ  PH   L
21   D6      P    H       P    OC     /RD    P    L
22   USA/UK  OC   OC      P    OC     /WR    PH   PL
23   D5      P    PH      P    OC     /BUSAK H    H
24   D4      P    H       H    L      /WAIT  PH   H
25   KBD4    H    H                   /BUSRQ H    H
26   D3      P    PH                  /RESET H    H
27   KBD3    H    H                   /M1    P    PH
28   D2      P    PH                  /RFSH  P    H
29   KBD2    H    H                   GND 0V L    L
30   D1      P    H                   A0     P    L
31   KBD1    H    H                   A1     P    L
32   D0      P    H                   A2     P    L
33   KBD0    H    H                   A3     P    L
34   GND 0V  L    L                   A4     P    L
35   OSC     H    H                   A5     P    L
36   A3'     P    L                   A6     P    OC
37   A4'     P    L                   A7     P    L
38   A5'     P    L                   A8     P    OC
39   A6'     P    OC                  A9     P    OC
40   +5v     H    L                   A10    P    OC
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.
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Help in resurrecting my ZX81

Post by 1024MAK »

I'm sorry to say, from these results, it looks like the ULA is not providing a clock signal (CLK) to the CPU :( .

With no clock, the Z80 CPU will just sit there doing nothing :(

The clock output is on pin 14 (should be Pulsing signal, your results show it High). It is then inverted by a transistor and goes into the Z80 CPU on pin 6 (should be Pulsing signal, your results show it Low).

Please retest. Even better if you can borrow either an oscilloscope or a frequency counter (the clock signal is 3.25MHz square-wave) to confirm this.

A limited supply of new old stock ULA chips are available from Sell My Retro here.

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.
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Help in resurrecting my ZX81

Post by 1024MAK »

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.
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Help in resurrecting my ZX81

Post by mrtinb »

1024MAK wrote: Please retest. Even better if you can borrow either an oscilloscope or a frequency counter (the clock signal is 3.25MHz square-wave) to confirm this.
I'll try to retest. Unfortunatly I don't know anyone with an scilloscope.

Martin
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Help in resurrecting my ZX81

Post by 1024MAK »

2 new old stock ULAs for sale in this post

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.
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Help in resurrecting my ZX81

Post by mrtinb »

1024MAK wrote: The clock output is on pin 14 (should be Pulsing signal, your results show it High). It is then inverted by a transistor and goes into the Z80 CPU on pin 6 (should be Pulsing signal, your results show it Low).

Please retest.
I've retested. Now ULA pin 14 is Low, and CPU pin 6 is High. Let's assume the ULA is dead.

Now I buy a ULA for GBP 19.99 and unsolder the old one, or I find a ZX81 on eBay for less than that.

Martin
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Help in resurrecting my ZX81

Post by mrtinb »

mrtinb wrote:Now I buy a ULA for GBP 19.99 and unsolder the old one, or I find a ZX81 on eBay for less than that.
For now I've bought a working ZX81 on eBay. I'll try to resurrect the ZX81 and the Lambda 8300 later on. At least now I can continue with my keyboard project.

Martin
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Help in resurrecting my ZX81

Post by mrtinb »

Now I've attached one of Andy's new ULAs and I get this picture:

Image
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Help in resurrecting my ZX81

Post by mrtinb »

Little observations from me:
  • Accessing no address on both memory AND I/O and getting constantly value $DC (call c,NN)
  • /HALT on Z80 and ULA is connected, but only pulsed on Z80
  • /BUSAK is constantly pulled low
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
Post Reply