Rom Collection Browser - XBMC Spiele Frontend

  • @malte

    Ich wversuche meine PS3 Games mit rpcs3 einzubinden?

    Vor dem Import habe ich die Option "Ordnername als Spielename" gesetzt. und als Dateimaske "eboot.bin" verwendet.
    Das Spiel startet auch....ABER leider nimmt der dann nicht den übergeordneten Ordernamen, sondern den USRDIR, dort wu die eboot.bin liegt.
    Hier ein Beispiel: Tony Hawk's Pro Skater 5\BLUS31568\PS3_GAME\USRDIR\EBOOT.BIN

    Probem: Wenn ich die USRDIR umbenne, läuft das Spiel nicht.

    Ich habe es schin mit einer Verknüpfung probiert aber dann erhalte ich immer folgenden Fehler im Emulator:
    E SYS: Invalid or unsupported file format: Z:/Tools/Emulatoren/PS3/ROMS/Tekken 6/Tekken 6.lnk


    Hast du eine Idee?


  • Hab grad mal ein bisschen rumprobiert, ob man da tricksen kann.
    Ich hab die EBOOT.BIN Dateien temporär in den Oberordner geschoben, also in deinem Fall:

    1 Tony Hawk's Pro Skater 5
    1.1 EBOOT.BIN
    1.2 BLUS31568
    1.2.1 PS3_GAME
    1.2.2 USRDIR

    Mit dieser Struktur scrappen. Dann die Einträge der Spiele in RCB wieder löschen. Die EBOOT.BIN Dateien mit den *.nfo Dateien zurück in USRDIR schieben. Die *.nfo Datei, die noch den Namen des Spiels trägt, in USRDIR.nfo umbenennen.

    Wenn man nun die Spiele neu in RCB importiert und die Einstellung "Lokale Nfo Dateien berücksichtigen" aktiviert hat, importiert er das erste Spiel auch mit korrektem Namen, korrekter Beschreibung, korrekte Artworks und du wirst es auch starten können.. allerdings wird nur das erste Spiel importiert, alle weiteren Spiele werden ignoriert :/
    Ich vermute es hängt damit zusammen, dass RCB die Spiele in der Datenbank alle unter USRDIR abspeichert, was dann nicht funktioniert.
    Auf der anderen Seite hab ich in meiner Collection ein Gameboy Spiel und ein PlayStation Spiel, die ebenfalls beide den gleichen Namen haben und wo es keine Probleme gibt. Vielleicht sind die Plattformen in der Datenbank aber irgendwie voneinander getrennt, das kann ich nicht beantworten.

  • Guten Abend,

    ich möchte mich nach vielem Ausprobieren hier einmal melden, weil ich bei einer Sache beim besten Willen nicht weiterkomme. Ich habe wirklich viel gelesen und versucht.

    Und zwar habe ich eine Android-TV-Box (Orbsmart S85) mit Android 7, die von Werk aus gerootet ist. In Android sind folgende Emulatoren installiert:

    • für NES: Nostalgia. NES Pro
    • für SNES: snes9x EX+
    • für N64: Mupen64 Plus free

    Es läuft alleine auch alles gut. Jedoch würde ich zu gern den Rom Collection Browser nutzen in Kodi Leia (18.8), welches ebenfalls auf der Android Box installiert ist. Der wichtigste Vorteil ist, dass ich dann auf die ROMs zugreifen könnte, die auf meinem NAS liegen. In Android ist es leider unmöglich ein Netzlaufwerk einzubinden und die Emulatoren können nicht auf Netzwerkadressen zugreifen. Zudem sieht die Darstellung im Rom Collection Browser mit den Vorschauvideos etc. echt schön aus.


    Nun zu meinem Problem. Ich habe in den RCB in der aktuellen Version 2.2.4 + das Service Addon 1.0.1 installiert. Beim Anlegen einer Rom Collection fragt er gleich als erstes nach dem Pfad zu dem entsprechenden Core / Emulator. Aber wie gehe ich hier vor? Es gibt ja leider keine .exe-Datei, wie zum Beispiel bei Windows. Es handelt sich ja im Unterbau um ein reines Android-System. In der veralteten Version aus dem Kodi-Respository hat er die unter Android installierten Emulatoren selbstständig gefunden und somit konnte man sie einfach auswählen und hatte auch gleich die richtigen Parameter eingefügt. Leider kommt nach dem Anlegen mit der alten RCB-Version ein "schwarzer", leerer Bildschirm nach dem Einlesen der Roms und das Plugin bekomme ich nur geschlossen, wenn ich die Collection wieder per Menü lösche oder Kodi in der Android-Ebene kalt beende.


    Folgendes habe ich gemacht, was vielleicht bei der Lösungsfindung helfen könnte - oder ich bin komplett auf dem Holzweg...


    Da die Android-Box von Werk aus gerooted ist und ich etwas "rumsuchen" konnte, vermute ich, dass die Datein, auf die ich bei dem "Pfad zum Emulator" verweisen soll, wie folgt aussehen und dass sie sich im Root-Verzeichnis befinden:

    • NES:
      Code
      /data/app/com.nostalgiaemulators.nesfull-1/lib/arm64/libnostalgia.so
    • SNES:
      Code
      /data/app/com.explusalpha.Snes9xPlus-2/lib/arm64/libmain.so
    • N64:
      Code
      /data/user/0/paulscode.android.mupen64plus.free/lib/libcore.so

    Leider kann ich von Kodi aus nicht zu diesen Ordnern navigieren! Ich komme im Kodi-Dateibrowser nur bis zum Ordner "data" und nicht weiter. (Auch die Option mit den versteckten Dateien ändert daran nichts.)

    Warum denke ich, dass das die Cores sind? Weil ich mir testweise die Ordner auf meine SD-Karte kopiert habe und dann konnte ich die *.so-Dateien tatsächlich als Emulatoren auswählen am Anfang des Erstellens einer Rom Collection. Sie scheinen also die richtige Endung zu haben. Nur starten die Spiele so leider nicht und in den Parametern steht auch nur jeweils "%ROM%". Da bezweifele ich auch, dass das reicht...
    Aber diese Tests hatten ein Gutes. Das "Scrapen" ist so wenigstens einmal komplett durchgelaufen und mit dem RCB Version 2.2.4 erscheinen am Ende dann auch die Roms mit schönem Artwork. - Nur die Emulatoren starten eben leider nicht, wenn ich ein Spiel spielen möchte - was ja klar sein dürfte, bei den "falschen Locations".

    Ein Tipp vom User Gurkensandwich91 war, dass ich mal die config bearbeiten könnte und dort die Verzeichnisse manuell eintrage. Also habe ich mir die config.xml vom RCB mal eben kopiert und die Angaben per Hand angepasst. Ein Beispiel für NES sieht nun wie folgt aus:

    Code
    <emulatorCmd>/data/app/com.nostalgiaemulators.nesfull-1/lib/arm64/libnostalgia.so</emulatorCmd>

    Aber leider startet nach einem Neustart der NES-Emulator immer noch nicht. :( Wahrscheinlich fehlen hier einfach noch die entrsprechenden Parameter beim Durchreichen des Roms an den Emulator.


    Kann mir jemand helfen, die scheinbar sehr spezielle Vorgehensweise im OS Android begreiflich zu machen und helfen, dass die Emulatoren korrekt angesprochen werden? Ich weiß nicht mehr weiter. Echt schade, dass nicht, wie in der alten Version, die Emulatoren automatisch erkannt und auswählbar gemacht werden beim Anlegen der Rom Collection. Genau diese Funtion würde ich brauchen, denke ich.

    Unten habe ich noch Bilder mit den vermuteten Ordnern im Root-Verzeichnis angefügt. Auch ein Foto vom fertigen Durchklauf eines Test-Rom-Verzeichnisses. Das sieht gut aus! Aber beim Auswählen eines Spieles passiert dann eben leider nichts. Bitte helft mir. ?(


    Ich bedanke mich schon mal Voraus und entschuldige mich für den langen Text. Aber so konnte ich hoffentlich die Situation schon stark eingrenzen und deutlich machen.
    Und wenn weiteren Daten und Angaben benötigt werden, bemühe ich mich, diese schnell nachzureichen.

    Robert

  • @malte

    Ich habe immer noch das Problem, dass RCB beim Ausführen den Screensaver (addon) im Hintergrund nicht beendet und somit Kodi nach beenden von RCB abstützt.

    Der Fehler verhalt sich wie folgt.


    Wenn ich RCB genutzt habe -> nach einigen Minuten beende -> und in das Hauptmenü von Kodi zurückkehre, startet sofort der Screensaver addon. Standard Einstellung ist mir, dass das Addon nach 1 Minute Inaktivität automatisch startet und Wallpaper einblendet. Es sieht so aus, als wäre das Addon bei der Nutzung von RCB schon im Hintergrund gestartet. -> Wenn ich nun aber eine beliebige Taste drücke, um den Screensaver zu beenden, hängt sich Kodi aus.
    Das Problem tritt aber nur in Zusammenhang mit RCB auf. Andere Addons wie TuneIn Radio etc. sind nicht betroffen.
    Ich habe schon verschiedene Kodi und Picture Slideshow Screensaver Versionen probiert.
    Leider ohne erfolgt.

    Hast du eine Idee? Es wäre wirklich wichtig für mich.


    Das Problem besteht schon seit April:

    2020-04-26 20:20:39.295 T:1876 WARNING: CPythonInvoker(5, C:\Users\xxxxx\AppData\Roaming\Kodi\addons\script.games.rom.collection.browser\default.py): the python script "C:\Users\ xxxxx \AppData\Roaming\Kodi\addons\script.games.rom.collection.browser\default.py" has left several classes in memory that we couldn't clean up. The classes include: class XBMCAddon::xbmc:

    Externer Inhalt forum.kodi.tv
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    layer,class XBMCAddon::xbmcaddon::Addon
    2020-04-26 20:20:58.462 T:11752 ERROR: CPythonInvoker(6, C:\Users\ xxxxx \AppData\Roaming\Kodi\addons\screensaver.picture.slideshow\default.py): script didn't stop in 5 seconds - let's kill it

  • @RobertMV, @Slipass:
    Sorry, ich habe Eure Posts erst heute gesehen. Ich sehe mir das in den nächsten Tagen an und melde mich wieder.

    Schon mal kurz vorab:
    @RobertMV: Du kannst die Emulatoren nicht direkt starten bzw. nicht nur den Pfad zu den Emulatoren angeben. Man muss meines Wissens die Emulatoren immer mit "/system/bin/am" starten. Du kannst Dir im RCB-Userdata Verzeichnis (dort, wo auch die config.xml liegt) mal die Datei "emu_autoconfig.xml" ansehen. Dort stehen für einige Emulatoren Beispiel-Konfigurationen drin. Z.B. für den Snes9x steht dort folgende Konfiguration:

    XML
    <emulatorCommand>/system/bin/am</emulatorCommand>
    <emulatorParams>start --user 0 -n com.explusalpha.Snes9xPlus/com.imagine.BaseActivity -a android.intent.action.VIEW -eu Uri "file://%rom%"</emulatorParams>

    Diese Werte müssen dann in die config.xml überführt werden. Ob die Konfigurationen heute immer noch funktionieren, kann ich Dir leider nicht sagen. Ich habe selbst kein lauffähiges Android-System und kann das leider nicht testen.

    @Slipass:
    Wir müssten vermutlich versuchen vor dem Start des Emulators den Screensaver zu deaktivieren und nach dem Beenden des Emulators wieder zu aktivieren. Wenn ich Dir dazu ein paar Zeilen python-Code schicke und Dir sage, wo Du den hinkopieren musst, kannst Du das dann mal testen? Ansonsten kann ich Dir ggf. auch eine komplette Datei schicken, die Du einfach nur austauschen musst.

  • Hallo und danke fürs Antworten. Ich kann erst wieder ab Freitagabend rumprobieren, bin aber echt dankbar, wenn wir der Sache mal auf den Zahn fühlen könnten. Ich berichte mal, nachdem ich dem Tipp nachgehen konnte. Vielleicht versüßt es mir (und anderen) am Ende ja noch die bevorstehende Zeit des Lockdowns.

    Wirklich toll, danke im Voraus.

  • @RobertMV, @Slipass:
    Sorry, ich habe Eure Posts erst heute gesehen. Ich sehe mir das in den nächsten Tagen an und melde mich wieder.

    Schon mal kurz vorab:
    @RobertMV: Du kannst die Emulatoren nicht direkt starten bzw. nicht nur den Pfad zu den Emulatoren angeben. Man muss meines Wissens die Emulatoren immer mit "/system/bin/am" starten. Du kannst Dir im RCB-Userdata Verzeichnis (dort, wo auch die config.xml liegt) mal die Datei "emu_autoconfig.xml" ansehen. Dort stehen für einige Emulatoren Beispiel-Konfigurationen drin. Z.B. für den Snes9x steht dort folgende Konfiguration:

    XML
    <emulatorCommand>/system/bin/am</emulatorCommand>
    <emulatorParams>start --user 0 -n com.explusalpha.Snes9xPlus/com.imagine.BaseActivity -a android.intent.action.VIEW -eu Uri "file://%rom%"</emulatorParams>

    Diese Werte müssen dann in die config.xml überführt werden. Ob die Konfigurationen heute immer noch funktionieren, kann ich Dir leider nicht sagen. Ich habe selbst kein lauffähiges Android-System und kann das leider nicht testen.

    @Slipass:
    Wir müssten vermutlich versuchen vor dem Start des Emulators den Screensaver zu deaktivieren und nach dem Beenden des Emulators wieder zu aktivieren. Wenn ich Dir dazu ein paar Zeilen python-Code schicke und Dir sage, wo Du den hinkopieren musst, kannst Du das dann mal testen? Ansonsten kann ich Dir ggf. auch eine komplette Datei schicken, die Du einfach nur austauschen musst.

    @malte
    Wenn es nur eine xml Datei ist sehr gerne. Das bekomme ich noch hin :)
    Schicke mir einfach den Code.
    Ich kann es dann testen und dir Feedback geben.

  • @malteWenn es nur eine xml Datei ist sehr gerne. Das bekomme ich noch hin :)
    Schicke mir einfach den Code.
    Ich kann es dann testen und dir Feedback geben.


    Ok, es ist doch etwas mehr geworden. Daher habe ich das in meinem aktuellen Entwicklungsbranch eingecheckt. Hast Du schon eine Matrix-Umgebung, in der Du das testen könntest? Falls ja, kannst Du Dir hier den aktuellen Stand ziehen: https://github.com/maloep/romcollectionbrowser/tree/launcher.

    So richtig gut funktioniert das leider nicht. Ich kann zwar den Bildschirmschoner beim Starten des Spiels löschen und nach Beenden des Spiels wieder setzen. Aber scheinbar merkt Kodi sich die Zeit der Inaktivität und startet den Bildschirmschoner sobald dieser wieder gesetzt wird. Ich versuche zwar, darauf zu reagieren, indem ich dann ein Tastenkommando absetze, das den Bildschirmschoner beendet. Aber in Deinem Fall könnte das schon zu spät sein und sich der Bildschirmschoner trotzdem schon aufhängen.

    Wäre schön, wenn Du das testen könntest, ob/wie es für Dich funktioniert.

    Das Feature lässt sich über die Addon Settings aktivieren (Launch Games/Disable Screensaver).

  • Hallöchen,

    ich konnte die Parameter aus der emu_autoconfig.xml in die config.xml im userdata Ordner deines Addons übertragen. Ich musste das Addon allerdings erstmal austricksen, damit er mir eine config.xml überhaupt anlegt, da er ja sofort beim Start einen Pfad zum Emulator unter Android verlangt. Wenn man da nichts einträgt oder ihn zu keiner Datei führt, legt er auch keine config.xml an. ;) (Habe dann einfach erstmal auf ein Spiel verlinkt... das hat er geschluckt.) Das Scrapen mit meinem lokalen Material (Spiele, Boxart, Gampelay-Video) lief wieder einwadfrei vom NAS.

    Ich habe es mit SNES9X plus probiert und in der config.xml die Zeilen auf das folgende geändert.


    Code
    <emulatorCmd>/system/bin/am</emulatorCmd>      
    <emulatorParams>start --user 0 -n com.explusalpha.Snes9xPlus/com.imagine.BaseActivity -a android.intent.action.VIEW -eu Uri "file://%rom%"</emulatorParams>


    Quasi genau das, was du mir oben ebenfalls geraten hattest. Dies bewirkt nun, dass der Emulator (Die Android App SNES 9x plus) zwar aus Kodi heraus gestartet wird, aber leider lande ich dort dann nur im Hauptmenü. Das Spiel, welches der Rom Collection Browser in Kodi ja vom meinem NAS gescraped hat und welches ich auswähle, startet nicht. Ich kann dann in dem Emulator wieder nur die lokalen Spiele auswählen. In sofern habe ich da leider nichts gewonnen. Auch habe ich etwas "Angst", da die Auflösung von Kodi sich vertsellt, nachdem ich die Android App (SNES9x plus) wieder schließe. Kodi hängt dann verkleinert in der unteren linken Ecke. Zum Glück war das nach einem Neustart von Kodi wieder in Ordnung.

    Muss vielleicht der Teil "file://%rom%" an die Rom-Quelle angepasst werden? Oder muss das da so stehen bleiben?

    Ich könnte zum Test die Parameter für Mupen (N64 Emulator) probieren und ich habe mir die APK vom Emulator "nes.emu" (Emulator für das NES) angeschafft, die ebenfalls laut der emu_autoconfig.xml unterstützt wird. Ich fürchte aber fast, dass die Roms vom NAS dann ebenfalls nicht "durchgereicht" werden. Falls doch, wäre für das SNES eine Alternative Emulator-App vielleicht eine Überlegung wert.

    --

    Update:
    Wenn ich ein NES-Spiel auswähle, öffnet sich leider ebenfalls der frisch installierte Emulator "nes.emu" (die Android-App) im Hauptmenü, aber ohne das Spiel vom NAS zu starten. Auch hier ist nach dem Beenden Kodi in der "falschen Auflösung" und unten links in die Ecke gequetscht...

    Code
    <RomCollection id="3" name="NES">
    <gameclient />
    <emulatorCmd>/system/bin/am</emulatorCmd>
    <emulatorParams>start --user 0 -n com.explusalpha.NesEmu/com.imagine.BaseActivity -a android.intent.action.VIEW -eu Uri "file://%rom%"</emulatorParams>


    Für N64 funktioniert es leider gar nicht. Ich habe dafür den Mupen64plus free Emulator aus dem Playstore in Android installiert. Es gibt dafür zwei Angaben in der emu_autoconfig.xml: Einmal ohne "root" und einmal mit "root". Beide Varianten haben den Effekt, dass sich beim Auswählen eines Spieles die Auflösung kurz verringert und dann wieder auf FullHD zurückspringt, aber es öffnet sich nicht der Emulator oder das Spiel. (Meine Android TV Box ist von Haus aus gerootet.)

    Vielleicht hilft das ja irgendwie weiter. Würde mich freuen.

    Einmal editiert, zuletzt von RobertMV (6. November 2020 um 15:29) aus folgendem Grund: Update

  • Ich fürchte, da bin ich mit meinem Latein erst mal am Ende. Eventuell hat sich mittlerweile die Art und Weise geändert, wie unter Android externe Programme aufgerufen werden.

    Es gibt aber zumindest im AEL-Thread im engischen Kodi Forum einen Post von diesem Jahr, der auch noch die gleichen Einstellungen verwendet: Link. Ganz so verkehrt kann das also nicht sein. Vielleicht hilft Dir auch die anschließende Diskussion weiter. (Ich hab die noch nicht komplett gelesen.)

    Ein Versuch in RCB wäre noch, im Edit Rom Collection Dialog das Setting "Use Popen To Launch Emulator" auf true zu setzen. Eventuell macht das auch noch mal einen Unterschied: Wiki

  • Hallo,

    danke für deinen Link und die Anregung.
    Ich selbst habe auch noch drei Ansätze, die ich vorher ausprobieren möchte:

    - Ich probiere mal, ob RCB die Roms an die jeweilige Emulator-App durchreichen kann, wenn diese lokal auf der SD-Karte liegen.

    - Wenn das klappt, probiere ich in Kodi mal die Roms vom NAS per NFS Freigabe in RCB zu "verlinken", statt per Samba. Denn Samba beötigt ja von jedem Programm bzw. jeder App extra das Passwort und den Usernamen. Vielleicht scheitert es daran... Per nfs könnte ich auf dem NAS der ganzen Android TV Box anhand deren IP Zugang gewähren. Das würde dann die Authentifizierung überflüssig machen.

    - Sollte das auch nicht klappen, werde ich versuchen, den ganzen NAS Ordner doch irgendwie in Android einzubinden. Dafür werde ich zwei Anleitungen probieren: https://www.nvidia.com/en-us/geforce/…lesystem-root-/

    und alternativ

    https://stackoverflow.com/questions/2173…internal-folder


    Die Anleitungen sind zwar etwas älter, aber das ist das installierte Android 7.1 ja auch... Root ist eh vorhanden.

    Ich werde berichten.

  • Ok, es ist doch etwas mehr geworden. Daher habe ich das in meinem aktuellen Entwicklungsbranch eingecheckt. Hast Du schon eine Matrix-Umgebung, in der Du das testen könntest? Falls ja, kannst Du Dir hier den aktuellen Stand ziehen: https://github.com/maloep/romcollectionbrowser/tree/launcher.

    So richtig gut funktioniert das leider nicht. Ich kann zwar den Bildschirmschoner beim Starten des Spiels löschen und nach Beenden des Spiels wieder setzen. Aber scheinbar merkt Kodi sich die Zeit der Inaktivität und startet den Bildschirmschoner sobald dieser wieder gesetzt wird. Ich versuche zwar, darauf zu reagieren, indem ich dann ein Tastenkommando absetze, das den Bildschirmschoner beendet. Aber in Deinem Fall könnte das schon zu spät sein und sich der Bildschirmschoner trotzdem schon aufhängen.

    Wäre schön, wenn Du das testen könntest, ob/wie es für Dich funktioniert.

    Das Feature lässt sich über die Addon Settings aktivieren (Launch Games/Disable Screensaver).

    So, ich konnte nun Kodi 19 auf der Testumgebung installieren und ein wenig testen.

    Mit deiner Anpassung scheint es zu funktionieren. Nun startet der Bildschirmschoner zwar auch, wenn man in das Menü von RCB ist aber das ist nicht schlimm.

    Der „dirty workaround“ scheint also zu funktionieren. Kannst du die Anpassung auch in der RCB Version für Kodi 18 machen?

    Danke dir schon einmal

  • So, ich konnte nun Kodi 19 auf der Testumgebung installieren und ein wenig testen.
    Mit deiner Anpassung scheint es zu funktionieren. Nun startet der Bildschirmschoner zwar auch, wenn man in das Menü von RCB ist aber das ist nicht schlimm.

    Der „dirty workaround“ scheint also zu funktionieren. Kannst du die Anpassung auch in der RCB Version für Kodi 18 machen?

    Danke dir schon einmal

    @malte

    Hattest du schon Gelegenheit, dir das unter Kodi 18 mal anzuschauen bzw. das RCB Addon für Leia anzupassen?

  • Kommt auch immer drauf an, wie aufwändig das wird. Ich werde es mir auf jeden Fall mal ansehen. Ich denke, die Änderung kann ich 1:1 in Leia übernehmen, dann ist der Aufwand gering. Ich hoffe, ich habe dieses Jahr noch mal ein Zeitfenster, um mich um RCB zu kümmern.

  • Hi Malte,

    gestern ist ein neuer Core für Retroarch erschienen: DOSBox Pure. Ich versuche damit gerade ein Spiel zum Laufen zu bekommen, das Windows 3.1 benötigt. In der normalen DOSBox hat das auch schon funktioniert, aber ich muss halt in der DOSBox immer erst Windows 3.1 booten und mich dann zu dem Spiel navigieren.
    Weißt du ob es einen Befehl für RCB gibt, mit dem ich direkt ins Spiel springen kann, ohne mich erst durch Windows navigieren zu müssen? Da ich nur ein Spiel für diese Rom Collection habe, kann der Befehl ruhig statisch sein

  • Hallo zusammen,

    ich benötige auch mal wieder eure Hilfe.

    Ich versuche gerade verzweifelt den RCB auf Kodi 19/ Android TV zu installieren, allerdings kann ich dieses Addon nicht finden? Ist dieses in den den Standart-Repos nicht verfügbar, oder wo liegt mein Fehler?

    Vielen Dank für Eure Antworten.

    Mit freundlichen Grüßen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!