Jump to content

Sinclair ZX Spectrum 128

From RetroTechCollection
Revision as of 07:28, 9 August 2026 by Josh (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Sinclair ZX Spectrum 128
Sinclair ZX Spectrum 128 "Toastrack", named for its external heatsink
Specifications
ManufacturerSinclair Research Ltd
TypeHome computer
ReleasedSeptember 1985 (Spain), February 1986 (UK)
Discontinued1986 (superseded by the +2)
Intro price£179.95 (UK, 1986)
CPUZilog Z80A @ 3.5469 MHz
Memory128 KB RAM (8 × 16 KB banks)
StorageExternal cassette tape (EAR / MIC)
Display256×192 pixels, 32×24 characters, 15 colours
SoundAY-3-8912A (3 channels) plus ULA beeper
Dimensions32 cm × 15 cm × 3 cm (plus heatsink)
Weight0.7 kg
OS / FirmwareSinclair BASIC (128 BASIC and 48 BASIC) in 32 KB ROM
PredecessorSinclair ZX Spectrum+
SuccessorSinclair ZX Spectrum +2
CodenameDerby
Model no.Board versions 2, 2-1, 6K, 6U, 9G

The Sinclair ZX Spectrum 128 is the last Spectrum designed and sold by Sinclair Research before the company's computer division was sold to Amstrad. It is universally known as the "Toastrack" after the row of external heatsink fins along its right-hand side.[1]

It was developed with the Spanish distributor Investronica and launched in Spain in September 1985, reaching the UK in February 1986.[1] It takes the Spectrum+ case and keyboard and adds 128 KB of banked RAM, a dedicated sound chip, an RGB monitor output, an RS-232 port and a numeric keypad connector.

What the 128 added

[edit | edit source]

Over the 48K Spectrum+:

  • 128 KB of RAM in eight 16 KB banks, paged into the Z80's 64 KB address space.
  • AY-3-8912A sound chip (IC32) giving three channels of tone and noise, alongside the existing ULA beeper.
  • RGB output on an 8-pin DIN socket (a 9-way D-type on some later versions), making a proper monitor usable for the first time.
  • RS-232 serial port and a numeric keypad port, both on BT-style 6-way telephone jacks, driven by MC1488/MC1489 line driver and receiver ICs.
  • 32 KB of ROM holding both 128 BASIC (with a proper full-screen editor) and the original 48 BASIC.
  • The external heatsink, needed because the extra RAM and support logic raise the power dissipation well beyond the 48K machine's.

Board versions

[edit | edit source]

Five main board versions exist, and the differences matter for repair:[2]

ZX Spectrum 128 board versions
Version Notes
Version 2 The first Toastrack board, found in early Investronica (Spanish) machines, and presumably Samsung-made as it has solder mask on both sides. The /CLK connection on the edge connector is not actually wired to the CPU clock signal, so peripherals that need it (a DivMMC, for example) require the link to be added manually.
Version 2-1 Minor revision correcting some Version 2 bugs, again Spanish machines only. The /CLK defect is still present.
Version 6K The first mainstream UK 128, manufactured by Samsung, with green solder mask on both sides and components sourced like the 48K Issue 4S. /CLK is correctly connected from this version onwards. Carries a defect in the value of R137 which stops the numeric keypad working — see below.
Version 6U By far the most common version. Solder mask on the underside only, like earlier 48K machines. Some late examples have a soldered Amstrad 40056 ULA in place of the usual Ferranti part.
Version 9G The final version, sold mostly in European markets, distinguished by a standard DB-9 RS-232 connector in place of the BT 631W socket.

The Issue 6K keypad defect

[edit | edit source]

The 128 was advertised with a separate numeric keypad, and one was bundled with the Spanish machines — but it was never sold in the UK, and only a couple of UK units are known to exist.

The reason is a hardware fault. On the Issue 6K board an incorrect resistor value in the circuit supplying the −Vcc line to the MC1488 line driver — which handles both the serial and keypad ports — meant the MC1488 never received a proper supply, so a keypad could not communicate with the machine. It was corrected on the Issue 6U. Rather than recall every 6K machine, Sinclair simply did not offer the keypad in the UK.[3]

The fix on a 6K board is to replace R137 with a 15 Ω resistor, after which a Spanish keypad works normally.[3]

Architecture

[edit | edit source]
ZX Spectrum 128 main devices (Service Manual Table 5.2)
Ref Device Function
IC1 Ferranti 7C001 ULA Video, keyboard scan, tape I/O, beeper
IC2 Z80A / µ780 (Zilog or NEC) CPU at 3.5469 MHz
IC5 SPECTRUM 128 ROM (VTI) 32 KB; pin-compatible with a 27256 EPROM, address access <400 ns, output-enable access <250 ns
IC6–IC13 4164 DRAM, 150 ns Contended RAM bank
IC15–IC22 4164 DRAM, 150 ns Uncontended RAM bank
IC27 ZX8401 (Mullard) Address multiplexing / glue logic
IC29 HAL10H8CN Address decode
IC30 74LS157 (not National) RAM multiplexer
IC32 AY-3-8912A (General Instrument) Three-channel sound
IC33 / IC34 MC1488 / MC1489 RS-232 and keypad line driver / receiver
IC36 TEA2000 (Philips) Colour encoder
IC38 MC1376 (Motorola) UHF modulator driver
X1 17.734475 MHz crystal Master clock; series resonant with 20 pF, ±10 ppm absolute

All RAM must be 150 ns access time with 128-row refresh. The Service Manual lists Hitachi, Intel, Mitsubishi, Mostek, Motorola, NEC, OKI, Panasonic, Toshiba and National as acceptable manufacturers.[4]

The numeric keypad is not a passive matrix — it has its own PCB carrying a General Instrument PIC1652 microcontroller, a 68 µH Toko coil and its own zener-regulated supply.[4]

Memory contention

[edit | edit source]

Despite what the official 128 specification says, on real Toastrack hardware banks 1, 3, 5 and 7 are contended and banks 0, 2, 4 and 6 are uncontended. Software written and tested on real 128s therefore behaves differently on the later +2A/+3, whose architecture matches the published specification — most audibly as distorted beeper audio or sampled speech.[2]

Power supply

[edit | edit source]

The 128 takes an external unregulated supply and generates the rest of its rails on board:[4]

  • +5 V from a 7805 regulator.
  • +12 V from an inverter around TR4/TR5, whose square wave is rectified and smoothed by D15/C44.
  • −12 V from a charge pump (C111/C112 with D28/D29) working off the same square wave, feeding the MC1488 RS-232 driver and the keypad.
  • −5 V derived from the −12 V rail through zener D19, for the expansion port.

The external pack contains a mains transformer, full-wave rectifier and capacitive smoothing, with a thermal fuse at the transformer input. It should not sag below 7.0 V at 1.4 A with low mains (215 V AC), nor peak above 13 V at 600 mA with high mains (265 V AC).[4]

The expansion connector carries +5 V (pin 3A), pulsed +12 V (23B), +12 V (23A), −5 V (20B), +9 V unregulated (4A) and ground (6A, 7A, 14A).[4]

Ports

[edit | edit source]
Connectors (Service Manual Table 5.2)
Connector Type
EAR, MIC 3.5 mm jack sockets
PWR 2.1 mm coaxial socket, centre negative
RGB 8-way DIN socket, or 9-way D-type on later versions
KEYPAD, RS232 6-way BT-type telephone jack sockets (BICC 603A)
KB1 / KB2 5-way and 8-way ribbon connectors to the keyboard membrane
Expansion Standard Spectrum edge connector

Circuit diagrams

[edit | edit source]
Circuit diagram (sheet 1) Circuit diagram (sheet 2)
Circuit diagram (sheet 3) The machine

Successor

[edit | edit source]

Amstrad bought Sinclair's computer product lines in April 1986 and immediately reverse-engineered the 128 to produce the +2, which is functionally the same machine repackaged with an integral cassette deck and joystick ports.[2]

General maintenance

[edit | edit source]

The heatsink, the keyboard membrane and its two ribbon tails, and the RAM are the main concerns. See the Sinclair ZX Spectrum 128 General Maintenance guide.

Troubleshooting

[edit | edit source]

The Service Manual gives test-point voltages, clock frequencies and a documented power-on check sequence; in practice the commonest faults are RAM, the DC-DC converter, jailbars on the RGB output and the Issue 6K keypad defect. See the Sinclair ZX Spectrum 128 Troubleshooting Guide.

Capacitor replacement

[edit | edit source]

Sinclair published a full component-level parts list for the 128, so every capacitor's designator, value and type is documented. See the Sinclair ZX Spectrum 128 Capacitor Replacement Guide.

See also

[edit | edit source]

References

[edit | edit source]
  1. 1.0 1.1 "ZX Spectrum", Wikipedia.
  2. 2.0 2.1 2.2 "ZX Spectrum Models", Spectrum for Everyone. Source for the board version history, the /CLK edge-connector defect on Spanish boards, the R137 keypad defect on the 6K, the contention behaviour and the late Amstrad 40056 ULA substitution.
  3. 3.0 3.1 "Fixing Keypad Issues on an Issue 6K 128K Toastrack", Spectrum for Everyone. Fault identified and fix derived by Ian Gledhill.
  4. 4.0 4.1 4.2 4.3 4.4 ZX Spectrum 128 Service Manual, Sinclair Research Ltd. Source for the parts lists (Tables 5.1–5.3), the RAM specification, the on-board power supply description, the clock frequencies, the basic-checks and fault-finding procedures, and the repair notes.