Mame problem mapping buttons (weird mapping behaviour between games)

Hi, I encounter a new strange behavior on mame 0.188 android on shield tv but even on windows version. I have configured directly the mapping button on mame menu itself in “in the input general” in order to use with my arcade stick nes30 8bitdo. ( I use “input general” and not “input this machine”) But if I load different games of different manufacturer, the buttons become at different place and the mapping become weird. I thank that using “general input” lock the mapping for all games and only change if we use “input this machine” but no.

If someone could show me the right way to lock a general mapping. Thanks regards

I’ve noticed this for a couple ‘types’ of games as well (using 0.191). Maybe I can help in determining what’s going on for a future fix, let me kind of breakdown my own setup here.

First off, I always set my controls to the keyboard in RetroAchs input mapping as follows:

B = F // A = G // Y = R // X = T

Now, with that context laid out, let’s move specifically to MAME’s setup. In MAME’s internal menu, on (general) if you map, say, “Button 1” to F, you get this:

Button 1 = F Joy 1 B // Button 2 = G Joy 1 A // Button 3 = R Joy 1 Y // Button 4 = T Joy 1 X

This is accurate to our RA setup. Golden. You can save general inputs and move on, hooraaaaaay.

Now, this is where myself and Srk15372 are seeing a disconnect. If you load up a game, say Street Fighter 2 (champion edition or w/e it doesn’t matter)… your (This Machine) options are going to look as follows.

Button 1 = F Joy 1 X // Button 2 = G Joy 1 Y // Button 3 = R Joy 1 B // Button 4 = T Joy 1 L

This also somehow makes basically none of the controls work until you properly remap them in (this machine) despite having been set in (General) to the same as they were before.

Sorry if this was long-winded, and @Srk15372 please let me know if this is not the same thing you are seeing. I just thought with the way I’m seeing it in my setup I could be more detailed in what’s happening.

yeah, it’s seems we encounter the same problem. I only use general menu of mame to map the buttons without using “input machine” on any game. then trying different games using 2 buttons 3 buttons or more, the mapping behaviour change without considering the initial mapping general in mame. (I don’t speak about retroarch mapping, I don’t touch any button mapping, I only make change in mame) is there something to do with the retroarch mapping ? is this whitch interfere with mame ? thanks

Well, I only laid out my using RA’s internal mapping to better explain how MAME and RA are interacting.

In your case, for now at least, I would say to just re-map the (This Machine) controls for the few buttons that aren’t set right.

It’s not ideal, but it would tide you over until they fix this (if they can) and then you could just delete the remap files and not have to worry about it at that point.

That’s basically what I’m doing, I just have that first added step because of my weird setup lol

The MAME cores changing mapping for certain games is most likely related to this:

It appears certain fighting games have different default RetroPad mappings for the buttons than the standard mapping used for all other games.

I feel like these per-game mappings should be optional instead of always enforced since they will interfere with custom button mappings that are defined through MAME’s internal UI.

2 Likes

This is an old topic but this “issue” is still present with Mame 0.241.

This is problematic espacially for the “UI Select” and “UI Cancel” button. I set these up on Joy 1 A and B but when I switch to some fighting games (Killer Instinct for example), those mapping become Joy L1 and Joy R1, or Joy Y (depending on the fighting games) and most of all, the default.cfg gets written down with this new mapping. So it creates conflict with other games, and so on.

The only workaround I’ve found is to map these functions on Start and Select, which seem to be universal among all games.

Has anyone found a better solution? Has this behaviour been fixed since then?

I added a core option “Profile Buttons according to games” that you can turn off.
Then you can use the mame internal gui to make your own mapping and it should stick.

2 Likes

Bought two 8bitdo arcade sticks and set them both to nintendo switch mode to play in retroarch. Unfortunately, retroarch considers as one controller. How to get retroarch to recognize both as player 1 and player 2? I did try to set one of them to “x” mode, but the keybinds did not completely take and 2 different buttons would perform the same action no matter how many times I did the binding. In switch mode, my bindings all work.