GLADLY!!
Ok, so I have replicated this error on two 32bit PC's, one running XP Pro SP3 and the other Windows 10 Pro. In MAME 0177 with my arcade panel connected via USB with a Zero Delay encoder I enter 'Configure Options' then 'General Inputs/User Interface and change:
UI Select to Joy1 button 3
UI Cancel to ESC or Joy1 button 5 Joy1 button 8 (two buttons at once)
Then I go into Player 1 Controls and change:
P1 button 1 to Joy1 button 0
P1 button 2 to Joy1 button 1
P1 button 3 to Joy1 button 2
P1 button 4 to Joy1 button 3
P1 button 5 to Joy1 button 4
P1 button 6 to Joy1 button 5
P1 button 7 to Joy1 button 8
Then I go to Other Controls and change:
1 Player Start to Joy1 button 6
Coin 1 to 5 or Joy1 button 7
In Advanced Options Joystick Is on
I return to previous menu until I am offered to Save Configuration which I do. I have opened MAME in window mode so I can get to the cfig and ctrlr foleders (both with Read Only Disabled). ctrlr has 5 cfg files for different control panels at my best guess. cfg has '___empty.cfg' and 'default.cfg' and both contain the following code:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="default" />
</mameconfig>
Only 'default.cfg' changes after saving my settings showing:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="default">
<input>
<port type="P1_BUTTON1">
<newseq type="standard">
JOYCODE_1_BUTTON1
</newseq>
</port>
<port type="P1_BUTTON2">
<newseq type="standard">
KEYCODE_LALT OR JOYCODE_1_BUTTON2 OR MOUSECODE_1_BUTTON3 OR GUNCODE_1_BUTTON2 OR JOYCODE_1_BUTTON2
</newseq>
</port>
<port type="P1_BUTTON3">
<newseq type="standard">
KEYCODE_SPACE OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2 OR JOYCODE_1_XAXIS_RIGHT_SWITCH OR JOYCODE_1_BUTTON3
</newseq>
</port>
<port type="P1_BUTTON4">
<newseq type="standard">
KEYCODE_LSHIFT OR JOYCODE_1_BUTTON4 OR JOYCODE_1_BUTTON4
</newseq>
</port>
<port type="P1_BUTTON5">
<newseq type="standard">
KEYCODE_Z OR JOYCODE_1_BUTTON5 OR JOYCODE_1_BUTTON5
</newseq>
</port>
<port type="P1_BUTTON6">
<newseq type="standard">
KEYCODE_X OR JOYCODE_1_BUTTON6 OR JOYCODE_1_BUTTON6
</newseq>
</port>
<port type="P1_BUTTON7">
<newseq type="standard">
KEYCODE_C OR JOYCODE_1_BUTTON7 OR JOYCODE_1_BUTTON9
</newseq>
</port>
<port type="START1">
<newseq type="standard">
JOYCODE_1_BUTTON7
</newseq>
</port>
<port type="COIN1">
<newseq type="standard">
KEYCODE_5 OR JOYCODE_1_UNKNOWN_SWITCH OR JOYCODE_1_BUTTON8
</newseq>
</port>
<port type="UI_SELECT">
<newseq type="standard">
JOYCODE_1_BUTTON4
</newseq>
</port>
<port type="UI_CANCEL">
<newseq type="standard">
KEYCODE_ESC OR JOYCODE_1_BUTTON6 JOYCODE_1_BUTTON9
</newseq>
</port>
</input>
</system>
</mameconfig>
So I open a rom (Aliens World set 1) and everything works fine until I use my ESC combo of button and I am presented with the 'caught unhandled st11logic_error exception: basic_string::_M_construct null not valid' error which either locks up MAME and / or locks the mouse and keyboard from clearing the error which leave Ctrl+Alt+Del as the only option to quit. Then the 'default.cfg' reverts back to:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="default" />
</mameconfig>
I am a member on another forum and have been advised to change the 'default.cfg' to 'read only' after my settings have been inputted to see if that works, which I will and report back here with results.
I have AIDA64 Extreme installed on both my everyday windows 10 PC and my Arcade Project Win XP PC so If anyone thinks its a hardware issue let me know and I can post full reports on both machines.
I really hope this helps someone with more knowledge regarding programming than myself to fix the issue, as stated before, I have been working and saving to make my cabinet and this really knocked the wind out of my sails.
Cheers