Why 6 button MD controller not properly recognised for remap (no C&Z)

Specifically, it will not find buttons C and Z. I know why this is basically - because it’s locked to retropad and retropad is a SNES config. It will only allow me to locate and set buttons based around SNES config, but the last two aren’t there.

The question is, why aren’t they there and how do I make them appear properly? I can see when I’m in controls to remap that the buttons recognised for configuration are SNES only and not the MD.

Any help would be much appreciated!

1 Like

Somebody has gotta know this…

It sounds like you’re trying to mess with inputs in settings > input > p1 input binds. Typically, you shouldn’t mess with these settings except for the very first time you plug in your controller (and not even then if it has a working autoconfig profile).

Instead, when you have the core+content loaded, go to quick menu > controls and you can move the core’s buttons around on the retropad virtual gamepad abstraction (that has the SNES-style names):

Hey, and thank you for the reply! No, not exactly: initially I was being driven crazy by input binds overwriting all other cores, but I dropped it and decided to manually set up button configs per console via the method you specifed. I managed to do this with every console so far without little more than trial and error, but on the Megadrive it’s different.

The base configuration is retropad, which is a snes config. Since all my other emulators are for 2 button games they sit fine on the 6 button pad’s A and B. But when trying to get 6 buttons on the MD C&Z literally aren’t recognised as assignable buttons on the pad. They’re literally not there in the options, and I’ve scrolled through every one. Currently I have MD set to A,B and Y (Y being middle of the top row) because that’s the closest alternative.

What I need to know is how to tell the Megadrive core that I’m using a pad with 2 extra buttons and not a SNES layout.

Thank you!

First you configure the following:
Settings -> Input -> Input User Binds 1.
“Save Autoconfig” when you done, restart retroarch (or go window and fullscreen back).

Now run your emulator and change to “MD Joypad 6 button” in the control menu of the emulator.
Change the buttons to your liking, then “Save Core Remap file”, restart core.

I have a “Retrolink USB SEGA Saturn Classic Controller” and it works like charm after properly setting as above for Genesis and Saturn games.

1 Like

Hi James, appreciate the quick response. I should have noted that I’m using a Retropie (in case that makes a difference) and that because of Retropad being default - and the SNES being a more complex pad - my base input user binds are for the SNES. My meaning is, the SNES is saved as the core using inputs, every other console is done using the ‘controls’ option. I had to do it this way as using Input will overwrite every other emulator on the device, so I could only use it once.

When I go to the Megadrive ‘Controls’ it doesn’t offer MD Joypad 6 button as a selectable option even though it’s been enabled in the options category. It only offers ‘Retropad’.

Retropie, yes that makes a difference.
Retroarch has a redesigned controller options in the latest 1.7.4 version, I’m not sure Retropie updated to it yet so I’m not sure how customizable it is.
I do not own a RPI or Retropie.

I don’t think any of the recent changes matter here.

I think you’re maybe not getting the whole concept behind the input mapping in RetroArch. We use an abstraction called the “retropad”, which looks kinda like a mixture between a Wii U Pro controller and a PS3 pad. When you go to settings > input, you tell RetroArch which of your gamepad’s physical buttons correspond to the retropad’s virtual buttons (for most pads, it should line up pretty close to 1:1). After that, you don’t typically need to mess with the input menu anymore.

From that point on, when you go into the quick menu > controls menu with a core + content loaded, it lists the retropad buttons on the left and the core’s buttons on the right, and you can cycle through which core buttons are assigned to which retropad buttons. As you can see in my screenshot above, my retropad-X button does the Genesis/MD Y function, retropad-L = MD-X and retropad-R = MD-Z.

Oh I see! So Input binds Inform RetroArch whcere the physical buttons are, and then control configuration is locked to that thereafter.

Well damn, that explains why setting the SNES as the input bind initial means I can’t access those buttons on the end for a 6 button MD setup - that explains it perfectly in-fact.

But, with all due respect, isn’t that kind of limiting? This is one example where I can’t access a couple of buttons on one console because of the SNES config informing retropad of where the physical buttons are initially, but what if I had a completely different pad with two sets of shoulder buttons, for PS1 or similar.

It would be nice if input binds were configurable and saveable per console, but that isn’t the case, right?

The retropad has 4 face buttons (A/B/X/Y), 4 shoulder buttons (L1/R1/L2/R2), select/start, 2 analog sticks and 2 stick-press buttons (L3/R3). That’s enough to cover most things, though people often get confused by pads that don’t match it exactly, like N64 and Genesis/PCE 6-button pads.

We provide sensible defaults with the idea that for a typical pad (360/xbone/ps3/4, etc.), you shouldn’t even need to touch the inputs, but worst case you can just move the core’s buttons around in the quick menu > controls menu.

Ah, now there’s an idea… you got me thinking. When I did the Retropie initial pad setup I skipped over L2 and R2 because I simply figured I didn’t need them. I wonder if I can assign them to C & Z and then configure those to work with the MD 6 Button config. The only thing that always irritates a little is that I must assign a select button. Usually I put it on Z, just in case I need it - but if I want to assign real buttons there… well, I wouldn’t know where to put it. The issue is it acts as the function to enter menus, reset, save state etc, so I kind of need it…

So just to update this for anyone else who is either as stupid as me, or didn’t realise how the Raspberry Pi initial auto pad setup corresponds to RetroArch control inputs, the suggestion above did indeed solve the issue. I assigned L2 and R2 to C and Z and then they were mappable within Retroarch’s control section. Took a bit of trial and error to work out where it all lies as the control setting interface just labels things as “auto 1,2” etc, but once it’s all done I managed to have 6 button MD set up independent of a true SNES control scheme. The only decision is how to use the hotkey function as there’s no spare button available to have it sit independently (and certain consoles need to be tailored with a select button allocated to a place where there’s a free button), but that’s small potatoes. I’m glad to have got this to where it is now, big thanks to all the folks who replied here to help me out. Appreciate it!

Hi, can someone help me with the mappings for megadrive using a xbox or ps3 controller on windows? I’ve got most of the buttons working except one and i can’t figure it out. I’m new to RetroArch so still trying to get my head around how to map the buttons for each core. Thanks

Did you do what I mentioned and remember to assign as many buttons as you can when you start Emulation Station and input the controller buttons for the retro pad? If you need to redo them you can press start on the Retropie menu and go to UI and input the controller buttons again.

how do you that. When I try your method it gives me all sorts of options but none will say md joypad 6 button. Would love to use this emulator but most games I want to try are impossible with out a c and z button. I am using a retro link USB sega saturn classic controller too!