zach-morris / kodi_libretro_buildbot_game_addons

Create Kodi Game Addons from the Libretro Buildbot Binary Files
GNU General Public License v3.0
21 stars 6 forks source link

game.libretro.opera no BIOS ROM found (LibreELEC) #8

Open B00daW opened 2 years ago

B00daW commented 2 years ago
2021-10-07 16:28:19.383 T:3255    DEBUG <general>: ------ Window Deinit (DialogSelect.xml) ------
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: Select game client dialog: User selected emulator game.libretro.opera_libretro_buildbot
2021-10-07 16:28:19.393 T:3255     INFO <general>: RetroPlayer[PROCESS]: Created process info for X11
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: ---------------------------------------
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Game tag loaded
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: URL: 
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Title: 
2021-10-07 16:28:19.393 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Platform: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Genres: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Developer: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Game Code: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Region: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Publisher: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Format: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Cartridge type: 
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Game client: game.libretro.opera_libretro_buildbot
2021-10-07 16:28:19.394 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: ---------------------------------------
2021-10-07 16:28:19.395 T:3255    DEBUG <general>: ADDON: Dll Initializing - The 3DO Company - 3DO (Opera)
2021-10-07 16:28:19.395 T:3255    DEBUG <general>: SECTION:LoadDLL(/storage/.kodi/addons/game.libretro/game.libretro.so.2.2.0)
2021-10-07 16:28:19.395 T:3255    DEBUG <general>: Loading: /storage/.kodi/addons/game.libretro/game.libretro.so.2.2.0
2021-10-07 16:28:19.397 T:3255    DEBUG <CAddonSettings[game.libretro.opera_libretro_buildbot]>: trying to load setting definitions from old format...
2021-10-07 16:28:19.397 T:3255    DEBUG <general>: AddOnLog: game.libretro.opera_libretro_buildbot: Libretro client supports loading with no game
2021-10-07 16:28:19.398 T:3255    DEBUG <general>: Calling TransferSettings for: The 3DO Company - 3DO (Opera)
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: ------------------------------------
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: Loaded DLL for game.libretro.opera_libretro_buildbot
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: Client: The 3DO Company - 3DO (Opera) at version 1.2021.18901
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: Valid extensions: .bin .chd .cue .iso
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: Supports VFS:                  no
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: Supports standalone execution: yes
2021-10-07 16:28:19.398 T:3255     INFO <general>: GAME: ------------------------------------
2021-10-07 16:28:19.398 T:3255    DEBUG <general>: RetroPlayer[INPUT]: Initializing input
2021-10-07 16:28:19.398 T:3255    DEBUG <general>: PERIPHERALS: Event poll handle registered
2021-10-07 16:28:19.398 T:3255     INFO <general>: RetroPlayer[PLAYER]: Opening: /storage/games/3do/Slayer (USA).cue
2021-10-07 16:28:19.398 T:3255    DEBUG <general>: GameClient: Loading /storage/games/3do/Slayer (USA).cue
2021-10-07 16:28:19.398 T:3255     INFO <general>: AddOnLog: game.libretro.opera_libretro_buildbot: [Opera]: CD image file in CUE: /storage/games/3do/Slayer (USA).bin
2021-10-07 16:28:19.399 T:3255    ERROR <general>: AddOnLog: game.libretro.opera_libretro_buildbot: [Opera]: no BIOS ROM found

2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: ---------------------------------------
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: Game loop:      true
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: FPS:            60.000000
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: Sample Rate:    44100.000000
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: Region:         NTSC
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: Savestate size: 4578203
2021-10-07 16:28:19.400 T:3255     INFO <general>: GAME: ---------------------------------------
2021-10-07 16:28:19.400 T:3255    DEBUG <general>: PERIPHERALS: Event lock handle registered
2021-10-07 16:28:19.402 T:3255    DEBUG <general>: AddOnLog: peripheral.joystick: Loaded device "Xbox 360 Wireless Receiver" with 19 controller profiles and 201 total features
2021-10-07 16:28:19.403 T:3255    DEBUG <general>: AddOnLog: peripheral.joystick: Loaded device "Xbox 360 Wireless Receiver" with 7 controller profiles and 90 total features
2021-10-07 16:28:19.414 T:3255    DEBUG <general>: PERIPHERALS: Event lock handle released
2021-10-07 16:28:19.414 T:3255    DEBUG <general>: GAME: No in-game saves (save ram) to load
2021-10-07 16:28:19.414 T:3255    DEBUG <general>: GAME: No in-game saves (rtc) to load
2021-10-07 16:28:19.414 T:3255    DEBUG <general>: RetroPlayer[PLAYER]: Using game client game.libretro.opera_libretro_buildbot
2021-10-07 16:28:19.414 T:3255    DEBUG <general>: Loading savestate from /storage/games/3do/Slayer (USA).sav
2021-10-07 16:28:19.420 T:3255    DEBUG <general>: RetroPlayer[SAVE]: Loading savestate
2021-10-07 16:28:19.420 T:3255    DEBUG <general>: Loading savestate from /storage/games/3do/Slayer (USA).sav
2021-10-07 16:28:19.441 T:3505    DEBUG <general>: Thread GameLoop start, auto delete: false
2021-10-07 16:28:19.441 T:3255    DEBUG <general>: OnPlayBackStarted: CApplication::OnPlayBackStarted
2021-10-07 16:28:19.441 T:3255    DEBUG <general>: OnAVStarted: CApplication::OnAVStarted
2021-10-07 16:28:19.441 T:3255    DEBUG <general>: RetroPlayer[SAVE]: Initializing autosave
2021-10-07 16:28:19.441 T:3506    DEBUG <general>: Thread CRetroPlayerAutoSave start, auto delete: false
2021-10-07 16:28:19.441 T:3506    DEBUG <general>: RetroPlayer[SAVE]: Autosave thread started
2021-10-07 16:28:19.446 T:3255    DEBUG <general>: CPlayerGUIInfo::InitCurrentItem(/storage/games/3do/Slayer (USA).cue)
2021-10-07 16:28:19.446 T:3255    DEBUG <general>: CGamesGUIInfo::InitCurrentItem(/storage/games/3do/Slayer (USA).cue)

I have put the BIOSes in "system" within the proper folder, within the libretro folder, within the addons folder, and within the folder that contains the ISO et cetera to no avail.

LibreELEC:~/.kodi/userdata/addon_data/game.libretro.opera_libretro_buildbot/resources/system # ls
3DO.nvram                   panafz10e-anvil-norsa.bin
3do_arcade_saot.bin         panafz10e-anvil.bin
goldstar.bin                panafz10ja-anvil-kanji.bin
panafz1-kanji.bin           panafz1j-kanji.bin
panafz1.bin                 panafz1j-norsa.bin
panafz10-norsa.bin          panafz1j.bin
panafz10.bin                sanyotry.bin

I can't figure it out, but maybe there's something I'm not doing? At any rate, I don't believe this is functioning as it should. Your BIOS tool for Kodi also put them in their designated spaces and everything was green.

Again, thanks for all of this. I had been compiling most of these myself as a novice coder but just discovered this repository. You're an angel. I'm going to be putting the feedback I notice when the times come up for posterity sake.

I also edited the settings within the /storage/.kodi/addons so that it would give me the options to select the BIOS ROMs. I based my compatibility choices on what had previously worked with 4DO.

<?xml version='1.0' encoding='UTF-8'?>
<settings label="Settings">
  <category/>
  <setting label="Active Input Devices" type="select" id="opera_active_devices" values="7|6|8|2|3|0|4|1|5" default="1"/>
  <setting label="BIOS (rom1)" type="select" id="opera_bios" values="Panasonic FZ-1 (U)|Panasonic FZ-1 (J)|Panasonic FZ-1 (J) [No RSA]|Panasonic FZ-10 (U)|Panasonic FZ-10 (U) [No RSA]|Panasonic FZ-10 (E) ANVIL|Panasonic FZ-10 (E) ANVIL [No RSA]|Goldstar GDO-101M|Sanyo Try IMP-21J|3DO Arcade - SAOT" default="Panasonic FZ-1 (U)"/>
  <setting label="CPU Overclock" type="select" id="opera_cpu_overclock" values="1.5x (18.75Mhz)|1.0x (12.50Mhz)|1.6x (20.00Mhz)|1.1x (13.75Mhz)|1.2x (15.00Mhz)|1.8x (22.50Mhz)|2.0x (25.00Mhz)" default="1.0x (12.50Mhz)"/>
  <setting label="Threaded DSP" type="select" id="opera_dsp_threaded" values="enabled|disabled" default="disabled"/>
  <setting label="Font (rom2)" type="select" id="opera_font" values="disabled|Panasonic FZ-1 (J) Kanji ROM|Panasonic FZ-1 (J) Kanji ROM|Panasonic FZ-10 (J) ANVIL Kanji ROM" default="disabled"/>
  <setting label="Graphics Step Y Hack (Samurai Showdown)" type="select" id="opera_hack_graphics_step_y" values="enabled|disabled" default="disabled"/>
  <setting label="Timing Hack 1 (Crash 'n Burn)" type="select" id="opera_hack_timing_1" values="enabled|disabled" default="disabled"/>
  <setting label="Timing Hack 3 (Dinopark Tycoon)" type="select" id="opera_hack_timing_3" values="enabled|disabled" default="disabled"/>
  <setting label="Timing Hack 5 (Microcosm)" type="select" id="opera_hack_timing_5" values="enabled|disabled" default="disabled"/>
  <setting label="Timing Hack 6 (Alone in the Dark)" type="select" id="opera_hack_timing_6" values="enabled|disabled" default="disabled"/>
  <setting label="HiRes CEL Rendering" type="select" id="opera_high_resolution" values="enabled|disabled" default="disabled"/>
  <setting label="Debug Output" type="select" id="opera_kprint" values="enabled|disabled" default="disabled"/>
  <setting label="MADAM Matrix Engine" type="select" id="opera_madam_matrix_engine" values="software|hardware" default="hardware"/>
  <setting label="NVRAM Storage" type="select" id="opera_nvram_storage" values="per game|shared" default="per game"/>
  <setting label="Mode" type="select" id="opera_region" values="pal1|pal2|ntsc" default="ntsc"/>
  <setting label="OperaOS SWI HLE" type="select" id="opera_swi_hle" values="enabled|disabled" default="disabled"/>
  <setting label="VDLP Bypass CLUT" type="select" id="opera_vdlp_bypass_clut" values="enabled|disabled" default="disabled"/>
  <setting label="VDLP Pixel Format" type="select" id="opera_vdlp_pixel_format" values="RGB565|XRGB8888|0RGB1555" default="XRGB8888"/>
</settings>
zach-morris commented 2 years ago

Thanks again for the report, I'll give this a try too and see if i can figure it out. Sounds like you're doing everything correctly

Do you have an example I should try (a game that only works on a specific BIOS)?

zach-morris commented 2 years ago

Did a little more research on this. This is a weird one. The settings for those are set at dynamically at runtime (see here), so the core looks for whats in the directory when it starts. I'm not aware of any other libretro setting that is set this way. For whatever reason this isn't working in Kodi which is why you see the error:

[Opera]: no BIOS ROM found

The same thing happens with the addon in the official Kodi repository as well.

However, I think you can manually inject the right settings. You can change the settings.xml file in: path_to_addons/game.libretro.opera_buildbot/resources/settings.xml

And edit the first two settings to read:

<setting label="30001" type="select" id="opera_bios" values="Panasonic FZ-1 (U)|Panasonic FZ-1 (J)|Panasonic FZ-1 (J) [No RSA]|Panasonic FZ-10 (U)|Panasonic FZ-10 (U) [No RSA]|Panasonic FZ-10 (E) ANVIL|Panasonic FZ-10 (E) ANVIL [No RSA]|Goldstar GDO-101M|Sanyo Try IMP-21J|3DO Arcade - SAOT|disabled" default="disabled"/>
<setting label="30002" type="select" id="opera_font" values="Panasonic FZ-1 (J) Kanji ROM|Panasonic FZ-1 (J) Kanji ROM|Panasonic FZ-10 (J) ANVIL Kanji ROM|disabled" default="disabled"/>

That should let you select whatever you want (ensure the bios files are in the right spot of course). You'll still get the error

[Opera]: no BIOS ROM found

But, thats only when it's looking to update that setting at runtime. I think by manually setting it, it should in theory work. Granted I don't know enough about Opera though to know which game I can test this with to ensure it is working.

I'll leave this open to figure out a way to get this setting correctly input into the addon. The above is a manual workaround for now.

B00daW commented 2 years ago

Well, aside from the BIOS error, I guess the issue that I'm having is games do not play. What I didn't say is the above message used the "Panasonic FZ-1 (U)" as selected and just had a black screen. Strangely enough the SAV files also were being dumped next to the ISO and not in the userdata directories. I'm guessing the games play for you as they should normally with the BIOSes in the /storage/.kodi/userdata/addon_data/game.libreretro.opera_libretro_buildbot/resources/system folder for LibreELEC?

zach-morris commented 2 years ago

Well, now that you mention it, no matter what settings i enter, with or without BIOS, i'm getting a black screen too. This is also the case with the official Kodi Opera or 4D0 core, so the issue is either with this core or with Kodi. I'll do a little more testing and see if I can figure out which.