- --
Viewing Issue Advanced Details
[ Jump to Notes ]
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
06519 | DIP/Input | Critical (emulator) | Always | Mar 17, 2017, 19:02 | Apr 1, 2017, 13:14 |
Tester | aceshigh1 | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | AJR | Resolution | Fixed | OS | Windows 10 (64-bit) |
Status [?] | Resolved | Driver | |||
Version | 0.183 | Fixed in Version | Build | 64-bit | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 06519: All drivers with slot-based controllers: Buttons cannot be mapped to more than one key using 'or' logic using internal UI | ||||
Description |
This includes NeoGeo games but also extends to many of the console systems eg. 'nes' Tried several NeoGeo games: samsho, samsho2, fatfury1, fatfury2 with the NeoGeo reproduction is easy to test because it has both regular controls (for the coinslots) and slot based controls (directions, buttons) creating an 'or' mapping for the directions/buttons appears to be impossible, while creating if for the regular 'root:' controls is easy and works as expected. |
||||
Steps To Reproduce |
1) Load a neogeo game (samsho for instance). 2) Select any BIOS. 3) Pass the info screen. 4) Press TAB key to bring up to UI. 5) Select "Input (this Machine)". 6) Highlight "P1Button1" and press ENTER. 7) Hit the A key, for instance. Now the P1Button1 is mapped to key A. 8) Press ENTER again without changing the highlighted line. 9) Hit the D key, for instance. Now the P1Button1 is mapped to key D only. |
||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | All drivers with slot-based controllers | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
7
No.13710
StHiryu Tester
Mar 17, 2017, 23:47
|
This happened to me playing Metal Slug, but after several tries, it worked fine again....Don't remember if I deleted the cfg and nvram files... |
---|---|
No.13717
aceshigh1 Tester
Mar 20, 2017, 16:42
|
Deleted all CFG and NVRAM files, and tried again. Same result here. |
No.13740
ozfalcon Tester
Mar 29, 2017, 13:58
edited on: Mar 29, 2017, 14:12 |
Works here (Can assign "A or D") but the timing is tight. Try doing the FIRST key assignment press faster. And each subsequent key assignment press faster if you want to add more than two (ie "A or B or C or D" etc.) |
No.13752
Haze Senior Tester
Mar 31, 2017, 04:41
edited on: Mar 31, 2017, 04:47 |
there's definitely a bug here, it seems to affect any pluggable controller devices, ie anything that isn't plain root: personally I can't map anything with 'or' logic if it's in anything other than the 'root:' section regardless of timing. this actually looks like a VERY serious issue covering a large number of systems. |
No.13756
Haze Senior Tester
Mar 31, 2017, 16:48
|
I've updated the report a bit, and set it to 'critical' because IMHO this should be considered a blocking bug, the input configuration code is a key part of MAME and this is a widespread flaw. |
No.13759
AJR Developer
Mar 31, 2017, 21:01
|
I've fixed this, but it must have been a fairly longstanding bug. The root cause was declaring menu_input::last_sortorder as uint16_t, despite the sort ordering using 32-bit values. It just so happened to be the case that the higher-order word bits are used to separate device-based inputs. |
No.13760
Haze Senior Tester
Apr 1, 2017, 13:14
|
Yeah, I imagine it went unnoticed in the past because not many people were using things with slot-based controllers, but now more people are using them it started being noticed. |