Autodetect core when opening a ROM file?

Hello! I’ve got a question about RetroArch that I can’t scavenge an answer on, probably because it’s a bit complicated. Basically, I was trying to set up an emulator for my little brother on the family desktop. I opted for RetroArch, because it’s definitely the least complicated. He’s very young, only five, and giving him complicated programs usually leads to him letting his curiosity get the best of him and messing with all the settings, so I don’t trust him with typical emulators. I was thinking of setting RetroArch as the default for rom files, and that worked for a second! Loading a Genesis rom loaded the Genesis core just fine, and hid the menu away from him. However, when he asked me to nab him a SNES game, and I loaded it up by setting RetroArch as the default for SNES roms, it tried loading the SNES rom with the Genesis core. This confused me a bit, and I tried to search up a solution, and I really couldn’t. Thus why I’m here. I’m just wondering if anybody has tried to set RetroArch up like this before, and if so, how did you guys get around it? Any help would be greatly appreciated.

I was thinking about this as well. And I ended up using this program. Where you were able to set parameters for the specific file associations.

For example *.smc I set this line in Default Programs Editor

"E:\Emulation\Emulators\RetroArch-Win64\retroarch.exe" -L "E:\Emulation\Emulators\RetroArch-Win64\cores\bsnes_accuracy_libretro.dll" "%1"

And just set the specific core for the file extension that you like.

http://defaultprogramseditor.com/

Just as a small heads up. This program are doing changes in the Windows registry for the file associations. But shouldn’t cause any big harm.

You can also change the file type icons for your choice.

Thanks dude! It worked great. I kind of wish I could apply the file default to every account with one click, but the fact that it’s feasible is enough of a relief.

I have been creating registry files for my computer. They’re for windows 10 and should work on all the accounts, and any new ones, at once. I set them to work with the default install location. Just copy and paste the code to notepad, save it with .reg instead of .txt, doubble click it and click yes.

Here’s the one for SNES using the current SNES9X core.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.smc]

[HKEY_CLASSES_ROOT.sfc]

[HKEY_CLASSES_ROOT\SNES] @=“Super Nintendo Entertainment System Game”

[HKEY_CLASSES_ROOT\SNES\shell]

[HKEY_CLASSES_ROOT\SNES\shell\open] @=“Play”

[HKEY_CLASSES_ROOT\SNES\shell\open\command] @="“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES] @=“Super Nintendo Entertainment System Game”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES\shell]

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES\shell\open] @=“Play”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES\shell\open\command] @="“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts] “SNES_.smc”=dword:00000000 “SNES_.sfc”=dword:00000000

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc]

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\OpenWithList] “a”="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\OpenWith.exe" “MRUList”=“ba” “b”=“retroarch.exe”

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\OpenWithList] “a”="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\OpenWith.exe" “MRUList”=“ba” “b”=“retroarch.exe”

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\OpenWithProgids] “SNES”=hex(0):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\OpenWithProgids] “SNES”=hex(0):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\UserChoice] “ProgID”=“SNES”

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\UserChoice] “ProgID”=“SNES”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes.smc]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes.sfc]

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Classes\SNES] @=“Super Nintendo Entertainment System Game”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Classes\SNES\shell]

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Classes\SNES\shell\open] @=“Play”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Classes\SNES\shell\open\command] @="“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc]

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc]

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\OpenWithList] “a”="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\OpenWith.exe" “MRUList”=“ba” “b”=“retroarch.exe”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\OpenWithList] “a”="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\OpenWith.exe" “MRUList”=“ba” “b”=“retroarch.exe”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\OpenWithProgids] “SNES”=hex(0):

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\OpenWithProgids] “SNES”=hex(0):

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\UserChoice] “ProgID”=“SNES”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\UserChoice] “ProgID”=“SNES”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001_Classes\SNES] @=“Super Nintendo Entertainment System Game”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001_Classes\SNES\shell]

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001_Classes\SNES\shell\open] @=“Play”

[HKEY_USERS\S-1-5-21-1736438671-148824094-2043504240-1001_Classes\SNES\shell\open\command] @="“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

Sorry about my last post, I’ve learned a lot since then. This registry code will add file associations in Windows 10 for Super Nintendo ROMs in RetroArch with the SNES9X core. Just paste it into a text file and save it with a .reg extension then double click that file add the keys. But it only works for the account that does that (you can thank Microsoft’s deliberate restrictions for that). Feel free to use it as a template for creating file associations for other ROMs.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes.smc] “(Default)”=“SNES”

[HKEY_CURRENT_USER\SOFTWARE\Classes.smc\OpenWithList] “a”=“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_CURRENT_USER\SOFTWARE\Classes.sfc] “(Default)”=“SNES”

[HKEY_CURRENT_USER\SOFTWARE\Classes.sfc\OpenWithList] “a”=“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES] @=“Super Nintendo Entertainment System Game”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES\shell\open] @=“Play”

[HKEY_CURRENT_USER\SOFTWARE\Classes\SNES\shell\open\command] @="“C:\Program Files\RetroArch\retroarch.exe” -L “C:\Program Files\RetroArch\cores\snes9x_libretro.dll” “%1"”

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.sfc\OpenWithProgids] “SNES”=hex(0):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.smc\OpenWithProgids] “SNES”=hex(0):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts] “SNES_.smc”=dword:00000000

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts] “SNES_.sfc”=dword:00000000