Sinclair ZX Spectrum 128
| Sinclair ZX Spectrum 128 "Toastrack", named for its external heatsink | |
| Specifications | |
|---|---|
| Manufacturer | Sinclair Research Ltd |
| Type | Home computer |
| Released | September 1985 (Spain), February 1986 (UK) |
| Discontinued | 1986 (superseded by the +2) |
| Intro price | £179.95 (UK, 1986) |
| CPU | Zilog Z80A @ 3.5469 MHz |
| Memory | 128 KB RAM (8 × 16 KB banks) |
| Storage | External cassette tape (EAR / MIC) |
| Display | 256×192 pixels, 32×24 characters, 15 colours |
| Sound | AY-3-8912A (3 channels) plus ULA beeper |
| Dimensions | 32 cm × 15 cm × 3 cm (plus heatsink) |
| Weight | 0.7 kg |
| OS / Firmware | Sinclair BASIC (128 BASIC and 48 BASIC) in 32 KB ROM |
| Predecessor | Sinclair ZX Spectrum+ |
| Successor | Sinclair ZX Spectrum +2 |
| Codename | Derby |
| 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]
| 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]| 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]| 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]- Sinclair ZX Spectrum+ — the 48K machine whose case and keyboard the 128 uses
- Sinclair ZX Spectrum +2 — the Amstrad repackaging of this machine
- Sinclair ZX Spectrum — the original
- Sinclair ZX Spectrum Keyboard Membrane Repair
References
[edit | edit source]- ↑ 1.0 1.1 "ZX Spectrum", Wikipedia.
- ↑ 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.0 3.1 "Fixing Keypad Issues on an Issue 6K 128K Toastrack", Spectrum for Everyone. Fault identified and fix derived by Ian Gledhill.
- ↑ 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.