Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08047 DIP/Input Minor Always Aug 6, 2021, 17:04 Oct 26, 2021, 11:28
Tester ICEknight View Status Public Platform MAME (Official Binary)
Assigned To Resolution No change required OS Windows 10 (64-bit)
Status [?] Closed Driver pce.cpp
Version 0.234 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 08047: pce and clones: Inverted button layout for bottom row of 6-Button pads
Description The layout of buttons III, II, I on the two 6-button pads is inverted. This causes kick and punch strength in fighting games to not match, and also inverts the controls in regular 2-button games.
Steps To Reproduce -Load the PC Engine or Turbografx 16 core with a any game, notice how the first 2 buttons are layed out
-Open menu with Tab
-Slot devices
-Set "ctrl" to either "arcade_pad_6" or "avenue_pad_6"
-Reset or load game, now the button layout is inverted
-Go to "Machine configuration" -> "Joypad mode" -> "6-Buttons mode" to check the order of punch/kick strength in games like sf2ce.
Additional Information Just needs to swap the "III" and "I" buttons.
Github Commit
Flags
Regression Version
Affected Sets / Systems pce and clones
Attached Files
png file icon avenue pad 6.png (327,374 bytes) Aug 17, 2021, 22:39 Uploaded by ICEknight
Avenue Pad 6 button layout
ICEknight
png file icon pce 6 button mame defaults.png (4,691 bytes) Aug 17, 2021, 22:40 Uploaded by ICEknight
MAME 0.234 default button layout
ICEknight
Relationships
There are no relationship linked to this issue.
Notes
4
User avatar
No.19156
ICEknight
Tester
Aug 17, 2021, 22:42
edited on: Aug 17, 2021, 23:39
I've added pics of the (odd) original button layout and MAME's current default one, to illustrate the source of the confusion.
User avatar
No.19376
cuavas
Administrator
Oct 25, 2021, 15:08
The trouble with trying to make a friendly layout for a pad like this is that you’re then making assumptions about the layout of the user’s controllers. The most common controller layout isn't six face buttons, it’s the SNES-inspired four face buttons in a cross plus shoulder buttons. If you flip the order of buttons to make the layout look right on the keyboard, you’ll end up making it more confusing for people using game controllers.

Another issue is that there are 2- and 3-button pads for the system as well, so if you flip buttons I and III, then you end up with either the controls being shifted for the 2-button pad compared to the 3- and 6-button pads, or if you try to avoid that, then you end up without a “button 1” for the 2-button pad.

You’re just going to have to accept that this controller will require some manual configuration.
User avatar
No.19377
ICEknight
Tester
Oct 25, 2021, 15:39
edited on: Oct 25, 2021, 18:27
First, the only assumption I see here is thinking that, in this day and age where Mega Drive and Saturn styled USB controllers are all the rage, MAME users will choose to play 6-button games with 4 face buttons.

Second, this issue also causes the buttons to be swapped when using 4-button controllers, so not sure what the reasoning here was. If the button order here was consistent with MAME's default layout, it wouldn't require any manual configuration by anyone.

The other issue you bring up seems to be a different one, since the buttons will still be swapped and require reconfiguring anyway.

This is a real issue and it benefits nobody to leave it unfixed. The PR was perfectly fine before this small change was made to favor the button nomenclature over physical layout: https://github.com/mamedev/mame/pull/8028#commits-pushed-56441d9
User avatar
No.19380
cuavas
Administrator
Oct 26, 2021, 11:28
The MAME “button” inputs aren’t assumed to be in any particular physical layout, there isn’t some intermediate virtual controller like RetroArch’s “retropads”. The buttons are ordered by number on this controller, just like the A, B, C, and D buttons on an AES controller are mapped to buttons 1, 2, 3 and 4 without regard to physical arrangement.