#197 – Kuchenform und Streusel – RetroPie II

Ach, hör doch auf – schon wieder so eine Bäcker-Metapher? Was soll denn der Quatsch… 😛

Seht es mir nach Leute, spätestens jetzt kann ich auch keinen Rückzieher machen und muss den Teig wohl oder übel vollständig durchkneten! 😛

Beim letzten Mal haben wir den Raspberry Pi samt RetroPie und EmulationStation ja grundsätzlich zum Laufen bekommen. Heute möchte ich noch ein paar weitere Spiele (Streusel) aufspielen und dem Kleinstcomputer ein Gehäuse (Backform) verpassen. Backe, backe Kuchen und so! 😀

Als erstes wollte (oder musste?) ich mich nochmal der Steuerung widmen. Mir ist aufgefallen, dass die Tasten beispielsweise im NES-Emulator nicht optimal belegt waren. So sind z.B. bei „Ninja Gaiden“ die Sprung- und Schwertschlag-Taste vertauscht.

Kein Problem, denn genau für diesen Zweck habe ich bei der Einrichtung des Controllers eine Hotkey-Taste definiert. Mit dieser lassen sich (in Kombination mit weiteren Tasten) zahlreiche Emulatoreinstellungen verändern und Sonderfunktionen wie z.B. Save-States nutzen. Ebenso kann über diesen Weg ganz einfach der Emulator beendet und zurück ins Hauptmenü gesprungen werden.

Im „Quick Menu“, welches ebenfalls über eine Hotkey-Kombination erreichbar ist, können wir die Tastenbelegung ändern und diese entweder nur für das eine Spiel, oder für den gesamten Emulator als Standardwert setzen. So sollte sich „Ryu“ viel einfacher durch die Levels steuern lassen! 🙂

Auch habe ich beim letzten Mal vergessen zu erwähnen, dass bei jedem Spielstart ein kleines Menü aufpoppt, über welches man einige grundlegende Einstellungen anpassen könnte. So kann man z.B. definieren, über welchen Emulator (es stehen meist pro emuliertem System mehrere zur Auswahl) ein Spiel gestartet oder mit welcher Auflösung das Videosignal ausgegeben werden soll. Diese Einstellungen lassen sich sogar pro Spiel individuell verändern – echt cool!

Soweit so gut. Jetzt können wir versuchen, einige weitere Systeme und Emulatoren zum Laufen zu bekommen. Gerade die älteren Konsolen funktionieren meist ohne Probleme auf dem Raspberry Pi. Hier läuft z.B. gerade „Pitfall!“ im Atari 2600 Emulator:

Oh weh – da habe ich wohl den Mund zu voll genommen, denn prompt verweigert uns der Atari 5200 Emulator den Dienst! Startet man ein 5200er Spiel…

…erscheint lediglich eine kryptische Meldung: „Atari Computer – Memo Pad“. Was soll das denn heißen?!

Im Endeffekt bedeutet das, dass der Atari-Computer kein (virtuell) angestecktes Modul erkennt. Doch woran liegt das? Nun, zum einen müssen entsprechende BIOS-Dateien für das System selbst vorhanden sein. Leider kann das in unserem Fall nicht das Problem sein, denn das Thema der unterschiedlichen Emulatoren-BIOS-Dateien haben wir ja schon beim letzten Mal erledigt.

Mal wieder musste mir das Internet etwas unter die Arme greifen. Tatsächlich müssen ein paar grundlegende Einstellungen des Emulators geändert werden. Das geht am Einfachsten aus dem „Quick Menü“ (über HOTKEY + „X“, nachdem ein beliebiges Spiel gestartet wurde) heraus. Hier muss der Systemtyp von „400/800“ auf „5200“ geändert werden. Dadurch laufen zwar die Spiele, doch das virtuelle Gamepad wird leider noch nicht erkannt. Hierfür muss erneut in den Controllereinstellungen im Quick Menü der Device Type von „RetroPad“ auf „Atari Joystick“ umgestellt werden.

Fun Fact: Eigentlich sollten die Emulatoren „out of the box“ funktionieren, doch im Falle des Atari 5200-Emulators (lr-atari800) ist das nicht der Fall, da dieser auch das Atari 800 System emulieren könnte. Dementsprechend sind einige Systemeinstellungen leider standardmäßig falsch gesetzt.

Und siehe da – kaum macht man alles richtig, funktioniert es auch! 😛 Hier spiele ich gerade eine Runde „Berzerk“:

Auch Spiele für die früheren Sega-Konsolen können ohne Probleme abgespielt werden. Hier läuft z.B. gerade „California Games“ auf dem Master System:

Für Konsolen aus dem Hause Nintendo ist ebenfalls gesorgt. Neben NES und SNES (siehe Artikel 196) gibt es so z.B. für den Game Boy – dem Handheld-Klassiker der 90er – auch diverse Emulatoren. Für das volle „Nostalgie-Feeling“ kann man den Hintergrund in klassischen Grau- bzw. Grünstufen eingestellt lassen. Wem das zu oldschool ist, der kann auch in den Einstellungen die Farbpalette des Super Game Boys oder des Game Boy Colors auswählen. So werden die Texturen nachkoloriert und das ist – meiner Meinung nach – für das Auge auf Dauer wesentlich angenehmer… 🙂

Die Emulationsmöglichkeiten sind nahezu unbegrenzt. So können auch hierzulande (zumindest im Mainstream) eher unbekanntere Konsolen wie z.B. das Neo Geo („Neo Turf Masters“) oder der Neo Geo Pocket (Color) („The Last Blade: Beyond the Destiny“) auf dem Mini-PC simuliert werden.

Fun Fact: Gerade die Grafiken der Neo Geo Spiele beeindrucken auch heute noch! Kein Wunder, denn mit der damals (leider unbezahlbaren) leistungsstarken Hardware ließen sich die aus den Spielhallen bekannten Automatenspiele kompromisslos eins zu eins in den eigenen vier Wänden zocken. Obwohl das Neo Geo seiner Konkurrenz (z.B. Supernintendo oder Mega Drive) technisch gesehen Lichtjahre voraus war, blieb es nicht zuletzt auf Grund der extrem hohen Preise für Konsole und modulbasierte Spiele eher ein Nischenprodukt. Die beste Technik setzt sich eben nicht immer durch! 😉

Die Frage ist – wie sieht es mit leistungshungrigeren Konsolen wie z.B. der PlayStation 1 aus? Ich war überrascht, dass der Raspberry auch damit keine Probleme zu haben scheint – echt krass! 🙂 Hier läuft gerade „Colin McRae Rally 2.0“, ein alter Klassiker mit (für mich persönlich) extrem hohem Nostalgiewert (Stichwort Kindheitserinnerungen)! 😉

Fun Fact: Mit bis zu 700MB (single disc) pro Spiel oder sogar noch mehr (multi-disc) fällt das Handling der PS1-ROMs (bzw. CD-Images) z.B. im Vergleich zu den nur wenige Kilobyte großen NES-ROMs wesentlich schwerer. Hier muss man – je nach Größe der verwendeten MicroSD-Karte) schon gut überlegen, welche Spiele man auf seinen Raspberry packen möchte! 😉

Mit den entsprechenden Drehschrauben (Enhanced Resolution) lässt sich sogar das Bild noch etwas verbessern und der Controller auch als Sony „Dualshock“ (also mit Analogstick) verwenden. Generell gibt es in diesen Menüs gefühlt unendlich viele Einstellungsmöglichkeiten. Ich möchte an dieser Stelle jedoch nicht tiefer einsteigen, das ist was für Leute mit zu viel Zeit! 😛

Fun Fact: Um Platz zu sparen kann man die recht großen PS1-Images (BIN/CUE) mit einem Tool namens „PSX2PSP“ in das PBP-Format umwandeln. Zum einen hat das den Vorteil, dass die Images um ca. 25% komprimiert werden und andererseits lassen sich so „Multi-Disc-Spiele“ (also Spiele, die auf mehreren CDs erschienen sind) zu einer Image-Datei zusammenfassen! 🙂

Doch das war noch nicht alles, denn angeblich kann das kleine Technik-Kraftpaket sogar Segas letzte Konsole, die Dreamcast emulieren. Allerdings ist die Funktion nicht von Haus aus mit an Bord, der dreamcast-Emulator muss händisch nachinstalliert werden. Bevor man das tut, macht es Sinn ein Update des Systems auszuführen. Das geht mit den Befehlen „sudo apt update“ und „sudo apt full-upgrade“ von der retropie-Kommandozeile aus.

Anschließend kann über das Setup-Skript der dreamcast-Emulator namens „redream“ nachinstalliert werden:

Ist das geschafft, können entsprechende ROM-Dateien in ein automatisch erzeugtes „dreamcast“-Verzeichnis auf den Pi kopiert werden.

Fun Fact: Analog zu den Images der PlayStation können die voluminösen Dreamcast-GDI-Images komprimiert werden, um Platz auf der MicroSD-Karte zu sparen. Hierfür wird ein Tool namens „CHDMAN“ benötigt, welches die GDI-Images (samt Binärdateien) in sehr kleine CHD-Dateien umwandelt. Die Kompressionsrate ist bei jedem Spiel unterschiedlich. In meinem Fall werden anstatt 2,2GB (für beide Spiele) nun nur noch 940 MB benötigt – das nenne ich mal Effizienz! 🙂

Und tatsächlich – auch die Dreamcast-Spiele können gespielt werden (hier läuft gerade „Crazy Taxi“). An und für sich läuft das Spiel flüssig und es kommt nur selten zu Frameeinbrüchen, sofern man nicht im Hintergrund noch irgendwelche Aktionen (z.B. Updates oder Kopiervorgänge) auf dem Pi laufen lässt. Allerdings merkt man spätestens bei der Dreamcast-Emulation an einigen Stellen schon, dass der Raspberry an seine Grenzen kommt.

Kümmern wir uns abschließend noch um eine für mich (aus nostalgischen Gründen) sehr wichtige Konsole – das Nintendo 64. Leider habe ich mit dessen Emulation in der Vergangenheit oft schlechte Erfahrung gemacht, da diese (analog der Dreamcast) leider recht ressourcenhungrig ist. Ob der Raspberry Pi 4 das schafft? Die passenden Emulatoren sind bereits an Bord, somit muss lediglich das N64-Verzeichnis mit Spielen gefüttert werden:

Was soll ich sagen? Tatsächlich scheint Mario recht flüssig durch die Levels zu hüpfen – ich bin begeistert! 🙂 Lediglich an sehr rechenintensiven Stellen (z.B. Wasseranimationen, Explosionen, etc.) kommt der Emulator ähnlich wie bei der Dreamcast etwas (wenn auch nur ganz leicht) ins Stottern.

Um noch etwas mehr Leistung aus dem Pi heraus zu kitzeln gibt es die Möglichkeit die Komponenten des Rasbperrys (GPU + CPU) zu übertakten. Allerdings muss man dann auch für genügend Kühlung sorgen, sonst kann es mit dem Pi ganz schnell zu Ende gehen. Um den Pi noch etwas flotter zu machen, müssen entsprechende Werte in der Datei „/boot/config.txt“ gesetzt werden. So kann z.B. der CPU-Takt um sage und schreibe ca. 25% erhöht werden!

Fun Fact: Nach einigen Tests haben bei mir die Werte „arm_freq=1950“, „over_voltage=4“ und „gpu_freq=750“ die besten Ergebnisse geliefert, ohne dass das System instabil wird oder abraucht! 😉

Nach einem Neustart merkt man, wie die Spiele tatsächlich noch etwas besser laufen. So ruckelt z.B. das Menü bei „Crazy Taxi“ nicht mehr und Mario läuft auch ein paar km/h schneller als zuvor! 🙂

Hui, man merkt allerdings schon, dass gerade die CPU bei einer derart hohen Belastung recht heiß wird. Ich denke es wird höchste Zeit, dass wir den Raspberry in ein Gehäuse verpflanzen. Hierfür habe ich mir ein Miuzei-Gehäuse samt Kühlkörpern und Lüfter für den Raspberry zugelegt.

Fun Fact: Je nachdem an welchen Pin man den Lüfter am Raspberry anschließt, kann dieser mit drei oder fünf Volt betrieben werden. Dadurch lässt sich steuern, wie schnell der Lüfter drehen soll und somit letztendlich wie stark man den Computer kühlen möchte – clever!

Puh, sind das viele Einzelteile. Den langwierigen (und etwas kniffligen) Einbauprozess erspare ich euch mal, deshalb hier gleich das fertige Ergebnis – sieht meiner Meinung nach schon echt cool aus!

Fun Fact: Ich habe mich absichtlich für ein Plastikgehäuse entschieden. Die aus Metall gefallen mir persönlich zwar besser und sind etwas stabiler, doch leider schirmen sie die Funkverbindungen nahezu vollständig ab. Mit so einem Metallgehäuse würde wohl der über Bluetooth angeschlossene Controller nicht mehr (oder nur mit wenigen Zentimetern Abstand) funktionieren.

So, ich bin dann mal weg. Mit Sicherheit gäbe es noch die ein oder andere Einstellungen an den diversen Emulatoren vorzunehmen, aber das kann ich auch alleine machen. Schließlich habe ich euch heute lang genug mit dem Thema genervt! 😀

Ciao!

Write a comment