logo elektroda
logo elektroda
X
logo elektroda

ZX Spectrum-Emulator auf ESP32 "ESPectrum"

MikeC 
Arbeitsstation mit Monitor, Tastatur und angeschlossenem ZX Spectrum Emulator.
Hallo an alle
Ich präsentiere einen großartigen Emulator für die ZX Spectrum Familie von Computern (48K, 128K, +2, Pentagon, ZX81). Dies ist ein Emulator, der auf Boards mit dem Espressif ESP32 SoC funktioniert.
Derzeit kann er mit dem TTGo VGA32-Board von Lilygo, dem ESPectrum-Board von Antonio Villena und dem ESP32-SBC-FabGL-Board von Olimex verwendet werden, oder man kann ihn natürlich auch selbst nach den Schaltplänen bauen, z. B.: VGA32 V1.4.
Es reicht einfach einen VGA-Monitor oder Röhrenfernseher (spezielles VGA-RGB-Kabel erforderlich) und eine PS/2-Tastatur anschließen, die SD-Karte vorbereiten und die Stromversorgung anschließen.

Wesentliche Merkmale:

• ZX Spectrum 48K, 128K und Pentagon 128K Emulation mit 100% Zyklusgenauigkeit (kein PSRAM erforderlich).

• Modernste Z80-Emulation (von José Luis Sánchez)

• Auswahl zwischen Sinclair 48K, Sinclair 128K und +2 englischen und spanischen ROMs

• Möglichkeit, ein 48K- und ein 128K-Custom-ROM mit einfachem Flash-Vorgang von der SD-Karte zu verwenden

• ZX81+ IF2 (ROM mit freundlicher Genehmigung von Paul Farrow) mit dem Laden der Datei von einer SD-Karte

• VGA 6 bpp-Ausgang in drei Modi: Standard VGA (60 und 70 Hz), VGA 50 Hz und CRT 15 kHz 50 Hz

• Unterstützung für das Seitenverhältnis 16:9 oder 4:3 (in den Modi 360x200 oder 320x240)

• Emulierte mehrfarbige Attributeffekte (Bifrost*2, Nirvana und Nirvana+ Engines)

• Emulierte Grafikeffekte (Aquaplane, The Sentinel, Overscan Demo)

• AY-3-8912 Klang-Emulation

• Unterstützung für zwei PS/2-Tastaturen: zwei Geräte, die das PS/2-Protokoll verwenden, können gleichzeitig angeschlossen werden

• PS/2-Joystick-Emulation (Cursor, Sinclair, Kempston und Fuller)

• Unterstützung für zwei echte Joysticks (bis zu 8 Tasten) mit dem ESPjoy-Adapter oder einem eigenständigen DB9-zu-PS/2-Konverter

• Emulation von Audiosignalen und Kassettendeck-Eingang.

• Vollständiges OSD-Menü in zwei Sprachen: Englisch und Spanisch

Ich habe meinen Emulator auf Basis der TTGO VGA32 V1.4-Platine erstellt, die ich bei Ali für etwa 12.50 € inklusive Versand gekauft habe. Ursprünglich wollte ich es selbst machen, aber chronischer Zeitmangel und niedriger Preis überwogen diese Entscheidung.
Alles, was man tun musste, war, den ESP mit der Software aus dem Github-Repository https://github.com/EremusOne/ZX-ESPectrum-IDF zu programmieren. Dazu verwendete ich flash_download_tool_3.9.2 mit den Einstellungen, die in den folgenden Bildern gezeigt werden.

ESP32 Flash Download Tool v3.9.6 mit einer hervorgehobenen Datei für ZX Spectrum.

Screenshot der ESP32 Flash Download Tool V3.9.6 Software.


Meiner Meinung nach ist der Emulator wirklich sehr gut, im Vergleich zum normalen ZX Spectrum sehe ich keine Unterschiede beim Funktionieren. Ich bin auf keine Demo oder Spiel gestoßen, das auf diesem Emulator Probleme hätten.






Vom Emulator verfügbare Optionen:

ZX Spectrum Emulator-Bildschirm mit Hauptmenü auf einem Monitor.


Einige Bilder von der Ansicht des Boards ESP32 V1.4, des Funktionieren des Emulators und seiner Einfachheit:

TTGO VGA32 V1.4 Platine mit SD-Karte.

Diagramm der TTGO VGA32 V1.4-Platine mit VGA-Ausgängen und PS/2-Anschlüssen.

TTGO VGA32 V1.4 Platine mit angeschlossenen VGA- und PS/2-Kabeln.

Monitor mit angeschlossenem ZX Spectrum Emulator und PS/2-Tastatur auf einem Schreibtisch.

Fernseherdisplay mit laufendem ESpectrum-Emulator.


Und die Schaltpläne der VGA32 V1.4 Platine:

Elektrischer Schaltplan der VGA32 V1.4-Platine für ZX Spectrum Emulator.

Elektrischer Schaltplan der TTGO VGA32 V1.4-Platine mit Komponentenverbindungen für PS/2, VGA und SD-Karte.

Schaltplan der VGA32 V1.4-Platine.


ESPectrum Design und Dokumentation:

Webseite
https://zxespectrum.speccy.org

Patreon
https://www.patreon.com/ESPectrum

Github-Repositorien
https://github.com/EremusOne/ZX-ESPectrum-IDF

Youtube-Kanal
https://www.youtube.com/@ZXESPectrum

Twitter
https://twitter.com/ZX_ESPectrum

Hardware:

Lilygo FabGL VGA32
https://www.lilygo.cc/products/fabgl-vga32?_pos=1&_sid=b28e8cac0&_ss=r

Projekt ESPectrum - Antonio Villena
https://antoniovillena.es/store/product/espectrum/

ESP32-SBC-FabGL de Olimex
https://www.olimex.com/Products/Retro-Computers/ESP32-SBC-FabGL/open-source-hardware

Drivers:

Drivers chip USB-Serie CH340
https://www.wch-ic.com/downloads/CH341SER_ZIP.html

Sonstiges:

Projekt ESPjoy - Antonio Villena , firmware David Carrión (konwersja joysticka DB9 na USB lub PS/2)
https://antoniovillena.com/product/espjoy/

Firmware ESPjoy - David Carrión
https://github.com/dacarsoft/DB9_2_Keyboard

8bitdo Retro Receiver for Sega Genesis & Mega Drive
https://www.8bitdo.com/retro-receiver-genesis-mega-drive/

3D-Modelle - Lilygo
https://www.thingiverse.com/search?q=Ttgo+vga32&page=1&type=things&sort=relevant

Projekt Lilygo FabGL VGA32
https://github.com/LilyGO/FabGL/blob/master/Schematic/vga32_v1.4.pdf


Ich empfehle es, ein wirklich cooles Projekt.
Grüße MikeC

Über den Autor
MikeC hat 1376 Beiträge geschrieben mit der Bewertung 877 , und dabei 200 Mal geholfen. Er ist seit 2002 bei uns.