goodoberon / ZX-ESPectrum

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

GNU/Linux, MacOS/X and Windows supported.

Install platformIO:

  • They have an extension for Atom and VSCode, and this is the webpage.
  • Select you board.
  • Install Bitluni's ESP32Lib (use version 0.2.1, newer versions such as 0.3.3 will lead to compile errors)

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

PlatformIO > Project Tasks > Upload File System Image

Compile and flash it

Right arrow at the bottom icon bar or PlatformIO > Project Tasks > Build and PlatformIO > Project Tasks > Upload.

Hardware configuration and pinout

See pin assignment in include/def/hardware.h or change it to your own preference.

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.

About

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


Languages

Language:C++ 59.0%Language:C 41.0%