ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
PROSM
Posts: 8
Joined: Sun Apr 16, 2023 6:32 pm

ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by PROSM »

First of all, please mention to me any misconceptions or incorrect facts in this post - I am fairly new to the ZX81, and especially so to the hardware side of things.

Having finally gotten the chance to test the computer that I acquired back in February, you can understand I was a little bit disappointed to find that it was not in full working order. I have detailed my observations below, in the hope that the problem might be fixable.

The symptoms

Except where otherwise noted, the computer is being operated without a RAM pack (i.e. just the internal 1K in use). I cannot provide photographs of the screen as I forgot to take them before I dismantled the computer, and I am nervous about causing further damage by powering it up in this semi-functional state.

The computer puts out a solid white screen at boot rather than the usual inverse K cursor. Pressing keys produces different results - pressing P will place on the screen two or three scanlines of short black strips. The strips appear at different points on each scanline, they are not aligned vertically. Further pressing of the P key causes no changes to this screen, until the 27th keypress (which, to my mind, produces the first character that should spill over onto the second line of the input area), when the computer seems to crash. The image on the TV rolls, presumably because the CPU is locked up and therefore is not triggering the vertical sync pulses? I have noted that with the 16K RAM pack installed, pressing P just once will crash the computer.

Pressing other keys such as A just seems to crash the computer instantly, while I have found that keys like Z can be pressed repeatedly and will spill onto subsequent lines, causing more rows of the black strips to appear on the display. Some keys don't produce any response at all, though perhaps that is down to a keyboard membrane problem.

Strangely, on every keypress, the screen seems to bounce a bit, implying that the computer is running in FAST mode from boot, which seems unusual for the ZX81.

To me, it looks as though the CPU and ROM are working, and the ULA is at least partially operational. I'm not sure if the RAM would need to be in perfect working order to be able to get to this stage.

The board

Upon opening the case, I was greeted by an Issue 1 board with plenty of suspect solder joints, photographs of which I have attached to this post. I suspect that this board was originally built as a kit given the presence of sockets. It may also have been repaired at some time, given that one of the electrolytic caps is black rather than the usual blue (though I may well be wrong on this point).

Given that I am not too experienced with physical hardware, it is possible that all the solder joints are just fine and I am seeing things which are not there. Hopefully the photographs will be clear enough to allow the more knowledgeable to judge the board's condition.

Unfortunately, I don't have access to an oscilloscope, so can only take basic multimeter readings.

Main board:
main-board.jpg
RAM chip (2114):
ram-chip.jpg
ROM chip:
rom-chip.jpg
CPU (away and toward edge connector):
cpu-away.jpg
cpu_toward.jpg
My question

Could these symptoms be caused solely by dodgy soldering, or could they be caused instead by component failure? I ask because if it is the latter and it turns out that (heaven forbid) the ULA is broken, then repairing the dodgy joints might not be worth my while. However, if it is the former, and my Zeddy troubles can be fixed by a relatively short resoldering job, then I'd be ecstatic.

I suspect that there isn't enough information to draw either conclusion yet. Still, any help would be much appreciated.

Thank you for reading, I look forward to your response :)
My Sinclair software to-date
Working on something, as always :)
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by 1024MAK »

Yes, looking at the soldering, it’s not very good quality. It’s always difficult to be certain if it’s a kit build, or just a board that has had remedial/repair work done.

If the majority of solder joints have traces of golden/brown/black flux, it is most likely a kit build.

Despite the poor quality soldering, I’ve not spotted anything that is definitely a cause of failure. So, although if it was mine, I would improve the solder joints, I don’t think this will fix the problem.

Because the display is effectively software generated (it’s the Z80 literally executing what it thinks is code) to produce the data for the ULA to convert from parallel byte to a serial bit stream, trying to diagnose strange patterns on the screen is extremely difficult.

In order to get to the stage of showing a K, the ULA, ROM, RAM and processor have to be working.

A white screen, even if you do get some lines, indicates that the processor is not able to run the ROM program correctly. Hence, it could be faulty RAM, faulty processor, or faulty ROM.

A mask ROM, that is, a plastic chip with no window, and not in a ceramic package, with screen printed part number, is unlikely to be the problem, as they are normally fairly reliable. If however it’s an EPROM, these do occasionally suffer from ‘bit rot’.

The ULA cannot be completely eliminated yet. But it is at least partially working. As the main oscillator must be running.

Now, before we get to anything too technical, can you take a photo of the component side of the board please.

Also, a question: is the RAM pack known to be good, or is it an unknown in terms of working? And has the edge-connector been cleaned?

Next, have you carefully removed and then reinserted all the chips? Thermal expansion and contraction can cause chips in sockets to move. And it only takes one pin to make poor contact to mess it up completely.

If you have never removed a chip from a socket, tell us, so that we can describe how to do it. As no one wants badly bent, or broken pins.

You’ve said that you have a multimeter, but for fault finding, it’s also useful to have a logic probe, even a very basic type.

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.
PROSM
Posts: 8
Joined: Sun Apr 16, 2023 6:32 pm

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by PROSM »

Thanks for your comprehensive response Mark. Here's the component side of the board:

DSCN0494.JPG

Using the original kit building manual (from quantum-bits.org), I have been able to check and verify that all of the components are in their correct positions on the board.

As you might be able to see, the original owner was less than careful when seating the ULA, as pins 20 and 21 are pretty bent and don't look to be making contact with the socket. I've attached some close-up pictures:

DSCN0493.JPG
DSCN0492.JPG

I do not know whether the RAM pack actually works, as I don't have access to a working Zeddy to try it with. I haven't touched the chips yet, as I am a bit nervous about removing and reseating them, especially the ULA with those bent pins. What would be your recommended technique to minimise the risk of damage?

With regards to diagnostic tools, I will look into buying a logic probe. Are there any inexpensive models (i.e. under £20 or so) that you might be able to recommend? On a related note, I have seen some successful attempts to test RAM ICs with an Arduino board to control the pins (such as this for example). As I already have an Arduino, would you consider this to be worth a try?
My Sinclair software to-date
Working on something, as always :)
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by Moggy »

I'll leave Mark to carry on his usual excellent diagnosis but even a klutz like myself can see that those two ULA pins are making no contact at all and would most certainly affect things.

Apologies for butting in Mark. :)
PROSM
Posts: 8
Joined: Sun Apr 16, 2023 6:32 pm

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by PROSM »

Yes, I too can see it's definitely a big part of (if not the whole) problem, but I would like some advice as to how to remove and reinsert it properly without breaking the pins. Of course, it's just my luck that the chip with the bent pins had to be the custom part they haven't made since about 1984 :D
My Sinclair software to-date
Working on something, as always :)
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by Moggy »

I best let Mark advise on that as I'm the king of the bodgers and experience tells me you get just one shot at unfolding those pins.
I have quite a few chips with bits of bell wire soldered to what's left of the pin, ho happy days!
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by 1024MAK »

PROSM wrote: Sat May 27, 2023 6:53 pm Thanks for your comprehensive response Mark.
No problem, please read on…
PROSM wrote: Sat May 27, 2023 6:53 pm As you might be able to see, the original owner was less than careful when seating the ULA, as pins 20 and 21 are pretty bent and don't look to be making contact with the socket.
Pin 20 of the ULA missing the socket will just make the machine deaf when trying to load from tape.

Pin 21 however is D6 (part of the data-bus) and will certainly mess up operation.

It’s also possible that some of the other pins are bent.

You will need to remove the ULA from its socket and bend the pins back into shape.

I’ve put some advice on removing chips in this topic.

It’s best to have a good look at all the pins of all the other chips as well.
PROSM wrote: Sat May 27, 2023 6:53 pm I do not know whether the RAM pack actually works, as I don't have access to a working Zeddy to try it with.
I had to ask the question about the RAM pack, as the vast majority use 4116 DRAM chips, which are known for their unreliability. Sinclair 16K RAM packs also suffer from various other problems.
PROSM wrote: Sat May 27, 2023 6:53 pm With regards to diagnostic tools, I will look into buying a logic probe. Are there any inexpensive models (i.e. under £20 or so) that you might be able to recommend? On a related note, I have seen some successful attempts to test RAM ICs with an Arduino board to control the pins (such as this for example). As I already have an Arduino, would you consider this to be worth a try?
As we already have one problem that will definitely cause malfunctioning, I would not buy any more test gear quite yet.

The cheapest logic probe is a DIY type. I have a design that I can point you to. There are some cheap logic probes available on trading sites, but the construction quality is dire. My favourite logic probe is no longer made, but I can indeed help you if we get to the stage of needing one.

Testing SRAM (static RAM) is not difficult with a microcontroller (like an Arduino). I’ve not followed your link yet. I’ll look later.
Moggy wrote: Sat May 27, 2023 9:12 pm I'll leave Mark to carry on his usual excellent diagnosis but even a klutz like myself can see that those two ULA pins are making no contact at all and would most certainly affect things.

Apologies for butting in Mark. :)
No apology needed. Pin 21 being bent and not in the socket alone causes massive problems.
PROSM wrote: Sat May 27, 2023 9:20 pm Yes, I too can see it's definitely a big part of (if not the whole) problem, but I would like some advice as to how to remove and reinsert it properly without breaking the pins. Of course, it's just my luck that the chip with the bent pins had to be the custom part they haven't made since about 1984 :D
Follow the advice in the topic I linked to above. DIL pins are fragile, but as long as they have not been bent too many times and you are careful, it’s possible to save the ULA.

Even if not, as Moggy says, it’s often possible to carefully solder on a piece of wire. And even if that’s a total fail, ULA replacement modules are available.

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.
PROSM
Posts: 8
Joined: Sun Apr 16, 2023 6:32 pm

A success!

Post by PROSM »

Well, after the nerve-racking experience of removing the ULA and gently bending pins 20 and 21 back into position, I reinserted it and hooked the board up. Once I got the TV tuned in, I was relieved to see the inverse K.

DSCN0502.JPG

Unfortunately, the keyboard ribbon is cracked, and after trimming it slightly the ends won't stay in the connectors on the board, so I'm going to order a replacement keyboard from RWAP. However, I was able to type some characters by connecting pins of KB1 and KB2 together with a short piece of wire. With this, I was able to confirm that the SLOW mode is working as expected. The only bit I haven't been able to test yet is the tape input.

RSCN0507.JPG

Things are running pretty smoothly so far; as soon as I get the new keyboard installed, I'll have a complete working ZX81! Thank you very much Mark for your help with diagnosing the problem (even if it did just turn out to be pins outside the socket), and particularly for the tips on handling the ICs.
My Sinclair software to-date
Working on something, as always :)
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 exhibiting strange behaviour - dodgy solder joints or something else?

Post by 1024MAK »

Good to hear that you now have the much fabled inverse K :lol:

Thanks for reporting back. Well done :D

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.
Post Reply