Das Multiple Emulator Super System, kurz MESS [1], macht seinem Namen alle Ehre: Die Software bildet die Funktion zahlreicher Computer und Videospielkonsolen des vorigen Jahrhunderts nach. So verwandeln Sie mit wenigen Handgriffen einen modernen Linux-PC in eine der alten Klapperkisten. Insgesamt kennt MESS weit über 250 verschiedene Systeme – angefangen vom Atari VCS2600 über Gameboy und Playstation bis hin zum Commodore Amiga oder den ersten PCs. Eine vollständige Liste würde mehrere DIN-A4-Seiten füllen, weshalb die Tabelle "Emulierte Systeme" nur ein paar der bekanntesten Modelle aufführt.
Emulierte Systeme
| Kürzel | Beschreibung |
|---|---|
| a2600 | Atari 2600 |
| lynx | Atari Lynx |
| jaguar | Atari Jaguar |
| nespal | Nintendo NES |
| gameboy | Nintendo Gameboy |
| snespal | Nintendo Super NES |
| n64 | Nintendo 64 |
| sms1pal | Sega Master System I |
| megadriv | Sega Mega Drive |
| saturneu | Sega Saturn |
| coleco | ColecoVision |
| pce | NEC PC Engine |
| tg16 | NEC TurboGrafx 16 |
| cpc464 | Schneider CPC464 |
| cpc664 | Schneider CPC664 |
| cpc6128 | Schneider CPC6128 |
| kccomp | KME KC Compact |
| apple1 | Apple I |
| apple2 | Apple ][ |
| apple2p | Apple ][+ |
| apple2e | Apple //e |
| apple2g0 | Apple IIgs (ROM00) |
| macclasc | Apple Macintosh Classic |
| a800xl | Atari 800XL |
| c64pal | Commodore 64/VC64/VIC64 |
| c128ger | Commodore 128 German |
| a500p | Commodore Amiga 500 |
| ibmpc | IBM PC 10/27/82 |
| ibmxt | IBM PC/XT (CGA) |
| at | IBM PC/AT (CGA, MF2) |
| atvga | IBM PC/AT (VGA, MF2) |
| at386 | IBM PC/AT 386(CGA, MF2) |
| at486 | IBM PC/AT 486(CGA, MF2) |
| at586 | IBM PC/AT 586(CGA, MF2) |
| zx80 | Sinclair ZX-80 |
| spectrum | Sinclair ZX Spectrum |
| pdp1 | DEC PDP-1 |
| psxe | Sony PlayStation (Europe) |
Unter der Haube
MESS basiert auf dem Multiple Arcade Machine Emulator (MAME), einem Emulator, der sich im Gegensatz zu MESS vollständig auf die Emulation von Spielhallenautomaten konzentriert. Von ihm erbte MESS auch seinen modularen Aufbau: Jedes System ist als so genannter Treiber (Driver) realisiert, den MESS bei Bedarf lädt. Auf diese Weise können Programmierer schnell neue Systeme hinzufügen und bestehende einfacher pflegen. Umgekehrt erbt MESS damit jedoch auch die Lizenzbedingungen von MAME: Sie gestatten zwar die freie und kostenlose Verwendung des Programms, verbieten im Gegensatz zur bekannten GPL jedoch die kommerzielle Nutzung und Verbreitung.
Wissen ist Macht
Bevor Sie nun eine Zeitreise unternehmen und die im Schrank verstaubenden Spieleklassiker reanimieren, frischen Sie besser zunächst Ihr Wissen um das entsprechende System auf. Da sich MESS eine möglichst exakte Nachbildung der einstigen Hardware zum Ziel setzt, bietet es keinerlei Vereinfachung der Bedienung. Der emulierte Commodore 64 wird also auch weiterhin über kryptisch anmutende Befehle gesteuert, das Gamepad der virtuellen Playstation besitzt die verwirrenden Seitentasten. Im Internet finden Sie zahlreiche Seiten, welche die Bedienung selbst der exotischsten Kisten noch einmal Revue passieren lassen. Informieren Sie sich unbedingt auch über die einst verwendeten Speichermedien und die zugehörigen, meist externen Laufwerke. Deren Eckdaten werden gleich noch eine wichtige Rolle spielen.
Gib mir Namen
MESS wurde im Laufe seiner Entwicklungsgeschichte auf mehrere Betriebssysteme portiert. Dabei erhielt es je nach Geschmacksrichtung auch gleich einen leicht anderen Namen. Als Linux-Besitzer greifen Sie zur SDLMESS-Variante ([2], Heft-CD). Das teilweise ebenfalls noch im Umlauf befindliche XMESS hingegen ist hoffnungslos veraltet und wird vermutlich nicht mehr weitergepflegt.
Achten Sie darauf, auch wirklich SDLMESS herunterzuladen und nicht etwa SDLMAME. Als Ergebnis erhalten Sie ein ZIP-Archiv mit dem Quellcode. Um ihn in ausführbare Form zu bringen, installieren Sie zunächst mit dem Paketmanager Ihrer Distribution die SDL-Bibliothek mitsamt den zugehörigen Entwicklerpaketen. Gleiches wiederholen Sie mit Expat (unter Ubuntu libexpat) und der Zlib-Bibliothek. Ubuntu-Besitzer benötigen schließlich noch das Paket libxinerama-dev. Alle das Pakete sollte Ihre Distribution bereits an Bord haben oder auf den Installationsmedien mitliefern.
Nun entpacken Sie das heruntergeladene MESS-Archiv in ein Verzeichnis Ihrer Wahl. Falls Sie MESS nicht auf einem Standard-PC übersetzen, stehen noch einige Änderungen in der Datei makefile.sdl an (siehe Kasten "MESS auf anderen Plattformen"). Im Regelfall können Sie das Makefile jedoch unangetastet belassen und direkt ein Terminalfenster öffnen. Wechseln Sie in das MESS-Verzeichnis und rufen dort
$ make -f makefile.sdl
auf. Ab jetzt dürfen Sie eine ausgiebige Tasse Kaffee trinken gehen: Selbst auf modernen Computern dauert der Übersetzungsvorgang einige Minuten.
Als Ergebnis dieser Kompilierungsorgie finden Sie verschiedene, ausführbare Dateien in Ihrem MESS-Verzeichnis. Bei den meisten handelt es sich um Hilfs- oder Testprogramme, der eigentliche Emulator steckt hinter der Datei messpm. In der MESS-Dokumentation finden Sie durchweg den Programmnamen mess. Das in diesem Fall zusätzliche Anhängsel pm kennzeichnet den Prozessor. Sofern Sie in der Datei makefile.sdl vorhin ein anderes Computerhirn ausgewählt haben, steht hier entsprechend ein anderes Kürzel.
MESS auf anderen Plattformen
Falls Sie MESS auf einem PowerPC oder einem 64-Bit-Linux übersetzen, öffnen Sie vor dem Kompilieren die Datei makefile.sdl mit einem Texteditor. Dort suchen Sie die Zeile PM = 1. Direkt darüber und darunter stehen weitere Bezeichnungen für Prozessoren. Stellen Sie eine Raute vor PM = 1 und entfernen selbige aus genau der Zeile, die den von Ihnen verwendeten Prozessor aufführt. Verwenden Sie beispielsweise einen AMD64-Prozessor, löschen Sie die Raute vor # AMD64 = 1. Bei einem 64-Bit Linux müssen Sie zusätzlich noch die Raute vor der Zeile # PTR64 = 1 ausradieren.



