How do I make RetroArch ask for Saturn controller binds?

How do I set binds for Saturn controller buttons in RetroArch? I want to set up keyboard as the input device on Mednafen (Beetle) Saturn core, as my controller (Logitech F710) and the abstraction gamepad used by RetroArch (RetroPad) are designed as a PlayStation controller, which has 4 face buttons. However the Sega Saturn Control Pad has 6 face buttons, so I want to bind keyboard keys to accomodate for the extra C and Z buttons.

My question: is there any way I can change the input binding so Retroarch asks for A/B/C/X/Y/Z/L/R binds instead of A/B/X/Y/R1/R2/R3/L1/L2/L3? I haven’t seen that option anywhere in RetroArch 1.7.3. I have already downloaded the Beetle Saturn core and saved into a new config file “mednafen_saturn_libretro.cfg”. I wonder if I can edit it, so when I load this config, the input binding asks for Saturn controller buttons instead of RetroPad/PlayStation ones. Does any custom builds allow me to do that? By the way, I would like to do the same for Mega Drive/Genesis 6-button controller. Thanks in advance.

Typically, you shouldn’t need (or, in fact, want) a separate config file for each core. Instead, you can use the control remapping system (load a core and some content, go back into the ‘quick menu’ and go into the ‘controls’ submenu). In this menu, it will show your pad’s buttons on the left (if it has an autoconfig profile, otherwise it will show the retropad buttons) and the core’s buttons on the right, and you can cycle through which core function is assigned to each gamepad button.

Then, when you’re all fixed up, you save the core remap using the option from that same ‘controls’ menu and it will load up that button configuration each time the core is loaded.

4 Likes

Thank you @hunterk, the Saturn button binds showed up in Control under Quick Menu as you said. So eveything I need to do is load content, and then the Controls menu will be available. However, it was a big hassle remapping buttons because I had to mess with RetroPad bindings, instead of binding Saturn Control Pad directly to keyboard keys, unlike other emulators.

I don’t want to sound an ungrateful bastard who knows more about emulators than the hard-working devs, but in my opinion, this RetroPad abastraction is way more of a hassle than it is useful, as RetroArch/libretro was designed to emulate multiple systems. There should be only the Controls under Quick Menu, where you would directly bind core-specific input buttons to user’s keyboard, controller or other input device. The global Controls menu where you set up input bindings for RetroPad only makes sense in emulators which can handle a single platform. Just my 2¢.

Besides this, for some unknow design reason, arrow keys are detected as numpad keys 2,4,6 and 8 (keypad2, keypad4, keypad 6 and keypad8). I had to Google and find out that I had to edit configuration files and replace “keypad8/2/4/6” values corresponding to “input_player1_up/down/left/right” variables with “up/down/left/right.”

Yeah, the numpad thing is a weird, longstanding issue with dinput(?). I think if you change to ‘raw’ it goes away…?

As for the retropad, it works just like Steam Big Picture Mode’s controller interface (though we did it first, FWIW). You map the the retropad to your physical pad once and then almost every console works immediately with no additional configuration. MD 6-button/Saturn and N64 need some slight remapping to suit preferences, but the alternative is to remove the retropad and force users to go in and map everything in controls for every single core.

One of the driving philosophies for RetroArch and libretro is that the vast majority of things that a game/core/emulator does are common/consistent, so we cover that stuff well and then work around the small minority of things that are left over. The small minority in this case is original controllers that don’t follow modern gamepad design conventions.

1 Like

The controller setup as mentioned here is not correct (anymore) https://docs.libretro.com/library/beetle_saturn/

I’ve made a new image how you should setup the Saturn Controllers with the latest Retroarch and Saturn Cores.

Hopefully the Retroarch Team will use this and use mine picture and upload it here: https://docs.libretro.com/library/beetle_saturn/

1 Like

hi, i’m currently in the very difficult process of remaping the saturn buttons into my controller, so i’m trying to preview the result in the StreetFighter Alpha config screen, the buttons that show up are actually those X,A,B instead of A,B,C that would be on the original Saturn controller…

and no matter what i remap in the core remap menu, no matter if i save remap file, or close retroarch and reload the content, those buttons are still understod by the game as X,A and B

so what is this supposed to mean? what am i missing here ?