MISTer-Fortschritte und die zweite Luft für MIST

Schon lange nichts mehr zu MISTer und MIST geschrieben (zuletzt im Juni 2017). Dabei gibt es großartige Fortschritte bei beiden Projekten.

Der MISTer hat einen neu implementierten CPC-Core bekommen, der um Welten besser funktioniert als die alte, ursprüngliche Variante. MISTer-Mastermind Sorgelig hat viel Zeit darauf verwendet, besonders die CRTC-Implementierung (ein Motorola 6845, der in verschiedenen Varianten im CPC verbaut wurde, die sich alle in Kleinigkeiten unterscheiden, was von verschiedenen Demos auch weidlich ausgenutzt wird) und auch teilweise die Z80-Implementierung sowie die Floppy-Simulation (NEC 765), um endlich auch diverse Kopierschutzmaßnahmen sowie Sonderformate zu unterstützen.

MIST und MISTer profitieren gerade gemeinsam von einer Weiterentwicklung des Sega Genesis-Cores (für Europäer: Sega Megadrive), bei der unter anderem Sorgelig, GreyRogue und MIST-Mastermind Till Harbaum (“MasterOfGizmo” im Atari-Forum) zusammenarbeiten, nebst einem Spezialisten (“Jotego” im Atari-Forum) für die Soundchips des Genesis und mehreren Kennern der Originalspiele, die in langwierigen Testläufen die diversen Änderungen, die teilweise im Stundentakt gemacht werden, auf Regressions prüfen.

Im Zuge dieser Anpassungen und Weiterentwicklungen wurde auch für den MISTer eine neue Art des Scalings für den HDMI-Output implementiert auf Basis des “Nearest Neighbor”-Algorithmus, der diverse Artefakte des bisher benutzten Scalers verhindert (und dafür auf gewissen Hardware-Kombinationen aber auch neue Artefakte erzeugt). Das ist noch “work in progress” und derzeit eine Compile-Time-Einstellung, es sieht aber so aus wie wenn über zur Laufzeit ladbare Koeffizienten beide Skalieralgorithmen gleichzeitig im selben Core leben können. Und ein komplett neuer Scaler ist derzeit in Entwicklung – Stand heute ist die Scaler-Geschichte etwas unschön, weil sie spezielle IP erfordert, und diese nur für eher teure Quartus-Versionen (quasi die “Entwicklungsumgebung” für die Intel/Altera-FPGAs) verfügbar ist und die freien Versionen solche Cores nicht bauen können. Mit einem unabhängigen Open-Source-Scaler wäre dieses Hindernis auch aus dem Weg geräumt.

Lange Zeit fehlte ein Atari ST-Core beim MISTer – eigentlich die einzige große Lücke, alle anderen Cores waren längst auf dem MISTer portiert und teils sogar stark verbessert gegenüber ihrem MIST-Original. Und hier gibt es den vermutlich größten Fortschritt: ein komplett neuer Core namens FX CAST (von Jorge Cwik aka ijor im Atari-Forum), basierend auf einer zyklenexakten Nachbildung des Motorola 68000 und einer sehr präzisen Nachbildung von Grafik- und Soundchip. Die Sourcen dazu sind noch nicht offen, das soll aber demnächst so weit sein.

Also, ran an den MISTer, oder den alten MIST nochmal auspacken. Es gibt für den MIST inzwischen viele Cores, die das “Component out”-Kabel unterstützen, was es deutlich erleichtert, den MIST an einigermaßen aktuelle Fernseher oder Projektoren anzuschließen – bei vielen Bildgeräten hat “Component” neben HDMI als Input-Schnittstelle überlebt, während Scart-RGB mit der Lupe gesucht werden muss, genauso wie VGA-Eingänge mit ausreichender Flexibilität für die “krummen” Videosignale der diversen Cores.

Für den MISTer gibt es auch eine neue Version des USB-Hub-Boards mit der Wiederauferstehung des 9pol-Digital-Joystick-Anschlusses. Und es wird gerade mit Serial-to-MIDI experimentiert, um auch noch diese letzte MIST-MISTer-Lücke zu schließen.

Rundrum großer Fortschritt und viel Bewegung und Weiterentwicklung. Es ist eine Freude, das zu verfolgen, und ein schönes Beispiel für “Open Source funktioniert”. Besonders freue ich mich, dass Till wieder aktiv ins Geschehen eingreift, er klang zuletzt etwas negativ bezüglich der MIST-Zukunft (Produktion eingestellt, im Prinzip Abverkauf der letzten Exemplare, und Ärger mit Billig-Nachbauten wie Mistica die ihre Kunden im Regen stehen lassen). Er scheint wieder neue Energie gefunden zu haben.

Neues vom MIST

Ich hatte mich schon in früheren Beiträgen (hier, hier und hier). Speziell der Archimedes-Core liegt naturgemäß in meinem Fokus (siehe hier und hier).

Beim Archimedes-Core hat sich leider wenig getan, aber dafür hat sich im Rest der MIST-Welt erheblicher Fortschritt ereignet, über den ich kurz berichten will.

Zum einen gibt es jede Menge neue Cores. Der C16-Core gilt inzwischen als ausgereift und weitgehend komplett. Der VC20 steht nun auch als Core bereit. Und um die Commodore-Fraktion abzurunden, ist ein PET2001-Core gerade in der Mache. Bei den Arcade-Cores gibt es viele Neuzugänge – Galaga ist sicher das Highlight, viele weitere sind in der Pipeline. Bei den Spielkonsolen freuen wir uns auf den Sega MegaDrive (aka Genesis) Core – der macht schon einen guten Eindruck, aber die Soundunterstützung fehlt noch. Unter der Rubrik “Exoten” würde ich den Mattel-Aquarius-Core einordnen. Die Sinclair-Fraktion freut sich über den Spectrum-128K-Core und den Sam-Coupe-Core. Und noch was aus der Rubrik “Ultra-Exot”: der BK0011M aus Russland, quasi ein PDP11-Clone, gab sein Debüt.

Signifikante Fortschritte gab es beim Amiga-Core (Minimig-Aga) und beim Amstrad CPC-Core, der nun sowohl 60Hz-VGA- als auch 50Hz-TV-Ausgabe beherrscht. Auch der NES-Core hat eine Neuauflage erfahren. Der Atari800-Core kann nun 50Hz-PAL. Der MSX-Core kann auch mit der allerneuesten MIST-Auflage, wo wohl leicht verändertes SDRAM-Timing am Start ist, arbeiten.

Sorgelig hat sich um verbesserte Kompatibilität mit Bildschirmen gekümmert. Viele Cores unterstützen nun den 15kHz-Modus und erlauben eine Videoausgabe nicht nur per RGB für die Scart-Fraktion, sondern auch per YUV (auch als YPbPr oder Komponente bekannt). Das hat einige Vorteile. Während bei RGB via Scart strenggenommen nur PAL klassisch interlaced unterstützt war und die progressive-Ausgabe klassischer Computer und Konsolen mehr aus Versehen bei den typischen Röhrenfernsehern funktioniert hat, ist die progressive Ausgabe beim Komponenten-Signal anständig spezifiziert. Das erhöht die Chance, auch mit modernem Equipment anständige Ergebnisse zu erzielen. Seit der Erfindung von HDMI ist der Komponenteneingang zwar auf dem Rückzug (bei Fernsehern der neuesten Generation fehlt er ebenso wie der Scart-Eingang), aber selbst die neueste Generation AV-Receiver hat immer noch Komponenten-Eingänge an Bord, wenn auch in ständig reduzierter Anzahl.

Die Firmware des MIST wurde ebenfalls verbessert, vor allem die Konfigurationsoptionen zur Zuordnung von Funktionen auf Buttons von USB-Controllern wurden flexibilisiert. Die Repeat-Intervalle für Feuerknöpfe können nun ebenfalls eingestellt werden. Dazu die Unterstützung für die YUV-Ausgabe per mist.ini.

Ich hoffe, ich habe nix vergessen. Ich finde es sehr erfreulich, wie sich die MIST-Community über die Jahre entwickelt hat – zu Anfang lag noch viel Last auf den Schultern des MIST-Erfinders, aber in letzter Zeit gibt es immer mehr Contributers. Es bleibt spannend. Wenn jetzt noch Stephen Leary ein paar seiner geplanten Erweiterungen des Archimedes-Cores nachlegt…

RetroPie vs. MiST: erste Eindrücke

Als Kind der 80er mit besonderer Affinität zum Schneider CPC und tausenden Spielstunden Erfahrung mit Klassikern wie Bomb Jack, Nemesis, R-Type, Gryzor, Ikari Warriors, Renegade, Savage, Sorcery, Hexenküche II, Deflektor, Grand Prix Simulator, BMX Simulator, Barbarian, IK+, Highway Encounter, The Bard’s Tale, Boulder Dash, Bruce Lee, Combat School, Commando, Defender of the Crown, Speedking, Super Hang-On, Wec Le Mans, Prohbition, Silent Service, Gunship, They $tole a Million, Impossible Mission, Winter Games, Barry McGuigan’s Championship Boxing, Ping Pong, Yie Ar Kung Fu, Puzznic, Saboteur, Spindizzy, Ghost’n’Goblins, Western Games, Werner – Mach Hin! und Boulder Dash – um nur die wichtigsten zu nennen – bin ich immer auf der Suche nach Lösungen, die alten Schätzchen neu erleben zu können.

Seit einiger Zeit betreibe ich dazu das MiST-Board (alte Blog-Posts dazu hier, hier und hier), welches gute Dienste leistet, aber bekanntlich ist ja das Bessere des Guten Feind. Als Besitzer diverser Raspberry-Pi-Modelle – natürlich vornehmlich zum Einsatz von RISC OS – lag es nahe, eine der Emulationslösungen auf dem Pi unter die Lupe zu nehmen.

Als Distribution zum Testen habe ich mir RetroPie ausgesucht (Version 3.3), das im Prinzip eine benutzerfreundliche Schale um EmulationStation ist und Raspbian als Unterbau verwendet. Als Hardware-Basis dient ein RPi 2 Model B, um ein bisserl Luft für die CPU-intensive Emulation zu haben. Als Controller verwende ich einen Competition Pro USB, um das originale 80er Microschalter-Feeling zu genießen.

Der erste Test war natürlich mit dem CPC-Emulator (caprice32 wird hier als Backend verwendet). Dazu schnell ein paar DSKs per Netzwerk (RetroPie richtet standardmäßig SMB-Freigaben ein) auf den Pi gespielt, diese wurden problemlos erkannt und nach Auswahl von “Amstrad CPC” in einer grafisch schicken Liste angezeigt. Wie überhaupt die grafische Präsentation von RetroPie sehr schön aussieht. Nacheinander habe ich Bomb Jack, Nemesis, Grand Prix Simulator und Gryzor angetestet, sowohl mit Joystick als auch mit Tastatur gesteuert (traditionell spiele ich CPC-Spiele oft mit der Tastatur, weil ich zu Anfang meiner CPC-Karriere schlicht keinen Joystick hatte – der Computer war ja schließlich Lern- und Arbeitsgerät :-)). Optisch und akustisch ist das alles einwandfrei (eine echte Prüfung für Emulatoren ist immer die Sprachausgabe von Grand Prix Simulator). Aber ich hatte ständig das Gefühl, das was nicht stimmt. Ich kann es nicht genau sagen, aber irgendwie stimmt das Timing nicht. Die alten Rückenmarksreflexe funktionieren nur ab und zu – und dass die eigentlich noch in Ordnung sind, zeigt der Wechsel zum MiST – dort habe ich jederzeit das Gefühl, vor einem Original-CPC zu sitzen.

Das MiST ist also mein Favorit bezüglich des originalgetreuen Spieleerlebnisses. Was also spricht für RetroPie? Eine ganze Menge. Der Pi ist preiswerter als das MiST. RetroPie unterstützt mehr Plattformen. Bluetooth-basierte Controller können verwendet werden (dafür nicht ohne weiteres die klassischen Atari-kompatiblen digitalen Joysticks). Ein Anschluss an moderne Fernseher oder Projektoren per HDMI ist völlig problemlos. Auch komplexe Plattformen können emuliert werden – das MiST ist vermutlich irgendwo zwischen Amiga und Archimedes am Ende, der Pi 2 hat genug Saft für PS1, Sega 32X und Nintendo N64. Das Handling des MiST mit den SD-Karten ist uneleganter als die Befütterung des Pi über Netzwerkfreigaben. Die Auswahl der Spiele ist deutlich hübscher als über das schmale OSD-Menü des MiST.

Und kaum schreibe ich das alles auf, schon gibt es eine neue Version von RetroPie: 3.4 wurde am 2016-01-21 veröffentlicht, das unter anderem nun Debian Jessie statt Wheezy als Basis verwendet. Ansonsten klingen die Änderungen eher nach Bugfixing als nach Feature-Revolution.

Abgesehen davon gibt es Alternativen wie Lakka und Recalbox die auch noch ausprobiert werden müssen.

Aber am Ende bleibt die Erkenntnis: bevor man zu lange überlegt, einfach beides kaufen und Spaß haben.