Jump to content

Sinclair ZX Spectrum ROM Replacement

From RetroTechCollection
NEC D23128C Spectrum ROM
An NEC D23128C, one of the mask ROMs Sinclair used at IC5, on an Issue 3B board

The ROM of the Sinclair ZX Spectrum (16K and 48K) is IC5, a single 16 KB, 28-pin mask ROM at addresses 0000 to 3FFF. The Sinclair ZX Spectrum+ uses the same boards.[1][2] Sinclair bought it from more than one maker, and the makers swapped two control pins, so the board has links marked H and N to suit a Hitachi or an NEC part.[3][4] Unlike the ULA, the ROM is normally soldered to the board; Spectrum for Everyone and Adam's restoration both desoldered it and fitted a socket.[5][6] A failed ROM can be replaced with another mask ROM, with a 27C256 EPROM after a small modification, or with a replacement board.[5][7]

Symptoms

[edit | edit source]
  • The machine does not start and the border is not white. Setting the border white is one of the first things the ROM does, so a border that stays another colour means no code is running; Retroleum's suspects are the CPU, the ROM, or a RAM chip that has failed badly enough to hold the data bus.[8]
  • Flashing blocks on the screen. Worsley checks that the ROM is the right type for the links and correctly seated, then checks any of its legs that were cut during RAM tests, and replaces the ROM if it is at fault.[9]
  • Crashes or odd behaviour only when an expansion is connected: Retroleum's suggestions are to clean the edge connector and replace the Z80, then the ROM.[8]

The T.I.S. notes put IC2 (the Z80) and IC5 as the most likely culprits after the ULA, calling neither "particularly reliable".[10] Rule out the supply, the RAM and the ULA first with the Sinclair ZX Spectrum Troubleshooting Guide.

Before you start

[edit | edit source]
  • Check the ROM's supplies: +5 V at IC5 pin 28 and ground at pin 14.[11]
  • With the supplies, clock and ULA good, Sinclair's next step is to check the address and data lines of IC1, IC2 and IC5 for active data, comparing with a known-good board if possible.[11]
  • If the ROM is already in a socket, a diagnostic ROM can be plugged in its place to test the rest of the board. Retroleum sells one carrying its DiagROM and Brendan Alford's ZX Diagnostics.[7]

Tools and parts

[edit | edit source]
Sinclair ZX Spectrum Issue 3 ROM IC5 circuit
IC5 on Sinclair's Issue 3 circuit diagram, with the table of the NEC and Hitachi functions on pins 20 and 27
Replacement options
Option Parts Board changes
Another mask ROM Hitachi HN613128P, NEC D23128C, GI 9128C or SKK SBB23128[9] Move the H and N links if the maker changes[3][9]
EPROM 27C256 EPROM, two BAT85 (or 1N4148) diodes, a 3.3 kΩ resistor, a 28-pin DIL socket and insulated wire[5] The diode-and-resistor change below, and a link between pins 1 and 28 of the socket[5]
Replacement board Retroleum's switchable ROM replacement board for the 16K/48K Spectrum, holding two 16 KB images[7] None; it plugs into a socket or is soldered in place of the ROM[7]

An EPROM programmer is needed for the EPROM option; Spectrum for Everyone uses a MiniPro TL866-CS.[5]

[edit | edit source]

The Hitachi and NEC ROMs are almost identical, but their chip select and output enable signals are swapped between pins 20 and 27. On Sinclair's Issue 3 diagram, pin 20 is CE on the NEC part and CS on the Hitachi, and pin 27 is CS on the NEC and CE on the Hitachi. The H and N links route the two signals to suit.[4][5]

Sinclair ZX Spectrum Issue 4B H and N ROM links
The H and N link positions beside the loudspeaker on an Issue 4B board, with two wire links fitted

The links are in different places on each board:[3][5]

  • Issue 1: between the ROM and the heatsink.
  • Issue 2: under the raised part of the heatsink.
  • Issue 3 and later: next to the loudspeaker.

Worsley's rule: the NEC, GI and SKK ROMs are interchangeable without moving the links; a Hitachi ROM needs the H links, and an NEC-type ROM fitted in place of a Hitachi needs the H links moved to N.[9]

Procedure

[edit | edit source]

Remove the old ROM

[edit | edit source]
  1. Open the case and lift the board out: five screws in the base, then the single board screw next to the IC22 socket.[12]
  2. On a Sinclair ZX Spectrum+ the base has eight screws, seven 8 mm pan-head screws round the overhang and one 13 mm countersunk screw at the back next to the expansion slot, and the board is held by two 6.5 mm pan-head screws at its front corners.[13]
  3. Remove the heatsink.[5]
  4. Desolder the ROM and fit a 28-pin socket in its place, with the socket's notch the right way round. Take your time and do not force the chip out even when every pin looks free; Spectrum for Everyone finds that a little hot air, once every pin is free of solder, makes this easier and less risky.[5]
  5. Check the area afterwards for solder splatter.[14]

Fitting a mask ROM

[edit | edit source]
  1. Fit the replacement ROM in the socket, notch matching the socket.[5]
  2. If it is from a different maker, move the H and N links to suit it.[3][9]
  3. Refit the heatsink.[5]

Fitting a 27C256 EPROM

[edit | edit source]

Spectrum for Everyone's modification:[5]

  1. Desolder the H and N links and clear their holes. Also clear the solder from the nearby through-hole that serves as the ground point for the modification (it is marked on Spectrum for Everyone's photograph).
  2. Fit the two diodes with both cathodes (the striped ends) in the south-west hole of the ROM-select link group.
  3. Fit the 3.3 kΩ resistor from the ground point to that same south-west hole.
  4. Run an insulated wire from the ground point to the north-east hole of the link group.
  5. On the underside of the board, fit a wire between pins 1 and 28 of the ROM socket.
  6. Program the EPROM with a 16 KB ROM image.
  7. Fit the EPROM in the socket, cover its window with a label so that stray ultraviolet light cannot alter it, and refit the heatsink.

Spectrum for Everyone's explanation: the diodes and resistor form an OR gate with a pull-down, which enables the EPROM's output only when MREQ and ROMCS (routed to the EPROM's OE and CS) are both low. The north-east link hole connects to pin 27, which on a 27C256 is address line A14, so tying it to ground selects the lower 16 KB of the EPROM. BAT85 Schottky diodes are preferred for their lower voltage drop, but 1N4148s have not caused problems.[5]

A 27C256 holds 32 KB, so two ROM images can be programmed into it one after the other. Replacing the ground wire on the north-east hole with a switch to 0 V or +5 V then selects between them.[5]

Close the machine

[edit | edit source]
  1. Refit the board and its screw, checking that the keyboard ribbons are not trapped.[12]
  2. Refit the five case screws without overtightening them.[12]

Testing

[edit | edit source]
  1. Power on. The machine should clear the screen and show the copyright message at the lower left.[15]
  2. Sinclair's system test uses the ZXTP test tape, which exercises everything except SAVE; test SAVE with a short program, then VERIFY it.[16]
[edit | edit source]

References

[edit | edit source]
  1. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, sections 1.4 and 1.5.1 (pp. 9–10): the 16 KB ROM, IC5, at 0000–3FFF. Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  2. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, Supplement No. 2, section 10.1 (p. 57). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  3. ↑ 3.0 3.1 3.2 3.3 ZX Spectrum Service Manual, Sinclair Research Ltd, section 4.6 "Hitachi vs NEC ROM" (p. 24): the H and N links and where they are on Issues 1, 2 and 3. Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  4. ↑ 4.0 4.1 ZX Spectrum - Issue 3 circuit diagram, Sinclair Research Ltd: IC5 and the NEC and Hitachi pin 20 and 27 table. Hosted as File:Sinclair ZX Spectrum Issue 3 circuit diagram.png.
  5. ↑ 5.00 5.01 5.02 5.03 5.04 5.05 5.06 5.07 5.08 5.09 5.10 5.11 5.12 5.13 "Fitting an EPROM to a 48K Spectrum", Spectrum for Everyone (retrieved 2026-10-25): parts, removing the ROM, the link positions, the diode-and-resistor modification with photographs, the pin 1 to 28 link, and how it works.
  6. ↑ Adam, "Sinclair ZX Spectrum 48k 'Rubber Key' Restoration", Adam's Vintage Computer Restorations, 6 July 2021: socketing the ROM of an Issue 4B board.
  7. ↑ 7.0 7.1 7.2 7.3 "Spectrum Chips", Retroleum shop (retrieved 2026-10-25): the diagnostic test ROM and the switchable ROM replacement board for the 16K/48K Spectrum.
  8. ↑ 8.0 8.1 "Repairing A ZX Spectrum", Retroleum blog (retrieved 2026-10-25): no-start with a non-white border, and expansion-related crashes.
  9. ↑ 9.0 9.1 9.2 9.3 9.4 Ian Worsley, "Repairing Spectrum & Spectrum Plus", from the Lil Old Sinclair Technical Information Repository, republished by World of Spectrum (retrieved 2026-10-25): the four ROM makers and the H and N links, and flashing-block screens.
  10. ↑ ZX Spectrum Servicing Manual (Thorn EMI Datatech, 1984), T.I.S. "Repair Data" appended, symptom 11 "Power supply O.K. - computer not working correctly" (PDF p. 65). Third-party field-service material. Hosted as ZX Spectrum Servicing Manual (Thorn EMI Datatech, 1984) (PDF).
  11. ↑ 11.0 11.1 ZX Spectrum Service Manual, Sinclair Research Ltd, section 5.3.1 "Basic Checks" (p. 26): IC5 pin 28 +5 V, pin 14 ground, and the address and data lines of IC1, IC2 and IC5. Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  12. ↑ 12.0 12.1 12.2 ZX Spectrum Service Manual, Sinclair Research Ltd, section 2 "Disassembly/Assembly" (p. 16). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  13. ↑ Sinclair Research Ltd, ZX Spectrum + Upgrade Instructions, undated leaflet, Step 6 and final assembly: the Spectrum+ case screws and the two 6.5 mm board screws. Hosted as Sinclair ZX Spectrum+ Upgrade Instructions (PDF).
  14. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, section 7.2 "Repair" (p. 37). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  15. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, section 5.3 "Initialization" (p. 26). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  16. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, section 3.2 "System Test" (p. 19). Hosted as Sinclair ZX Spectrum Service Manual (PDF).