Vom MIST zum MISTer

Es gibt ein interessantes neues Projekt im MIST-Universum. Sorgelig, einer der aktivsten Core-Portierer und -Entwickler fürs MIST-Board, hat ein neues Projekt gestartet: der MISTer ist sowas wie ein Nachfolger für das MIST-Board, mit deutlich verbesserter Hardware, aber weitestgehend kompatibler Firmware und damit einer einfachen Möglichkeit, die verfügbaren MIST-Cores auf den MISTer zu portieren.

Warum überhaupt neue Hardware? Das MIST ist langsam an die Grenze seiner Leistungsfähigkeit angekommen. Atari ST und Amiga sind noch im machbaren Bereich, beim Acorn Archimedes wird es schon sehr knapp, und am Sega Megadrive scheitert man aktuell (einige Dinge laufen gut, andere weniger). Die Atari ST-Community träumt natürlich von einer Falcon-Nachbildung, was von den Experten für das MIST aufgrund mangelhafter Leistungsfähigkeit ausgeschlossen wird. Dazu kommt, dass der VGA-Ausgang des MIST ein ständiges Problem darstellt: der Core selbst muss sich darum kümmern, dass videotechnisch so einigermaßen was Kompatibles zu heute verfügbaren Monitoren oder Fernsehern rauskommt. Im MIST-Forum behandeln gefühlt 90% der Postings die Themen Scandoubler, Picture Centering und Konvertierung des analogen Videosignals nach HDMI. Fast alles am MIST ist Plug-and-Play, aber nicht die Bildschirmfrage.

Hardware-Basis des MISTer ist das Terasic DE10-nano-Board. 130 US$ kostet das Basis-Board, natürlich ohne Gehäuse oder ähnlichen Schnickschnack. Der zentrale FPGA-Baustein übertrifft den des MIST um Längen: ein Intel (ex-Altera) Cyclone V mit 110K LEs (MIST: Cyclone III mit 25K LEs), einem ARM Cortex-A9 mit 800 MHz (MIST: 48 MHz ARM), deutlich mehr internem Speicher, und der ARM kann deutlich enger mit dem FPGA-Teil kooperieren. Ein HDMI-Ausgang ist an Bord, es wird automatisch auf 720p skaliert. Per Daughterboard gibt es aber weiterhin Zugriff auf das analoge Signal der Cores nebst analogem Audio-Ausgang.

Während im MIST der ARM nur Steueraufgaben hatte – USB, Menü anzeigen, auf die SD-Karte zugreifen, I/O-Ports kontrollieren – kann im MISTer der ARM durch die enge Kopplung viel mehr Aufgaben übernehmen, sogar Teile der Emulation selbst. Vor allem für Dinge wie das Auslesen von Daten aus Floppy-Images oder ähnliches ist das ein Segen, weil man auf fertig verfügbare Bibliotheken zurückgreifen kann, wie sie auch gewöhnliche Emulatoren verwenden. Mit einem Cortex-A9, der auf nicht weniger als 1 GB RAM zugreifen kann, ist sowas kein Problem. Auf dem ARM läuft ein Minimal-Linux, so dass man auch auf vorgefertigte Treiber z.B. für USB-Devices zurückgreifen kann. Damit ist ein einfacher Weg geebnet, um einiges an Legacy-Hardware wiederzuerwecken, vom seriellen über den parallelen Port bis hin zu IDE oder Floppy (z.B. über Kryoflux).

Aus Entwicklersicht ist laut Sorgelig der größte Vorteil, dass man komfortabel in einer IDE wie Visual Studio die Firmware entwickeln kann und per Knopfdruck auf das Board deployed. Neben der Tatsache, dass die Hardware viel leistungsfähiger ist natürlich und man deshalb bei der Verwendung oder Portierung anderer FPGA-basierter Projekte nicht mehr so viele Handstände machen muss.

Das Projekt ist noch im Frühstadium. Die MIST-Firmware wurde erfolgreich portiert, einige Cores auch. Im Moment wird der Sega Megadrive-Core angepasst.

Gibt es andere Nachteile außer der Tatsache, dass sich das Projekt in einer unausgereiften Frühphase befindet? Der MISTer hat keine klassischen DB9-Joystickports und auch keine MIDI-Ports wie das MIST Plus (aber es gibt GPIO-Pins, die dafür verwendet werden könnten). Und man kann das Ding (noch?) nicht fertig kaufen inklusive Gehäuse. Beim MIST konnte man das Board noch komplett selbst bauen – Platine ätzen und bestücken, kein Problem (genügend Geduld und entsprechendes Equipment vorausgesetzt). Der MISTer-FPGA ist in BGA-Bauweise, so dass man zwingend ein professionell gefertigtes Board wie das Terasic DE10-nano als Basis verwenden muss.

Ich bin gespannt auf die weiteren Fortschritte des Projekts.