Solved Recalbox SNES emulator issues. What am I missing?
I'm setting up a Raspberry Pi 3 Recalbox for my brother-in-law. He has a small collection of SNES games with the console and has asked me to create this so that his sons can enjoy the games without him worrying the console and cartridges will be damaged (he's kept them in great condition).
This has to be pretty locked down (system and hotkey commands - except Exit Game - removed), which is easy to do.
I have the thing working fantastically - as it's a small curated list of games I don't need the favorites function and I've set up a lovely power button and LED (fast shutdown is fine as no metadata is needing written back).
The problem I have is with the emulator performance and issues. http://imgur.com/a/XMF07
I currently can't disable the system menus as I need to swap between the different emulators depending on the game to be played. You can see a summary from the link above.
If I can get Recalbox to only present 2 controllers I could get by with setting the SNES emulator to Snes_9x, but I see no way of doing this. Therefore games like Kirby Super Star and Yoshi's Island won't get past the warning screen.
Setting the emulator to anything else means Starfox runs way too fast. And Super Mario Kart seems to never display the race position correctly.
What am I missing? I can't be the only one with these issues, surely?! Once I'm able to get the emulator set and working I can disable the system menus and hand over this little magic box of nostalgia.
TL;DR The SNES emulators in Recalbox all seem to have an issue, preventing me from using just one for all games.
@greeny you can click select on a game to choose the used emulator for this game and this game only (the others will still use the default emulator).
On a game : select then metadata, then choose libreto and then the emulator you want to use.
This is saved in your gamelist.xml and will be kept even aftr restrat, update,anything except rescraping.
Thanks volijega, I didn't know that was possible. I'll give this a try.
Do you know how to get Snes_9x to disable the Multitap for port 2? If I could do that, it would solve 99% of the issues as I could just set that as the default emulator (the rest just have too many issues - the incorrect save file location being the main one).
I've tried setting this in the retroarch menu, as mentioned in other posts, but the change just doesn't seem to stick.
@greeny look for the retroarch parameter saving configuration on exit and it will stick
Already have. It appears that all other options are sticking except that one. The other options under the "save on exit" also hold their values, as well as setting the max number of controllers to just 2. But, with every launch of the games, the Player 2 binding always has the type set to "Multitap".
Even the retroarch-core-options.cfg file contains the multitap = "disabled" option.
Have also tried setting input_libretro_device_p2 = "257" in the retroarchcustom.cfg file to input_libretro_device_p2 = "1" but it just reverts back as soon as a game is launched.
There must be an easier way to disable multitap for Snes(x - I know it wasn't the default mode before Recalbox v4.
@greeny don't mess with retroarch cfg files it's automatically generated by recalbox anyway I think (thus the resettibg thing)
What you did wuth the retroarche menu and save on exit should be enough, so wait for the specialists two cents !
Roger that. I'll wait for the heroes
I'll continue to poke about in the mean time though - I can re-install everything if it breaks. Will post back if I find the cause of the issue.
So, it looks like the retroarchcustom.cfg file is bring saved back on exit. Setting the "Mex Users" to 2 holds it's value, but the input_libretro_device_p2 value always reverts back to 257, even when setting this to SNES Joypad within the retroarch menu.
This is clearly being overwritten from somewhere else.
acris last edited by
@voljega peux tu me resumer le pb en français parce que langlais et moi comprend pas tt.
@acris il veut desactiver le multitap sur snes9x
@greeny Edit retroarchcustom.cfg.origin ... Or this could be set in configgen (python scripts that we made to configure emulators)
I may have cracked it!
I noticed that, when saving a new config from within the retroarch menu, it was saving the file to a hidden folder... /recalbox/share/system/.config/retroarch/config
I copied this to the /recalbox/share/system/configs/retroarch folder and uncommented and edited the below line in the recalbox.conf file...
All loaded well and the multitap config remained.
Then I decided to just copy the retroarchcustom.cfg file to retroarchcustom2.cfg and edit the below line...
input_libretro_device_p2 = "1"
Then changed the recalbox.conf file to reflect this...
All seems to be going well so far.
I'm not sure of the repercussions yet, but it's a good start.
@Substring the retroarchcustom.cfg.origin file doesn't have the input_libretro_device_p2 line to edit.
Hmm. This custom file obviously overwrites more than I'd like - now disabling the emulator menu only works for non-SNES games.
@Substring I added input_libretro_device_p2 = "1" to the retroarchcustom.cfg.origin file. Doesn't work. SNES games still see the multitap.
So is this why the changes in the RetroArch confg are never saved for the P2 bindings? Do I need to change that line in the Python script to remedy this? If so, where do I find it?
It doesn't matter overly now though - I've manually set the emulators for the few games that can get by on the other emulators (despite the save game location being different to proper "save" folders!). I've yet to decide whether to use this method or my manual config file.
I think if SNES 9x could be setup to only enable multitap when 3+ controllers are connected, it would be perfect. That and the save locations for the other emulators.
Other that that my setup is god to go. Thanks guys