Eight bits should be enough for anyone..
RSS icon Home icon
  • Repairing A ZX Spectrum

    There are now many Spectrum fault finding guides and videos on the net so there’s no real need to go into great depth here. However, you may find this short summary of the common faults I encounter when repairing Spectrums useful. Fault finding is lot easier with an external diagnostic ROM device (such as my own SMART Card or X-ROM board:) but there are many checks that can be done with little more than a multimeter. (It’s always worth remembering that broken or shorted PCB tracks, damaged chip sockets etc can be the cause of hard-to-find faults.) The following applies to the original Spectrum 16/48K.

    Keyboard faults:

    Symptom: A single key, columns, rows or the entire keyboard does not respond.

    • If the keyboard membrane is old, replace it.
    • Check that the membrane tails are not pressing against the TV modulator shell as this causes a capacitance issue. (Use tape to cover the modulator if so.)
    • If the Spectrum is a Spectrum+ (or toastrack 128) see this page for assistance.
    • Replace the membrane sockets

    Symptom: Behaves as if a key is stuck.

    • Check ULA
    • Check keyboard membrane
    • Check membrane sockets for contamination
    • Check RAM
    • Check diodes D1-D8
    • Check ROM

    Sound faults:

    Symptom: No sound.

    • Check the speaker impedance (should be 200 Ohms for Issue 2 PCB and 40 Ohms for issue 3 PCB onwards)
    • Check TR7 (ZTX450) and D9 on issue 3 boards onwards
    • Swap ULA

    Symptom: Border changes colour when sound plays

    • Faulty ULA

    Loading issues:

    Symptom: Tape loading errors.

    • Make sure your source is loud enough (mp3 players and modern devices often are not). Note: Having visible loading bands in the border is no guarantee of success.
    • Clean the EAR socket, if plug is loose when inserted, replace it.
    • Use a MONO 3.5mm cable (not stereo).
    • There is a lot more detail about tape loading issues here

    “Cosmetic” video issues

    Note: I recommend that Spectrums should be re-capped (ie: have their electrolytic capacitors replaced with new ones) as a matter of course. This can improve the video quality a lot.

    Symptom: Yellow screen / Black and White picture on Issue 2 board.

    • Adjust the trimmers TR1 and TR2. If the trimmers are grotty, replace them. If no amount of tweaking will get a stable, white background the ULA has probably degraded. If the picture stays black and white no matter what, try adjusting TC2 (note its original position so it can be returned there if no joy).
    • Swap the ULA
    • Replace the LM1889 (IC14)

    Symptom: Poor picture on PCB issue 3 and above, even if re-capped and composite modded.

    • Unless you know that other Spectrum 16/48s work with your TV, try another TV (modern LCDs can be twitchy with the Spectrum’s slightly non-standard output).
    • Replace the LM1889 (IC14)  (A LM1889  can directly replace a TI SN94459 if present).
    • Replace TR1/TR2

    Symptom: No / dark picture but Spectrum seems to work otherwise, EG: clicks can be heard when pressing keys.

    • Try Spectrum with another TV.
    • If composite modded via a transistor, do the capacitor mod instead.
    • Replace TR1/TR2.

    Symptom: Black and white picture (issue 3 and above)

    • Check the 12V supply voltage to the LM1889 pin 14 (if way off check TR4/5)
    • Replace the LM1889
    • Replace the 4.33MHz XTAL (very rare that this is faulty)

    Symptom:  Waving pixels (“dot crawl”)

    • This is normal on Spectrums (because the pixel clock is not synchronized with the colour timing). On issue2 boards adjusting TC1 may help a little.

    Symptom:  Entire screen jumps up and down randomly by one scanline

    • This is normal. The Spectrum’s video output is non-standard and some TVs handle it better than others.  My own CRT exhibits this behaviour when it first receives a signal but it settles down after about a minute.

    Symptom: Display shows recognizable characters but their positions/colours are scrambled.

    • Likely IC3 or IC4 is bad
    • Swap ULA

    Symptom: Poor picture using the standard RF output (aerial cable)

    • Re-cap the Spectrum, try another known-good cable (surprisingly, they do seem to degrade)
    • Replace the modulator
    • Admit defeat and do the Composite Video mod :)

    Issues when using expansion devices:

    Symptom: Crashing, odd effects that don’t occur when not connected.

    • Clean the edge connector (ideally dismantle the Spectrum and clean the edge connector with the blue end of a pencil eraser – don’t press so hard as to remove the tinning). Clean up with isopropyl alcohol on cotton buds or kitchen towel.
    • Replace the Z80 CPU.
    • Replace the ROM.

    Misc Issues:

    Symptom: Random crashes after being on for a while.

    • Could be a faulty ULA since this chip runs the hottest.. but it could be any other part. Swap the ULA – if still bad, diagnostics software is required.
    • If random pixels appear on screen, it’s probably a subtle lower RAM fault.

    No Boot – IE: Spectrum comes on but does not go to Sinclair copyright message:

    OK, this is the biggie. Naturally there are many ways a Spectrum can fail to initialize but here’s the usual suspects:

    Symptom: Nothing happens: No key clicks, no video at all.  Spectrum behaves as if there is no power connected.

    • Check the power supply. The Spectrum’s power connector is unusual in that the outer barrel is the positive and the inner pin is the negative. The original Sinclair UK1400 PSU should read about 13.5v DC unloaded.
    • Make sure the DC socket is not corroded or that the solder has cracked away from the pins on the PCB.
    • Check the output of the 7805 regulator – should be 5 volts. If a PSU of the wrong polarity has been connected the 7805 is likely to be toast.

    Symptom: Display is just random glitchy horizontal lines (with black border).

    • Likely incorrect voltages to the lower RAM. Check transistors TR4/TR5 (the centre pin to either outer pin normally reads as a dead short when bad) and make sure the DC-DC circuit is providing the correct voltages to the lower RAM (more on that below).
    • Swap the ULA.
    • Replace the entire lower RAM.

    Symptom: Display shows thick white/black bands (may be random pixel data interspersed, flashing attribute blocks etc).

    • If the border is not white: It’s likely that no code is can be executed (as setting the border white is one of the first things the ROM does). This may be down to a bad CPU, ROM or a RAM chip that has failed so badly that it is locking up the databus. The first thing to do (with the Spectrum off) is use a multimeter on 20K resistance to probe pin 2 of each RAM chip to ground – if the reading on any pin is suspiciously low compared to the others then that chip could be bad – however, the upper and low RAM databusses are linked via series resistors so check the same bit position of suspect chips in both banks (IC13 is data bit 7 – this corresponds to IC22 in upper RAM, IC12 is bit 6 which is IC21 in upper RAM and so on to bit 0 which is IC6 / IC15). If the upper RAM chip has an (even) lower resistance than the lower RAM chip of the same bit position it’ll likely be the upper RAM chip (or CPU or ROM) that is faulty and not the lower RAM chip. If the RAM chip, CPU and/or ROM chips are in sockets you can pop them out to see if the low resistance goes away.
    • If the border is white: Probable failure of one or more lower RAM (4116) chips. This can happen through edge-connector related mishaps, failure of the internal DC-DC converter circuit or just through age. Test the voltages to the 4116 chips (-5V on pin 1, 12v on pin 8, 5v on pin 9) ground is pin 16 (or the heatsink). If either the -5v or 12v is more than 1v out, then check TR4/5 (also check the diodes in the area).
    • If the voltages are not correct after replacing TR4/TR5, check the components of the DC-DC circuit (especially the BA157 / 1N4148 diodes, 5v1 zener diode and 15 Ohm resistors on the bottom side of the PCB). If all good, there’s a good chance one of the 4116 chips has failed so badly that it is pulling the voltage(s) down, if so it’s usually a case of clipping out each 4116 chip until the voltages become normal. Note: you may find *all* the 4116 chips have been damaged by the out-of-whack voltage supply. Also, beware that new TR4/5 transistors may get cooked again so don’t leave the power on long when checking.
    • If the voltages have been corrected (and there’s a full set of 4116s installed) but the Spectrum still isn’t booting, one or more 4116s could still be bad (just failed in a less catastrophic manner). Finding the bad RAM chip can be quite tricky (especially lower RAM – this is one reason why I developed the SMART Card with it’s diagnostic ROM) but there are methods which may provide pointers:
    • If you have thin (pixel) vertical lines on screen, you can use them to infer which chip is bad by the offset from the left side of each attribute block. A line at the left side corresponds to bit 7 (IC13 on issue 2 and above boards) and each pixel to the right corresponds to the next chip along – to bit 0 (IC6). The colour attributes can also give hints as to which 4116s are bad – EG: If there’s flashing 8×8 blocks, IC13 may be suspect (because bit 7 is the “flash” control for attributes). If there’s bright 8×8 blocks, check IC12 (bit 6 is the “bright” control for attributes).  Another crude method of detecting bad chips is to piggyback a known working chip over the top of each (just hold it in place, power on and see if the problem goes away or at least changes.)
    • If the Spectrum still does not boot with good lower RAM then IC3/4 could be suspect.. or it could be transistor TR3, CPU, the ROM or a bad upper RAM chip! Unfortunately finding out which it is without an external diagnostic device can be very difficult, the fault-finding guide links below will help though.

    Upper RAM faults:

    Symptom: Spectrum only works as 16K machine / Boots but crashes when playing games etc.

    • The upper 32K of RAM in the Spectrum is situated in chips IC15-IC22 – one (or more) of these is probably faulty. The section of RAM can be disabled to check if the computer works OK as a 16K machine (see in-depth guide links below). If  it does, you can re-enable the upper RAM and attempt to fault find it with BASIC’s POKE and PEEK commands (which you’ll find in the “Lil old ZX Spectrum service Manual”, linked below)
    • There are also four chips that interface the Upper RAM to the CPU, namely IC23-IC26 (2 x 74LS157, 1 x 74LS00 and 1 x 74LS32) If they’re in sockets reseat / replace them (74HCT type logic can replace the 74LS versions originally installed if need be).
    • Make sure the RAM selection jumpers are set correctly for the type of RAM installed. On Issue TWO boards, the RAM type jumper is to the upper right of the ULA (IC1) – A central pad should be linked to the pad above (marked +5v) for “-L4” chips or below (marked 0v) for “-L3” chips (see the chip markings for the ID codes). Issue TWO boards were originally designed to accept TI brand memory, though various bodges were made to allow OKI RAM to be used as well, eg:  IC26 may have a leg lifted and wire link added, or there may be a small PCB installed (in these cases no selection is made to “5v” or “0v”.) On Issue 3 boards (through to 6A) there are two sets of links found under the left side of the heatsink. The top line selects either “OKI” or “TI” brand memory and the links below select the sub-type. “L” or “H” for OKI and “3” or “4” for TI  (confusingly, the OKI sub-type links are below the TI side and vice-versa!) Note: Where 4×32 chips are installed, they must be all of the same type, however you can replace them with 4164 RAM chips (though these must have a 128-cycle refresh, verify with their datasheet) in any number – the jumper settings are irrelevant to the 4164 chips but some valid link setting should still be made.
    • Re-cap the PCB – the electrolytic caps need to be good to smooth the power supplied to the RAM.
    • A Z80 with a bad A15 signal could cause the upper RAM to be unreliable / non-functional.
    • Check for solder bridges, shorting component leads,  PCB trace fractures etc.
    • There are some resistors and capacitors used for timing R70, R71, C63, C64 – it’s rare that these components become faulty but are worth checking if nothing else resolves the problem.

    Repair guides and sources for parts: