page_title: ZX81
section_title: Features
hierarchical_section_title: ZX81 / Features
caption_attribution_description: English: Sinclair ZX81 PCB Revision 3 Keyboard
context_page_description: The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-cost introduction to home computing for the general public. It was hugely successful; more than 1.5 million units were sold. In the United States it was initially sold as the ZX-81 under license by Timex. Timex later produced its own versions of the ZX81: the Timex Sinclair 1000 and Timex Sinclair 1500. Unauthorized ZX81 clones were produced in several countries.
  The ZX81 was designed to be small, simple, and above all, inexpensive, with as few components as possible. Video output is to a television set rather than a dedicated monitor. Programs and data are loaded and saved onto compact audio cassettes. It uses only four silicon chips and a mere 1 KB of memory. There is no power switch or any moving parts with the exception of a VHF TV channel selector switch present in some models. It has a pressure-sensitive membrane keyboard. The ZX81's limitations prompted a market in third-party peripherals to improve its capabilities.
context_section_description: The ZX81 has a base configuration of 1 KB of on-board memory that can officially be expanded externally to 16 KB. Its single circuit board is housed inside a wedge-shaped plastic case measuring 167 millimetres (6.6 in) deep by 40 millimetres (1.6 in) high. The memory is provided by either a single 4118 (1024 bit × 8) or two 2114 (1024 bit × 4) RAM chips. There are only three other onboard chips: a 3.5 MHz Z80A 8-bit microprocessor from NEC, an uncommitted logic array (ULA) chip from Ferranti, and an 8 KB ROM providing a simple BASIC interpreter. The entire machine weighs just 350 grams (12 oz). Early versions of the external RAM cartridge contain 15 KB of memory using an assortment of memory chips, while later versions contain 16 KB chips, but the lowest addressed kilobyte is disabled.
  The front part of the case is occupied by an integrated 40-key membrane keyboard displaying 20 graphic and 54 inverse video characters. Each key has up to five functions, accessed via the SHIFT and FUNCTION keys or depending on context. For example, the P key combines the letter P, the " character, and the BASIC commands PRINT and TAB. The ZX81 uses a standard QWERTY keyboard layout. The keyboard is mechanically very simple, consisting of 40 pressure-pad switches and 8 diodes under a plastic overlay, connected in a matrix of 8 rows and 5 columns.
  The ZX81's primary input/output is delivered via four sockets on the left side of the case. The machine uses an ordinary UHF television set to deliver a monochrome picture via a built-in RF modulator. It can display 24 lines of 32 characters each, and by using the selection of 2×2 block character graphics from the machine's character set offers an effective 64 × 44 pixel graphics mode, also directly addressable via BASIC using the PLOT and UNPLOT commands, leaving 2 lines free at the bottom. Two 3.5 mm jacks connect the ZX81 to the EAR (output) and MIC (input) sockets of an audio cassette recorder, enabling data to be saved or loaded. This stores each data bit as a number of pulses followed by an inter-bit silence of 1300 µs. Each pulse is a 150 µs 'high' then a 150 µs 'low'. A '0' bit consists of four pulses while a '1' bit is nine pulses, so the baud rate varies between 400 bit/s for all '0's and 250 bit/s for all '1's. A file with equal amounts of '0's and '1's would be stored at 307 bit/s (38 bytes/sec). This provides a somewhat temperamental storage medium for the machine, which has no built-in storage capabilities. The ZX81 requires 420 mA of power at 7–11 V DC, delivered via a custom 9 V Sinclair DC power supply.
  The ULA chip, described by the ZX81 manual as the "dogsbody" of the system, has a number of key functions that competing computers share between multiple chips and integrated circuits. These comprise the following:
  Synchronising the screen display;
  Generating a 6.5 MHz clock, from which a 3.25 MHz clock is derived for the processor;
  Outputting an audio signal to a cassette recorder in SAVE mode;
  Processing the incoming cassette audio signal in LOAD mode;
  Sensing keystrokes;
  Using memory addresses provided by the CPU to decide when ROM and RAM should be active;
  Controlling general system timing.
  The ZX81's built-in RF modulator can output a video picture to either a UHF 625-line colour or monochrome television (used in the UK, Australia, and most western European countries). France required a slightly modified version of the machine to match the positive video modulation of SECAM sets, while the US and Canada required a different ULA chip and modulator to cope with their 525-line VHF (NTSC) television systems. Both the ZX81 and its predecessor, the ZX80, have a significant drawback in the way that they handle visual output. Neither machine has enough processing power to run at full speed and simultaneously maintain the screen display. On the ZX80, this means that the screen goes blank every time the machine carries out a computation and causes an irritating flicker whenever a shorter computation – such as processing a keystroke – takes place.
  The ZX81's designers adopted an improved
caption: Sinclair ZX81 PCB Revision 3 keyboard
exif: {"Image ImageDescription": "OLYMPUS DIGITAL CAMERA", "Image Make": "OLYMPUS IMAGING CORP.", "Image Model": "E-510", "Image Orientation": "Horizontal (normal)", "Image XResolution": "314", "Image YResolution": "314", "Image ResolutionUnit": "Pixels/Inch", "Image Software": "Version 1.3", "Image DateTime": "2016:04:25 15:56:53", "Image YCbCrPositioning": "Co-sited", "Image ExifOffset": "194", "Image PrintIM": "[80, 114, 105, 110, 116, 73, 77, 0, 48, 51, 48, 48, 0, 0, 37, 0, 1, 0, 20, 0, ... ]", "Thumbnail Compression": "JPEG (old-style)", "Thumbnail XResolution": "72", "Thumbnail YResolution": "72", "Thumbnail ResolutionUnit": "Pixels/Inch", "Thumbnail JPEGInterchangeFormat": "11988", "Thumbnail JPEGInterchangeFormatLength": "7530", "EXIF ExposureTime": "1/30", "EXIF FNumber": "9/2", "EXIF ExposureProgram": "Aperture Priority", "EXIF ISOSpeedRatings": "400", "EXIF ExifVersion": "0221", "EXIF DateTimeOriginal": "2016:04:25 15:56:53", "EXIF DateTimeDigitized": "2016:04:25 15:56:53", "EXIF ComponentsConfiguration": "YCbCr", "EXIF ExposureBiasValue": "0", "EXIF MaxApertureValue": "925/256", "EXIF MeteringMode": "Pattern", "EXIF LightSource": "other light source", "EXIF Flash": "8", "EXIF FocalLength": "35", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "3648", "EXIF ExifImageLength": "2736", "Interoperability InteroperabilityIndex": "R98", "Interoperability InteroperabilityVersion": "[48, 49, 48, 48]", "EXIF InteroperabilityOffset": "662", "EXIF FileSource": "Digital Camera", "EXIF CustomRendered": "Normal", "EXIF ExposureMode": "Auto Exposure", "EXIF WhiteBalance": "Manual", "EXIF DigitalZoomRatio": "1", "EXIF SceneCaptureType": "Standard", "EXIF GainControl": "High gain up", "EXIF Contrast": "Normal", "EXIF Saturation": "Normal", "EXIF Sharpness": "Soft"}