Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08683 DIP/Input Minor Always Jun 24, 2023, 17:42 22 hours ago
Tester ArcadeShadow View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.255 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 08683: spec128: Main menu cursor doesn't work when "MGT DISCiPLE" device plugged
Description Start the ZX Spectrum 128 system with the "MGT DISCiPLE" (spectrum_disciple) device plugged on the exp slot, then at the main menu, the cursors keys don't work.
Tried also with the "MGT +D" device plugged, and it works.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems spec128
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.21601
AJR
Developer
Jun 29, 2023, 22:17
There's a good explanation for this: the DISCiPLE device also adds two Interface II-type (i.e. keyboard-mapped) digital joysticks, and MAME maps the directional inputs for the first joystick to the cursor keys, so the system thinks two keys are being pressed at once. Nullifying the codes for "Kempston\Sinclair P1" in the input menus allows the cursor keys work normally.
User avatar
No.24413
holub
Tester
1 day ago
That is pure default mapping issue, but:
1) 48 Model works well without noted issues
2) 128+ Use PLUSn lines and here we have cursor keys mapped to keyboard arrows
    For Spectrum cursors are 5678 + CS
    DISCiPLE use 6789 keys and maps it to global Player(1) joystick - which also use arrows
    When we press LEFT for example... Spectrum asserts CS+5 (for cursors) and 6 (for DISCiPLE)
    DOS can't identify unique mapping CS+5+6 and resisting to proceed with the move
3) As for me, using arrows for global default joystick's mapping is too error prone, especially for keyboards were arrows exist (I expect such to dominate)

I don't see any clean possibility except 3 (avoid arrows for global joystick default) for making the mapping clean in this situation. The user obviously can override defaults and drop mapping for minor device in heir configuration.
User avatar
No.24416
cuavas
Administrator
22 hours ago
Changing to minor/input as this is just a mildly irritating case of conflicting default assignments. There isn't much that can be done about it.