CPC-Emulator für Linux

Moderne Rechnersysteme sind in der Lage, ältere Systeme in Echtzeit zu emulieren. Eine Emulation ist, wenn ein Programm die technischen eigenschaften eines beliebigen Mikroprozessors sowie diverser Hardwarekomponenten softwaretechnisch nachbildet.

Ich selbst habe einen CPC-Emulator entwickelt, der den Prozessor und fast die gesamte Hardware eines CPC's auf einem Linux/Unix-PC nachbildet. Dieser ermöglicht, alte CPC-Software auf einem Linux-Rechner unter der grafischen Oberfläche X11 weiter zu betreiben. Daher habe ich ihn cpc4x (CPC for X) genannt.

Als Basis verwende ich den in C geschriebenen Z80 Microprozessor Emulator von Marat Fayzullin http://www.komkon.org/fms/EMUL8/ sowie ein paar seiner Tools. Dieser Z80 Emulator springt zum Speicher- und I/O-Zugriff spezielle Funktionen an, die ich so gestaltet habe, daß der emulierte Z80 einen Schneider CPC um sich herum findet. Ganz so einfach ist es natürlich nicht, aber so in etwa funktioniert es.

Der Emulator ist mit S.u.S.E-Linux, bzw. mit Mandrake-Linux entwickelt worden. Er sollte jedoch auf jedem beliebigen Linux-System mit installiertem X-Windows (X11R6) laufen. Dabei habe ich mich nicht auf einen bestimmten Windowmanager festgelegt, so daß es egal ist, ob nun KDE, GNOME, fvwm oder AfterSTEP benutzt wird.
cpc4x_026_source.tgz Quelltext des Emulators zur Installation unter Linux und anderen Unix-Umgebungen. Die Datei als root-Benutzer ins /usr/src/-Verzeichnis entpacken und dort kompilieren. Hierzu werden folgende Dinge im System benöigt (sollte eigentlich Standard sein):
  • GNU-C-Compiler
  • X-Windows-System (X11R6)
  • ein beliebiger Windowmanager (KDE, GNOME, fvwm, AfterSTEP, etc.)
  • Die X11-Include-Dateien (Linux-Paket "xdevel")
  • make

cpc4x benutzt für die Dialoge TCL 7.6 und Tk 4.2 (oder höher). Allerdings ist es nicht zwingend erforderlich diese installiert zu haben. Wenn TCL/Tk z.B. bei der Auswahl der Disketten-Images nicht gefunden wird, wird ein Textdialog ausgeführt.

Die Bedienung des Emulators ist sehr einfach, die Taste F8 bewirkt einen Reset der Emulation und mit der Taste F12 wird das Programm beendet. Die Taste F3 öffnet einen Dateiauswahl- und F7 den Setup-Dialog.

Zum Lesen der cpc4x-Hilfe hier klicken.

Was kann der Emu und was nicht:
Mein CPC-Emulator ist in der Lage etwa 95% der Funktionalität eines CPC 6128 nachzubilden. Hierzu gehöt die Grundhardware, wie z.B. Tastatur, Bildschirm, RAM (bis 576 k) und ROMs (bis zu 7 Erweiterungs-ROMs).
Der Diskettenzugriff ist einigermaßen sicher, auch CP/M Plus läuft recht stabil.
Druckerausgaben werden in eine Datei geschrieben und diese dann zum Drucker-Spooler gesendet.
Inzwischen werden auch ds XDDOS-ROM sowie große Diskettenformate unterstützt.
Die Sound-Ausgabe ist möglich

Was die harten Spiele (mehr Farben, größere Auflösung, usw.) angeht, kann ich keine Garantie geben. Einfach mal ausprobieren.