Skip to content
Systems

Sinclair ZX81

Computing for under £70

Clive Sinclair's black wedge computer brought programming to Britain's bedrooms, despite its 1KB RAM and membrane keyboard. Its display has no video hardware worth the name: the Z80 generates the picture by running the screen as if it were a program, and FAST mode is the machine offering to stop.

sinclair-zx-spectrumhome-computerz80sinclair1981–1984

The ZX81 arrived in 1981 and did something remarkable: it made computing affordable. At £69.95 (kit form) or £99.95 (assembled), it cost less than a television. Over 1.5 million sold, introducing a generation to programming through its built-in BASIC interpreter. The limitations were severe, but the possibilities felt infinite.

Fast facts

  • Launch: March 1981.
  • Price: £69.95 (kit), £99.95 (assembled).
  • CPU: Zilog Z80A at 3.25 MHz — a 6.5 MHz ceramic filter, halved by the ULA.
  • RAM: 1KB (expandable to 16KB).
  • Display: 32×24 characters, black and white only.
  • Input: 40-key membrane keyboard.
  • Storage: cassette tape.
  • Designer: Rick Dickinson (industrial design).
  • Sales: over 1.5 million units worldwide.

The display is the program

The ZX81 has no video chip in the sense the word usually carries. It has a ULA that Sinclair’s own manual calls the “dogsbody”, and a Z80 that spends most of its life drawing the screen.

The manual is blunt about the size of the task: in the 40 µs between line sync pulses “a string of up to 256 data bits must be output to form the display, at a rate of 6½ bits per microsecond”, and “some computers need 30 integrated circuits to achieve this”. The ZX81 does it with the processor it already had, using “some obscure or unadvertised characteristics of the Z80”.

Here is the trick. The ULA raises a non-maskable interrupt to start a display phase, and holds the processor in a WAIT state until it is done. The program counter is pointed at the display file by “a nominal jump to the address contained in HL” — so the Z80 begins executing the screen. It is not reading character codes as data; it is running them. What the ULA wants is not the result of that execution but the addresses appearing on the bus while it happens.

Each character’s pattern is then assembled from three sources at once:

I*256 + CODE*8 + COUNT

I is the Z80’s interrupt vector register, initialised to 1EH, which puts the address at 1E00 — the character set in the top of ROM. CODE is the byte the ULA just read from the display file. COUNT is a three-bit counter in the ULA, incremented by each line sync pulse, selecting which of a character’s eight rows is wanted. The resulting byte is “read by the ULA and output serially to the video modulator at a 6.5 MHz clock rate”.

The Z80’s memory-refresh cycle — a housekeeping signal meant for topping up dynamic RAM — is doing the addressing for a television picture.

FAST and SLOW, and what they really are

This is why the ZX81 has two speeds, and why the faster one is blank.

In SLOW mode, the ZX81 appears to handle the display output tasks while it is busy executing a program, but that is an illusion. The program runs for only about a quarter of the time.

In FAST mode, the display is abandoned to its own devices, so processing can be continuous, and therefore four times as fast.

Three quarters of the ZX81’s processor time is the picture. FAST does not overclock anything: it stops drawing, and hands back the time. The screen tearing into black hash during a calculation is not a fault — it is the machine showing exactly what it costs to have a display at all.

Every system in this Vault negotiates between the processor and the screen for the same memory. The C64 loses 43 cycles in 63 on a bad line; the Amiga can lose every slot to bitplane DMA; the Amstrad CPC pays a flat tax on every instruction. The ZX81 is the limit case, alongside the Atari 2600: there is no negotiation, because there is no second party. The processor is the video hardware, and the only setting is whether it is allowed to stop.

The limitations

The ZX81 taught constraint:

1KB RAM

  • ~900 bytes after system variables
  • Programs measured in lines, not pages
  • Variables consumed precious memory
  • PEEK and POKE optimised every byte

Membrane keyboard

  • Flat, unresponsive keys
  • Multiple key presses required for keywords
  • “Dead flesh” feel became infamous
  • Third-party keyboards were popular upgrades

No sound

  • Complete silence unless you counted tape loading
  • Some programs used RF interference tricks

Display glitches

  • Screen went blank during computation (FAST mode)
  • SLOW mode showed display but ran… slowly

The design

Rick Dickinson’s black wedge design was distinctive:

  • Sloping profile hid circuit board economy
  • Black plastic looked modern, not cheap
  • Compact footprint suited bedroom desks
  • Became template for Sinclair aesthetic

The 16K RAM pack

The wobble that crashed a thousand programs:

  • Plugged into back expansion port
  • Notorious for loose connection
  • Slight movement caused system reset
  • Users developed techniques to stabilise (Blu-Tack, rubber bands)

Software ecosystem

Despite limitations, software flourished:

  • Type-in listings: Sinclair User, books, magazines
  • Commercial games: 1K Chess became legendary
  • Business applications: word processors, databases (with RAM pack)
  • Educational: schools adopted the ZX81 in large numbers

Path to the Spectrum

The ZX81 created demand for more:

  • Users wanted colour, sound, better keyboard
  • Clive Sinclair delivered the ZX Spectrum in 1982
  • ZX81 owners knew computing was worth pursuing
  • Many simply moved up to the Spectrum and kept going

Legacy

The ZX81 launched more programming careers per pound than any machine before or since. Its limitations taught efficiency and creativity. The 1KB games remain marvels of compression. And the wobbling RAM pack taught generations that computers were physical objects, not magic boxes.

See also

Not yet fact-checked. This entry was drafted by an AI and nobody has verified it. The dates, figures and technical details may be wrong. Use it to find your bearings, then confirm anything that matters against a primary source.