Emulation is the practice of using a program (called an emulator) on a PC to mimic the behaviour of a home computer or a video game console, in order to play (usually retro) games on a computer.
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a single non-technical user.
Back in the 1980s, home computers came to the forefront of teenagers’ minds. Specifically, the Amiga, ZX Spectrum, and Atari ST were extremely popular. They were hugely popular home computers targeted heavily towards games, but they also ran other types of software.
The ZX81 was a hugely successful Z80-based home computer produced by Sinclair Research and manufactured in Scotland. It was launched in 1981 and sold for £49.95 in kit form and £69.95 for an assembled computer.
It ran a Z80 processor clocked at 3.25 MHz with a mere 1KB of RAM (although many users purchased a 16KB external RAM pack). It was one of the earliest home computers manufactured in the UK.
To emulate the ZX81 you’ll need a ROM. The rights to the ROM are owned by Nine Tiles Information Handling Ltd, who were contracted by Sinclair to write the ROM code for the ZX81 (as well as the ZX80 and ZX Spectrum).
The ZX81’s ROM was 8K in size and incorporated trigonometric and floating point functions which were missing in its predecessor, the ZX80. The ZX81’s ROM also offered a syntax checker that indicated errors in BASIC code as soon as it was entered.
There are multiple versions of the ZX81 ROM including two official ROMs: the original ROM and an improved ROM which fixed a bug in calculating the square root of 0.25.
There were also several replacement ROMs available as well as clones with a slightly modified ROM.
Recommended Open Source Emulators
ZEsarUX (shown in the image to the left) is our favourite open source emulator for the ZX81. It provides a third-party ZX81 ROM. There’s support for Linux, Raspberry Pi, FreeBSD, Mac OS X, and Windows.
The ZX81 extremely modest hardware doesn’t pose any problems from an emulation perspective. The emulator offers perfect emulation of timing together with emulation of the Chroma 81 interface, a multi-purpose peripheral for the ZX81.
Clock Signal is also a high quality emulator. It supports a wide number of home computers including the ZX81. Through static and runtime analysis CLK seeks automatically to select and configure the appropriate machine to run any provided disk, tape or ROM; to issue any commands necessary to run the software contained on the disk, tape or ROM; and to provide accelerated loading where feasible.
There were many classic games developed for the ZX81. 1K ZX Chess lets you play chess without even needing a RAM pack. It wasn’t feasible to implement all chess rules in such a tiny amount of RAM so things like queening, castling and en passant capture were omitted. But it still plays a reasonable game of chess.
Almost all the classic games required a 16KB RAM pack. Notable releases include 3D Monster Maze, Flight Simulation, 3D Defender, Mazogs, and Galaxians.
Some software developers have given permission for their ZX81 software to be distributed. A good starting point is software summarised by RWAP Software.
|ZX81||Low-cost introduction to home computing notorious for its RAM pack wobble|
|Amstrad CPC||Combined the computer, keyboard and data storage in a single unit|
|ZX Spectrum||One of the biggest selling home computers|
|Atari ST||A popular line of personal computers from Atari Corporation|
|Commodore 64||Hugely popular home computer|
|BBC Micro||Series of computers designed and built by Acorn|
Read our complete collection of recommended free and open source software. The collection covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.