What is it?

A CPC on a low-cost board

CPCESP turns an ESP32 board into an Amstrad CPC 464, 664 or 6128. It runs bare-metal, with no operating system underneath, and both of the ESP32's cores work for the emulation.

What you need

Hardware setup

An ESP32 board such as the LilyGO TTGO VGA32, a VGA monitor or a 15 kHz CRT, a PS/2 keyboard and a microSD card with your disks, tapes and snapshots.

Why CPCESP?

The real thing

The CRTC, the Gate Array and the monitor are emulated closely enough for the demoscene's hardest productions to look as they do on a real CPC, at a true 50 Hz.

Accurate where it is hardest

Demos that change the CRTC's registers in the middle of a line, split the screen into raster bands, or count on the monitor's sync to bend the picture: CPCESP draws them as the CPC does. These pictures were drawn by CPCESP's own CRTC and Gate Array code.

Click a picture to see it at full size.

Features

🖥️

Three machines

CPC 464, 664 and 6128, with their ROMs in English, Spanish or French, and AMSDOS or ParaDOS as the disc ROM.

📺

CRTC and monitor

CRTC types 0 (HD6845S) and 1 (UM6845R), and a model of the monitor's sync, so the effects that rely on it look as on a CTM.

💾

Disks

Two drives, DSK and EDSK, with what the CPC writes saved to the microSD. 3" disks of two faces turned over, blank disks, write protection.

📼

Tapes

CDT and CSW, with fast loading that keeps the exact timing, a browser of the tape's blocks, and a real cassette through the audio input.

🔊

Sound

The AY-3-8912, in stereo (ABC or ACB) on the boards that have it.

🧠

Memory and snapshots

Dk'tronics RAM expansions of 128, 320 and 576 KB, on the 464 and 664 too, and SNA snapshots of up to 576 KB.

🎮

Keyboard, joysticks and mice

PS/2 keyboard, the ZX keyboard of the ESPectrum boards, DB9 joysticks with their buttons mapped as you like, and AMX and SYMBiFACE II mice from a PS/2 mouse.

🌈

Video

VGA at 50 or 60 Hz (384×288, 400×300, 720×288) and 15 kHz CRT (384×288, 768×288), with composite sync for VGA-SCART cables, and scanlines.

🗂️

Interface

Menus in English, Spanish and French, and two file browsers that remember where you were, search as you type and open ZIP files.

Compatible boards

CPCESP detects the board on its first boot. Connect a VGA monitor or a 15 kHz CRT, a PS/2 keyboard and a microSD card.

LilyGO TTGO VGA32

The most common board: VGA, PS/2, microSD and PSRAM.

Olimex ESP32-SBC-FabGL

Two PS/2 ports, VGA and microSD.

ESPectrum

Its ZX Spectrum membrane keyboard works as the CPC's.

ESPectrum+

Stereo sound, the ZX keyboard and a hardware button.

RobGo-RG Mono / Stereo

Mono and stereo versions, with a hardware button.

Keys

CTRL+F1 shows them on the emulator too.

F1Main menu
SHIFT+F1Hardware info
CTRL+F1Help
F2 / F3File browsers
SHIFT+F2Audio in on / off
CTRL+F2Turbo
F4Active drive: A / B
SHIFT+F4Eject the active drive's disk
CTRL+F4Turn that disk over
F5Tape: Play / Stop
SHIFT+F5Eject the tape
CTRL+F5Tape blocks
F6Snapshot browser
F7Quick snapshot
SHIFT+F7 / F8CRT centre: horizontal
CTRL+F7 / F8CRT centre: vertical
F8OSD: CPU and tape
F9 / F10Volume - / +
F11 / F12Reset / ESP32 reset
PausePause
PrtScrBMP capture
ScrLockCursor keys as joystick

Release: 7 November 2026

CPCESP 1.0 comes out on Saturday 7 November 2026 at 18:00 CET (UTC+1), in a special live stream on the RETROESPMachine YouTube channel. The web installer and the download will be here from then on.

In your time zone:

--
days
--
hours
--
minutes
--
seconds
Watch the live stream on YouTube

Support CPCESP

CPCESP is free, and it lives and grows thanks to people like you. If you enjoy it, you can support it on Patreon or with a one-off donation on Ko-fi.