ZX-ESPectrum - Еще один (но не менее клевый) ZX16/48/128+2+3 на ESP32/ESP32+PSRAM
Случайно нашел на просторах такой вот проект, из оссобеностей
zx 16/48 на стандартном ESP32
zx 128/+2/+3 на ESP32+PSRAM4M
VGA выход, PS/2 клава, AY, Wiimote
для работы нужна только ESP32, + доп транслятор уровней 5-3.3v для PS/2, хотя можно придумать и без него.
Github: https://github.com/dcrespo3d/ZX-ESPectrum-Wiimote
YT: https://www.youtube.com/watch?v=ROthljwC5OA
Features:
Spectrum 16/48 architecture emulation without PSRAM.
Spectrum 128/+2/+3 architecture emulation with PSRAM.
VGA output, 3 bit, 6 bit (default), 14 bit (untested).
Accurate Z80 emulation, with enhanced timing and fast video generation.
Dual Z80 emulators, selectable in compile time using #defines: the precise one (JLS), and the fast one (LKF)
Contended memory algorithm for very precise timing on 48K, a little less precise on 128K.
48K sound: beeper digital output, good PWM sound using JLS CPU core.
128K sound: AY-3-8912 sound chip emulation (incomplete but working).
PS/2 Keyboard used as input for Spectrum keys.
Wiimote support with per-game key assignments.
VGA OSD menu: Configuration, architecture, ROM and SNA/Z80 selection.
Support for two aspect ratios: 16:9 or 4:3 monitors (using 360x200 or 320x240 modes)
Tape saving and loading (untested).
SNA snapshot loading.
Z80 snapshot loading.
Quick (to memory) and persistent snapshot saving and loading (both 48K and 128K supported).
Internal SPIFFS support / external SD card support (only one of both, see hardconfig.h).
Original Spectrum Keyboard support, using 8 + 5 contacts ribbon connectors connected to 13 ESP pins.