Cannot remap B Button to any other button other than button 1 in mame2003.
-
Figuring out some odds and ends in mame2003 today when I noticed and issue. I am using DS3 in mame2003. It appears I cannot not remap the B button(or X button on the DS3) to any other button but Button 1. Every other button on my controller can remap to any button it wants even button 1, but if I try to map the B button to another Button number it will set it to Y. I have rechecked my controller setup in emulationstation everything appears to be fine no other emulators are having this issue only mame2003. Oddly I do notice whenever I map the B button to Button 1 it always maps it as LCTRL or RetroPad1 B or RetroMouse1 Left Click.
-
@silentq i'm having trouble following this. can you tell me how you're remapping? what do you see? what is preventing you from mapping other buttons? when did you last update mame2003?
-
@silentq just so you know the mame and fba emulators are all messed up on button mapping locations. That all mame and fba retroarch emulators i have used. To map i choose a street fighter II game to test. So i add a manual config to the mame folder and i write down the original config. Then i change the button numbers for abxylr to 20's so i can add one button at a time. So then i start with say button 0 and assign it to button "a" then i just keep changing which button it is assigned to until i get it on the right button. Then i move to the next button number until i get them all assigned to the correct number.
-
@edmaul69 said in Cannot remap B Button to any other button other than button 1 in mame2003.:
@silentq just so you know the mame and fba emulators are all messed up on button mapping locations. That all mame and fba retroarch emulators i have used. To map i choose a street fighter II game to test.
FYI my fix a few days ago to mame2003 means that SF2 is mapped correctly be default :)
-
@dankcushions just to clarify heres an example, say its a two button game so you have Button 1 and Button 2. Lets say by default Button 1 is mapped to B on the retropad and Button 2 is mapped to Y on the retropad. If you try to say map button 2 in the the mame menu, when you hit B button it will map it to Y. For whatever reason B is only allowed to map to Button 1 and no other button. Usually the defaults are just fine but a lot of time in platforming games it likes to have the default be that the jump button is Y and the attack button is B which isn't really conventional so it would be nice to be able to reverse that like any other emulator.
-
@silentq said in Cannot remap B Button to any other button other than button 1 in mame2003.:
@dankcushions just to clarify heres an example, say its a two button game so you have Button 1 and Button 2. Lets say by default Button 1 is mapped to B on the retropad and Button 2 is mapped to Y on the retropad. If you try to say map button 2 in the the mame menu, when you hit B button it will map it to Y. For whatever reason B is only allowed to map to Button 1 and no other button. Usually the defaults are just fine but a lot of time in platforming games it likes to have the default be that the jump button is Y and the attack button is B which isn't really conventional so it would be nice to be able to reverse that like any other emulator.
oh i see the problem! It's because button B is the UI cancel button, and A is the UI 'ok' button. So it goes like this:
- Go to the 'Button 2' entry
- Press A (UI ok) to start the binding process
- Press B (UI cancel) to bind Button 2 to B
- It cancels the binding process, and it's back to what it was before (Button Y)
You can stop this happening by going into 'Input (General)' and binding UI Cancel to something else, or nothing. You can sort of get away with not having a UI Cancel because pressing the MAME menu button (TAB or R2 by default) takes you back to the game anyway. I could unbind UI Cancel by default, I suppose? Not sure.
-
I see what you mean I will try it later, but that seems like a huge flaw no? Why would when designating input would it recognize the UI cancel function as well?
Also as a suggestion if the defaults were remapped in another build, it might actually make more sense for perhaps the UI menu button be L2 and I guess throw the UI cancel over to L1. I say this with Street Fighter in mind as the most common setup I could imagine would be LP - Y, MP - X, HP - R1, LK - B, MK - A, and HK - R2. Also this way it avoids the cancel from being mapped to face button which would cause the confusion and the UI button being set to a button further away from the face buttons for ease of use?
Or maybe even a simpler idea is make the default cancel function some hold two buttons down kind of thing.
Just thinking out loud lol.
-
@silentq said in Cannot remap B Button to any other button other than button 1 in mame2003.:
I see what you mean I will try it later, but that seems like a huge flaw no? Why would when designating input would it recognize the UI cancel function as well?
agreed! you have to consider that MAME in 2003 was mostly used by keyboard setups, so you wouldn't have these sort of overlaps (your UI Cancel button would be escape or something you'd not be using in game). But for us, it's a problem. I've proposed a fix here: https://github.com/libretro/mame2003-libretro/pull/63 - I'll update the dev thread if/when it's accepted.
Also as a suggestion if the defaults were remapped in another build, it might actually make more sense for perhaps the UI menu button be L2 and I guess throw the UI cancel over to L1. I say this with Street Fighter in mind as the most common setup I could imagine would be LP - Y, MP - X, HP - R1, LK - B, MK - A, and HK - R2. Also this way it avoids the cancel from being mapped to face button which would cause the confusion and the UI button being set to a button further away from the face buttons for ease of use?
Or maybe even a simpler idea is make the default cancel function some hold two buttons down kind of thing.
Just thinking out loud lol.
hopefully my fix means this isn't a problem now :) i've changed it so the UI cancel functionality isn't active during the button binding/mapping process, so there's no longer a conflict.
-
I see your issue was merged, excuse me I am not familiar with the implementation process can I update mame2003 to reflect these changes or does it need to be merged to retropie as well?
-
@silentq said in Cannot remap B Button to any other button other than button 1 in mame2003.:
I see your issue was merged, excuse me I am not familiar with the implementation process can I update mame2003 to reflect these changes or does it need to be merged to retropie as well?
if you update mame2003 from source you will get the change :) it takes about 30 mins to compile on a pi3.
-
Nice! Thanks so much for all the help!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.