RetroPie (V1.10): Amiga & ROMs übers Netzwerk

Raspberri Pi
Das Amiga-Problem

Dieser Text wurde archiviert! Eine Liste aller archivierten Texte findet ihr unter ‚RetroPie: Einrichtung für ältere Images‚.

Eine Übersicht der aktuellen Beiträge gibt es unter ‚RetroPie: Raspberry Pi als Emulator‚.


Sorgt bitte ggf. erstmal dafür, dass alle Updates, wie im letzten Beitrag erklärt, eingespielt sind.

Ich gehe hier wieder vom RetroPie Image 1.10 aus!

Diesmal soll endlich der Amiga-Emulator zum Laufen gebracht werden, außerdem möchte ich noch ein zweites Thema ansprechen, aber seht selbst:


Amiga (uae4rpi / uae4all)
Wie bereits bei der Installation erwähnt, zeigt sich auch der Amiga nicht, obwohl .adf-Dateien im amiga-Verzeichnis liegen. Hier gibt es ein ähnliches Problem, wie bei ScummVM. Allerdings weiß diesmal die EmulationStation überhaupt nichts vom Amiga. Damit dieser startbar wird, müssen wir einiges vorbereiten.

Achtung: Beachtet, dass ihr unbedingt ein Kickstart-ROM benötigt! Ohne dieses braucht ihr gar nicht weiter zu lesen!!

 

Kickstart kopieren
Der Emulator benötigt das Kickstart-ROM unter dem Namen kick.rom in seinem Hauptverzeichnis. Der einfachste Weg führt wohl über das amiga-Verzeichnis in dem wir auch unsere .adf-Dateien abgelegt haben. Kopiert also über den Windows-Explorer eurer ROM in das Verzeichnis \\raspberrypi\amiga.

Hier das 'kick.rom' ablegen
Hier das ‚kick.rom‚ ablegen

Dann verlasst die EmulationStation (z. B. mit F4) und führt folgende Anweisungen aus (noch mal zur Erinnerung immer auf die Groß- und Kleinschreibung achten):

Damit wechselt ihr in das Verzeichnis des Emulators.

Kopiert dann das Kickstart in das aktuelle Verzeichnis (hier das Emulator-Verzeichnis).

Nun könnt ihr mit ./uae4all testen, ob der Emulator startet…

Mehl als die 'Diskette' gibt es erstmal nicht zu sehen.
Mehl als die ‚Diskette‚ gibt es erstmal nicht zu sehen.

uae4rpi bietet leider kein Popup-Menü!
Ihr kommt daher hier nicht weiter. Verlasst also den Emulator durch drücken von <TAB>+q erstmal wieder.

 
Auch wenn die Anleitung Kommandozeilenparameter erwähnt, funktionieren diese aktuell nicht. Der Emulator akzeptiert nur die Datei df0.adf für Laufwerk 0 und df1.adf für Laufwerk 1!! Diese müssen sich außerdem auch noch im Emulator-Verzeichnis befinden. Um das zu testen kopiert einfach mal ein Spiel (ich nehme hier Carrier Command):

Das Spiel wird ins aktuelle Verzeichnis (immer noch das des Emulators) kopiert und dabei automatisch in df0.adf umbenannt.

Startet den Emulator mit ./uae4all erneut und euer Spiel wird jetzt automatisch geladen…

Die df0.adf wird automatisch geladen.
Die df0.adf wird automatisch geladen…
Die df0.adf wird automatisch geladen.
… und Carrier Command kann gestartet werden.

So weit, so gut, allerdings ist es schon nervig, wenn man jedesmal ein Spiel kopieren und den Emulator über das Terminal starten muss. Ihr möchtet doch bestimmt lieber die EmulationStation benutzen, oder?

 

Den Amiga in die EmulationStation einbinden
Um den Amiga in die EmulationStation einzubinden, kommen wir nicht ums Editieren einer Config-Datei herum. Falls ihr nicht auf der Eingabeaufforderung steht, beendet den Emulator oder die EmulationStation bitte und gebt dann die folgenden Anweisung ein:

Die Einstellungen der EmulationStation, welche Emulatoren es überhaupt gibt und wie sie aufgerufen werden, befinden sich in der Datei es_systems.cfg. Auch wo die ROMs zu finden sind und wie sie heißen, bzw. deren Dateiendung, wird hier angegeben.

Schaut euch mal etwas in der Datei um…
Die Reihenfolge, in der die Einträge hier gespeichert sind, bestimmt auch die Reihenfolge in der EmulationStation.
Beginnt eine Zeile mit der Raute #, dann ist dies ein Kommentar, diese Zeile wird also einfach ‚überlesen‚. Möchtet ihr einen Emulator (z. B. Doom oder Duke) nicht mehr ‘sehen‚, habt ihr hiermit, neben dem Löschen der ‚ROMs‚, die Möglichkeit dies durch einfaches ‚Auskommentieren‚ zu erreichen. Schreibt nur an den Beginn jeder Zeile, die zum gewünschten Emulatoreintrag gehört, eine # und schon wird dieser nicht mehr angeboten.

Sucht dann den Block für den C64 und wir schauen diesen Eintrag mal im Detail an:

DESCNAME ist der für uns lesbare Anzeigename des jeweiligen Emulators. Der Wert ist optional, es wird sonst auf den folgenden zurückgegriffen…

NAME wird von der EmulationStation zur internen Unterscheidung der verschiedenen Systeme verwendet. Dieser muss eindeutig sein!

PATH legt das Verzeichnis fest, in dem nach den ROMs / Images gesucht werden soll. Es werden auch evtl. vorhandene Unterverzeichnisse und Links durchsucht.

EXTENSION bestimmt die Dateierweiterungen, die die EmulationStation beim Durchsuchen der Verzeichnisse erkennt. Diese bestimmen somit, wann ein Emulator in der Oberfläche angeboten wird. Die Erweiterungen sind natürlich vom verwendeten Emulator abhängig. Da, wie schon (zu)oft erwähnt, bei Linux die Groß- & Kleinschreibung sehr wichtig ist, findet ihr oben z. B. auch .tab .TAB . Würden eure Spiele auf .tAb enden, dann müsstet ihr diese Schreibweise natürlich auch noch in die Liste aufnehmen. Alle Angaben müssen mit einem Punkt . beginnen und werden durch ein Leerzeichen <SPACE> getrennt!

COMMAND ruft nun den jeweiligen Emulator auf. Dabei wird häufig über %ROM% das ausgewählte Spiel übergeben, damit es direkt gestartet werden kann. Auch diese Zeile hängt natürlich wieder eng mit dem jeweiligen Emulator zusammen. Was der als Parameter annimmt, findet ihr in der jeweiligen Dokumentation.

PLATFORMID dieser Eintrag ist auch optional, er wird von ES-scraper benötigt, um die passenden Bilder und Texte zu finden (Liste der PlatformIDs).

Da wir nun den Aufbau der Einträge kennen, müssen wir jetzt einen solchen Block für den Amiga anlegen. Begebt euch an die Stelle in der Datei, an der der Emulator später erscheinen soll und gebt folgende Zeilen ein…

Nach der Erklärung von eben, sollten die Felder soweit bekannt sein.
Nur .adf-Dateien (wir beachten zwei schreibweisen) sind erlaubt, wir starten ein Script run.sh und die PlatformID findet ihr in der eben erwähnten Liste.

Beendet den Editor nun über <STRG>+x, drückt dann y, um eure Änderungen zu speichern und bestätigt den Dateinamen einfach mit <ENTER>.

Wenn ihr bereits .adf-Dateien im ROM-Verzeichnis habt, könnt ihr durchaus die EmulationStation starten und euch den nun vorhandenen Amiga-Bereich ansehen.

Der Amiga taucht in der EmulationStation auf.
Der Amiga taucht in der EmulationStation auf.

Starten läßt sich freilich noch nichts, wir müssen erst noch das Script run.sh schreiben. Also beendet die EmulationStation und wechselt mit cd ~/RetroPie/emulators/uae4rpi wieder ins Verzeichnis des Amiga-Emulators.

Über nano run.sh beginnen wir nun damit unser Script zu erstellen. Übernehmt einfach folgende Zeilen in die Datei.

Wir wechseln hier erst ins Emulator-Verzeichnis, löschen dann eine evtl. vorhandene df0.adf-Datei und erzeugen anschließend unter diesem Namen einen Link (vergleichbar mit den euch bestimmt geläufigen Windows-Verknüpfungen) zum eigentlichen .adf-Image. Der Vorteil gegenüber einer Kopie (wie wir es weiter oben gemacht haben) ist, dass evtl. Änderungen an der Diskette in der Originaldatei landen, somit bleiben eure Highscores und Spielstände erhalten. Abschließend wird endlich der Emulator gestartet, der dann, wie oben gesehen, automatisch das df0.adf-Image lädt.

Nun könnt ihr wieder mit <STRG>+x die Eingabe beenden, mit y die Frage, ob gespeichert werden soll, bestätigen und schließlich mit <ENTER> den Dateinamen bestätigen. Jetzt sollten wir noch zur Sicherheit mit chmod +x run.sh dafür sorgen, dass unser Script auch tatsächlich ausgeführt werden kann.

Startet die EmulationStation und schon könnt ihr eure Amigaspiele über diese Oberfläche aufrufen. Das Script taugt natürlich nur für Spiele, die eine Diskette benötigen. Ihr könnt es aber auch so ändern, dass eine Datei an Laufwerk 0 und die andere an Laufwerk 1 gebunden wird. Dies erfordert aber eine einheitliche Namensgebung, damit im Script darauf reagiert werden kann, z. B. immer ein _D1 und _D2 am Ende des Namens.

Abschließend noch einige Anmerkungen:

  • Der uae4rpi Emulator scheint noch einige Probleme zu haben. Ich habe 8 Spiele getestet und zwei davon liefen nicht korrekt!
    Außerdem verhindert die fehlende Oberfläche ein Wechseln der Disketten. Selbst wenn ihr ein Spiel z. B. Blood Money, dass zwei Disks besitzt, mit beiden Laufwerken verknüpft, kann es passieren, dass ihr es trotzdem nicht spielen könnt. Blood Money erwartet die zweite Diskette nämlich zwingend in Laufwerk 0!!
     
  • Der Sound über HDMI funktioniert an einigen TV-Geräten nicht richtig. Versucht also ggf. ein anderes Gerät oder verwendet die Klinkenbuchse am Pi.
    Bei mir hilft es in der Regel, erstmal einen anderen Emulator (ich nehme Space Invaders auf dem Atari VCS 2600) zu starten. Dann ist bei mir der Sound korrekt initialisiert und ich habe auch im Amiga-Emulator Sound.
     
  • und immer dran denken:
    Einen Reset des Amiga-Emulators führt ihr mit <TAB>+r aus und wie bereits erwähnt, beendet ihr ihn mit <TAB>+q.

 

Ich will aber ein OSD!
Als Alternative könnt ihr natürlich auch einen anderen Amiga-Emulator einbinden. Ich habe z. B. auch eine uae4all Version (basierend auf UEA4ALL rc3) mit Oberfläche im Einsatz. Diese war bis RetroPie 1.7 Teil des Images. Ihr könnt euch also z. B. von einer 1.7 Installation den gesamten Ordner ins ROM-Verzeichnis kopieren, von dort nach Windows und dann den gleichen Weg wieder zurück ins emulators-Verzeichnis auf eure aktuelle SD-Karte.

Ein komplettes Verzeichnis könnt ihr mit cp -r [pfad]/quellverzeichnis/. /[pfad]/zielverzeichnis/ kopieren.

Bei einer Standardinstallation kopiert ihr also mit  cp -r ~/RetroPie/emulators/uae4all/. ~/RetroPie/roms/amiga/uae4all/ das  uae4all-Verzeichnis, in das Verzeichnis, in dem ihr normalerweise die  .adf-Dateien ablegt. Auf dieses könnt ihr ja wieder übers Netzwerk zugreifen und somit auf die Karte mit der 1.10-Installation kopieren. Sobald ihr diese bootet, kopiert ihr das  uae4all-Verzeichnis dann wieder wie oben, nur ‚dreht‚ ihr diesmal die Verzeichnisse um. Vergesst nicht auch das kick.rom ins Verzeichnis zu legen.

Jetzt könnt ihr den Emulator wieder mit ./uae4all starten und ein OnScreenDisplay begrüßt euch.

Das OSD erleichtert die Bedienung.
Das OSD erleichtert die Bedienung.

 

Über Select Image Disk könnt ihr nun bequem eure Programme durchsuchen und das passende Image auswählen.

Der 'Filebrowser'
Der ‚Filebrowser‚

 

Nach der Auswahl, landet ihr wieder im ersten Menü und könnt über Run den Amiga starten. Jetzt ist es auch kein Problem Blood Money zu spielen. Sobald die Aufforderung zum Wechseln der Diskette kommt, drückt ihr F11 um das OSD zu öffnen, wählt die zweite Disc aus, geht wieder auf Run und schon läuft das Spiel weiter.

Weiter geht es mit der 2. Diskette.
Weiter geht es mit der 2. Diskette.

 

Wollt ihr diesen Emulator über die EmulationStation-Oberfläche starten, dann braucht ihr nur die Startanweisung in der  es_systems.cfg ändern. Da er ein OSD besitzt reicht es eine ‚Startlogik‚ wie bei ScummVM beschrieben einzubauen.

Mit Hilfe der besprochenen Punkte könnt ihr die EmulationStation natürlich dazu bringen nahezu alles zu starten, was so möglich ist, z. B. das Setupscript, raspi-config oder X-Windows.

 

Übers Netzwerk direkt auf ROMs zugreifen
Liegen eure ROMs (wie bei mir) z. B. auf einem NAS und ihr möchtet euch das ewige Kopieren sparen oder die Daten erst bei Bedarf am Pi kopieren, dann wäre es doch schön, wenn ihr direkt übers Netzwerk auf die ROMs zugreifen könntet. Ich gehe hier davon aus, dass es sich um ein von Windows ansprechbares Netzlaufwerk handelt.

Um dies zu bewerkstelligen legt zunächst einen Ordner an. Ich habe mich dazu entschieden diesen im bekannten roms-Verzeichnis, auf der SD-Karte, zu erzeugen.

Verlasst also, falls notwendig, die EmulationStation und wechselt mit cd ~/RetroPie/roms ins entsprechende Verzeichnis. Legt dann über sudo mkdir network euren Ordner an. Ihr könnt natürlich auch ein anderes Ziel-Verzeichnis wählen und auch den Namen network, für den neue Ordner, könnt ihr ändern, wichtig ist nur, dass ihr euch merkt, wo das neue Verzeichnis liegt und wie es heißt. Dieses Verzeichnis verwenden wir jetzt um unser Netzwerk-Verzeichnis zu ‚mounten‚.

Um in Zukunft direkt dafür zu sorgen, dass unsere Netzwerkverbindung beim Start automatisch hergestellt wird, müssen wir mal wieder eine Datei, nämlich fstab, ändern. Startet den Editor also über sudo nano /etc/fstab, geht dann ans Ende der Datei und fügt folgende Zeile hinzu.

Natürlich müsst ihr eure echten Werte nach diesem Muster eintragen:

Beendet die Eingabe dann wieder mit <STRG>+x, drückt anschließend bei der Abfrage y damit gespeichert wird und bestätigt den Dateinamen einfach mit <ENTER>.

Bootet danach den Pi über sudo reboot, verlasst, nach dem Hochfahren, die EmulationStation aber direkt wieder.

Jetzt sollten wir kontrollieren, ob alles geklappt hat. Gebt df -h ein, dies zeigt den freien Speicher der Laufwerke an. Eure Ausgabe könnte z. B. so aussehen

Wichtig ist, dass euer Netzwerklaufwerk jetzt erscheinen muss (Markierung). Falls dies nicht der Fall ist, kontrolliert die eben gemachten Angaben in der fstab.

Anschließend schauen wir auch mal ins neue Verzeichnis. Wechselt mit cd ~/RetroPie/roms/network dort hin und lasst euch anschließend über ls den Inhalt anzeigen.

Nun sollte ihr eure Netzwerkdaten und -Verzeichnisse sehen.

Übers Netzwerk sind die ROMs schon sichtbar...
Übers Netzwerk sind die ROMs (hier vom VCS2600) schon sichtbar…

Damit die EmulationStation auch ROMs übers Netzwerk sucht und startet, müssen wir noch das neue Verzeichnis in die es_systems.cfg eintragen. Startet den Editor nano ~/.emulationstation/es_systems.cfg und ändert nun alle PATH=-Angaben, die aufs Netzwerk zugreifen sollen, so dass unser neuer Ordner verwendet wird. Für das Atari VCS 2600-System könnte es wie folgt aussehen (ihr müsst selbstverständlich eure echten Netzwerkpfade verwenden):

Speichert eure Eingaben und startet die EmulationStation, nun solltet ihr auf die ROMs übers Netzwerk zugreifen können.

...jetzt sind die ROMs auch in der EmulationStation sichtbar.
…jetzt sind die ROMs auch in der EmulationStation sichtbar.

 

So, ich denke damit steht euch einiges an Informationen für den Umgang mit dem RetroPie-Project auf dem Raspberry Pi zur Verfügung und ihr könnt euer System flexibler einrichten / -setzen.

 


Schrott!!Naja...Geht so...Ganz gut...SUPER! (3 Bewertungen | Ø 5,00 von 5 | 100,00%)

Loading...


 

<<< zurück |

 

18 Gedanken zu „RetroPie (V1.10): Amiga & ROMs übers Netzwerk“

  1. Hallo ich bekomme immer ein :
    1: cd: can´t cd to /home/pi/retropie/emulators/uae4rpi

    meine Run.sh sieht so aus

    cd ~/retropie/emulators/uae4rpi
    rm df0.adf
    ln -s $1 df0.adf
    ./uae4all

  2. @Apu: Ich habe keinen Weg finden können, das D-Pad, anstatt der Analog-Sticks, unter UAE zu verwenden. Aktuell bleibt wohl nur die Verwendung eines digitalen Joysticks, in meinem Fall einem Speedlink Competition Pro USB, wenn man für den Amiga-Emulator eine digitale Steuerung möchte.

    1. Hi,

      Schade. Aber vielen Dank für deine Bemühungen!
      So einen Competition Pro als USB Variante habe ich glaube ich auch noch irgendwo liegen. Ist ja auch stilechter.
      Falls ich noch eine Lösung finden sollte, lasse ich es dich wissen.

      Gruss
      Apu

  3. OOh, tut mir leid. Ich hatte meinen ersten Beitrag nicht gesehen gehabt, und deswegen den 2. ähnlichen geschrieben.

    Das mit dem nicht auf getauchtm Amiga in der config habe ich beim 2.x Lesen hinbekommen. Man sollte dazwischen nicht was anderes machen 🙂

    Leider bekomme ich das Tastaturlayout nicht auf Deutsch hin, so kann ich die Sonderzeichen welche dann beim :
    cd ~/RetroPie/emulators/uae4rpi
    rm df0.adf
    ln -s $1 df0.adf
    ./uae4all
    eingeben brauche, nicht finde also vor allem dieses : ~

    Kann man diese von dir weiter oben beschriebene Version irgendwo her bekommen ?:
    uae4all Version (basierend auf UEA4ALL rc3)

    Die meisten Games bei mir sind mit 2 Disks, so das ich diese Version bervorziehen würde. Leider sind nut aktuelle 1.9x Versionen zu finden…oder ich bin mal wieder Betriebsblind..

    1. OOh, tut mir leid. Ich hatte meinen ersten Beitrag nicht gesehen gehabt, und deswegen den 2. ähnlichen geschrieben.

      Kein Problem.

      Leider bekomme ich das Tastaturlayout nicht auf Deutsch hin

      Der hier beschriebene Weg zur Umstellung des Layouts klappt nicht?

      Kann man diese von dir weiter oben beschriebene Version irgendwo her bekommen ?

      Garantiert gibt es diese UAE-Version auch im Netz, ich habe allerdings noch nie danach gesucht.

  4. Hallo,

    bei mir taucht der Amiga nicht in der es_systems.cfg auf…hab alles gemacht nach anleitung..aber wenn ich den emu starte kommt keine Diskette, sondern nur das gleiche Bild wie bei dir, aber schwarz mit den „Kästchen“ rechts unten …also die grünen und roten. Hab ich ein defektes Kickstart erwischt ?

  5. Hallo,

    ich stecke bei dem Punkt:
    ./uae4all
    fest, wenn ich den Befehl ausführe, schaltet der zwar irgendwie um, aber ausser dem unteren Rand, sehe ich nichts…anders beschrieben, ich hab das Bild mit der Diskette, nur ohne Diskette…also nur die kleinen „Fenster“ rechts unten, die 2 grünen und das rote….ist das Kick.rom vllt defekt ?

    Und Sorry für die schlechte Beschreibung meines Problems.

    Aber Hut ab für so eine Detallierte Beschreibung, auch wenn ich noch nicht alles umsetzen konnte.

    1. Hallo,
      ohne jetzt das genaue Verhalten des Emulators vor Augen zu haben, würde ich auch auf ein fehlendes oder defektes Kickstart tippen. Wichtig ist, dass es exakt den Namen ‚kick.rom‚ (kleines ‚k‘) hat und natürlich wirklich im entsprechenden UAE-Verzeichnis liegt.

  6. Hi,

    erstmal ein dickes Lob für den tollen Blog hier!

    Ich hab nach Deiner Anleitung den Amiga Emulator
    in die Emulationstation eingebunden. Das ganze funktioniert
    auch einwandfrei (ich verwende den uae4all und öffne über die
    Emulationstation einfach nur das OSD).
    Ich habe aber ein Problem – vielleicht kannst du mir da helfen:

    Ich habe üer USB ein Gamepad mit Digitalem und Analogem Steuerkreuz
    angeschlossen. In der Emulationstation als auch im SNES Emulator kann
    ich das Digitale Steuerkreut verwenden (konnte man dort ja einrichten).
    Der uae4all verwendet aber leider das analoge Steuerkreuz. Für
    alte Jump’n runs natürlich wenig vorteilhaft.
    Weisst du, wo ich das in dem uae4all umstellen kann?

    Gruß
    Apu

    1. Hallo,
      zunächst danke fürs Lob.

      So aus dem Stegreif kann ich nicht mal sagen, wie es sich bei meinem XBox-Pad im Amiga-Emulator verhält, das muss ich heute Abend mal kontrollieren.

      Sorry, heute Abend wird es nichts mehr…

    2. Habe es eben mal mit meinem XBox-360 Pad probiert und ja, es wird nur der Analog-Stick von uae4all verwendet. Auch das Ändern der Einstellungen von RetroArch brachte nichts. Selbst ein kompletter Verzicht auf die Zuweisungen für den Analog-Stick brachte keine Besserung, der Amiga bekam dadurch nur ein ‚dauer links‘-Signal.
      Da es mich jetzt auch interessiert, wieso das so ist und wie es sich abstellen läßt, werde ich am Wochende nochmal genauer schauen, da habe ich mehr Zeit.

  7. Hallo wenn ich nach deiner Anleitung gehe bekomm ich bei
    cp ~/RetroPie/roms/amiga/kick.rom
    immer die Fehlermeldung
    cp:Fehlender Zieldatei-Operand hinter „/home/pie/retropie/roms/amiga/kick.rom“
    Was ist mein Fehler.Ich bin ein Linux Neuling und weis nimmer weiter.

    1. Hi,
      kann es sein, dass du den abschließenden Punkt . vergessen hast?
      Du solltest nach
      cd ~/RetroPie/emulators/uae4rpi
      im Zielverzeichnis stehen und mit
      cp ~/RetroPie/roms/amiga/kick.rom .
      dann die Datei kopieren.

      Achtung der Punkt . am Ende der Zeile steht für das aktuelle Verzeichnis, also fürs Ziel und darf daher nicht weggelassen werden!!

  8. Was für ein toller Blog! Selten so etwas ausführlich erklärtes und interessant aufbereitetes gelesen. Hätte ich nur mehr zeit all das nach zu basteln… 😉 aber zu lesen wie du es machst in ein guter Ersatz!
    Danke!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Protected by WP Anti Spam