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); January 1986 (UK)[1] |
| Intro price | £179 (UK, 1986)[1] |
| CPU | Zilog Z80A at 3.5469 MHz |
| Memory | 128 KB RAM (8 × 16 KB banks) |
| Storage | External cassette recorder (EAR / MIC) |
| Display | 256×192 pixels, 32×24 characters, 15 colours |
| Sound | AY-3-8912A (3 channels) plus the ULA beeper |
| 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 was developed by Sinclair Research in 1985 with its Spanish distributor Investrónica, under the codename "Derby". It was launched in Spain in September 1985 and went on sale in the UK in January 1986 at £179.[1] It looks like the Spectrum+ with a large external heatsink for the 7805 regulator at the right-hand end of the case, which gave it the nickname "Toastrack".[1] It was the last Spectrum Sinclair designed before Amstrad bought the range in 1986.[1]
Development and production
[edit | edit source]Sinclair's partner for the 128's display chip was Ferranti, which made it as the ULA type 7K010. A Ferranti telex-style message of 14 June 1985 confirms to Sinclair Research the "pinning arrangement for ULA7K010 Project Derby", so the Derby name was in use with Ferranti by then.[2] Ferranti issued the ULA's specification between 24 June 1985 and 9 April 1986 and its top-level logic diagram between 7 June 1985 and 16 May 1986; its working file records problems with the first production parts in the autumn of 1985 and two design changes that Sinclair asked for in November 1985. These are covered on the Sinclair ZX Spectrum 128 ULA page.[3][4]
Sinclair's own circuit drawings for the board are in the same file. The analogue sheet (video and sound) is dated 24 May 1985, with a second issue on 1 November 1985.[5] The logic sheet is dated 23 July 1985, with modifications on 27 August, 3 September and 7 November 1985; its notes say that the address connections to the edge connector are "all as in the Spectrum 6A" and that the 5 V regulator is connected to the board "as in the QL". It labels the ULA "7C ULA".[6]
The 128 went on sale in Spain first. Your Computer for November 1985 reported that it was on sale there "now", built with Investrónica and four months ahead of the UK, where it expected a launch "next spring" at around £150, about £100 less than the Spanish price. It described a white 128 badge, an external aluminium heatsink, MIC and EAR moved to the left side beside a new RS-232 port that doubles as a MIDI connector, an RGB/composite video socket at the back where MIC and EAR had been, no joystick port, and a 15-button numeric keypad on a curly cable.[7] A UK preview by Lee Paddon in the same file adds that the keypad was not part of the basic UK package as it was in Spain, that the internal speaker had gone with all sound now through the TV, and that the machine starts with a menu of five choices: Tape Loader, 128 Basic, Calculator, 48 Basic and Tape Tester.[7] On the board the beeper and the AY-3-8912A sound are summed into IC38, an MC1376, which puts them onto the TV signal as an FM sound carrier.[5]
Timex Corporation's Dundee plant redrew both of Sinclair's sheets as its own drawings in February and March 1986, still stamped "PROVISIONAL": the logic sheet was first issued on 17 February 1986, with a change to IC27 on 27 February and keyboard, membrane and other corrections on 5 March; the analogue sheet, drawing 375-281001, on 21 February and 5 March 1986.[8][9] On the Timex analogue sheet the values of the oscillator capacitors C120 and C124 depend on which make of crystal is fitted.[9]
What the 128 added
[edit | edit source]Compared with the 48K Spectrum+, the 128 has:[1][10]
- 128 KB of RAM in eight 16 KB pages, paged into the Z80's 64 KB address space.
- An AY-3-8912A sound chip (IC32) with three channels, alongside the ULA beeper.
- An RGB monitor output, on an 8-way DIN socket or a 9-way D-type connector.
- An RS-232/MIDI serial port and a numeric keypad port, on 6-way BT-type telephone sockets, using the 1488 and 1489 line driver and receiver.
- 32 KB of ROM holding 128 BASIC, with a full-screen editor, and the original 48 BASIC.
- The external heatsink for the 7805 regulator, replacing the internal heatsink of earlier models.
Board versions
[edit | edit source]Spectrum for Everyone lists five main board versions:[11]
| Version | Notes |
|---|---|
| Version 2 | The first Toastrack board, found in early Investrónica (Spanish) machines; probably made by Samsung, as it has solder mask on both sides. The /CLK contact on the edge connector is not connected to the CPU clock, so peripherals that use it (a DivMMC, for example) need the link added by hand. |
| Version 2-1 | A minor revision fixing some Version 2 bugs, again in Spanish machines only. The /CLK fault is still present. |
| Version 6K | The first mainstream UK 128, made by Samsung, with green solder mask on both sides. /CLK is connected correctly from this version on. The value of R137 stops the numeric keypad working (see below). |
| Version 6U | By far the most common version, with solder mask on the underside only. Some late machines have a soldered Amstrad 40056 ULA instead of the usual Ferranti 7K010E-5. |
| Version 9G | The final version, sold mostly in Europe, with a standard DB-9 RS232 connector instead of the BT 631W socket. |
The Version 6K keypad fault
[edit | edit source]A numeric keypad was advertised with the 128 and bundled with Spanish machines, but it was never sold in the UK, and only a couple are known to exist. On the 6K board, the first UK version, a wrong resistor value in the supply to the −Vcc line of the MC1488 line driver, which serves both the serial and keypad ports, stops a keypad communicating with the machine. The fault was corrected on the 6U. Spectrum for Everyone suggests that Sinclair did not offer the keypad in the UK to avoid recalling every 6K machine.[12]
The fix on a 6K board is to replace R137 with a 15 Ω resistor; a Spanish keypad then works.[12] The Service Manual's parts list gives R137 as 47 Ω.[10]
Architecture
[edit | edit source]| Ref | Device | Function |
|---|---|---|
| IC1 | Ferranti 7C001 ULA (Ferranti's type 7K010; see Sinclair ZX Spectrum 128 ULA)[3] | Video, keyboard scan, tape interface, beeper |
| IC2 | Z80A or µ780 (Zilog or NEC) | CPU at 3.5469 MHz |
| IC5 | SPECTRUM 128 ROM (VTI) | 32 KB; pin-compatible with a 27256 EPROM, address access under 400 ns, output-enable access under 250 ns |
| IC6–IC13 | 4164 DRAM, 150 ns | Contended RAM |
| IC15–IC22 | 4164 DRAM, 150 ns | Uncontended RAM |
| IC27 | ZX8401 (Mullard) | RAM row and column addresses and RAS/CAS timing |
| IC29 | HAL10H8CN | Memory-access decoding |
| IC30 | 74LS157 (not National) | 2:1 data selector for the contended RAM addresses |
| IC32 | AY-3-8912A (General Instrument) | Three-channel sound; its port A drives the RS232/MIDI and keypad interface |
| IC33, IC34 | 1488, 1489 | RS232 line driver and receiver |
| IC36 | TEA2000 (Philips) | Colour encoder |
| IC38 | MC1376 (Motorola) | FM sound-carrier modulator |
| X1 | 17.734475 MHz crystal | Master clock; series resonant, accurate to 10 ppm |
All the RAM chips should have 150 ns access time and 128-row refresh. The Service Manual names Hitachi, Intel, Mitsubishi, Mostek, Motorola, NEC, OKI, Panasonic, Toshiba and National as acceptable manufacturers.[10]
The numeric keypad has its own PCB with a General Instrument PIC1652 microcontroller, a 68 µH Toko coil and 5.1 V and 4.3 V zener diodes.[10]
Memory contention
[edit | edit source]On real Toastrack hardware, RAM banks 1, 3, 5 and 7 are contended and banks 0, 2, 4 and 6 are not, although the official 128 specification stated otherwise. The later +2A and +3 follow the specification, so software written on real 128s runs differently on them, most obviously as distorted beeper sound or sampled speech.[11]
Power supply
[edit | edit source]The 128 takes a 9 V unregulated supply from an external pack and generates its other rails on the board:[10]
- +5 V from a 7805 regulator, for the logic, the ULA and the sound and UHF modulators.
- +12 V from an inverter around TR4 (ZTX650) and TR5 (ZTX213), whose square wave is rectified and smoothed by D15 and C44; it feeds the RS232 driver IC33 and the keypad.
- −12 V for IC33 from a charge pump (C111, C112, D28 and D29) running off the same square wave.
- −5 V for the expansion port, taken from the −12 V rail through zener D19.
The external pack contains a mains transformer, a full-wave rectifier and capacitive smoothing, with a thermal fuse at the transformer input. Its design limits are a voltage trough of no less than 7.0 V at 215 V AC mains and 1.4 A load, and a peak below 13 V at 265 V AC and 600 mA.[10]
The expansion connector carries +5 V (3A), pulsed +12 V (23B), +12 V (23A), −5 V (20B), +9 V unregulated (4A) and ground (6A, 7A and 14A).[10]
Ports
[edit | edit source]| Connector | Type |
|---|---|
| EAR, MIC | 3.5 mm jack sockets |
| PWR | 2.1 mm coaxial socket (Hoseiden) |
| RGB | 8-way DIN socket or 9-way D-type connector |
| KEYPAD, RS232 | 6-way BT-type telephone jack sockets (BICC 603A) |
| KB1, KB2 | 5-way and 8-way ribbon connectors for the keyboard membrane |
| Expansion | Spectrum edge connector |
Documentation and circuit diagrams
[edit | edit source]The Sinclair ZX Spectrum 128 Service Manual has the system description, setting-up and fault-finding procedures, and complete parts lists for the main and keypad PCBs.[10]
The manual's appendices carry the 128's PCB rear foil layout (6.1), digital schematics (6.2), analogue schematics (6.3) and block diagram (6.4).[10]
The Ferranti Archives 2026 hold Sinclair's original logic and analogue drawings for the 128 of 1985 (SPEC128-SIN-SCH-023, SPEC128-SIN-SCH-021) and Timex's production redraws of 1986 (SPEC128-TMX-SCH-026, SPEC128-TMX-SCH-027), with Ferranti's papers on the ULA. They are listed, with the differences between them, on the Sinclair ZX Spectrum 128 Service Manual page.
Successor
[edit | edit source]Amstrad bought the Spectrum range in 1986. According to Spectrum for Everyone, its engineers reverse-engineered a Sinclair 128 in a hurry to produce the +2 for Christmas 1986; the +2 is functionally the same machine with a built-in cassette deck and joystick ports.[11]
General maintenance
[edit | edit source]The heatsink, the keyboard membrane and its two ribbon tails, and the RAM are covered in the Sinclair ZX Spectrum 128 General Maintenance guide.
Troubleshooting
[edit | edit source]The Service Manual gives test-point voltages, clock frequencies and a power-on check sequence; its symptom table (section 4.2.4) was never filled in and is printed as "TBD".[10] See the Sinclair ZX Spectrum 128 Troubleshooting Guide.
Capacitor replacement
[edit | edit source]The Service Manual's Table 5.4 lists the capacitors on the main board by designator, value and type. Spectrum for Everyone's community list adds one electrolytic not in the table, C131 (47 µF), on Version 6K, 6U and 9G boards.[13] 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, Amstrad's repackaging of the 128
- Sinclair ZX Spectrum, the original
- Sinclair ZX Spectrum Keyboard Membrane Repair
- Sinclair ZX Spectrum 128 ULA, the Ferranti 7K010
References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 "ZX Spectrum", Wikipedia. Source for the development with Investrónica, the "Derby" codename, the launch dates and price, the external heatsink and the feature list.
- ↑ Telex-style message to Sinclair Research, "Pinning arrangement for ULA7K010 Project Derby", 14 June 1985, Ferranti Archives 2026 (SPEC128-FER-FAX-030). Source for the Project Derby name in Ferranti's correspondence and the date the ULA pinout was fixed.
- ↑ 3.0 3.1 Ferranti, ULA 7K010 D.C. and A.C. specification, issue 4, 9 April 1986 (issue 1 24 June 1985), Ferranti Archives 2026 (SPEC128-FER-DAT-028). Source for the ULA type, its specification issue dates and its pinout.
- ↑ Ferranti, ULA 7K010 top level diagram, issue 3, 16 May 1986 (issue 1 7 June 1985, issue 2 4 September 1985), Ferranti Archives 2026 (SPEC128-FER-SCH-084).
- ↑ 5.0 5.1 Sinclair Research, Spectrum 128 analogue circuit, drawing dated 24 May 1985, issue 2 of 1 November 1985, Ferranti Archives 2026 (SPEC128-SIN-SCH-021). Source for the drawing dates and the sound path through the MC1376.
- ↑ Sinclair Research, Spectrum 128 logic circuit, drawing dated 23 July 1985, mods 1 to 3 (27 August, 3 September and 7 November 1985), Ferranti Archives 2026 (SPEC128-SIN-SCH-023). Source for the drawing dates, the notes on the edge connector and regulator, and the "7C ULA" label.
- ↑ 7.0 7.1 Magazine pages kept in Ferranti's Spectrum 128 file, Ferranti Archives 2026 (SPEC128-EXT-MAG-033): Your Computer, November 1985, pp. 52 and 53, "Spectrum 128 scoop!" (Spanish launch, expected UK launch and price, external changes, keypad), and a separate preview by Lee Paddon from an unidentified magazine (UK machine, keypad not in the basic package, sound through the TV, power-up menu, colour test).
- ↑ Timex Corporation, Dundee, Spectrum 128 logic circuit, issues 01 (17 February 1986), 02 (27 February 1986) and 03 (5 March 1986), stamped "PROVISIONAL", Ferranti Archives 2026 (SPEC128-TMX-SCH-026).
- ↑ 9.0 9.1 Timex Corporation, Dundee, Spectrum 128 analog circuit, drawing 375-281001, issues 01 (21 February 1986) and 02 (5 March 1986), stamped "PROVISIONAL", Ferranti Archives 2026 (SPEC128-TMX-SCH-027).
- ↑ 10.00 10.01 10.02 10.03 10.04 10.05 10.06 10.07 10.08 10.09 Sinclair ZX Spectrum 128 Service Manual (File:ZX Spectrum 128 Service Manual.pdf), Sinclair Research Ltd; re-typeset Revision 1.1 by Brendan Alford. Sections 1.1 to 1.10 (system description and power supplies), section 4.2.3 (basic checks), section 5.2 (notes to Table 5.4), Table 5.4 (main PCB components) and Table 5.5 (keypad PCB components).
- ↑ 11.0 11.1 11.2 "ZX Spectrum Models", Spectrum for Everyone. Source for the board versions, the /CLK edge-connector defect, the R137 keypad fault, RAM contention and the Amstrad 40056 ULA.
- ↑ 12.0 12.1 "Fixing Keypad Issues on an Issue 6K 128K Toastrack", Spectrum for Everyone. Fault identified and fix derived by Ian Gledhill.
- ↑ "Capacitor Lists (128K Range)", Spectrum for Everyone (accessed 2026-10-10). Community list of the electrolytics, with minimum voltage ratings, for the 128 Version 2/2-1 (Spanish) and Version 6K/6U/9G (UK) boards and for the grey +2 Z70500 and Z70700 boards.