Corect Button Configs For Each Core?

Is there a way to setup correct button config for each core? I know the default auto detect mode seem to set the button config/position that resembles a SNES pad, but when your playing MegaDrive games this button config/placement is competely wrong, and would want a button config like…

XYZ ABC

not the X Y A B

it is normally?

As it seems changing the buttton config seems to mess up the button setup for the actual RGUI as well

It’s not wrong, it’s just different Ekeeke has chosen to implement mappings that way:

Retropad / Genesis LYR / XYZ XAB / ABC

I added an alternate 6 button mapping so it was like this: XYL / XYZ ABR / ABC

But it seems it was swallowed by an upstream commit… I could readd that I guess if there is any interest

Well for example i have a Madcatz Street Fighter 4 pad and that has 6 face buttons like the genesis 6 button pad, but retroarch doesnt map the buttons like that are on the actual genesis pad, there are setup like 4 face button of a snes pad

Everything is mapped to a Retropad. You map your controller to the Retropad and it should work. AFAIK the madcatz thing is laid out just like an XBOX 360 controller but with the R buttons besides the 4 face buttons.

I can read the 6 button friendly configuration for you but it will only work properly if you map your PAD with RetroPad in mind. RetroPad acts as an intermediary and it’s jut the way RetroArch works.

I have an explanation here: http://blog.andressm.org/

I’ll read the 6-face button friendly layout to genplusgx tomorrow

AndresSM, I think you have your buttons somewhat mixed up, unless they’ve been rearranged since v1.0.0.2. Eke-Eke’s layout seems to be as follows:

RetroPad / Mega Drive
   LXR   /    XYZ
   YBA   /    ABC

Which matches a few real-world six-button pads like this one:

Your alternate layout also seems slightly mixed up from my understanding. The standard SNES pad is like …

  X
Y   A
  B

And the most common layout for six-button SNES pads is …

YXL
BAR

Like so:

Whereas your layout uses ABR for the bottom row. Doesn’t that leave the first two buttons in the bottom row reversed? I think Eke-Eke’s LXR/YBA and an alternative YXL/BAR both make sense, so I’d be supportive of the latter’s inclusion as an alternate scheme.

I might have gotten confused yeah I did it by memory. I made it work like a SNES pad for SSFII that’s what I did :smiley: I’ll submit it later

Edit: yeah you’re totally right I got confused and on my blog the layout is the same you mentioned

Thanks for looking into this. For reference here’s the madcatz pad layout…

The 2 far right face buttons are right bumper and right trigger

It’s a great pad for retro gaming btw

Grah, why do they make them like this now? :stuck_out_tongue: There’s so many different layouts for six buttons on a pad. Anyway, I’ll try to wrap my head around it …

The default RetroPad layout version of that pad would be as follows:

Y X R
B A R2

Which as you’ve discovered, is a mess on the Genesis, where it gives you …

A Y Z
B C /

So you need to remap the keys in this way to get Genesis games running with sensible controls:

RetroPad / SFIV Pad
  L X R  /  X Y RB
  Y B A  /  A B RT

Which I suppose begs the question: how common is this layout with the two right shoulder buttons on the face? Is it worth having yet another layout for Genesis to suit this style?

A thing you’ve got to remember as well, in changing the buttons for the actual core also changes the button that are used on the RGHU as well, so the back and enter buttons will change also.

It would be good if there was a way once a core was loaded any key config you set just effect that core and nothing else ie the RGUI key configs

EDIT: Ok this might help, using the windows game controllers config utility… the buttons windows registers are as following (windows will be the first column)

1------A 2------B 3------X 4------Y 5------LB 6------RB 7------Back 8------Start 9------LT 10----RT

There is a new api for that with input descriptors but it will take some time to get adopted… It needs frontend and core support. In the meantime, I’ll add YXL1 / BAR1 and YXR2 / BAR1 so controllers, that should cover most common layouts and won’t affect RGUI

Sorry to be correcting again, but that second alternative should be YXR1 / BAR2. The bumper is the one toward the front of the controller (R1 on a DualShock), the trigger is the one toward the back (R2 on a DualShock).

You’re right :3

Pushed: https://github.com/fr500/Genesis-Plus-G … 75c71eaa25 Dunno if it will be merged though…

Win64 build: https://dl.dropboxusercontent.com/u/149 … bretro.dll

Currently requires a restart while other changes don’t. I don’t really know why.

BTW I added some alt layouts for VBA-M too

Nice, thanks AndresSM.

is it possible to add a config for the Madcatz Fight Pads…

XYRB / ABRT

and also the Microsoft Arcade stick…

BXY / ALTRT

Dont mean to be a pain but the MAME core also needs attention, alot of the pre-configure buttons conflict with the actual button configs in Mame. Referring to the Madcatz Street Fighter pad again, like the RB and RT buttons bring up fps on screen and also the actual MAME UI menu

I did add the fightpad but Ekeeke refused to merge (good reasons) so I don’t think it’s mantianable. The controllers interface isn’t intended for this but to expose the different emulated controllers that are then mapped to RetroPad, this is just a workaround to an API limitation that will be “fixed” with the input_descriptors interface in the future.

Odd that Ekeeke aloud the other configs to be merged but not the fightpad config, what was the reason?

He didn’t allow any of them. His reason is sound though, the controllers interface is intended to expose different physical controllers that were hooked up to the real console. Exposing those controllers and alternate layouts in the same list would be confusing and I agree. In the meantime till there is a definitive solution I could provide builds with these alternate mappings I guess.

Same for the VBA-M core, there is only on GBA controller but I have exposed 3… somehow confusing.

Update genplusgx, now allows changing on the fly https://dl.dropboxusercontent.com/u/149 … bretro.dll Updated VBA-M (using YB instead of AB is great for mario games) https://dl.dropboxusercontent.com/u/149 … bretro.dll