Allgemein, Computer, Technik

Retro-Gaming selbstgemacht: Raspberry Pi + RetroPie = NESPi!

Spätestens als Nintendo mit dem Nintendo Classic Mini eine Neuauflage seiner klassischen Konsole „Nintendo Entertainment System“ (NES) veröffentlichte war das Interesse groß, auf einer nostalgischen Konsole die Spieleklassiker von früher zu spielen. Auch den Nachfolger SNES (Super Nintendo Entertainment System) gibt es mittlerweile in neuer Mini-Version. Beide Konsolen sind kleiner als das alte Original, sehen aber genauso aus. Das Manko: Sie sind recht teuer und beinhalten nur eine Hand voll vorinstallierter Spiele, die nicht erweitert werden können. Doch was Nintendo kann, kann man auch einfach selbst machen: Mit der passenden, günstigen Hardware kann sich heute jeder selbst eine Retro-Konsole bauen, die sich zudem viel reizvoller einstellen lässt. Hier zeige ich eine simple, aber dennoch überzeugende Variante.

Der Mini-Computer „Raspberry Pi“

Seit Anfang 2012 der „Raspberry Pi“ (auf Deutsch „Himbeerkuchen“, wobei das englische „pie“ als Wortspiel durch den auf englisch gleichklingenden Zahlennamen „Pi“ ersetzt wurde) auf den Markt kam, hat sich ein ganz neues Feld an Hobby-Bastlern entwickelt. Menschen überall auf der Welt nutzen die kleine Platine, um allerhand Ideen zu verwirklichen. Der Clou ist die Kombination aus (für diese Größe) leistungsstarker Hardware und kleinem Preis. Der aktuelle Raspberry Pi 3 kostet ca. 35€ und bietet alles, was man braucht. Die abgespeckte Variante, der Raspberry Pi Zero, kostet sogar nur 5€! Für 10€ bekommt man die kleine Variante inklusive WLAN und Bluetooth on-board. Es gibt mittlerweile unzählige Ideensammlungen für (manchmal mehr oder weniger) sinnvolle Anwendungsgebiete.

Retro-Gaming mit „RetroPie“

RetroPie
Logo des Betriebssystems „RetroPie“ (retropie.org.uk)

Die wahrscheinlich häufigste Verwendung des Pi ist – wie soll es auch für einen kleinen Computer anders sein – das Spielen. Da die Hardware für aktuelle 3D-Spiele zu schwach ist, erfreut sich vor allem das Retro-Gaming großer Beliebtheit, also das Spielen von Konsolenklassikern vom Atari 2600 (1977) bis hin zur PlayStation (1995). Und dank der großen Benutzer-Community rund um den Pi gibt es auch zahlreiche Möglichkeiten, das umzusetzen. Die populärste und einfachste Variante ist die Installation von RetroPie, das alles enthält, was man für den Start braucht.

Anleitung: Aufbau und Installation

Schachtel
Die notdürftig gebastelte 1. Version eines „Gehäuses“ war nicht ganz so schön …

Folgende Anforderungen hatte ich an die Umsetzung: Es sollte nicht zu komplex werden, gut aussehen, das entsprechende Retro-Gefühl vermitteln und mit kabellosen Controllern funktionieren. Das wichtigste Element ist dabei das Gehäuse für den Raspberry Pi, denn es soll ja am Schluss auch wie eine Konsole aussehen. Zwar können Anwender dank 3D-Druckern entsprechende Gehäuse entwerfen und bauen. Die Ergebnisse sind dabei oft beeindruckend, zumal dadurch jeder seine Vorstellungen genau umsetzen kann. Mittlerweile gibt es aber zum Glück auch schon fertige Gehäuse zu kaufen.

Verwendete Hardware

Der Preis ist damit ungefähr auf dem Niveau von Nintendos Neuauflagen. Aber der Pi bringt schlagende Vorteile:

  1. Ich bin nicht nur auf ein paar Nintendo-Spiele beschränkt, sondern kann im Grunde alles spielen, inklusive anderer Konsolen.
  2. Der Pi ist ein vollwertiger Computer und vielfältig einsetzbar. Da er keinen internen Speicher besitzt und nur mit SD-Karten funktioniert, kann ich einfach die Karte tauschen und ihn für etwas anderes nutzen.
  3. Ich kann fast jeden beliebigen Controller benutzen, egal ob USB-Gamepad, Joystick oder originale Wii- und PlayStation-Gamepads – der Pi akzeptiert (fast) alles. Wer also schon einen PlayStation 3-Controller mit Bluetooth besitzt, kann sich diesen sparen.
  4. Der wichtigste Grund des Eigenbaus ist für mich der Spaß und die Erfahrung des Selbermachens.

Der Zusammenbau

Das NESPi-Gehäuse kam mit einer kleinen Anleitung, damit auch jeder den Pi richtig einsetzen kann. Das Ganze geht sehr schnell und einfach, sogar ein kleiner Schraubendreher wurde mitgeliefert – da hat jemand echt an alles gedacht!

Installation und erste Einrichtung

Etwas schwieriger ist die Einrichtung von RetroPie. Zwar ist das Betriebssystem sofort einsatzbereit und man könnte es dabei belassen. Aber die Verwendung von Bluetooth-Gamepads erfordert noch deren Einrichtung, und auch optisch wollte ich ein paar Veränderungen vornehmen.

  1. Zunächst lädt man die aktuelle Version von RetroPie auf der Webseite herunter. Das Archiv wird entpackt und darin enthalten ist eine .img-Datei. Das ist ein Image des Betriebssystem, das 1:1 auf die microSD-Karte „gebrannt“ wird.
  2. Dazu nutze ich Win32 Disk Imager, das ich wärmstens empfehle, da man es auch zur Erstellung von Image-Backups der Speicherkarte nutzen kann.
  3. Die SD-Karte wird in den Pi gesteckt, dieser wird gestartet und dann wartet man, bis die automatische Einrichtung abgeschlossen ist.
  4. Zu Beginn muss man entweder eine Tastatur oder ein Gamepad über USB anschließen, um überhaupt etwas einstellen zu können. Eine Tastatur ist praktisch, da man dann auch Befehle eintippen kann, wie das WLAN-Passwort. RetroPie will aber nach dem ersten Start erst einmal Tastatur/Gamepad einrichten, was durch ein entsprechendes Menü zu Beginn passiert.
  5. Die einzige Auswahl in RetroPie ist das gleichnamige Menü, da noch keine Spiele vorhanden sind. Dort kann man ganz unten das WLAN einrichten, was nötig ist, um die Spiele zu übertragen.
  6. Im selben Menü gibt es auch die Option „Bluetooth“, unter der man das entsprechende Gamepad einrichten kann. Meist braucht es mehrere Versuche, bis der Pi das Gamepad erkannt hat. Es sollte dann tatsächlich der Name des Gamepads dastehen, in meinem Fall war das „8bitdo SNES30“. Ist das Gamepad erkannt und verbunden, leuchtet daran eine LED. Im Bluetooth-Menü habe ich noch die „udev-rule“ eingestellt, da dies für Geräte von 8bitdo nötig ist.
  7. Nach einem Neustart des Pi gehe ich über den zuvor festgelegten „Start“-Button in die Einstellungen und wähle unter „Input“ aus, dass ich ein neues Gamepad konfigurieren möchte. Nachdem sichergestellt ist, dass der Bluetooth-Controller verbunden ist, stelle ich diesen nach Bildschirmanleitung ein. Von nun an kann ich auf die Kabel-Geräte wie Tastatur und USB-Gamepad verzichten.

Das Übertragen von Spielen

Ein Hinweis vorweg: das Verwenden von Spielen, die man nicht in physischer Form besitzt, gilt als Raubkopie und ist somit illegal. Generell bewegt man sich hier in einem rechtlichen Graubereich, doch die Hersteller sehen das glücklicherweise nicht so eng. Sie würden sich auch der Lächerlichkeit preisgeben, wenn sie jemanden beispielsweise wegen eines 40 Jahre alten Atari-Spiels verklagen würden, das heute selbst geschenkt keiner mehr haben wollte und das man auf legalem Weg auch gar nicht mehr erwerben kann, selbst wenn man wollte. Das ist in dieser Hinsicht anders als bei Musik oder Filmen.

Da die Konsolenspiele auf Steckmodulen gespeichert waren und es keine digitale Verbreitung gab, kann man die Spiele nicht einfach herunterladen und auf dem PC nutzen. Es sind sogenannte Emulatoren nötig, welche eine virtuelle Konsole simulieren, die dann ein virtuelles Steckmodul laden kann, sogenannte ROMs. Diese kann man mit der entsprechenden Hardware aus den Modulen auslesen oder aus dem Internet herunterladen. Eine einfache Google-Suche führt hier in der Regel zum Ergebnis. Die Emulatoren wiederum sind bei RetroPie schon vorinstalliert. Unter der Haube ist hier die Emulatoren-Sammlung RetroArch im Einsatz, die es für so ziemlich jede Plattform gibt – ich habe es sogar auf meinem Amazon FireTV-Stick installieren können! Als Oberfläche wird EmulationStation verwendet, das man zum Beispiel auch am PC nutzen kann.

Windows-Freigabe
Diese Ordner gibt RetroPie automatisch im Netzwerk frei.

Die ROMs müssen nun in entsprechende Ordner auf dem Pi übertragen werden. Dazu öffnet man unter Windows den Explorer und geht zum Bereich „Netzwerk“. Da RetroPie automatisch die ROM-Ordner im Netzwerk freigibt, sollte man hier auch ein Netzlaufwerk namens „RETROPIE“ finden. Darin befindet sich der Ordner „roms“, der wiederum aufgeteilt ist in Unterordner für die jeweiligen Konsolen (z.B. c64, nes, snes). Die heruntergeladenen ROMs werden dann einfach in die entsprechenden Unterordner kopiert. RetroPie erkennt automatisch neu hinzugefügte Spiele, sodass man diese nach einem Neustart direkt auswählen und spielen kann. Damit ist die Grundeinrichtung abgeschlossen.

Kosmetik: „Themes“ und „Scraper“

Um das Erscheinungsbild aufzuhübschen verfügt RetroPie über die Möglichkeit, verschiedene Themes zu verwenden. Diese kann man sich am einfachsten im Überblick im RetroPie-Wiki anschauen und dann wie eben dort beschrieben im RetroPie-Setup installieren. Ich verwende zum Beispiel gerne „pixel“ oder „pixel-metadata“, weil es so schön altmodisch aussieht.

Ergebnis
Das Ergebnis: NESPi, kabelloses Gamepad und RetroPie mit „pixel“-Theme im Betrieb.

Auch die Spieleliste kann man verschönern, denn RetroPie verfügt über eine Funktion, die anhand der Spieletitel eine Datenbank absucht und dann die Titel, Datenbankinformationen und Spiele-Cover abruft. Diese „Scraper“ genannte Funktion lässt sich im Hauptmenü („Start“-Button) aufrufen und funktioniert ebenfalls selbsterklärend. Hierzu ein Tipp: Der Scraper erkennt die Spiele nur, wenn die Titel wirklich übereinstimmen. So konnte er beispielsweise mein ROM „F-Zero“ nicht finden, weil es „FZERO“ heißen müsste, der Bindestrich war also das Hindernis. Ebenso war „Duck Tales“ nicht auffindbar, es hätte „DuckTales“ heißen müssen, also ohne Leerzeichen. Sollte der Scraper nichts finden, kann man direkt „Input“ auswählen und solche Fehler korrigieren, ohne gleich die Dateien umbenennen und von vorne anfangen zu müssen.

Kosmetik für Fortgeschrittene: Retro-Feeling durch „Overlays“

Nicht jeder ist mit der Darstellung der Spiele zufrieden. Das Problem sind die modernen HD-Bildschirme: verpixelte Retrospiele in kleiner Auflösung werden hochskaliert auf große Fernseher und verlieren so ihren Charme. Das richtige Retro-Gefühl kommt erst auf, wenn auch das Bild entsprechend aussieht. Wer nicht gerade einen Röhrenfernseher daheim hat, ist auf Simulationen angewiesen. Am einfachsten lässt sich das durch Overlays erreichen, die wie ein Bilderrahmen um und über dem Bild liegen. Die von mir benutzten Overlays besitzen Scanlines und simulieren auf diese Art die Darstellung auf einem Röhrenmonitor. Als Alternative dazu kann man auf Shader zurückgreifen, die das Bild durch ein Skript entsprechend verändern und im Gegensatz zu Overlays auch verzerren können um den gewölbten Röhrenmonitor zu simulieren.

Retrostation
Beispiel für ein Overlay: Röhrenfernseher mit Scanlines. © github.com/biscuits99

Für die Verwendung von Overlays benötigt man einerseits passende Bilder, andererseits auch die richtige Einstellung: das Bild muss hier schließlich genau in den Ausschnitt des Monitors passen. Man muss RetroPie also die genauen Pixel nennen, die verwendet werden sollen.

Bilder und Einstellungsdateien habe ich im rp-video-manager auf Github gefunden. Am einfachsten ist es, das dort angebotene Skript zu verwenden, um alles automatisch zu installieren. Ich habe aber gerne die Kontrolle und daher die Einstellungen angepasst und selbst auf den Pi kopiert:

  1. Über SFTP mit dem RetroPie verbinden (siehe Abschnitt „SFTP“).
  2. Overlay-Bilder und gleichnamige .cfg-Dateien in /opt/retropie/emulators/retroarch/overlays kopieren. Der Einfachheit halber verwende ich für alle TV-Konsolen (C64, NES, SNES, PlayStation) die gleiche Datei, auch wenn sie sich eigentlich um ein paar Pixel unterscheiden sollten.
  3. Für jede Konsole eine passende retroarch.cfg-Datei in entsprechende Unterordner kopieren. Für das obige Fernseher-Bild nutzt man diese .cfg. Sie muss noch in retroarch.cfg umbenannt werden. Für den SNES kommt die Datei zum Beispiel in /opt/retropie/configs/snes. Mit einem Texteditor kann man diese Datei öffnen und auch nachsehen, dass der Dateiname für die .cfg-Datei aus Schritt 2 stimmt. Ich habe Bild und .cfg jeweils „retrostation“ genannt, daher muss meine retroarch.cfg für NES, SNES und PlayStation auf /opt/retropie/emulators/retroarch/overlays/retrostation.cfg verweisen.
  4. Nach Belieben weitere Overlays für Konsolen verwenden, das Prinzip ist immer das gleiche. Am besten verwendet man bereits voreingestellte Varianten wie die oben verlinkten.

Nun sollte alles richtig eingestellt sein – viel Spaß beim Ausprobieren und Spielen! 🎮

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s