Neulich bin ich auf dem Dachboden über meinen alten Amiga 500 gestolpert. Mit dem hatte ich während meiner Schulzeit unheimlich viel Spaß. Hinzu kam, dass ich in einer c’t einen Artikel über RetroPie gelesen habe.
Inhaltsverzeichnis
Warum RetroPie
Ich hätte den Amiga natürlich reaktivieren können. Er ist aber riesig und sieht nicht mehr so schön aus. In mein Wohnzimmer hätte der vergilbte Klotz nicht so richtig reingepasst.
Ein Emulator auf dem PC wäre auch eine Möglichkeit, allerdings lassen sich originale Joysticks nur umständlich anschließen.
RetroPie läuft auf einem Raspberry Pi. Dieser ist schön klein, billig und lässt sich ohne Probleme an den HDMI-Eingang des Fernsehers anschließen. Die aktuelle Version 3 ist auch schnell genug, um den Amiga flüssig zu emulieren. RetroPie ist auf der Homepage gut dokumentiert.
Installation RetroPie
Das Image für den Raspberry Pi kann man auf der Seite von RetroPie herunterladen. Um das Image auf die SD-Karte zu schreiben benötigt man noch Win32 Disk Imager.
In Win32 Disk Imager wählt man das zu schreibende Image (das hat man ja gerade heruntergeladen) und den Laufwerksbuchstaben der SD-Karte aus. Anschließend klickt man auf schreiben. Ein paar Minuten später ist der Vorgang abgeschlossen und man kann die Karte in den Raspberry Pi stecken.
Für die ersten Schritte benötigt man einen Fernseher / Monitor, Tastatur, Maus und ein Netzteil. Wenn man alles mit dem Raspberry Pi verbunden hat, startet er und zeigt seinen Willkommen-Bildschirm. Man wird aufgefordert ein Gerät zu konfigurieren. Das ist wichtig, damit man RetroPie später bedienen kann.
Um die Tastatur zu konfigurieren muss man eine beliebige Taste auf der Tastatur drücken. Anschließend startet das Konfigurationsprogramm. Hier werden die einzelnen Funktionen abgefragt und sobald man eine Taste drückt, wird sie belegt. Bei der Tastatur sind nicht alle Funktionen sinnvoll. Nicht benötigte kann man überspringen, indem man eine Taste lange drückt.
Ich habe folgende Funktionen / Tasten belegt:
- D-Pad: Cursor Tasten
- Start: S
- Select: M
- A: Leertaste
- B: Escape
- Hotkey: H
Anschließend wird das Startmenü angezeigt. Mit A (Leertaste) kann man die Konfiguration (RetroPie Menü) starten.
Das ist die zentrale Stelle um Einstellungen in RetroPie zu machen. Der erste Weg führt in die Raspi-Config.
Als erstes sollte das Tastaturlayout auf Deutsch umgestellt werden. Das geht bei „Localisation Options“. Wenn man WLAN verwenden will, muss man das Land hier auch bei den WIFI Einstellungen anpassen. Anschließend kann man die Raspi-Config wieder schließen.
Jetzt ist auch der richtige Zeitpunkt, um ein Update durchzuführen. Hierfür ist das RetroPie Setup zuständig. Dies lässt sich auch über das RetroPie Menü starten.
Man wählt hier „Update“ aus und beantwortet anschließend alle Fragen mit „Ja“. Der Vorgang kann einige Zeit dauern.
Amiga Emulator Amiberry installieren
Um auf RetroPie Amiga Programme ausführen zu können, muss ein Emulator installiert werden. Ich habe mich für Amiberry entschieden, da er von den RetroPie Entwicklern empfohlen wird. Er ist von UAE4ARM abgeleitet und unterstützt zusätzlich WHDLoad.
Die Installation geht mit dem RetroPie Setup. Über „Manage packages“ -> „Manage optional packages“ kann man amiberry auswählen.
Ein Klick auf „Install from source“ installiert Amiberry.
GPIO DB9 Treiber installieren
Natürlich möchte ich meine alten Joysticks verwenden. Die lassen sich nicht ohne weiteres mit dem Raspberry Pi verbinden. Sie haben einen speziellen Anschluss (DB9). Es gibt Adapter von DB9 auf USB. Die sind aber nicht gerade billig und auch etwas sperrig.
In der sehr guten Dokumentation habe ich einen anderen Weg gefunden. Man kann den Joystick direkt mit den GPIO Pins des Raspberry Pi verbinden.
Es muss ein Treiber über das RetroPie Menü installiert werden. Dazu einfach wie beim Emulator „Manage Packages“ -> „Manage Driver Packages“ -> „gamecondriver“ auswählen und installieren.
Damit der Treiber auch geladen wird, muss man einige Dinge auf der Kommandozeile erledigen. Am einfachsten geht das über den File Manager (RetroPie Menü).
Dort tippt man ein:
sudo nano /etc/modules
Der Editor öffnet sich. und am Ende der Datei ergänzt man
db9_gpio_rpi
Ctrl-x beendet den Editor. Hier wird man auch gefragt, ob man die Datei speichern will.
Jetzt wird der Treiber bei jedem Start geladen.
Der Treiber muss noch wissen, welcher Joystick angeschlossen werden soll. In meinem Fall ist das der DB9-Joystick.
Dazu im File Manager folgendes eintippen:
sudo nano /etc/modprobe.d/db9.conf
In die Datei wird eingefügt:
options db9_gpio_rpi map=1,1
Jetzt wird es Zeit den Raspberry Pi neu zu starten. Hierzu öffnet man im Start Menü das Main Menü (Start: S). Über Quit kann neu gestartet werden.
Amiga Emulator konfigurieren
Nach dem Neustart, wird man ein neues Menü entdecken.
Wenn man dieses öffnet, findet man „Start Amiberry“.
Bei der Konfiguration für den Emulator kann man verschiedene Einstellungen vornehmen. Da sollte man erstmal nichts verstellen. Das passt ganz gut.
Bei Input sollte dann auch für Port 1 der Multisystem Joystick auftauchen. Wenn nicht ist etwas bei der Installation / Konfiguration des Joysticktreibers schief gegangen.
Abschließend fehlen noch die Spiele und das Kickstart-ROM. Diese müssen auf den Raspberry Pi kopieren werden. Im Windows Explorer eures PCs taucht unter Netzwerk eine neue Freigabe „RETROPIE“ auf, wenn Ihr den Raspberry Pi mit Eurem Netzwerk verbindet.
WHDLoad und RetroPie
Wenn man über den Amiga und seine Emulatoren recherchiert, liest man immer etwas über WHDLoad. Aber was ist das eigentlich?
Bisher habe ich die Emulation immer ganz klassisch verwendet. Ich habe den Emulator für jedes Spiel konfiguriert. Es gibt das Kickstart-ROM (das ist das BIOS des Amiga) und ein Diskettenabbild in Form einer ADF-Datei. Diese zwei Dinge werden vom Emulator geladen und ausgeführt. Wenn ein Spiel mehrere Disketten hat, müssen diese auch virtuell gewechselt werden. Das war früher schon nervig und ist es heute umso mehr.
Hier setzt WHDLoad an. Es ermöglicht Spiele, die eigentlich nur auf Diskette lauffähig waren, auf eine Festplatte zu installieren. Für den Emulator ist das natürlich ein virtuelles Festplatten-Abbild. Damit entfällt das Jonglieren mit Disketten. Außerdem bietet WHDLoad eine definierte Umgebung. Das bedeutet, dass das richtige Kickstart-ROM und die richtige Hardwarekonfiguration geladen wird.
Die Kickstart-ROMs werden in den Ordner \\RETROPIE\bios\amiga kopiert. Damit der Emulator die Dateien auch findet, müssen sie bestimmte Namen haben. Für WHDLoad benötigt man mindestens folgende Dateien:
- Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom
- Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom
- Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom
Sie müssen exakt so heißen und den entsprechenden Inhalt haben. Nähere Informationen finden sich hier.
Für WHDLoad müssen die Spiele im LHA-Format vorliegen. Sie werden nach \\RETROPIE\roms\amiga kopiert. Einen Hinweis, woher man die Spiele bekommt, findet man auf dieser Seite.
Schlussendlich muss der Raspberry Pi neu gestartet werden, damit man die Spiele im Amiga Menü sieht. Anschließend können die Spiele gestartet werden. Wenn hier irgendetwas nicht passt, kann man die Konfiguration des Emulators ändern, indem man F12 drückt.
Competition Pro Joystick reparieren
Der Competition Pro war in den 90ern einer der besten Joysticks, die man für Geld kaufen konnte. Meine beiden lagen über Jahre auf dem Dachboden und sind inzwischen 25-30 Jahre alt. Natürlich haben sie nicht mehr richtig funktioniert. Es gab Kontaktprobleme und bei einem hat eine Feuertaste nicht mehr richtig funktioniert.
Hier sieht man schön den lahmen Feuerknopf. Damit kann man nicht vernünftig spielen.
Auf der Unterseite gibt es vier Schrauben. Diese halten den Joystick zusammen. Nach dem Öffnen sieht man, dass der Schalter komplett fehlt. Den habe ich wohl mal ausgebaut.
Der Competition Pro war auch so beliebt, weil er Standard Microschalter verwendet hat. Die werden immer noch hergestellt. Ich habe die bei Conrad gekauft.
Sie passen ziemlich genau. An der einen oder anderen Stelle musste ich mit dem Cuttermesser nachhelfen. Die anderen Schalter lassen sich bei Bedarf auch austauschen.
Noch mal kurz mit dem Lappen drüber. Jetzt funktioniert der Joystick wieder.
Funktioniert der Competition Pro auch mit 3,3V?
Das nächste Problem ist die Versorgungsspannung des Joysticks. Der Amiga liefert 5V der Raspberry Pi nur 3,3V.
Hier sieht man die Dauerfeuer-Funktion bei 5V Versorgungsspannung. Die Frequenz liegt bei 77Hz.
Bei 3V sieht das Ergebnis fast gleich aus. Die Frequenz hat sich kaum verändert und das Signal sieht auch gut aus.
Man kann den Competition Pro also auch mit 3,3V betreiben.
NESPi Gehäuse
Der Raspberry Pi soll in das NESPi Gehäuse von Retroflag eingebaut werden. Das Gehäuse ist eine Mini Version vom Nintendo Entertainment System. Es ist relativ groß und bietet Platz für zwei DB9 Joystickanschlüsse.
Das Gehäuse kommt in einer ansprechenden Verpackung. Es ist gut verarbeitet und der Kunststoff wirkt sehr hochwertig. Eine Tasche und eine gedruckte Anleitung gibt es auch dazu.
Nachdem der Raspberry Pi eingebaut wurde, gibt es noch drei Sachen zu tun. Als erstes wird der Stecker mit dem Anschluss vom Raspberry Pi verbunden. Dann wird der Schalter (roter Kreis) auf ON gestellt.
Als letztes muss noch das Skript für den „Safe Shutdown“ installiert werden. Hierzu muss man ausführen (Achtung: die Leerzeichen sind wichtig):
wget -O - "https://raw.githubusercontent.com/RetroFlag/retroflag-picase/master/install.sh" | sudo bash
Nach einem Neustart, funktionieren die Tasten (Power / Reset) am Gehäuse.
Leider gibt es jetzt einen Konflikt. Die Joysticks und das NESPi Gehäuse verwenden die gleichen GPIO-Pins. Aus diesem Grund, muss man eine Änderung am Safe Shutdown Skript und an der Verdrahtung des Gehäuses machen.
Das Script kann man anpassen mit:
sudo nano /opt/RetroFlag/SafeShutdown.py
Folgende Anpassungen habe ich gemacht:
SafeShutdown.py | Wert alt | Wert neu |
---|---|---|
powerPin | 3 | 5 |
resetPin | 2 | 6 |
ledPin | 14 | 25 |
PowerenPin | 4 | 12 |
Natürlich müssen jetzt die Kabel auch neu sortiert werden. Dazu habe ich mir ein Pinheader Leergehäuse mit 32 Pins besorgt. Folgende Änderungen habe ich gemacht:
Farbe des Kabels | Raspi Pin alt | Raspi Pin neu |
---|---|---|
rot | 2 | 2 |
schwarz/rot | 6 | 6 |
gelb | 5 | 29 |
orange | 3 | 31 |
weiß | 8 | 22 |
grün | 7 | 32 |
GPIO nach DB9 Adapter
Um den original Competition Pro mir dem Raspberry Pi zu verbinden, wird ein Adapter benötigt. Die Pinbelegung findet man in der Dokumentation.
Diese Kabel für die D-SUB Stiftleisten werden mit dem Anschluss des Raspberry Pi verbunden:
Joystick 1
Funktion | Raspi Pin | DB9 Pin |
---|---|---|
Hoch | 7 | 1 |
Runter | 26 | 2 |
Links | 24 | 3 |
Rechts | 21 | 4 |
Feuer | 19 | 6 |
3,3V | 17 | 7 |
Masse | 20 | 8 |
Joystick 2
Funktion | Raspi Pin | DB9 Pin |
---|---|---|
Hoch | 10 | 1 |
Runter | 11 | 2 |
Links | 12 | 3 |
Rechts | 15 | 4 |
Feuer | 16 | 6 |
3,3V | 1 | 7 |
Masse | 9 | 8 |
Die Länger der Kabel sollte nicht zu lang gewählt werden, um das Chaos im Gehäuse nicht zu groß werden zu lassen.
Jetzt ist alle verbunden. An die beiden Buchsen werden später die DB9 Joysticks angeschlossen.
Nach beherztem Einsatz von Säge, Bohrmaschine und Feile wird das ganze in den Deckel des NESPi Gehäuses eingebaut. Es ist viel schöner als das von meinem Volumio und muss nicht versteckt werden.
Zusammenbauen und RetroPie spielen
Jetzt kommt der große Moment. Hardware und Software müssen zusammen spielen.
Der Amiga Emulator ist schön kompakt und sieht wie eine Retro Spielkonsole aus. Das Gehäuse ist sehr wertig und alle Anschlüsse liegen entweder vorne oder hinten. Die alten Spiele haben ihren Reiz nicht verloren.
Als weiteres Raspberry Pi Projekt habe ich einen Musikplayer und ein Pi-hole gebaut.
Schreibe einen Kommentar