/ZX-ESPectrum

A ZX spectrum 48K/128K emulator running on ESP32 with bitluni ESP32 VGA Board (also in TTG VGA32)

Primary LanguageC++

ZX-ESPectrum

An emulation of the ZX-Spectrum computer on an ESP32 chip with VGA output based on bitluni's driver.

Features

  • VGA output, 8 or 16 bits.
  • Beeper digital output.
  • Accurate Z80 emulation.
  • Spectrum 16/48 achitecture emulation without PSRAM.
  • Spectrum 128/+2/+3 architecture emulation with PSRAM.
  • PS/2 Keyboard.
  • VGA OSD menu: Configuration, and architecture selection, ROM and SNA.
  • Tape save and loading.
  • SNA snapshot loading.
  • Internal SPIFFS support.

Work in progress

  • AY-3-8910 emulation and sound output with dedicated chip.
  • SD card support.
  • DivIDE emulation.
  • Dedicated motherboard design.
  • Joystick support.
  • USB keyboard.
  • OTA: Over the Air updates.

Compiling and installing

At this point we only support GNU/Linux and MacOS/X. It may work at Windoze too but we don't know.

Install platformIO:

  • They have an extension for Atom and VSCode, and this is the webpage.
  • Select you board.
  • Install Bitluni's ESP32Lib.

Softlink and customize platformio.ini

ln -s platformio.ini.linux platformio.ini
# or in osx
ln -s platformio.ini.osx platformio.ini

Copy boot.cfg

cp data/boot.cfg.orig boot.cfg

Upload the data filesystem

Run Other Task > PIO Upload Filesystem Image

Compile and flash it

Right arrow at the bottom icon bar or Tasks > Run Build Task > PlatformIO: Build and Tasks > PlatformIO: Upload.

Hardware configuration and pinout

Comming soon...

Thanks to

And all the involved people from the golden age

And all the writters, hobbist and documenters

A lot of programmers, especially

  • GreenWebSevilla for its Fantasy Zone game and others.
  • Julián Urbano Muñoz for Speccy Pong.
  • Others who have donated distribution rights for this project.