Sinclair ZX81

Personal Computer

The ZX81 cuts away computer mystique. It takes you straight into BASIC, the most common, easy-to-use computer language. You simply take it out of its box, plug it in to your TV, switch it on at the mains—and start. With the manual in your hand, you'll be running programs in an hour. Within a week, you'll be writing complex programs of your own, with confidence and competence.


Overview

Sinclair's ZX81 was the successor to their popular ZX80 Personal Computer. While the hardware of both computers were nearly identical, the ZX81 included an NMI (non-maskable interrupt) generator, granting the ZX81 the ability to simultaneously execute program code and display a picture. This new SLOW mode significantly cut the effective CPU speed, but allowed the ZX81 to be a much more suitable game-playing device than its predecessor.

Specifications
Manufacturer Sinclair Research
Type PC
CPU
NEC P1X108-144 D780C-1 (Z80 compatible) @ 3.25MHz
RAM 1KB
Resolution 32x24 characters (8x8 px characters) 256x192 px (HiRes video mode)
Palette monochrome (normal and inverted)
Graphics 64 custom characters, defined in ROM
Sound n/a
Input Flat, pressure-sensitive membrane, QWERTY keyboard
Media cassette
Variants

Timex Sinclair 1000

Peripherals
  • ZX RAM pack (16KB)
  • ZX Printer

Where to Start

Perfectly Normal Site is an approachable introduction to ZX81 assembly language programming, offering "all the source, tools and info you need to write HiRes games on a real ZX81." The site has sections on ZX81 Hardware, Emulation, Development, and ZX81 HiRes, including lists of utilities, start templates, and code examples. 

Language(s)
  • Sinclair BASIC (included in 8KiB ROM)
  • Z80 assembly
Recommended Emulator(s)

The JtyOne Online ZX81 Emulator is a "JavaScript port by Simon Holdsworth of Mike Wynne's original EightyOne emulator" from 2003. It offers "all of the functionality of the ZX80 and ZX81, including accurate timing of the display update to support the high resolution graphics tricks some programs used." The web interface has a loader that allows you to run programs directly in the browser.

Thomas Harte's Clock Signal, or CLK, is "an an MIT-licensed open-source emulator of a collection of 8-bit computers and consoles for Linux, macOS and BSD." 

chernandezba's ZEsarUX is "an open-source, multi-system emulator originally made for Unix systems and later adapted for other operating systems."

Programming Resources

Documentation