Im April hatte ich nebenan im RISC OS-Blog kurz über das MiST-Board berichtet, und zwar anlässlich des ersten Archimedes-Cores.
Wer nach „Core“, „MiST“ und „Archimedes“ nur Bahnhof versteht, hier die Schnellbleiche. Das MiST-Board ist im Prinzip ein kleiner Computer. Kernstück ist aber nicht eine gewöhnliche CPU, sondern ein FPGA. Also ein frei reprogrammierbarer Logikbaustein. Hier kommt dann die Begrifflichkeit des „Cores“ ins Spiel. Ein solcher „Core“ konfiguriert den FPGA. Und im Falle des MiST emuliert (oder besser simuliert) der FPGA dann einen kompletten Rechner der 80er oder frühen 90er.
Das Mastermind hinter dem MiST, Till Harbaum, kommt aus der Atari ST-Szene und hatte ursprünglich das Ziel, auf dem MiST einen Commodore Amiga („Mi“, als Ablösung für das Minimig) und einen Atari ST („ST“) nachzubilden. Wer die Historie nachlesen will, fange bei diesem Thread im Atari-Forum an. Dieses Ziel ist inzwischen weit übererfüllt. Der ST-Core kann inzwischen auch einen deutlich schnelleren STE nachbilden, der Amiga-Core hat inzwischen auch die Geschmacksrichtung AGA drauf. Und es sind zig Cores dazugekommen: Arcade-Automaten wie Pacman, Space Invaders und Moon Patrol, 8bit-Heimcomputer wie Schneider/Amstrad CPC, Commodore 64, Atari XL, MSX und Sinclair ZX Spectrum, frühe Spielkonsolen wie Atari VCS 2600 und CBS ColecoVision ebenso wie ihre etwas moderneren Nachfahren Nintendo Entertainment System, Sega Master System und NEC PC-Engine (auch als TurboGrafx bekannt).
Nun können heutige PCs mit Leichtigkeit ebenso diese kompletten Rechner und Spielkonsolen emulieren. VICE, Hatari, UAE, ArcEm, WinAPE, MAME, DosBox – die Liste ist endlos. Warum also nicht auf diese zurückgreifen? Ich würde nicht empfehlen, diese Frage im falschen Forum aufzuwerfen – die Fronten stehen sich unversöhnlich gegenüber. Die FPGA-Front reklamiert für sich, das echte Retro-Feeling bereitzustellen – ohne künstlich konvertierte Framerates, ohne Lags bei Tastatur und Joystick, ohne ewig Windows oder Linux booten zu müssen, und das alles in einer kleinen Box, die man auch mal zum Kumpel mitnehmen kann.
200€ sind aufgerufen für ein MiST-Board, käuflich zu erwerben z.B. bei Lotharek in Polen oder beim DragonBox Shop in Deutschland. Konkurrenz gibt es momentan eigentlich immer noch keine – FPGAArcade ist in den Startlöchern, aber das auch schon seit Jahren. Andere Projekte sind sehr speziell, wie z.B. das Suska-Board, das sich ganz der Atari ST-Welt verschrieben hat.
Nun habe ich – untypisch für mich, aber der Titel verrät es schon – das MiST-Board nicht nur gekauft, sondern tatsächlich auch in Betrieb genommen. Man sollte sich nix vormachen: das MiST-Board ist zwar durchaus professionell gefertigt und steckt in einem stabilen Metallgehäuse, aber der Feinschliff einer kommerziellen Ready-to-run-Lösung wird logischerweise nicht erreicht. Ein paar Hürden will ich nennen.
Zunächst sollte man die Firmware aktualisieren auf die neueste Version – oft sind neue Versionen von Cores zwingend auf Features neuer Firmware angewiesen, und wenn man nicht aufpasst, bekommt man merkwürdige bis verwirrende Fehlersituationen. Gott sei Dank ist der Upgrade einfach – SD-Karte (muss FAT-formatiert sein!) mit der neuesten firmware.upg-Datei bestücken und übers OSD updaten. Woher man die Firmware bekommt? Das MiST-Projekt wird auf Google Code gehostet, Firmware liegt frisch im SVN.
Klingt einfach? Nicht ganz, denn das OSD (erreichbar über den mittleren Taster) gibt es nur, wenn ein Core erfolgreich geladen wird. Man braucht also immer ein gültiges core.rbf auf der SD-Karte. Ich empfehle einen Atari-ST-Core. Mein MiST wurde mit einer Firmware-Version von April ausgeliefert, passend sind also ST-Cores ab Revision 1017.
Ein Stolperstein kann auch die verwendete SD-Karte sein. Eine SanDisk Ultra 2 GB aus meinem Bestand zeitigte merkwürdige Effekte, eine Transcend microSD 32 GB funktioniert völlig problemlos.
Kompliziert ist das Zusammenspiel mit moderner Hardware, namentlich dem Bildschirm. Das MiST-Board ist mit einem VGA-Ausgang ausgestattet. Also eher old-school. Aber lange nicht so old-school wie der simulierte Hardware. Und hier beginnen die Probleme. Seit die Welt moderne LCDs nutzt, wird dem analogen Videoeingang wenig Aufmerksamkeit gewidmet. Und so kommt es, dass die unterstützten Bildschirmmodi immer enger definiert werden. Oft werden von modernen Monitoren und Fernsehern nur noch die VESA-Modi unterstützt, und das stürzt uns Europäer in Sachen MiST in die Krise: ein europäischer Heimcomputer muss selbstverständlich 50Hz Bildwiederholfrequenz ausgeben, egal ob C64, Schneider CPC oder Amiga. Immerhin hat das MiST-Board einen Scandoubler mit an Bord, so dass nicht noch zusätzlich die 15kHz-Zeilenfrequenz-Krise über uns hereinbricht. Für echte Old-Schooler mit NEC MultiSync 3D oder ähnlich altgedienter Hardware kann man den Scandoubler per ini-Datei auch deaktivieren.
Erstes Ergebnis: mein Monitor (der eigentlich ein Fernseher ist – ein LG 22″er) mag nur mit den Arcade-Cores und dem Atari ST-Core zusammenspielen. Meine guten alten CRTs (der angesprochene NEC MultiSync 3D und ein Nokia 19″er) hingegen konnten auch mit dem 50Hz-Signal des CPC-Cores, des Amiga-Cores und des C64-Cores etwas anfangen. Der LG hat auch einen RGB-fähigen Scart-Eingang, d.h. dort könnte ich noch einen Versuch mit deaktiviertem Scandoubler starten. Versuche mit meinem Fernseher (älterer Toshiba-LCD) und meinem Projektor (Sanyo PLV-Z3) stehen noch aus, ebenso mit meinen zwei älteren LCD-Monitoren. Einige Cores kann man auf 60Hz-Betrieb umkonfigurieren, ob das im Einzelfall hilft muss ich noch testen.
Leider habe ich nirgendwo eine gescheite Lösung für dieses Problem gefunden. Es gibt VGA-HDMI-Konverter, aber die sind eher zickig. Es gibt Scart-HDMI-Konverter, für die gilt dasselbe. Es gibt professionelle Scaler-Lösungen, die sind eher teuer. Es gibt nirgendwo eine Liste von „guten“ Monitoren, die mit den entsprechenden Analog-Signalen klarkommen. Am Vielversprechendsten erscheint mir noch ein kleines Stück Hardware, das in diesem Forum vorgestellt wird.
Soviel zu den Hardware-Hürden. Aber auch die Software-Hürden sind nicht zu unterschätzen, insbesondere wenn man die Original-Rechner niemals besessen hat. Eine kurze Sammlung: für den Betrieb des Amiga-Cores braucht man selbstverständlich ein Kickstart-ROM. Woher nehmen? Zwei legale Möglichkeiten: aus einem alten Amiga auslesen, oder die kommerzielle Emulationslösung „Amiga Forever“ käuflich erwerben. Letzteres habe ich getan. Die Überraschung: jetzt habe ich zwar Lizenzen für alle möglichen Kickstart-Versionen der Welt, aber leider liegen sie nur in verschlüsselter Form vor. Gott sei Dank wusste das Internet Abhilfe. Beim Atari ST-Core ist die Sache etwas einfacher, da gibt es mit emuTOS eine Betriebssystemvariante, die als Open Source vorliegt. Wer Original-TOS-Versionen betreiben will, muss sich leider aus zweifelhaften Internet-Quellen bedienen.
Und wer wie ich den Archimedes-Core betreiben will, braucht natürlich ein lizenziertes RISC OS. Also wieder: aus einem alten Rechner rippen, oder bei RISC OS Ltd. kaufen – dort ist recht preiswert eine Sammlung alter Betriebssystemversionen von Arthur 0.30 bis RISC OS 3.71 mit allem dazwischen für 10 englische Pfund erhältlich. Ironischerweise – vielleicht würde dieser Artikel sonst im RISC OS-Blog erscheinen und nicht im IT-Blog – ist es mir nicht gelungen, den Archimedes-Core in Betrieb zu nehmen, der Bildschirm blieb schwarz – aber ich bleibe dran. Möglicherweise nur ein Problem mit dem MonitorType.
Meine MiST-Ziele für die absehbare Zukunft:
- CPC-Core: Bomb Jack, Ikari Warriors und Black Land spielen
- Amiga-Core: Katakis und Turrican spielen
- C64-Core: Armalyte und IO spielen
- Atari VCS 2600-Core: Jungle Hunt und Enduro spielen
- Arcade: Pacman und Space Invaders spielen
- Acorn Archimedes: Zarch und Elite spielen, lauffähig mit RISC OS 2 und RISC OS 3.1 mit Minimal-Floppy-Boot
Ich denke, das MiST-Projekt könnte durchaus davon profitieren, wenn „fertige“ SD-Card-Images (soweit es die rechtliche Lage erlaubt) verfügbar wären und etwas benutzerfreundlichere Dokumentation, wo man nicht so viel zwischen den Zeilen lesen und sich viele Informationen von mehreren Stellen zusammenholen muss. Könnte was für mich sein.