Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07421 DIP/Input Minor Always Sep 14, 2019, 09:41 Sep 25, 2019, 19:38
Tester mentat51 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Confirmed Driver
Version 0.213 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 07421: coleco: Setting keypad alias not working in ctrl file, but work in cfg file
Description Not easy to explain. All other settings are working but the keypad part.

The coleco has a numeric keypad used for selecting the level to play for example.
If I set a button to the keypad #1 (tab -> Input (this machine)) it's work.

But If I copy this config in a ctrl file it's not working.
The direction and button input are working, but not the keypad part.

Example :
            <port tag=":STD_KEYPAD1" type="KEYPAD" mask="2" defvalue="2">
                <newseq type="standard">
                    JOYCODE_1_BUTTON3
                </newseq>
            </port>
            <port tag=":STD_KEYPAD1" type="KEYPAD" mask="4" defvalue="4">
                <newseq type="standard">
                    JOYCODE_1_BUTTON4
                </newseq>
            </port>
Steps To Reproduce mame64 coleco
tab ->Input (this machine)
Set a button for the 1 (pad 1)
exit
copy this part from cfg/coleco.cfg (and delete the cfg file)
to a ctrl file (ctrlr/xbox.ctrlr for example)

mame64 coleco dkong -ctrl xbox

You can't use the button assigned before to launch the game
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems coleco
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.16914
Tafoid
Administrator
Sep 16, 2019, 17:26
I have to assume this is pretty much due to the same reasons in this 07329/
Those drivers with PORT_CODE usage seem to ignore globally set .cfg or ctrlr files.

Does this most closely resemble your issue?
User avatar
No.16943
Tafoid
Administrator
Sep 20, 2019, 23:02
edited on: Sep 20, 2019, 23:04
I took some time to look at this and it is very strange.

- mame coleco
- mapped player 1 pad #1 key to "H"
- exited and restarted MAME to see that it was mapped correctly
- moved the coleco.cfg to CTRLR to use, deleting the coleco.cfg in CFG
- mame coleco -ctrlr coleco

The resulting mapping is odd, to say the least. ALL player 2 pad buttons now have the same mapping "H" I put for player 1 pad #1, which is showing the default mapping.
Not confirmed the way you outlined it, but it isn't retaining the original map at all and is butchering other inputs with that attempted mapping.
User avatar
No.16964
mentat51
Tester
Sep 25, 2019, 19:38
This is exactly what I have.

After verifying, I see the same : the mapping is shown for all lines.

But the problem is : work in file.cfg not with file.ctrlr.

I've tried to see in source, because it seems not using the same code for loading a cfg file and for loading ctrlr file (logic, no ?).
But I'm new to mame source and it's very difficult to find where this code is.