Viewing Issue Advanced Details Jump to Notes ] sms.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06172 DIP/Input Minor Always Mar 31, 2016, 02:31 Apr 1, 2016, 15:48
Tester enik View Status Public Platform MESS (Official Binary)
Assigned To Resolution Fixed OS Windows XP
Status [?] Resolved   Driver sms.cpp
Version 0.172 Fixed in Version 0.173 Build Normal
Summary MESS-specific 06172: Default input mapping for two paddle devices causes a conflict
Description I think there's a core issue that causes a conflict with default paddle mappings for two players. In the file /src/emu/inpttype.h, the Paddle default setup for player 2 shows different analog mappings, but I don't know why they are not applied. The problem does not happen for two devices of other type (trackball, lightgun).
Steps To Reproduce I found the problem using this command:

mame smsj -ctrl1 paddle -ctrl2 paddle galactpr

Only button 1, of the two paddle inputs, does not conflict. The other settings (Analog, Analog Dec and Analog Inc) have the same mappings for the two players.
Additional Information I haven't notice the issue until this week, but it is present on some older git builds from last year that I still have stored.
Flags
Regression Version
Affected Sets / Systems
Attached Files
 


-  Notes
User avatar
No.12501
AJR
(Developer)
Mar 31, 2016, 20:25
This seems to be a longstanding bug in ioport handling. The controller devices in both slots are providing the same input map, but the core is supposed to recognize controller inputs and assign the duplicates to different players. Unfortunately, this relied on a piece of old MESS code that was only set up to recognize digital joysticks, the first 10 buttons, analog sticks, trackballs, light guns, mice, START and SELECT as controller inputs. I've submitted a rewrite of the offending routine.
User avatar
No.12506
M.A.S.H.
(Senior Tester)
Apr 1, 2016, 15:47
Fixed by AJR.
http://git.redump.net/mame/commit/?id=01b91996a573ece83fbfc8ffa60a134dcda733d6