Retroarch crashes when loading roms after deleting previous core

I downloaded a bsnes core to run a game (Chrono Trigger) and since it was laggy on my older computer, I deleted it from the cores folder and downloaded the SNES9x core instead.

Now when I try to load this specific rom from my database, retroarch immediately crashes. Other roms that I did not open with the bsnes core open normally.

I ran the logging debugger and got this:

RetroArch [INFO] :: null: [C:\My Games\Retroarch\content_history.lpl].RetroArch [INFO] :: [GL]: VSync => on
RetroArch [INFO] :: [WGL]: wglSwapInterval(1)
RetroArch [INFO] :: [GL]: VSync => on
RetroArch [INFO] :: [WGL]: wglSwapInterval(1)
RetroArch [INFO] :: Using content: Y:\Games\Roms\Super Nintendo\Chrono Trigger (U) [!].zip#Chrono Trigger (U) [!].smc.
RetroArch [INFO] :: arg #0: retroarch
RetroArch [INFO] :: arg #1: Y:\Games\Roms\Super Nintendo\Chrono Trigger (U) [!].zip#Chrono Trigger (U) [!].smc
RetroArch [INFO] :: arg #2: -s
RetroArch [INFO] :: arg #3: C:\My Games\Retroarch\saves
RetroArch [INFO] :: arg #4: -c
RetroArch [INFO] :: arg #5: C:\My Games\Retroarch\retroarch.cfg
RetroArch [INFO] :: arg #6: -L
[B]RetroArch [INFO] :: arg #7: C:\My Games\Retroarch\cores\bsnes_mercury_accuracy_libretro.dll[/B]
RetroArch [INFO] :: Resetting undo buffers.
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[B]RetroArch [WARN] :: --libretro argument "C:\My Games\Retroarch\cores\bsnes_mercury_accuracy_libretro.dll" is neither a file nor directory. Ignoring.[/B]
RetroArch [INFO] :: Redirecting save file to "C:\My Games\Retroarch\saves\Chrono Trigger (U) [!].srm".
RetroArch [INFO] :: === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4
Built: Jul 17 2016
RetroArch [INFO] :: Version: 1.3.6
RetroArch [INFO] :: Git: 218d6f5
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: Resetting undo buffers.
[B]RetroArch [INFO] :: Loading dynamic libretro core from: "C:\My Games\Retroarch\cores\bsnes_mercury_accuracy_libretro.dll"[/B]
[B]RetroArch [ERROR] :: Failed to open libretro core: "C:\My Games\Retroarch\cores\bsnes_mercury_accuracy_libretro.dll"[/B]
RetroArch [ERROR] :: Error(s): The specified module could not be found.


RetroArch [ERROR] :: Fatal error received in: "load_dynamic()"
RetroArch [ERROR] :: Failed to start audio driver. Will continue without audio.
RetroArch [INFO] :: Saving config at path: "C:\My Games\Retroarch\retroarch.cfg"
RetroArch [INFO] :: Saved new config to "C:\My Games\Retroarch\retroarch.cfg".
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.


C:\My Games\Retroarch>

As far as I can tell, for some reason Retroarch is still trying to load the bsnes core that I deleted even though I’ve manually loaded the SNES9x core before even opening the rom. Does anyone know how I can fix this? It must be saving the last core that was used to open the rom somewhere and defaulting to that instead of the core I’ve selected for some reason, but I cannot for the life of me find anything like that in my files.

Delete your playlist.

Of course, right after I post this thread I finally track it down. in the SNES lpl file in the playlist folders this was hanging out:

Nintendo - Super Nintendo Entertainment System.lplY:\Games\Roms\Super Nintendo\Chrono Trigger (U) [!].zip#Chrono Trigger (U) [!].smc
Chrono Trigger (USA)
[B]C:\My Games\Retroarch\cores\bsnes_mercury_accuracy_libretro.dll
bsnes-mercury Accuracy[/B]
2D206BF7|crc

I pasted in DETECT for both lines and it allowed me to load the snes9x this run.

I think this is a bug? I’ve got the latest version and Retroarch definitely shouldn’t be trying to load a core that’s been deleted, since from what I’ve read online the way to remove a core is to just delete it from the cores folder.

While that also would have worked, I don’t think I should have to rescan my entire library every time I decide to use a different core for a system.

It’s not a bug. It saves the core used so you don’t have to keep selecting it every time you select a game from your playlist. If you don’t like that then set your playlist file to read-only.

Then why isn’t there a way to select a new core for a game after you delete an old one? Even if I hadn’t deleted the previous core, I would assume that if I manually loaded a core first Retroarch should use that core instead of the first core I ever loaded that game with.

Playlists don’t know which core is loaded. You can associate a playlist with a specific core in settings > playlist

1 Like