seeseekey.net - Invictus Deus Ex Machina

Für macOS war ich auf der Suche nach einem Commodore 64 Emulator welcher nicht den Namen VICE trägt. Fündig wurde ich bei VirtualC64; einem Emulator geschrieben von Prof. Dr. Dirk W. Hoffmann, welcher an der Hochschule Karlsruhe lehrt.

VirtualC64 mit dem ikonischen Begrüßungsschirm

Im Gegensatz zu vielen anderen Emulatoren benötigt der Emulator einige ROMs um zu funktionieren. Damit gemeint sind das Kernal-ROM, das Basic-ROM, das Character-ROM und das VC1541-ROM. Diese müssen für die Emulation von entsprechender Seite bezogen werden.

Bei der Entwicklung des Emulators gab es drei Ziele. Das erste Ziel war die genaue taktgenaue Emulation und die damit verbundene große Kompatibilität. Daneben sollte der Emulator einfach zu bedienen und der Quellcode gut dokumentiert und einfach zu verstehen sein. Der Emulator ist freie Software und unter der GPL lizenziert. Auf GitHub ist der dazugehörige Quelltext zu finden. VirtualC64 kann über die Seite des Autors bezogen werden.

Das Internet Archiv (archive.org) hat vor einigen Tagen knapp 2400 MS-DOS Spiele aus den 80er und 90er Jahren auf seinen Seiten zur Verfügung gestellt. Nach der Veröffentlichung von einigen hundert Arcadespielen, ist dies nun die zweite größere Veröffentlichung in diesem Bereich.

Commander Keen auf archive.org

Commander Keen auf archive.org

Die Spiele stehen dabei auf der entsprechenden Unterseite zur Verfügung. Sie stehen dabei als Stream zur Verfügung, was bedeutet das man die Spiele mittels des MESS-Emulators im Browser spielen kann. Das Internet Archive verfügt über eine Ausnahmegenehmigung vom DMCA, welche es dem Archiv erlaubt, die Spiele zum Zwecke der Langzeitarchivierung zu erhalten und der Öffentlichkeit bereitzustellen.

In den ersten Jahren nach seiner Erfindung war Javascript nicht mehr als ein Spielzeug. Mittlerweile hat sich die Sprache allerdings emanzipiert. Dinge welche früher unmöglich erschienen sind nun problemlos möglich. Ein eindrucksvolles Beispiel für diese Aussage ist Javascript PC Emulator von Fabrice Bellard.

Der Emulator bootet ein Linux

Der Emulator bootet ein Linux

Der Emulator simuliert einen x86-PC komplett im Browser. Im einzelnen simuliert er dabei unter anderem eine 32-Bit CPU, einen Interrupt Controller und Timer sowie ein IDE Interface mit einer entsprechenden Festplatte. Der Autor führt die technischen Details auf seiner Webseite weiter aus. Der Emulator selbst ist unter bellard.org/jslinux/ zu finden.

Emulatoren für die unterschiedlichsten Systeme gibt es wie Sand am Meer. Meist folgen die Emulatoren dabei der Maxime – ein Emulator für eine Plattform. Das bedeutet natürlich auch, das man mehrere Applikationen pflegen muss und nicht alles unter einer Haube zur Verfügung steht. Unter Mac OS X kann man dieses Problem nun mittels OpenEmu beheben.

Die Nutzeroberfläche von OpenEmu

Die Nutzeroberfläche von OpenEmu

Dabei handelt es sich um einen Emulator, welcher unterschiedliche Systeme wie NES, SNES, GameBoy, Sega Genesis und viele andere unterstützt. OpenEmu ist dabei freie Software und unter der GPL2 lizenziert. Bezogen werden kann OpenEmu auf der offiziellen Webseite. Der Quelltext für OpenEmu, das SDK und die entsprechenden Cores sind auf GitHub zu finden.

Den Raspberry Pi kann auf vielfältige Weise genutzt werden. Meist möchte man für einen Test nicht gleich die Hardware rauskramen, sondern stattdessen das ganze erst einmal im Emulator ausprobieren. Die entsprechende ARM-Architektur lässt sich ohne Probleme mittels QEMU emulieren, allerdings ist die Konfiguration eines Raspberry Pi etwas anspruchsvoller.

Die Emulation mittels QEMU

Die Emulation mittels QEMU

Einfacher wird es durch das Projekt “Raspberry Pi emulation for Windows” welches auf SourceForge zu finden ist. Das Projekt stellt eine knapp 550 MiB große Zusammenstellung bereit, in welcher eine komplette Raspberry Pi Emulation zu finden ist. Das Paket muss nur entpackt werden, anschließend kann der Raspberry Pi Emulator durch Start der “run.bat” ausgeführt werden.

Wer schon immer das tiefe und unerklärliche Bedürfnis hatte, Windows in der ersten Version auszuprobieren, der kann dies nun tun. Möglich wird dies mit der Webseite jsmachines.net. Das ganze basiert dabei auf dem unter GPL stehenden PCjs. Dabei handelt es sich um einen IBM PC Emulator, welcher in Javascript geschrieben ist. Der Quelltext soll später auf GitHub zur Verfügung stehen.

Der Windows 1 Emulator in Aktion

Der Windows 1 Emulator in Aktion

Die Windows-Emulation ist neben einigen anderen Emulationen (unter anderem Zork I und DONKEY.BAS) auf der Webseite zu finden.

Seid einiger Zeit wird von Mojang das Spiel “0x10c” entwickelt. Dort befindet man sich am Ende der Zeit in einem Universum und ist mit einem Raumschiff ausgerüstet welches eine CPU vom Typ “DCPU-16” besitzt. Diese CPU wird in einem entsprechenden Assembler programmiert und vom Spiel simuliert.

Mittlerweile gibt es auch schon Betriebssysteme für diese CPU, wie “Atlas 2” welches unter der MIT Lizenz steht. Das System soll dabei Paging, Speichermanagment, ein Dateisystem, Multitasking und mehrere Nutzer unterstützen. Anschauen kann man sich den Quelltext https://github.com/0x10cAtlas. Neben dem Quelltext gibt es dazu auch eine Wiki. Wer die CPU selber ausprobieren möchte, kann dies unter http://dcpu.ru/ tun.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/0x10c

Es ist doch immer wieder erstaunlich was im Browser mittels Javascript alles möglich ist. Zum Beispiel ein vollständiger GameBoy Color Emulator. Zu finden ist dieser unter http://www.grantgalitz.org/gameboy/. Das ganze ist dabei Open Source wobei der Quelltext unter https://github.com/grantgalitz/GameBoy-Online verfügbar ist.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Gameboy