Nachdem es fuer den ESP32 (hier mal nicht der TTGO VGA32) RunCPM (ohne echtes BIOS) und eine Altair-Emulation gibt, fand ich gestern beim im Netz stoebern den ESP32-Z80-Emulator fuer TTGO T1/T2 von David Bottrill
Wenn ich jetzt eins der Boards gehabt haette, wuerde ich den vollen Code versucht haben.
Aber mangels solch eines Boards habe ich versucht den Emulator auf meinem WeMOS D1R32 (ESP32-Duino) zum laufen zu bringen.
Deshalb habe ich einige Funktionen/Code-Bereiche eliminiert
- der virtuelle GPIO Port A & B fiel raus, weil ich zu wenige freie GPIO auf meinem Board habe bzw. diese nicht die Aus-/Eingaberichtung laut Software
unterstuetzen
- der Telnet-Server fiel raus, weil er sich zwar mit meinem Router verband, ich aber keine Ausgabe auf dem Telnet-Port bekam
- der SPIFFS-Unterstuetzung fiel raus, weil ich nur die SD-Karte nutzen will und es Code/Speicher spart
Dann habe ich noch alle Hinweise und Codefragmente fuer TTGO T1/T2 (der T2 hat ein eingebautes Display) eliminiert.
Angepasst habe ich die SPI-Pin-Daten, so dass diese zum WeMOS D1R32 passen.
Der Emulator unterstuetzt fuer den Dateitransfer zum CP/M die SD-Karte mit einigen eigenen Befehlen:
Additional CP/M utilities are provided:
sdfiles.com - Lists files in the current SD card directory, defaults to /downloads
sdpath.com - sets the SD card path, defaults to /downloads.
sdcopy.com - copies a file on the SD card to CP/M disk
Damit diese funktionieren konnte ich beim compilieren mit der ARDUINO IDE "nur" den ESP32-Core v1.0.6 nutzen.
Mit einem ESP32-Core v2.x.x warf mir der Emulator beim Aufruf der Befehle immer Fehler oder restartete.
Fuer die Laufwerke A: - P: kann man jeweils eine 8MB-Image datei nutzen.
A: wird mitgeliefert und kann dann kopiert als Vorlage fuer die anderen Laufwerksbuchstaben genutzt werden.