Emulate the Amstrad CPC home computer with Linux

Last Updated on April 22, 2022

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 Amstrad CPC (short for Colour Personal Computer) is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. The computer, keyboard and data storage device was combined in a single unit which was groundbreaking for a home computer. It certainly reduced the clutter of trailing cables dubbing it a family friendly computer.

The Amstrad range sought to compete with the Commodore 64 and the Sinclair ZX Spectrum to play video games. The series spawned a total of six distinct models: The CPC464, CPC664, and CPC6128 were highly successful competitors in the European home computer market with the CPC464 selling more than 2 million units even though it missed the peak of the home computer boom. It retailed for £199 with a green screen and £299 with a colour monitor.

The later 464plus and 6128plus, intended to prolong the system’s lifecycle with hardware updates, were considerably less successful, as was the attempt to repackage the plus hardware into a game console as the GX4000.

The entire range used a Zilog Z80A CPU clocked at 4 MHz with either 64 or 128KB of RAM. This base memory can be extended by up to 512KB using memory expansions sold by third-party manufacturers.

Amstrad CPC ROM

Given there are a number of machines in the CPC range, you’ll need a separate ROM for each of the machines in the range. According to the developer of the CLK emulator, Amstrad allow redistribution of the ROMs but the status of Locomotive’s input is unclear.

Locomotive Basic is a proprietary dialect of the BASIC programming language written by Locomotive Software on the Amstrad CPC (where it was stored in the ROM).

The plus range does not have an on-board ROM. Amstrad provided the firmware for both models via the ROM extension facility contained on the Burnin’ Rubber and Locomotive BASIC cartridge.

Recommended Open Source Emulators

Click the image for full size

We particularly like Caprice32 as it faithfully imitates the CPC464, CPC664, and CPC6128 models. The image includes the program’s menu (accessed by pressing F1), shown if only for its ridiculously small text. It’s best to run the program full screen.

The emulator starts up in the same way as most 1980s home computer with Locomotive BASIC, a fairly simple BASIC interpreter.

Clock Signal is also a high quality emulator. It supports a wide number of home computers including the Amstrad CPC. 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. CLK doesn’t provide ROM images given the uncertainty about their copyright status.

ZEsarUX is our final recommended open source emulator for the Amstrad CPC 464 and CPC 4128 machines. It includes CPC stereo emulation. It provides a third-party CPC ROM.

Amstrad CPC games

The catalogue of CPC games is enormous; it was a hugely popular home computer.

There are games for the CPC that were released as freeware/public domain and you can download freely. There are also some commercial games that have since been released as freeware by their authors, but the vast majority have not.

To get you started on your adventures, take a look at Genesis8’s website.

Home Computers
AmigaFamily of personal computers introduced by Commodore in 1985
Amstrad CPCCombined the computer, keyboard and data storage in a single unit
Atari STA popular line of personal computers from Atari Corporation
BBC MicroSeries of computers designed and built by Acorn
Commodore 64Hugely popular home computer
DragonBuilt around the Motorola MC6809E processor running at 0.89 MHz
ElectronA microcomputer sported a Synterek SY6502A CPU clocked at 2MHz
MSXA popular range particularly in Japan
OricThe underrated Oric-1 and Oric Atmos
QLBased on a Motorola 68008 CPU clocked at 7.5 MHz with 128KB of RAM
TRS-80Very early mass-produced and mass-marketed retail home computers
VIC-208-bit home computer that was released in 1980/1
ZX80Predecessor to the ZX81; ignited the UK's home computer market
ZX81Low-cost introduction to home computing notorious for its RAM pack wobble
ZX SpectrumOne of the biggest selling home computers
Best Free and Open Source SoftwareRead our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

There are also fun things to try, hardware, free programming books and tutorials, and much more.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
2 years ago

I have fond memories of the Amstrad CPC. I’m going to try out a couple of the emulators. Thanks