Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05414 Interface Major Always Jan 4, 2014, 02:56 Apr 6, 2014, 23:28
Tester ozfalcon View Status Public Platform SDLMAME
Assigned To Osso Resolution Fixed OS Linux
Status [?] Resolved Driver
Version 0.152 Fixed in Version 0.153 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 05414: dotron: Unable to map dial increment/decrement controls
Description The Dial Increment/Decrement appear to be hardcoded and Mame CTRLR file fails to override default settings.

My configuration includes a Joystick (Sometimes not connected), So I must use the Mame ctrlr file to make these settings permanent.
Also, I'd simply like to use my own key assignments for Dial Increment/Decrement for better keyboard layout as well.

Bugs related include:
"02171"
"01080"
"04479"
Steps To Reproduce Assign custom controls for Dial Increment/Decrement via Mame CTRLR file.
Play Discs of Tron, The Dial Inc/Dec are NOT overridden.

Example Mame ctrlr file:
<?xml version="1.0"?>
<mameconfig version="10">
<system name="dotron">
        <input>
<!-- Throw Disc -->
            <port tag=":ssio:IP0" type="P1_BUTTON1" mask="16" defvalue="16">
                <newseq type="standard">
                    KEYCODE_LSHIFT OR JOYCODE_1_BUTTON1
                </newseq>
            </port>
<!-- Deflect Disc -->
            <port tag=":ssio:IP2" type="P1_BUTTON2" mask="64" defvalue="64">
                <newseq type="standard">
                    KEYCODE_X OR JOYCODE_1_BUTTON3
                </newseq>
            </port>
<!-- Aim Disc -->
            <port tag=":ssio:IP1" type="P1_DIAL" mask="127" defvalue="0" keydelta="5">
   <!-- Aim Right -->
                <newseq type="increment">
                    KEYCODE_SPACE OR JOYCODE_1_BUTTON7
                </newseq>
   <!-- Aim Left -->
                <newseq type="decrement">
                    KEYCODE_LCONTROL OR JOYCODE_1_BUTTON5
                </newseq>
            </port>
<!-- Aim Down Level -->
            <port tag=":ssio:IP2" type="P1_BUTTON3" mask="16" defvalue="16">
                <newseq type="standard">
                    KEYCODE_Z OR JOYCODE_1_BUTTON2
                </newseq>
            </port>
<!-- Aim Up Level -->
            <port tag=":ssio:IP2" type="P1_BUTTON4" mask="32" defvalue="32">
                <newseq type="standard">
                    KEYCODE_LALT OR JOYCODE_1_BUTTON6
                </newseq>
            </port>
<!-- Not Used -->
            <port tag=":FAKE" type="P1_TRACKBALL_Y" mask="255" defvalue="0">
                <newseq type="increment">
                    NONE
                </newseq>
                <newseq type="decrement">
                    NONE
                </newseq>
            </port>
        </input>
</system>
</mameconfig>
Additional Information IMHO, Using the default workaround is not a useful solution if you have other games that rely on a different default.

Using the default workaround in conjunction with Joysticks setup in the CTRLR file causes Mame to error & erase the game config!
Example:

Custom ctrlr file
<?xml version="1.0"?>
<mameconfig version="10">
<!-- ############################################################### -->
<!-- ########## START of DEFAULT controller configuration ########## -->
<!-- ############################################################### -->
<system name="default">
        <input>
            <port type="P1_DIAL">
                <newseq type="standard">
                    NONE
                </newseq>
                <newseq type="increment">
                    KEYCODE_SPACE OR JOYCODE_1_BUTTON7
                </newseq>
                <newseq type="decrement">
                    KEYCODE_LCONTROL OR JOYCODE_1_BUTTON5
                </newseq>
            </port>
        </input>
</system>
</mameconfig>



dotron config file:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="dotron">
        <input>
            <port tag=":ssio:IP1" type="P1_DIAL" mask="127" defvalue="0">
                <newseq type="increment">
                    DEFAULT
                </newseq>
                <newseq type="decrement">
                    DEFAULT
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>



Run Discs Of Tron, And dotron.cfg is modified as follows:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="dotron">
        <input>
            <port tag=":ssio:IP1" type="P1_DIAL" mask="127" defvalue="0">
                <newseq type="increment">
                    KEYCODE_SPACE OR JOYCODE_1_UNKNOWN_SWITCH
                </newseq>
                <newseq type="decrement">
                    KEYCODE_LCONTROL OR JOYCODE_1_UNKNOWN_SWITCH
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>



Run Discs Of Tron again, And Mame errors when exited.
Segmentation fault (core dumped)

The contents of dotron.cfg file have been completly erased!
(including any custom volume settings, Coin counters etc)
Github Commit
Flags
Regression Version
Affected Sets / Systems dotron
Attached Files
 
Relationships
related to 05479Resolvedhap  xybots: Unable to map twist left / twist right controls 
Notes
3
User avatar
No.10135
Osso
Moderator
Jan 5, 2014, 14:17
With 26950 dial increment/decrement is no longer hardcoded. Hope this helps.
User avatar
No.10136
ozfalcon
Tester
Jan 5, 2014, 21:43
edited on: Apr 9, 2014, 11:38
Thanks, It certainly will help.
User avatar
No.10543
ozfalcon
Tester
Apr 6, 2014, 23:28
Additional information also contains a different bug (Erasure of game.config) which I will make a separate bug report about.