finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
879 stars 354 forks source link

[libretro] Crash with certain Neo Geo core options in King of the Monsters #1794

Closed cmitu closed 4 weeks ago

cmitu commented 1 month ago

Hi,

while trying to boot a Neo Geo game in MVS mode, I've selected one of the AES bios options (I think it was AES Japan) while leaving the Neo Geo BIOS option to default (i.e. use Dipswitch setting). This results in a core crash (segfault), without any message shown to the user.

The game chosen was working before attempting a few core options and I've removed the EEPROM .fs file, but the crash still occurs.

Here's a detailed log:

RetroArch log ``` Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg "/home/pi/RetroPie/roms/arcade/kotm.7z" --verbose --appendconfig /dev/shm/retroarch.cfg [WARN] [GameMode]: GameMode cannot be enabled on this system ("dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory.") https://github.com/FeralInteractive/gamemode needs to be installed. [WARN] [Config]: GameMode unsupported - disabling.. [INFO] RetroArch 1.19.0 (Git e79aa14) [INFO] === Build ======================================= [INFO] Capabilities: ASIMD [INFO] Version: 1.19.0 [INFO] Git: e79aa14 [INFO] Built: May 30 2024 [INFO] ================================================= [INFO] [Input]: Found input driver: "x". [ERROR] Couldn't find any cloud sync driver named "" [INFO] Available cloud sync drivers are: [INFO] webdav [INFO] null [WARN] Going to default to first cloud sync driver... [INFO] [Core]: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so" [INFO] [Config]: Loading config: "/opt/retropie/configs/arcade/retroarch.cfg". [INFO] [Config]: Appending config: "/dev/shm/retroarch.cfg". [INFO] [Overrides]: Redirecting save file to "/home/pi/RetroPie/roms/arcade/kotm.srm". [INFO] [Overrides]: Redirecting save state to "/home/pi/RetroPie/roms/arcade/kotm.state". [INFO] [Environ]: SET_SERIALIZATION_QUIRKS. [INFO] [Environ]: GET_LOG_INTERFACE. [INFO] [Environ]: GET_MESSAGE_INTERFACE_VERSION. [INFO] [Environ]: SET_AUDIO_BUFFER_STATUS_CALLBACK. [INFO] [Content]: Content loading skipped. Implementation will load it on its own. [INFO] [Environ]: SAVE_DIRECTORY: "/home/pi/RetroPie/roms/arcade/". [libretro INFO] Setting save dir to /home/pi/RetroPie/roms/arcade/ [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] Setting system dir to /home/pi/RetroPie/BIOS [libretro INFO] DIP switches offset: 25. [INFO] [Environ]: SET_CONTROLLER_INFO. [libretro INFO] Initialize DIP switches. [INFO] [Environ]: GET_CORE_OPTIONS_VERSION. [INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2. [libretro INFO] [FBNeo] Searching all possible locations for romset kotm [libretro INFO] [FBNeo] No patched romset found at /home/pi/RetroPie/BIOS/fbneo/patched/kotm [libretro INFO] [FBNeo] Romset found at /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/fbneo/kotm [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/kotm [libretro INFO] [FBNeo] Searching all possible locations for romset neogeo [libretro INFO] [FBNeo] No patched romset found at /home/pi/RetroPie/BIOS/fbneo/patched/neogeo [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/roms/arcade/neogeo [libretro INFO] [FBNeo] Romset found at /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x1b818731 and name 016-p1.p1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x12afdc2b and name 016-p2.p2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x1a2eeeb3 and name 016-s1.s1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x71471c25 and name 016-c1.c1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x320db048 and name 016-c2.c2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x98de7995 and name 016-c3.c3 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x070506e2 and name 016-c4.c4 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x9da9ca10 and name 016-m1.m1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x86c0a502 and name 016-v1.v1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x5bc23ec5 and name 016-v2.v2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x91b64be3 and name sp-s3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x9036d879 and name sp-s2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xc7f2fa45 and name sp-s.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xe72943de and name sp-u2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x62f021f4 and name sp1-u2 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2723a5b5 and name sp-e.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x1179a30f and name sp1-u4.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2025b7a2 and name sp1-u3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xf0e8f27d and name vs-bios.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xacede59c and name sp-j2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x9fb0abe4 and name sp1.jipan.1024 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x03cc9f6a and name sp-45.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x486cb450 and name sp-j3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xdff6d41f and name japan-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xfbc6d469 and name sp1-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x162f0ebe and name sp-1v1_3db8c.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa7aab458 and name uni-bios_4_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x24858466 and name uni-bios_3_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa4e8b9b3 and name uni-bios_3_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0c58093f and name uni-bios_3_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa97c89a9 and name uni-bios_3_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x27664eb5 and name uni-bios_2_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x601720ae and name uni-bios_2_3o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2d50996a and name uni-bios_2_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x8dabf76b and name uni-bios_2_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0c12c2ad and name uni-bios_2_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xb24b44a0 and name uni-bios_1_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x4fa698e9 and name uni-bios_1_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xe19d3ce9 and name uni-bios_1_2o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x5dda0d84 and name uni-bios_1_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0ce453a0 and name uni-bios_1_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x94416d67 and name sm1.sm1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xc2ea0cfd and name sfix.sfix from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x5a86cff2 and name 000-lo.lo from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x00. [libretro INFO] [FBNeo] No missing files, proceeding [libretro INFO] [FBNeo] Samplerate set to 48000 [libretro INFO] [FBNeo] Applied dipswitches from core options [libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x8f. /opt/retropie/supplementary/runcommand/runcommand.sh: line 1322: 233336 Segmentation fault /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg "/home/pi/RetroPie/roms/arcade/kotm.7z" --verbose --appendconfig /dev/shm/retroarch.cfg ```

Here's a list of core options:

fbneo-allow-depth-32 = "enabled"
fbneo-allow-patched-romsets = "enabled"
fbneo-analog-speed = "100%"
fbneo-cpu-speed-adjust = "100%"
fbneo-debug-dip-1-1 = "disabled"
fbneo-debug-dip-1-2 = "disabled"
fbneo-debug-dip-1-3 = "disabled"
fbneo-debug-dip-1-4 = "disabled"
fbneo-debug-dip-1-5 = "disabled"
fbneo-debug-dip-1-6 = "disabled"
fbneo-debug-dip-1-7 = "disabled"
fbneo-debug-dip-1-8 = "disabled"
fbneo-debug-dip-2-1 = "disabled"
fbneo-debug-dip-2-2 = "disabled"
fbneo-debug-dip-2-3 = "disabled"
fbneo-debug-dip-2-4 = "disabled"
fbneo-debug-dip-2-5 = "disabled"
fbneo-debug-dip-2-6 = "disabled"
fbneo-debug-dip-2-7 = "disabled"
fbneo-debug-dip-2-8 = "disabled"
fbneo-diagnostic-input = "Hold Start"
fbneo-dipswitch-frogger-Cabinet = "Upright"
fbneo-dipswitch-frogger-Coinage = "A 1C/1P  B 1C/1P  C 1C/1P"
fbneo-dipswitch-frogger-Lives = "3"
fbneo-dipswitch-kotm-Autofire = "Off"
fbneo-dipswitch-kotm-BIOS = "AES Japan"
fbneo-dipswitch-kotm-Coin_chutes = "1"
fbneo-dipswitch-kotm-Coin_chutes_2 = "2"
fbneo-dipswitch-kotm-Commmunicaton = "Disabled"
fbneo-dipswitch-kotm-Free_play = "Off"
fbneo-dipswitch-kotm-Memory_card = "Writable"
fbneo-dipswitch-kotm-New_card_type = "Normal"
fbneo-dipswitch-kotm-Setting_mode = "Off"
fbneo-dipswitch-kotm-Stop_mode = "Off"
fbneo-dipswitch-mrdo-Cabinet = "Upright"
fbneo-dipswitch-mrdo-Coin_A = "1 Coin / 1 Credit"
fbneo-dipswitch-mrdo-Coin_B = "1 Coin / 1 Credit"
fbneo-dipswitch-mrdo-Difficulty = "Easy"
fbneo-dipswitch-mrdo-Extra = "Easy"
fbneo-dipswitch-mrdo-Lives = "3"
fbneo-dipswitch-mrdo-Rack_Test_(cheat) = "Off"
fbneo-dipswitch-mrdo-Special = "Easy"
fbneo-dipswitch-mslug2t-Autofire = "Off"
fbneo-dipswitch-mslug2t-BIOS = "MVS Asia/Europe ver. 6 (1 slot)"
fbneo-dipswitch-mslug2t-Coin_chutes = "1"
fbneo-dipswitch-mslug2t-Coin_chutes_2 = "2"
fbneo-dipswitch-mslug2t-Commmunicaton = "Disabled"
fbneo-dipswitch-mslug2t-Free_play = "Off"
fbneo-dipswitch-mslug2t-Memory_card = "Writable"
fbneo-dipswitch-mslug2t-New_card_type = "Normal"
fbneo-dipswitch-mslug2t-Setting_mode = "Off"
fbneo-dipswitch-mslug2t-Stop_mode = "Off"
fbneo-dipswitch-mslug3cq-Autofire = "Off"
fbneo-dipswitch-mslug3cq-BIOS = "MVS Asia/Europe ver. 6 (1 slot)"
fbneo-dipswitch-mslug3cq-Coin_chutes = "1"
fbneo-dipswitch-mslug3cq-Coin_chutes_2 = "2"
fbneo-dipswitch-mslug3cq-Commmunicaton = "Disabled"
fbneo-dipswitch-mslug3cq-Free_play = "Off"
fbneo-dipswitch-mslug3cq-Memory_card = "Writable"
fbneo-dipswitch-mslug3cq-New_card_type = "Normal"
fbneo-dipswitch-mslug3cq-Setting_mode = "Off"
fbneo-dipswitch-mslug3cq-Stop_mode = "Off"
fbneo-dipswitch-mslug4q-Autofire = "Off"
fbneo-dipswitch-mslug4q-BIOS = "MVS Asia/Europe ver. 6 (1 slot)"
fbneo-dipswitch-mslug4q-Coin_chutes = "1"
fbneo-dipswitch-mslug4q-Coin_chutes_2 = "2"
fbneo-dipswitch-mslug4q-Commmunicaton = "Disabled"
fbneo-dipswitch-mslug4q-Free_play = "Off"
fbneo-dipswitch-mslug4q-Memory_card = "Writable"
fbneo-dipswitch-mslug4q-New_card_type = "Normal"
fbneo-dipswitch-mslug4q-Setting_mode = "Off"
fbneo-dipswitch-mslug4q-Stop_mode = "Off"
fbneo-dipswitch-outrun-Cabinet = "Mini Up"
fbneo-dipswitch-outrun-Coin_A = "1 Coin  1 Credit"
fbneo-dipswitch-outrun-Coin_B = "1 Coin  1 Credit"
fbneo-dipswitch-outrun-Demo_Sounds = "On"
fbneo-dipswitch-outrun-Difficulty = "Normal"
fbneo-dipswitch-outrun-Time_Adjust = "Normal"
fbneo-dipswitch-samsh5sp-Autofire = "Off"
fbneo-dipswitch-samsh5sp-BIOS = "MVS Asia/Europe ver. 6 (1 slot)"
fbneo-dipswitch-samsh5sp-Coin_chutes = "1"
fbneo-dipswitch-samsh5sp-Coin_chutes_2 = "2"
fbneo-dipswitch-samsh5sp-Commmunicaton = "Disabled"
fbneo-dipswitch-samsh5sp-Free_play = "Off"
fbneo-dipswitch-samsh5sp-Memory_card = "Writable"
fbneo-dipswitch-samsh5sp-New_card_type = "Normal"
fbneo-dipswitch-samsh5sp-Setting_mode = "Off"
fbneo-dipswitch-samsh5sp-Stop_mode = "Off"
fbneo-dipswitch-sf2ce-2C_to_Start,_1_to_Cont = "Off"
fbneo-dipswitch-sf2ce-Allow_Continue = "On"
fbneo-dipswitch-sf2ce-Coin_A = "1 Coin  1 Credit"
fbneo-dipswitch-sf2ce-Coin_B = "1 Coin  1 Credit"
fbneo-dipswitch-sf2ce-Demo_Sound = "On"
fbneo-dipswitch-sf2ce-Difficulty = "4 (Normal)"
fbneo-dipswitch-sf2ce-Flip_Screen = "Off"
fbneo-dipswitch-sf2ce-Free_Play = "Off"
fbneo-dipswitch-sf2ce-Freeze = "Off"
fbneo-dipswitch-sf2ce-Game_Mode = "Game"
fbneo-dipswitch-trackfld-After_Last_Event = "Game Continues"
fbneo-dipswitch-trackfld-Bonus_Life = "None"
fbneo-dipswitch-trackfld-Cabinet = "Upright"
fbneo-dipswitch-trackfld-Coin_A = "1 Coin  1 Credits"
fbneo-dipswitch-trackfld-Coin_B = "1 Coin  1 Credits"
fbneo-dipswitch-trackfld-Demo_Sounds = "On"
fbneo-dipswitch-trackfld-Difficulty = "Normal"
fbneo-dipswitch-trackfld-Lives = "1"
fbneo-dipswitch-trackfld-World_Records = "Don't Erase"
fbneo-fixed-frameskip = "0"
fbneo-fm-interpolation = "4-point 3rd order"
fbneo-force-60hz = "disabled"
fbneo-frameskip-manual-threshold = "33"
fbneo-frameskip-type = "disabled"
fbneo-hiscores = "enabled"
fbneo-lightgun-crosshair-emulation = "hide with lightgun device"
fbneo-lowpass-filter = "disabled"
fbneo-memcard-mode = "disabled"
fbneo-neogeo-mode = "DIPSWITCH"
fbneo-sample-interpolation = "4-point 3rd order"
fbneo-samplerate = "48000"
fbneo-vertical-mode = "disabled"

I haven't yet tested other games to see if it's a game specific crash or a general (Neo Geo) dipswitch issue.

taoenwen commented 1 month ago

fbneo's libretro port: Please go to https://github.com/libretro/FBNeo/issues

You can get faster progress that way.

cmitu commented 1 month ago

@taoenwen I was under the impression that @barbudreadmon prefers to have issues opened here, I can close it an open the issue in the Libretro core repo if you think that's better suited there.

In the mean time, I've tested a couple more games (mslug2t, mslug3cq) and the same dipswitch settings are not crashing the, so it seems it's a game/driver issue

barbudreadmon commented 1 month ago

@taoenwen i highly doubt it's a libretro-only issue, and anyway all issues should be posted here

taoenwen commented 1 month ago

@cmitu @barbudreadmon I understand.

taoenwen commented 1 month ago

If you change the BIOS options in the core options selection dipswitch, then the Windows version should also reproduce the problem.

cmitu commented 1 month ago

@taoenwen I don't have a Windows system right now, but I can certainly test when I'll have access to it by using the standalone Windows version.

taoenwen commented 4 weeks ago

@cmitu I just tested Windows Standalone and everything works fine when switching to AES/Japan and AES/Asian, this should not be a BIOS switching glitch.

image

@barbudreadmon Sudden crash, maybe a string overflow ...

barbudreadmon commented 4 weeks ago

Sudden crash, maybe a string overflow ...

Maybe, the libretro port, particularily on arm cpus, is known for being more sensible than our win32 builds to some problems, like misaligned memory access or overflows. I'll try to run some sanitizers later this week-end.

barbudreadmon commented 4 weeks ago

@cmitu could you increase the verbosity for your logs ? (set both logging levels to 0 in retroarch's Settings > Logging)

cmitu commented 4 weeks ago

Here's a more detailed log (_frontend/libretro_loglevel set both to 0).

RetroArch log ``` [WARN] [GameMode]: GameMode cannot be enabled on this system ("dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory.") https://github.com/FeralInteractive/gamemode needs to be installed. [WARN] [Config]: GameMode unsupported - disabling.. [INFO] RetroArch 1.19.0 (Git e79aa14) [INFO] === Build ======================================= [INFO] Capabilities: ASIMD [INFO] Version: 1.19.0 [INFO] Git: e79aa14 [INFO] Built: May 30 2024 [INFO] ================================================= [INFO] [Input]: Found input driver: "x". [ERROR] Couldn't find any cloud sync driver named "" [INFO] Available cloud sync drivers are: [INFO] webdav [INFO] null [WARN] Going to default to first cloud sync driver... [INFO] [Core]: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so" [INFO] [Overrides]: Redirecting save file to "/home/pi/RetroPie/roms/arcade/kotm.srm". [INFO] [Overrides]: Redirecting save state to "/home/pi/RetroPie/roms/arcade/kotm.state". [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_UPDATE_DISPLAY_CALLBACK. [DEBUG] [Environ]: SET_SUBSYSTEM_INFO. [DEBUG] Special game type: CBS ColecoVision Ident: cv ID: 1 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Fairchild ChannelF Ident: chf ID: 15 Content: [DEBUG] Rom (required) [DEBUG] Special game type: MSX 1 Ident: msx ID: 4 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Nec PC-Engine Ident: pce ID: 5 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Nec SuperGrafX Ident: sgx ID: 7 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Nec TurboGrafx-16 Ident: tg16 ID: 9 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Nintendo Entertainment System Ident: nes ID: 11 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Nintendo Family Disk System Ident: fds ID: 12 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Sega GameGear Ident: gg ID: 2 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Sega Master System Ident: sms ID: 8 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Sega Megadrive Ident: md ID: 3 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Sega SG-1000 Ident: sg1k ID: 6 Content: [DEBUG] Rom (required) [DEBUG] Special game type: SNK Neo Geo Pocket Ident: ngp ID: 14 Content: [DEBUG] Rom (required) [DEBUG] Special game type: ZX Spectrum Ident: spec ID: 10 Content: [DEBUG] Rom (required) [DEBUG] Special game type: Neogeo CD Ident: neocd ID: 13 Content: [DEBUG] Iso (required) [INFO] [Environ]: SET_SERIALIZATION_QUIRKS. [INFO] [Environ]: GET_LOG_INTERFACE. [INFO] [Environ]: GET_MESSAGE_INTERFACE_VERSION. [INFO] [Environ]: SET_AUDIO_BUFFER_STATUS_CALLBACK. [INFO] [Content]: Content loading skipped. Implementation will load it on its own. [INFO] [Environ]: SAVE_DIRECTORY: "/home/pi/RetroPie/roms/arcade/". [libretro INFO] Setting save dir to /home/pi/RetroPie/roms/arcade/ [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] Setting system dir to /home/pi/RetroPie/BIOS [libretro INFO] DIP switches offset: 25. [libretro DEBUG] [FBNeo] nSwitchCode 0x00 : P1 Coin [libretro DEBUG] [FBNeo] nSwitchCode 0x01 : P1 Start [libretro DEBUG] [FBNeo] nSwitchCode 0x02 : P1 Select [libretro DEBUG] [FBNeo] nSwitchCode 0x03 : P1 Up [libretro DEBUG] [FBNeo] nSwitchCode 0x04 : P1 Down [libretro DEBUG] [FBNeo] nSwitchCode 0x05 : P1 Left [libretro DEBUG] [FBNeo] nSwitchCode 0x06 : P1 Right [libretro DEBUG] [FBNeo] nSwitchCode 0x07 : P1 Button A [libretro DEBUG] [FBNeo] nSwitchCode 0x08 : P1 Button B [libretro DEBUG] [FBNeo] nSwitchCode 0x09 : P1 Button C [libretro DEBUG] [FBNeo] nSwitchCode 0x0A : P1 Button D [libretro DEBUG] [FBNeo] nSwitchCode 0x0B : P2 Coin [libretro DEBUG] [FBNeo] nSwitchCode 0x0C : P2 Start [libretro DEBUG] [FBNeo] nSwitchCode 0x0D : P2 Select [libretro DEBUG] [FBNeo] nSwitchCode 0x0E : P2 Up [libretro DEBUG] [FBNeo] nSwitchCode 0x0F : P2 Down [libretro DEBUG] [FBNeo] nSwitchCode 0x10 : P2 Left [libretro DEBUG] [FBNeo] nSwitchCode 0x11 : P2 Right [libretro DEBUG] [FBNeo] nSwitchCode 0x12 : P2 Button A [libretro DEBUG] [FBNeo] nSwitchCode 0x13 : P2 Button B [libretro DEBUG] [FBNeo] nSwitchCode 0x14 : P2 Button C [libretro DEBUG] [FBNeo] nSwitchCode 0x15 : P2 Button D [libretro DEBUG] [FBNeo] nSwitchCode 0x16 : P1 Buttons AB [libretro DEBUG] [FBNeo] nSwitchCode 0x17 : P1 Buttons CD [libretro DEBUG] [FBNeo] nSwitchCode 0x18 : P1 Buttons ABC [libretro DEBUG] [FBNeo] nSwitchCode 0x19 : P1 Buttons BCD [libretro DEBUG] [FBNeo] nSwitchCode 0x1A : P2 Buttons AB [libretro DEBUG] [FBNeo] nSwitchCode 0x1B : P2 Buttons CD [libretro DEBUG] [FBNeo] nSwitchCode 0x1C : P2 Buttons ABC [libretro DEBUG] [FBNeo] nSwitchCode 0x1D : P2 Buttons BCD [INFO] [Environ]: SET_CONTROLLER_INFO. [DEBUG] Port 1: [DEBUG] "Classic" (5) [DEBUG] "Modern" (517) [DEBUG] "6-Button Panel" (261) [DEBUG] "Mouse (ball only)" (773) [DEBUG] "Mouse (full)" (514) [DEBUG] "Pointer" (6) [DEBUG] "Lightgun" (4) [DEBUG] "Analog Arcade Gun" (1029) [DEBUG] Port 2: [DEBUG] "Classic" (5) [DEBUG] "Modern" (517) [DEBUG] "6-Button Panel" (261) [DEBUG] "Mouse (ball only)" (773) [DEBUG] "Mouse (full)" (514) [DEBUG] "Pointer" (6) [DEBUG] "Lightgun" (4) [DEBUG] "Analog Arcade Gun" (1029) [libretro INFO] Initialize DIP switches. [INFO] [Environ]: GET_CORE_OPTIONS_VERSION. [INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2. [DEBUG] [Environ]: GET_VARIABLE: fbneo-cpu-speed-adjust = "100%" [DEBUG] [Environ]: GET_VARIABLE: fbneo-allow-depth-32 = "enabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-vertical-mode = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-force-60hz = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-frameskip-type = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-frameskip-manual-threshold = "33" [DEBUG] [Environ]: GET_VARIABLE: fbneo-fixed-frameskip = "0" [DEBUG] [Environ]: GET_VARIABLE: fbneo-diagnostic-input = "Hold Start" [DEBUG] [Environ]: GET_VARIABLE: fbneo-neogeo-mode = "DIPSWITCH" [DEBUG] [Environ]: GET_VARIABLE: fbneo-memcard-mode = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-1 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-2 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-3 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-4 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-5 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-6 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-7 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-1-8 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-1 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-2 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-3 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-4 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-5 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-6 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-7 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-debug-dip-2-8 = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-allow-patched-romsets = "enabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-samplerate = "48000" [DEBUG] [Environ]: GET_VARIABLE: fbneo-sample-interpolation = "4-point 3rd order" [DEBUG] [Environ]: GET_VARIABLE: fbneo-fm-interpolation = "4-point 3rd order" [DEBUG] [Environ]: GET_VARIABLE: fbneo-lowpass-filter = "disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-analog-speed = "100%" [DEBUG] [Environ]: GET_VARIABLE: fbneo-lightgun-crosshair-emulation = "hide with lightgun device" [libretro INFO] [FBNeo] Searching all possible locations for romset kotm [libretro INFO] [FBNeo] No patched romset found at /home/pi/RetroPie/BIOS/fbneo/patched/kotm [libretro INFO] [FBNeo] Romset found at /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/fbneo/kotm [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/kotm [libretro INFO] [FBNeo] Searching all possible locations for romset neogeo [libretro INFO] [FBNeo] No patched romset found at /home/pi/RetroPie/BIOS/fbneo/patched/neogeo [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/roms/arcade/neogeo [libretro INFO] [FBNeo] Romset found at /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x1b818731 and name 016-p1.p1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x12afdc2b and name 016-p2.p2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x1a2eeeb3 and name 016-s1.s1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x71471c25 and name 016-c1.c1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x320db048 and name 016-c2.c2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x98de7995 and name 016-c3.c3 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x070506e2 and name 016-c4.c4 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x9da9ca10 and name 016-m1.m1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x86c0a502 and name 016-v1.v1 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x5bc23ec5 and name 016-v2.v2 from archive /home/pi/RetroPie/roms/arcade/kotm [libretro INFO] [FBNeo] Using ROM with known crc 0x91b64be3 and name sp-s3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x9036d879 and name sp-s2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xc7f2fa45 and name sp-s.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xe72943de and name sp-u2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x62f021f4 and name sp1-u2 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2723a5b5 and name sp-e.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x1179a30f and name sp1-u4.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2025b7a2 and name sp1-u3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xf0e8f27d and name vs-bios.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xacede59c and name sp-j2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x9fb0abe4 and name sp1.jipan.1024 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x03cc9f6a and name sp-45.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x486cb450 and name sp-j3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xdff6d41f and name japan-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xfbc6d469 and name sp1-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x162f0ebe and name sp-1v1_3db8c.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa7aab458 and name uni-bios_4_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x24858466 and name uni-bios_3_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa4e8b9b3 and name uni-bios_3_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0c58093f and name uni-bios_3_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xa97c89a9 and name uni-bios_3_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x27664eb5 and name uni-bios_2_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x601720ae and name uni-bios_2_3o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x2d50996a and name uni-bios_2_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x8dabf76b and name uni-bios_2_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0c12c2ad and name uni-bios_2_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xb24b44a0 and name uni-bios_1_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x4fa698e9 and name uni-bios_1_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xe19d3ce9 and name uni-bios_1_2o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x5dda0d84 and name uni-bios_1_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x0ce453a0 and name uni-bios_1_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x94416d67 and name sm1.sm1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0xc2ea0cfd and name sfix.sfix from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] [FBNeo] Using ROM with known crc 0x5a86cff2 and name 000-lo.lo from archive /home/pi/RetroPie/BIOS/fbneo/neogeo [libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x00. [libretro INFO] [FBNeo] No missing files, proceeding [libretro INFO] [FBNeo] Samplerate set to 48000 [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Autofire = "Off" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Setting_mode = "Off" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Coin_chutes_2 = "2" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Commmunicaton = "Disabled" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Free_play = "Off" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Stop_mode = "Off" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-BIOS = "AES Japan" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-Memory_card = "Writable" [DEBUG] [Environ]: GET_VARIABLE: fbneo-dipswitch-kotm-New_card_type = "Normal" [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [DEBUG] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY. [libretro INFO] [FBNeo] Applied dipswitches from core options [libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x8f. [libretro DEBUG] Cheat cpu-register INIT. [libretro DEBUG] ADPCM-A Size: 200000 [libretro DEBUG] ADPCM-B Size: 0 [libretro DEBUG] code size: 100000 ```
taoenwen commented 4 weeks ago

No problems occurred with the Windows version of RA either.

image

@cmitu Have you tried clearing all saves/settings?

barbudreadmon commented 4 weeks ago

Ok, i'm just noticing you have

[libretro INFO] [FBNeo] Using ROM with known crc 0xfbc6d469 and name sp1-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x162f0ebe and name sp-1v1_3db8c.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo

in your logs. It should be

[libretro INFO] [FBNeo] Using ROM with known crc 0xfbc6d469 and name sp1-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x16d0c132 and name neo-po.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xd27a71f1 and name neo-epo.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x698ebb7d and name neodebug.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x162f0ebe and name sp-1v1_3db8c.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo

Those 3 missing files are actually the bioses for "AES Japan", "AES Asia" and "Development Kit".

Basically, you are using a MAME neogeo romset, it doesn't include those 3 bioses, ours is a little different.

I'm surprised it does crash though, to my knowledge an incomplete neogeo romset would cause a black screen, so maybe there is still something beyond that romset problem.

cmitu commented 4 weeks ago

@cmitu Have you tried clearing all saves/settings?

Yes, removed the .fs file a few times and also set the core options to default.

Those 3 missing files are actually the bioses for "AES Japan", "AES Asia" and "Development Kit".

Basically, you are using a MAME neogeo romset, it doesn't include those 3 bioses, ours is a little different.

I think you're right, I was looking at setting an AES mode and some options (DIP switches) for the BIOS logged something like 'BIOS not found', so I kept re-selecting a similar option until the crash occured. I'll get a FBNeo validated neogeo.zip and re-test.

EDIT: yes, with a FBNeo neogeo.zip there's no crash anymore and the game loads.

...
[libretro INFO] [FBNeo] No romset found at /home/pi/RetroPie/BIOS/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x1b818731 and name 016-p1.p1 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x12afdc2b and name 016-p2.p2 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x1a2eeeb3 and name 016-s1.s1 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x71471c25 and name 016-c1.c1 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x320db048 and name 016-c2.c2 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x98de7995 and name 016-c3.c3 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x070506e2 and name 016-c4.c4 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x9da9ca10 and name 016-m1.m1 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x86c0a502 and name 016-v1.v1 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x5bc23ec5 and name 016-v2.v2 from archive /home/pi/RetroPie/roms/arcade/kotm
[libretro INFO] [FBNeo] Using ROM with known crc 0x91b64be3 and name sp-s3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x9036d879 and name sp-s2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xc7f2fa45 and name sp-s.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xe72943de and name sp-u2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x62f021f4 and name sp1-u2 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x2723a5b5 and name sp-e.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x1179a30f and name sp1-u4.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x2025b7a2 and name sp1-u3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xf0e8f27d and name vs-bios.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xacede59c and name sp-j2.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x9fb0abe4 and name sp1.jipan.1024 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x03cc9f6a and name sp-45.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x486cb450 and name sp-j3.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xdff6d41f and name japan-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xfbc6d469 and name sp1-j3.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x16d0c132 and name neo-po.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xd27a71f1 and name neo-epo.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x698ebb7d and name neodebug.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x162f0ebe and name sp-1v1_3db8c.bin from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xa7aab458 and name uni-bios_4_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x24858466 and name uni-bios_3_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xa4e8b9b3 and name uni-bios_3_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x0c58093f and name uni-bios_3_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xa97c89a9 and name uni-bios_3_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x27664eb5 and name uni-bios_2_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x601720ae and name uni-bios_2_3o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x2d50996a and name uni-bios_2_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x8dabf76b and name uni-bios_2_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x0c12c2ad and name uni-bios_2_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xb24b44a0 and name uni-bios_1_3.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x4fa698e9 and name uni-bios_1_2.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xe19d3ce9 and name uni-bios_1_2o.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x5dda0d84 and name uni-bios_1_1.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x0ce453a0 and name uni-bios_1_0.rom from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xcb915e76 and name neopen.sp1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x94416d67 and name sm1.sm1 from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0xc2ea0cfd and name sfix.sfix from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] [FBNeo] Using ROM with known crc 0x5a86cff2 and name 000-lo.lo from archive /home/pi/RetroPie/BIOS/fbneo/neogeo
[libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x00.
[libretro INFO] [FBNeo] No missing files, proceeding
[libretro INFO] [FBNeo] Samplerate set to 48000
[libretro INFO] [FBNeo] Applied dipswitches from core options
[libretro INFO] DIPSWITCH Neo Geo Mode selected => NeoSystem: 0x8f.
[libretro INFO] [FBNeo] Initialized driver for kotm
[libretro INFO] [FBNeo] Adjusted audio buffer to match driver's refresh rate (59.180000 Hz)
[libretro INFO] [Cheevos] System RAM set to 0x55a1c2ad90, size is 65536
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[libretro INFO] [FBNeo] Driver kotm was successfully started : game's full name is King of the Monsters (set 1)
[INFO] [SRAM]: Skipping SRAM load.
[INFO] [Core]: Version of libretro API: 1, Compiled against API: 1
[libretro INFO] [FBNeo] Timing set to 59.180000 Hz
[INFO] [Core]: Geometry: 304x224, Aspect: 1.333, FPS: 59.18, Sample rate: 47994.98 Hz.
[INFO] [Audio]: Set audio input rate to: 48660.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[WARN] [DRM]: Couldn't get device resources.
[WARN] [DRM]: Couldn't get device resources.
...
dinkc64 commented 4 weeks ago

barbudreadmon, I used neogeo.zip from mame (current), and set AES Japan and loading kotm, it says a rom error upon load, and continues to load. Emulation tries to start, but it won't really, but it certainly wont crash here. (Unless I'm doing it wrong)

neogeo has a loading caveat, where if a rom is missing, it will still load (but display an error for the missing rom), this was done on purpose for reasons that I can't remember :) (probably piecing together a bootleg romset, or something like that) So, maybe that's not being handled correctly?

p.s. I think the driver's init returns success even though the rom is missing.

best regards,

barbudreadmon commented 4 weeks ago

Yeah, why it crashes for cmitu is a complete mystery, i couldn't reproduce that problem at all, and asan/ubsan didn't tell anything useful.

As for displaying errors about missing roms, i only do that for roms that aren't flagged as BRF_OPT since the only thing i can do to let the user know about missing roms is stopping the emulation and drawing a message on-screen.

It might be better to have init return false when the required bios is missing ?

cmitu commented 4 weeks ago

Yeah, why it crashes for cmitu is a complete mystery, i couldn't reproduce that problem at all, and asan/ubsan didn't tell anything useful.

Ok, then let's close this, since using a correct romset is not crashing the core. I should have checked this first, sorry. Thank you for the assistance.

[...] It might be better to have init return false when the required bios is missing ?

IMHO it shouldn't stop the execution, but print something on the front-end, since - as it was in my case - user choice wouldn't be applied and user would be under the impression it's not working. But I'm not sure if RetroArch offers something like this to the core and since the log contains the warning, it might be enough (especially since this kind of error is unlikely to be very common).

barbudreadmon commented 4 weeks ago

But I'm not sure if RetroArch offers something like this to the core

retroarch only offers logs, hence why i'm using some library to draw messages on-screen. I suppose throwing a warning about the missing optional romfiles in the logs wouldn't hurt, at the very least it would have helped with this issue.

cmitu commented 4 weeks ago

I suppose throwing a warning about the missing optional romfiles in the logs wouldn't hurt, at the very least it would have helped with this issue.

I think you're already doing this - https://github.com/libretro/FBNeo/blob/4e0738a16d64adb4c468db4144ec3b51f9217660/src/burner/libretro/retro_common.cpp#L833.

barbudreadmon commented 4 weeks ago

That line is for the "neogeo mode" core option which can override the dispwitch. When using that core option, it's impossible to select a missing neogeo bios as you did.