This is an emulator of the Amstrad CPC family of 8 bit home microcomputers running on Espressif ESP32 SoC powered boards.
Currently, it can be used "out of the box" with Lilygo's TTGo VGA32 board and Olimex's ESP32-SBC-FabGL board.
Just connect a VGA monitor or CRT TV (with special VGA-RGB cable needed), a PS/2 keyboard, prepare a SD Card as needed and power via microUSB.
This emulator is part of the ESPectrum project and, in the near future, will be integrated on it.
- Emulation of CPC 464, 664 and 6128 models
- State of the art Z80 emulation (Authored by José Luis Sánchez)
- 6 bpp VGA output (384x288, 400x300 and 720x288 resolutions @ 60 and 50hz modes) and CRT 15khz output ( 384x288 and 768x288 @ 50hz modes via VGA to RGB Scart cable).
- AY-3-8912 sound emulation.
- Complete CPC keyboard emulation mapped to PS/2 keyboard.
- Loading of SNA (64K) and DSK file types.
- Complete file navigation system with autoindexing, folder support and search functions.
- OSD menu in two languages: English & Spanish.
- Everything! :D The emulator is in alpha stage (but with a lot of titles yet working perfectly :D ) and there's a lot of pending improvement: better SNA and DSK format support, TZX and CDT format support and snapshot saving and loading are the next things we probably add. Also, CRTC, GA and PPI emulation will get better at every release.
You can flash the binaries directly to the board. Check the releases section
The source code of the emulator will be published soon so you'll be able to compile it in the same way as ESPectrum project. Stay tuned!
The SD card should be formatted in FAT16 / FAT32.
Just that: then put your .sna and .dsk whenever you like and create and use folders as you need.
There's also no need to sort files using external utilities: the emulator creates and updates indexes to sort files in folders by itself.
Default video mode is VGA 384x288 60hz. Emulator will start in this mode.
To change video mode press repeatedly this combination of keys just after powering on or after cold reset (F12):
- 1 + Q -> 384x288 VGA 60hz
- 2 + Q -> 400x300 VGA 60hz
- 3 + Q -> 720x288 VGA 60hz (real mode 2)
- 1 + W -> 384x288 VGA 50hz
- 2 + W -> 400x300 VGA50hz
- 3 + W -> 720x288 VGA 50 hz (real mode 2)
- 1 + E -> 384x288 CRT 15khz 50hz
- 2 + E -> 384x288 CRT 15khz 50hz
- 3 + E -> 768x288 CRT 15khz 50hz (real mode 2)
You can check current video mode at lower line of help or hardware info dialogs.
- F1 Main menu
- F2 Load SNA
- F5 Load DSK
- F8 CPU stats ( [CPU] microsecs per CPU cycle, [IDL] idle microsecs, [FPS] Frames per second, [FND] FPS w/no delay applied )
- F9 Volume down
- F10 Volume up
- F11 Hard reset
- F12 Reset ESP32
- CTRL + F1 Hardware info
- CTRL + F2 Turbo mode
- CTRL + F5..F8 Screen centering in CRT 15K/50hz mode
- Pause Pause
CPCESP is open source sofware licensed under GPL v3, you can use modify and share it for free. If you like CPCESP, please consider becoming Patreon or donating through Paypal. Your support help us to maintain and improve the project for all users. You can do it at the following links:
- Ackerman for his CPC emulator port to ESP32.
- elfuska for his improvements to Ackerman's TinyCPC.
- Juan Carlos González Amestoy for his excellent emulator and his friendly help.
- Cesar Nicolás González for his excellent emulator and his friendly help.
- Francisco Gallego Román for his friendly help.
- Z80 Emulation derived from z80cpp, authored by José Luis Sánchez.
- VGA Driver from ESP32Lib by BitLuni.
- AY-3-8912 emulation from libayemu by Alexander Sashnov and some adjustment from Ramón Martínez "Rampa".
- PS2 Driver from Fabrizio di Vittorio for his FabGL library.
- Amstrad PLC for kindly giving it's permission for it's copyrighted material to be redistributed (but Amstrad retains it's copyright).
- Jean Thomas for his ESP32 APLL calculator.
- David Crespo David programa
- AUA - Amigos y usuarios de Amstrad en especial a Pablo Forcén y a Manuel Cuenca.
- Rodrigo Méndez Ron
- Armand López El Viejoven FX
- Javi Ortiz El Spectrumero
- José Luis Rodríguez VidaExtraRetro
- Retrowiki especially the people at ESP32 TTGO VGA32 subforum.
- RetroReal for his kindness and hospitality and his great work.