• Keine Ergebnisse gefunden

Erste Iteration der Emulatorensuche

Mit der zunehmenden Miniaturisierung der elektronischen Hardwarekomponenten dehnte sich der Bereich der Spielemaschinen in den mobilen Markt aus und brachte eine Geräteklas-se wie den GameBoy hervor. Parallel dazu entwickelten sich die sogenannten Spielekonsolen weiter und eroberten einen immer breiteren Markt. Die Maschinen, wie PlayStation oder Ga-meCube wurden üblicherweise an den Fernseher angeschlossen und mit speziellen Controllern bedient. Bei dem größten Teil der digitalen Objekte dieses Bereichs handelt es sich deshalb um Computerspiele. Solche Objekte werden beispielsweise vom Computerspiele-Museum in Berlin5 archiviert.

4.3 Erste Iteration der Emulatorensuche

Für die erste Recherche wurde nur eine oberflächliche Abschätzung der Relevanz vorgenom-men. Die grobe Klassifikation in die im folgenden vorgestellten Gruppen erfolgte anhand der CPU oder der Plattform allgemein:

• Der Prozessor ist das wesentliche Distinktionsmerkmal der Klasse der Intel-kompatiblen X86-Computer. Software, die für Betriebssysteme dieser Rechnerklasse geschrieben wurde, ist abgesehen von Einschränkungen aufgrund der technologischen Fortentwick-lung auf allen Maschinen binärkompatibel.

• Auf der anderen Seite wurde die gleiche CPU, wie die Motorola 68000er Linie in sehr verschiedenen Maschinen verbaut – angefangen von der Klasse der Home-Computer über frühere Apple Macintosh Maschinen bis hin zu bestimmten Unix-Workstations von SUN Microsystems oder Geräten wie Zyxel-Modems. In diesem Fall erscheint es sinnvoller, entlang der Plattform zu unterscheiden und Amiga, Apple Macintosh und Unix-Workstations in eigene Kategorien einzusortieren.

Diese Klassifikationen sind nicht statisch und könnten durch neurere Entwicklungen im Be-reich der Emulatoren überholt werden, wenn beispielsweise ein modularer Motorola-68000-Emulator eine Brücke über verschiedene Rechnerarchitekturen und Hersteller hinweg schlägt.

Einer der Ausgangspunkte der Recherche war das Google-Directory zu Emulatoren,6 wel-ches ebenfalls eine gewisse Klassifikation anhand von Rechnerplattformen vornimmt. Für den Überblick wurde mit einem minimalen Set an Metadaten7 gearbeitet, welches lediglich:

• den Namen des Produkts oder des Projekts,

• eine Online-Referenz und

• eine knappe Erstbewertung

5Siehe Homepage [CSM 2008]. Geschichte der Spielecomputer ebd. im Bereich ”Online-Expo / Spielma-schinen”.

6http://www.google.com/Top/Computers/Emulators fasst das Thema Emulation deutlich weiter als reine Hardwareemulation. So werden zusätzlich Emulatoren für einzelne Hardwarekomponenten, wie Laufwerke oder Betriebssystememulatoren, siehe hierzu Abschnitt 3.5.3, aufgeführt. Eine weitere Quelle und aktuelle Linksammlung bietet [EMUU 2008].

7Siehe hierzu den späteren Abschnitt 4.4 dieses Kapitels.

angibt.

Wegen der inzwischen großen Auswahl an Emulatoren und Virtualisierern für verschiedene Plattformen kann es zudem interessant sein, die Austauschbarkeit von Ein- und Ausgabeda-teien sowie die Migrierbarkeit von Containerformaten zu betrachten.

4.3.1 X86-Computer

Das letzte Jahrzehnt vor der Jahrtausendwende war durch den sogenannten Personal Com-puter (PC) geprägt. Basierend auf einer Intel-CPU8 wurde diese Architektur zum Quasi-industriestandard. Das bedeutete, dass die große Vielfalt verschiedener Unix-Plattformen, Mainframe-Architekturen und Consumer-Produkte durch eine einheitliche, einigermaßen stan-dardisierte, dabei offene Architektur9 zunehmend an den Rand gedrängt und abgelöst wurde.

Diese Entwicklung schuf die Grundlage für den Erfolg von Microsoft, das den Markt der X86-Betriebssysteme weitgehend bestimmen und monopolisieren konnte. Aus diesem Grund ist die Auswahl an Emulatoren und Virtualisiern inzwischen recht vielfältig.

Bochs ist ein Open-Source-Projekt zur Emulation der 32 bit-PC-Architektur. Es existiert seit Ende der 1990er Jahre und erfreut sich einer recht großen Benutzergemeinschaft. Dieser Emulator steht jedoch etwas im Schatten des erfolgreicheren QEMU.

Dioscuri wurde primär für die funktionale Langzeitarchivierung an der Königlichen Biblio-thek und dem Nationalarchiv der Niederlande10entworfen und wird im Rahmen des PLANETS Projekts weiterentwickelt [PLANETS 2008]. Dieser Java-basierte Emulator kann bereits eine 8086-CPU emulieren und damit DOS ausführen.

DOSBOX kann man als Hybrid eines Hardware- und Betriebssystememulators betrachten.

Dieses Open-Source-Werkzeug,11 welches unter aktiver Weiterentwicklung steht, bietet in erster Linie die Möglichkeit, Spiele für DOS auf Linux Plattformen ausführen zu können.

DOSEMU gehört zu den älteren Virtualisierern. Dieses Projekt12ist Open Source Software und existiert bereits seit Ende der 1990er Jahre, wird aber immer noch weiterentwickelt und an aktuelle Host-Betriebssysteme angepasst. Bei diesem Emulator handelt es sich wie bei DOSBOX eher um einen Hybrid, wobei das einzig unterstützte Zielbetriebssystem DOS (anders als bei der vorgenannten DOSBOX) zusätzlich installiert werden muss.

8Oder entsprechenden (pin)kompatiblen Prozessoren weiterer Hersteller, wie AMD, Cyrix.

9Siehe [CHM 2008], http://www.computerhistory.org/timeline/?category=cmptr. IBM reagierte mit dem eigenen PC auf den Markterfolg des Apple II und anderer Maschinen und läutete damit die PC-Ära ein. So brachte beispielsweise Compaq schon 1983 einen IBM-kompatiblen Rechner auf den Markt, der in der Lage war, mit exakt der gleichen Software wie die IBM-PC zu arbeiten.

10Homepage des Emulatorprojekts - http://dioscuri.sourceforge.net, [DIOSCURI 2008].

11Eine nicht uninteressante Besonderheit ist, dass kein separates DOS mehr installiert werden muss. Ho-mepage - http://dosbox.sourceforge.net.

12Homepage des DOSEMU-Projekts - http://dosemu.sourceforge.net.

4.3. ERSTE ITERATION DER EMULATORENSUCHE 85

FAUmachine ist eine spezielle virtuelle Maschine, die PC Hardware simulieren kann. Sie läuft als normaler User-Prozess auf Linux Hosts mit X86 Architektur, kann aber analog zu QEMU durch einen Kernelpatch beschleunigt werden. Das Projekt wurde für Soft- und Hardwareverifikation13erstellt und ist daher nicht direkt mit anderen Projekten und Produkten vergleichbar. Es ist Open Source und kann daher als Vorlage dienen, wie sich bestimmte Peripherie in Software nachbilden lässt.

JPC der Java PC Emulator,14welcher an der Universität Oxford entwickelt und Mitte 2007 als Open Source freigegeben wurde, läuft als Java Applet in Java Virtual Machines ab Version 1.5. Es gibt bereits die Unterstützung des Real-Mode der CPU und es kann DOS und darauf laufende Applikationen ausführen.

Parallels Workstation stammt von SWsoft.15 Hierbei handelt es sich um einen eher klei-neren Anbieter im Virtualisierungsmarkt, der jedoch als erstes seine Produkte für die drei Host-Plattformen Windows, Linux16 und Mac-OS X17anbot. Der Funktionsumfang liegt ähn-lich wie bei der VMware Workstation oder Virtual PC von Microsoft.

Plex86 zählte zu den ersten, im Sinne von Open Source freien X86-Emulationsprojekten.18 Es ist selbst seit Ende 2003 nicht mehr aktiv, hat jedoch anderen Open-Source-Emulatorpro-jekten das BIOS geliehen.

QEMU gehört zu den derzeit sicherlich populärsten Open-Source-Emulatoren.19 Dieser Emulator kann mit speziellen Virtualisierungsmodulen auf X86-Hosts ebenfalls als Virtua-lisierer eingesetzt werden. Er steht für weitere als lediglich die üblichen Linux und Windows Host-Plattformen zur Verfügung.

Virtual PC für PPC zählte zu den ersten kommerziellen PC-Emulatoren, welches von der Firma Connectix20entwickelt wurde. Mit diesem Programm ließen sich PC-Betriebssysteme in einer emulierten Umgebung auf der Apple PowerPC-Architektur betreiben. Mit der Aufgabe dieser Architektur seitens Apple wird dieses Produkt nicht mehr weiterentwickelt. Es unter-stützt offiziell lediglich DOS bis Windows 98 Nutzungsumgebungen. Zudem gibt es eine ganze Anzahl alternativer Produkte, die nicht auf eine (obsolete) Rechnerplattform beschränkt sind.

13 Projekt-Homepage - http://www3.informatik.uni-erlangen.de/Research/FAUmachine, im Zuge des DBench Projects EU-gefördert. Die letzte stabile Version wurde Anfang 2006 veröffentlicht.

14Homapage und Online-Demonstration http://www.physics.ox.ac.uk/jpc.

15Produkt-Homepage - http://www.parallels.com/en/products/workstation.

16Dieses Produkt wird als ”Workstation” vermarktet und liegt in Version 2.2 vor.

17Wird als ”Desktop” Version 3.0 mit 3D-Grafikunterstützung beworben.

18The new Plex86 x86 Virtual Machine Project - http://plex86.sourceforge.net.

19Homepage http://fabrice.bellard.free.fr/qemu. Der Emulator kann neben der PC-Architektur eine ganze Reihe weiterer Rechnerarchitekturen emulieren.

20Diese Firma hatte sehr verschiedene Produkte, wie beispielsweise auch Webcams im Programm. Sie verkaufte Virtual PC an Microsoft.

Da die X86-Architektur immer noch aktuell und auch für die nächsten Jahre nicht mit ihrer Ablösung zu rechnen ist, spielen neben reinen Emulatoren verschiedene Virtualisierer21 für die Langzeitarchivierung eine Rolle. Kommerziell gesehen, sind sie für diese Architektur bedeutend wichtiger.

VirtualBox ist ein recht junges X86-Virtualisierungsprodukt, welches in einer Open-Source-Basisversion und einer erweiterten, kommerziellen Variante von der Firma Innotek22vertrieben wird. Das Produkt kann in seiner Funktionalität gut mit VMware und Parallels Workstation oder Virtual PC verglichen werden. Es lässt sich auf Linux, Windows und Mac-OS X Host-Plattformen einsetzen.

Virtual PC führt das urspünglich von Connectix entwickelte Produkt unter der Regie von Microsoft23 für die Windows-Host-Plattform fort. Die erste Version für 32 bit-Hosts erschien 2004, eine Serverversion 2005, eine neue wenig renovierte Desktop-Revision Anfang 2007.

Letztere wurde in einer 32 und 64 bit-Fassung herausgebracht, die nun Windows Vista als Host-System unterstützt. Es handelt sich dabei um einen X86-Virtualisierer, der offiziell eine Liste älterer Microsoft Betriebssysteme ablaufen lassen kann. Damit ist sowohl die Palette der Host-Systeme, als auch die der Nutzungsumgebungen vergleichsweise klein, womit dieses Produkt angesichts etlicher Alternativen für die Langzeitarchivierung weniger relevant und nur für spezielle Nutzergruppen mit eingeschränkten Anforderungen sinnvoll einsetzbar scheint.

Es steht unter einer proprietären Lizenz, ist jedoch kostenfrei in seiner Nutzung.

VMware ist der Name einer Firma,24 die seit Ende der 1990er Jahre sehr erfolgreich kom-merzielle Virtualisierungssoftware für die PC-Architektur vermarktet. Das Produktspektrum wurde von der zuerst vorgestellten Workstation im Laufe der Zeit um weitere Produkte, wie den VMware-Server oder -Player, mit ähnlicher Funktionalität ergänzt. Mögliche Hostplatt-formen sind moderne Linux- oder Windows-Varianten und mit dem neuen Produkt ”Fusion”

zusätzlich neuere Apple Mac-OS X für X86-Maschinen.

4.3.2 Die ersten Consumer-Geräte: Home-Computer

Anders als die Entwicklung der X86-Architektur kann die Ära der Home-Computer als abge-schlossen betrachtet werden, ihre Hochphase25 lag in der Zeit von Mitte der 1980er Jahre bis Anfang der 1990er. Bis auf einige Ausnahmen26 werden keinerlei neue Programme für oder digitale Objekte mit diesen Maschinen mehr erstellt.

21Die Virtualisierer emulieren üblicherweise die Peripherie und reichen nur CPU-Kommandos direkt an das Host-System weiter, siehe auch Abschnitt 3.5.

22Produkt-Homepage - http://www.innotek.de/virtualbox.

23Produkt-Homepage - http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx.

24Homepage der Firma VMware - http://www.vmware.com, die dedizierte Produkt-Homepage findet sich im Bereich ”Products”.

25Siehe [CHM 2008], speziell http://www.computerhistory.org/timeline/?category=cmptr von 1979 an.

26In der sogenannten Demo-Szene, siehe beispielsweise Breakpoint 2007 -http://breakpoint.untergrund.net, werden Echtzeitkunstwerke für diverse Computerplattformen, auch noch für alte Home-Computer, geschrieben.

4.3. ERSTE ITERATION DER EMULATORENSUCHE 87

Eine erste Iteration der Suche nach bereits existierenden oder referenzierten Emulatoren erfolgte im Rahmen von Vorarbeiten bereits im Jahre 2004, siehe hierzu Abschnitt A.1 des Anhangs. Im folgenden sind nur eine Auswahl von Emulatoren aufgeführt, die aktuell eine gewisse Relevanz besitzen und über aktive Benutzergemeinschaften verfügen. Ein guter Start-punkt der Suche ist [EMUU 2008], welches seit 1996 online steht und sich mit dem Thema Emulatoren befasst.27

ARAnyM ist eine virtuelle Maschine für eine größere Anzahl verschiedener Plattformen, welche die Atari ST/TT/Falcon nachbildet. Mit ihrer Hilfe können TOS/GEM Anwendungen auf den meisten heutigen Betriebssystemen ausgeführt werden. Ziel des Open-Source-Projekts besteht darin, eine Umgebung zu schaffen, in der ”... TOS/GEM applications could continue to live forever”.28

Arnold zählt zu den besten Amstrad CPC Emulatoren für Linux Plattformen. Er kann die Hardware der Amstrad Modelle CPC 464/664/6128, 464+/6128+ und die des VEB Mikroelektronik KC Compact nachbilden. Weitere Informationen zu diesem Open-Source-Emulator liefert die Projektseite. 29

Hatari/WinSTon ist ein Atari ST Emulator für die Plattformen Linux und Windows. Der Emulator benötigt zum Ausführen von Applikationen ein installiertes TOS-Image. Er eignet sich in erster Linie zum Ausführen von Spielen.

JaC64 ist ein Java-basierter C64 Emulator,30 der im Browser als Applet ausgeführt werden kann. Dieses erlaubt eine breitere Palette an Referenzumgebungen.

MESS ist ein modularer Emulator für eine Vielzahl verschiedener Home-Computer-Typen.

Viele Komponenten der einzelnen Plattformen, wie CPUs oder IO-Bausteine ähneln sich, so dass sie nicht für jeden Typ neu programmiert werden müssen. Dieser Emulator steht für eine Reihe von Referenzplattformen zur Verfügung.31

UAE der Ubiquitous Amiga Emulator steht für eine große Anzahl von Plattformen zur Verfügung.32 Er bildet die Geräte Commodore Amiga 500/1000/2000 fast vollständig ab.

4.3.3 Konsolenspiele und Arcade-Emulatoren

In eine ganz eigene Kategorie gehören digitale Unterhaltungsgeräte. So kamen schon zu einem sehr frühen Zeitpunkt computerbasierte Spielgeräte auf, die auf Jahrmärkten oder

27Dabei hat die Seite eher Meta- und Portalcharakter. Sie pflegt eine aktuelle Sammlung externer Res-sourcen. Ein deutschsprachiges Pendant findet sich unter http://www.aep-emu.de, [AEP 2008].

28Homepage - http://www.aranym.org.

29Homepage - http://arnold.emuunlim.com, letzter Eintrag von 2004.

30Homepage - http://www.jac64.com, aktuellste Version von Mai 2007.

31Homepage - http://www.mess.org, Versionen für Windows, verschiedene Unixes und Mac-OS X.

32Homepage - http://uae.coresystems.de, Versionen für diverse Unixes, DOS, Windows, Mac-OS, RiscOS, BeOS und NextStep sind von verschiedenen Quellen verfügbar.

in Spielhallen aufgestellt wurden und gegen den Einwurf von Geld für eine gewisse Zeit oder Anzahl von Runden öffentlich genutzt werden konnten. Diese Geräteklasse ist eher für technische Museen oder Ausstellungen zur Altagskultur, denn klassische Bibliotheken oder Archive von Interesse.33 Sie teilten oft die Grundplattform mit anderen, bereits vorhandenen Geräten, wie den Home-Computern.

Mit der zunehmenden Integration der elektronischen Komponenten wurden ultra-portable Geräte, wie der GameBoy Mitte der 1990er oder die PlayStation Portable um 2005 populär.

MAME ist ein Arcade-Spiele-Emulator für ältere Systeme, der oft im Zusammenhang mit MESS genannt wird. Dieses liegt an der gemeinsamen technischen Plattform beider Geräte-klassen.34

PCSX emuliert die Sony PlayStation. Dieser Emulator ist Open Source und bildet alle Komponenten der Sony PlayStation für reguläre PC-Hardware nach. Es realisiert ein ausge-feiltes Plugin System, das leicht erweiterbar ist und weitgehend konfiguriert werden kann.

Um kommerzielle Spiele ausführen zu können, benötigt man ein originales Sony PlayStation BIOS ROM.

SNES9x ist ein portabler, Freeware Super Nintendo Entertainment System (SNES) Emu-lator für Linux- und Windows-Plattformen. Mit ihm gelingt es, die meisten Spiele, die für SNES und Super Famicom Nintendo Game Systems geschrieben wurden, auf einem PC aus-zuführen.35

GNUBOY Der GameBoy Color Emulator36 bildet den Color GameBoy, ein populäres Mo-bilgerät, in Software nach. Er ist in C programmiert und nutzt für die Ausgaben auf unix-artigen Systemen die X11 oder Framebuffer-Konsole. Für Windows und DOS wird die SDL-Schnittstelle, 37 wie von vielen anderen Emulatoren auch, genutzt.

vNES ist ein Nintendo Entertainment System (NES) Emulator, der in Java programmiert wurde.38 Dieses erlaubt eine einfache Cross-plattform- und Online-Nutzung.

4.3.4 Emulatoren der diversen Apple Rechner

Ende der 1980er und Anfang der 1990er Jahre spielten diverse Rechner der Computerfirma Apple im Marktgeschehen eine Rolle. Für diese Maschinen, die für eher kreative Tätigkei-ten dem X86-PC vorgezogen wurden, gab es eine Reihe von SoftwareprodukTätigkei-ten, die nur

33Siehe Abschnitt A.1.3 für eine etwas breitere Darstellung und weitere Referenzen.

34Projekt-Homepage - http://mamedev.org.

35Projekt-Homepage - http://www.snes9x.com. ”snes9express” ist ein grafisches Frontend, das die Benut-zung des Emulators stark erleichtert.

36Siehe für einen Überblick und diverse Portierungen [AEP 2008], speziell - http://www.aep-emu.de/Emus-file-emus_detail-id-947.html.

37Siehe hierzu Abschnitt 7.7.1.

38Homepage - http://www.virtualnes.com.

4.3. ERSTE ITERATION DER EMULATORENSUCHE 89

für diese Plattform verfügbar waren. Mit dem zwischenzeitlich sinkenden Marktanteil dieser Rechnerplattform gingen die Softwarehersteller dazu über, ihre Produkte auch für die X86-Rechnerarchitektur mit Microsoft Betriebssystem zu erstellen. Deshalb ist diese Plattform eher dann interessant, wenn Software nur für Apple Rechner verfügbar ist. Die aktuellen Apple Computer basieren nun auf der X86-Architektur. Bisher existiert jedoch noch kein kommerzieller Emulator, in dem ein Mac-OS X für X86 ausgeführt werden kann.39

PearPC kann die neuere Apple PowerPC Architektur emulieren. In diesem Emulator können Nutzungsumgebungen auf Basis des neueren Mac-OS X nachgebildet werden. Das Projekt40 ist Open Source, leider scheint die Entwicklung eingeschlafen zu sein, da die aktuellste Version mit der Release-Nummer 0.4.0 vom 20. Dezember 2005 stammt. Das Programm lässt sich nicht sehr intuitiv verwenden und bereitet ziemlichen Aufwand, die ”Panther” Version des Mac-OS X zu installieren. Eine gute Alternative besteht mit dem Multiplattformemulator QEMU.41

Mini vMac emuliert einen Macintosh Plus, einen der frühesten Macintosh Computer, der zwischen 1986 und 1990 verkauft wurde. Das letzte Update erfolgte Ende 2006.

Basilisk II ist ein Open Source Motorola 68000 Macintosh Emulator. Mit diesem kann entsprechende Mac-OS Software ausgeführt werden. Wie bei den meisten anderen Emulatoren auch, wird eine Lizenz für das Betriebssystem sowie ein ROM-Abbild der originalen Maschine benötigt. Der Emulator selbst steht unter der GNU General Public License (GPL).

4.3.5 Emulatorensuche zu sonstigen Architekturen

Durch den ausreichenden zeitlichen und technologischen Abstand gelingt es, die ehemals für kleine Computer unvorstellbare Rechenleistung und Speicherkapazität der Großrechner auf heutigen Systemen innerhalb eines Emulators ablaufen zu lassen. Eine größere Heraus-forderung bei diesen Systemen liegt eher in der geeigneten Emulation der Speichermedien, Lochkarte und -streifen.

Hercules ist ein Open Source Emulator42 für die IBM Mainframe S/360, S/370, ESA/390 und z/Architecture Systeme. Er kann auf Linux, Mac-OS und Windows Host-Plattformen eingesetzt werden. Die derzeit aktuelle Version trägt die Bezeichnung 3.05 und kann gegen-über ihren Vorgängern auch die Z-Series emulieren. Wie schon beim realen Vorbild handelt es sich beim Emulator um ein recht komplexes System, welches sinnvoll nur mit umfangreichem Hintergrundwissen betrieben werden kann. Anders als bei Home-Computern oder X86-PCs

39Die Unterschiede zum klassischen PC sind nicht groß, jedoch setzt Apple auf das neuere EFI, welches von Microsoft Vista erst in späteren Versionen unterstützt werden soll.

40Siehe hierzu die Projekt-Homepage unter http://pearpc.sourceforge.net.

41Siehe hierzu Abschnitt 5.6.1.

42Siehe hierzu die Projekt-Homepage - http://www.hercules-390.org. Die Lizenz ist dort mit der Q Public License angegeben.

war die Zahl der direkten Anwender an diesen Plattformen deutlich beschränkter. Für virtuel-le Netzwerkverbindungen nutzt Hercuvirtuel-les das TUN/TAP-Interface des Host-Systems, welches auch durch etliche andere Emulatoren eingebunden wird. Virtuelle Festplatten sind Dateien im Host-System. Die Steuerung des Emulators erfolgt mittels einer Konsole und wäre damit für Automatisierungen zugänglich.

The Computer History Simulation Project ist ein Emulator, der eine ganze Reihe früherer Großrechnersysteme in einem Projekt43 zusammenfasst. Ein Überblick zu den unter-stützten Systemen findet sich in der Rechercheliste im Anhang, Abschnitt A.1.

Neben den genannten Emulatoren existiert eine Vielzahl weiterer, spezieller Programme für bestimmte Anwendungen. Einige interessante Ansätze sind im Anhang (Abschnitt A.1.4) der Vollständigkeit halber kurz aufgeführt.