Nachdem wir schon mehrfach über leicht umsetzbare Emulatoren berichtet hatten, stellen wir ihnen hier nun drei Exemplare vor.
Portable Emulatoren sind eigentlich eine gute Sache, denn sie sparen dem Programmierer einen Großteil an Arbeit und sind durch die Pflege von mehreren Programmieren meist hochkompatibel. Für den Anwender hat dies den positiven Effekt, Software eines anderen Computers benutzen zu dürfen und ein Atari kann auch einen Mac oder PC ersetzen, wenn der Emulator gut ist. Manche Emulatoren sind sogar derart kompatibel, das auf ihnen wiederum Emulatoren laufen - das dies nicht zwangsläufig langsam sein muss, beweist die Kombination PaCifiST + ST-XFormer. Leide ist es bislang so, dass die portablen Emulatoren selbst für Systeme wie Amiga, RiscPC und BeBox erscheinen, aber bislang noch kein einziger dieser Emulatoren für den ST umgesetzt wurde. Übrigens wäre sogar eine Jaguar-Version einiger Emulatoren möglich, man müsste nur einige Spiele in dem Emulator fest einpatchen und die Sourcen an den Jaguar anpaßen. Wer glaubt, dass dies unmöglich sei, sollte sich einmal den VC20-Emulator für die PC-Engine-Emulatoren (japanische 8/16-Bit Konsole) ansehen, bei dem man zwischen verschiedenen Spielen auswählen kann.
Aus diesem Grund haben wir für alle Programmierer die Sourcecodes einiger Emulatoren in unserer PD-Rubrik veröffentlicht. Aus Copyrightgründen fehlen jedoch bei einigen Emulatoren die ROMs für das Betriebssystem. Weder der Verlag noch die Programmierer der Emulatoren können die ROMs besorgen!
Ein in den Niederlanden populärer Computer der frühen 80er. Farbgrafik und Sound (1 Kanal) machten den P2000 für die Käufer attraktiv. M2000 ist der dazugehörige Emulator und ahmt den P2000 perfekt nach. Bekanntere Programme gibt es nicht auf dem P2000, aber dafür wurden die ROMs und diversen Programme inzwischen freigegeben, so das keine rechtlichen Schwierigkeiten zu befürchten sind. M2000 ist in C geschrieben und die Bildschirmroutinen brauchen eine spezielle Anpassung.
XBeeb simuliert den Acorn BBC. Zwar ist dieser Emulator auch nicht perfekt, aber verglichen mit BBC-Environment, dem BBC-Emulator für den ST, eine echte Wohltat. Interessant ist vor allem der Klassiker "Elite", der zuerst auf dem BBC erschien. Das größte Problem bei der Umsetzung dürften die fehlenden ROMs sein: Acorn sperrt sich dagegen, sie als PD freizugeben.
Hinter diesem Kürzel steckt einer der besten Sinclair Spectrum-Emulatoren. Da dieser Emulator auch den Spectrum 128K nachbildet, wäre eine Kompatibilitätsliste kaum notwendig - vielmehr ist es sinnvoller, die Programme aufzuzählen, die nicht laufen. Die 3-4 bekannten Programme, die nicht auf dem Emulator laufen, zählen allerdings nicht unbedingt zu den Highlights auf dem Spectrum. Bisher wurde X128 auf verschiedene Unix-Derivate und MS-DOS umgesetzt. Der Source-Code ist in C geschrieben, als Compiler wird Gnu C empfohlen.
Der vielseitigste Commodore-Emulator (C64, VC20, PET) kommt aus der Unix-Welt und heißt Vice. Da dieser Emulator schon länger existiert, ist auch die Kompatibilität entsprechend hoch. Interessant wäre bei einer Umsetzung auf dem Atari die Kombination mit einem der SID-Player, denn dann können die Spiele, die man bislang nur hören kann, auch gespielt werden. Vice ist in C geschrieben. Wie üblich müssen die Bildschirmroutinen angepaßt werden.
Hinter diesem Kürzel steckt der "PC Atari Emulator", einer der besten VCS2600-Emulatoren. Mit einer Kompatibilität von 95% und Unterstützung für viele der VCS-Erweiterungen hat er bereits eine große Verbreitung auf PCs erzielt. Der Source-Code ist frei erhältlich, nur ist PCAE nicht ganz so portabel wie X128, denn einige Teile wurden in Assembler geschrieben. Wenigstens ist der Assembler Source-Code gut dokumentiert und der Großteil des Programms ist in Pascal geschrieben.
Dieser GameBoy-Emulator ist einer der Gründe für die (nicht ganz legale) Masse an GameBoy-Spielen im Internet. Programmiert wurde er vom Emulator-Guru Marat Fayzullin, der sich auch für Master-Gear, fMSX, ColEm und iNES verantwortlich zeigt. Wie alle seine Emulatoren ist auch VGB konsequent in C programmiert und die Anpassungen beschränken sich auf den Bildschirmtreiber. Die Portabilität ist hoch und so haben sich die Emulatoren von Marat Fayzullin fast explosionsartig auf alle Computer ausgebreitet. Da mit dem GodBoy bereits ein hervorragender Game-Boy-Emulator verfügbar ist, wird VGB nur vollständigkeitshalber erwähnt. Interessant wäre eine Umsetzung nur für die High-End-Atari-Clones Hades, Medusa, Milan und Centek, da ein schneller Game-Boy-Emulator für einen einfachen ST wohl Illusion bleiben dürfte. Die Kompatibilität liegt übrigens bei 85%. VGB ist der einzige Emulator, in dessen Anleitung der Atari Falcon erwähnt wird. Laut Anleitung liess sich VGB problemlos kompilieren - ohne angepaßten Bildschirmtreiber ist er allerdings nicht lauffähig.
iNES
Wesentlich interessanter ist da schon iNES, der NES-Emulator. Auch hier liegt die Kompatibilität bei 85% und neben der Mario-Reihe laufen auch Highlights wie Castlevania, Gradius und Zelda. Im Prinzip wäre iNES die ideale Ergänzung zum GodBoy, denn Nintendo hat die Spiele nie 1:1 vom NES auf den Game-Boy umgesetzt, sondern immer spezielle Versionen angefertigt. Für die Umsetzung gilt das gleiche wie für den VGB.
Das Super Nintendo wurde bereits sehr früh hervorragend emuliert. Erstaunlich, denn 256 Farben, ein 3D-Chip und Mehrkanalstereosound stellen eigentlich eine Hürde dar. Unter den vielen SNES-Emulatoren scheint SNES97 der vielversprechendste zu sein, denn selbst Problem-Spiele wie Super Mario Allstars laufen auf dem Emulator. Den Beweis für die leichte Portabilität liefert die offizielle Download-Seite: Von Versionen für Windows und Mac bis hin zu FM-Towns und dem Amiga sind fast alle Computer vorhanden. Die Umsetzungsarbeit beschränkt sich auch hier hauptsächlich auf das Anpassen der Bildschirmanzeigetreiber und selbst dies sollte kaum ein Problem darstellen, denn die verschiedenen Umsetzungen tauchten fast wöchentlich auf. Um einen kleinen Anreiz zu liefern, sehen Sie in Tabelle 1 eine Auswahl der Super Nintendo-Spiele, die auf SNES97 problemlos laufen.
Erinnert sich noch jemand an den Satz "Sonic auf dem Jaguar?"? Mit Master-Gear könnte dieser Traum Wirklichkeit werden, denn MG emuliert ein Master System und Game Gear. Auf dem komplett in C geschriebene Emulator laufen alle Sonic-Spiele sowie etliche weitere Sega-Hits. Nicht lauffähig sind Spiele, die spezielle Steuerungsgeräte vorraussetzen, wie z.B. die Lichtpistole oder die Sega-3D-Brille. Deren Zahl hält sich allerdings in Grenzen und allein Sonic ist eine Umsetzung wert.
Diese beiden Emulatoren sind fast identisch, was zum großen Teil daran liegt, dass der MSX-Computer und die ColecoVision-Konsole identische technische Daten besitzen. Die ColecoVision-Konsole ist dem VCS technisch weit überlegen und hat eine für damalige Verhältnisse hervorragende Grafik. Der MSX-Computer hingegen war wohl das erste Multimedia-Gerät und besaß - je nach Hersteller -, MIDI-Schnittstellen, einen Synthesizer oder gar einen Anschluss für Laserdisk-Player. fMSX beschränkt sich auf den eigentlichen Computer und lässt die Besonderheiten einzelner Modelle weg. Beide Emulatoren nutzen eine Z80-CPU und sind mit allen gängigen Programmen kompatibel.
Der eigentliche Grund für diesen Artikel ist der früher als "Unusable Amiga Emulator" bezeichnete UAE. Die jetzige Version ist aber ungeachtet der kleinen Versionsnummer ein sehr stabiler Amiga-Softwareemulator, den es mittlerweile für MS-DOS, Macintosh, BeBox, NeXT und den Amiga (!) gibt. Die Anpassung beschränkt sich dabei auf eine C-Datei, die an das eigene Betriebssystem angepaßt werden muss. In einem kurzen Abschnitt der Anleitung wird erklärt, wie man UAE auf ein fremdes System umsetzt. C-Programmierern sollte das schon ausreichen, allerdings sollte schon GnuC benutzt werden. Zum Testen ist außerdem das Amiga-Betriebssystem notwendig, ein Übertragungsprogramm liegt bei. Prinzipiell könnte die 68000-Emulation auch weggelassen werden, da ein solcher im ST/Falcon bereits vorhanden ist. Um jetzt Amiga-Kennern und Programmierern einen kleinen Anreiz auf eine Umsetzung zu geben finden Sie in Tabelle 2 eine Kompatibilitätsliste, aufgenommen wurden nur die Highlights, denn natürlich laufen noch viel mehr Programme (wie immer ohne Gewähr). Kurioserweise könnte man durch diesen Amiga-Emulator sogar einen 68K-Macintosh mit System 7.5.x ersetzen: Der hervorragende und mehrfach ausgezeichnete Mac-Emulator "Shapeshifter" läuft problemlos auf dem UAE. Zu dessen Kompatibilität sei nur soviel gesagt, das fast alle Anwendungen und auch einige Spiele (Rebel Assault u.a.) auf dem Shapeshifter laufen.
Da fast alle portablen Emulatoren in C programmiert wurden, lautet die Antwort auf eine Geschwindigkeitsoptimierung meisstens, einen schnelleren Computer zu kaufen. Bei emulierten Systemen, die auf dem 68000 basieren (Amiga, Mega Drive), wird die Geschwindigkeit natürlich höher sein, da die Prozessoremulation weggelassen werden kann. Ansonsten ist ein 8/16 MHz ST schon zu langsam für größere Emulationen. Beim Falcon kann der Programmierer mit dem DSP und Blitter noch etwas tricksen, wobei der Emulator auch weiterhin auf allen Rechnern lauffähig sein sollte, da mit Hades, Milan und Phenix drei leistungsstarke Atari-Nachbauten verfügbar sind. Ab einem 68040 sollte sich die Frage nach der Geschwindigkeit nicht mehr stellen. Allgemein ist es übrigens begrüßenswert, wenn der Emulator in einem GEM-Fenster läuft, aber zwecks Geschwindigkeitserhöhung kann darauf auch gut verzichtet werden. Ideal wäre eine Umschaltmöglichkeit ähnlich wie bei 2nd Life.
Es ist verwunderlich, das bislang nur ein Atari-Programmierer die Chance wahrgenommen hat, die portable Emulatoren bieten. Es gibt auf jeden Fall noch einige Lücken im Emulatorenangebot zu stopfen und mit den portablen Emulatoren spart sich der Programmierer eine Menge Arbeit.
Tabelle 1: SNES-Programme Breath Of Fire 1/2, Castlevania IV, Contra 3: Alien Wars, Final Fantasy 2/3/5, Gradius III, Super Mario World, Super Mario Allstars, Super Offroad, Super R-Type, Teenage Mutant Hero Turtles IV, Zelda 3
Tabelle 2: Amiga-Programme Giana Sisters, Turrican, Katakis, Monkey Island I+II, Zork Zero, AmigaCPE, A64 (C64-Emulator), Shapeshifter (Mac-Emu), AmigaBasic, Aegis Images, Deluxe Paint IV, Atari Lynx-Dev-Kit, Workbench 3.0 + etliche Amiga-Demos