vgfan
Posts: 6
Joined: Fri Oct 30, 2020 12:56 pm

Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA (arcade stick with PC support) is connected (USB). Controllers: Hrap3SA+3 xbox one controllers. OS: Windows 10.
As a result, the keyboard stops responding to presses, i cannot save state, load state, cannot exit mame, etc. not with the stick and not with my other 3 xbox one controllers which are all connected.
Other emulators like retroarch work perfectly fine with the arcade stick and my other 3 xbox controllers.
Mame works perfectly fine with the xbox controllers when i disconnect the arcade stick from the computer.
In mame, in joystick input provider, i tried dinput, xinput, and auto.
Hrap3 is a special edition arcade stick with all sanwa parts that cost me quite a lot of money and i don't want to miss playing so many games with it in mame which is my favorite emulator. It is a dinput arcade stick as far as i know.
How to make it work with mame?
ctrlr\controls.cfg:

<mameconfig version="10">
<system name="default">
<input>
<mapdevice device="XInput Player 1" controller="JOYCODE_1" />
<mapdevice device="XInput Player 2" controller="JOYCODE_2" />
<mapdevice device="XInput Player 3" controller="JOYCODE_3" />
<mapdevice device="REAL ARCADE PRO.3" controller="JOYCODE_4" />


</input>
</system>

</mameconfig>

cfg\default.cfg (read only is checked):

<?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_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_1_HAT1UP OR JOYCODE_1_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_1_HAT1DOWN OR JOYCODE_1_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_1_HAT1LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_1_HAT1RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_UP">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_DOWN">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_LEFT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_RIGHT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_UP">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_DOWN">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_LEFT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_RIGHT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON1">
<newseq type="standard">
JOYCODE_1_BUTTON3
</newseq>
</port>
<port type="P1_BUTTON2">
<newseq type="standard">
JOYCODE_1_BUTTON1
</newseq>
</port>
<port type="P1_BUTTON3">
<newseq type="standard">
JOYCODE_1_BUTTON2
</newseq>
</port>
<port type="P1_BUTTON4">
<newseq type="standard">
JOYCODE_1_BUTTON4
</newseq>
</port>
<port type="P1_BUTTON5">
<newseq type="standard">
JOYCODE_1_BUTTON5
</newseq>
</port>
<port type="P1_BUTTON6">
<newseq type="standard">
JOYCODE_1_BUTTON6
</newseq>
</port>
<port type="P1_BUTTON7">
<newseq type="standard">
JOYCODE_1_ZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P1_BUTTON8">
<newseq type="standard">
JOYCODE_1_ZAXIS_NEG_SWITCH
</newseq>
</port>
<port type="P1_BUTTON9">
<newseq type="standard">
JOYCODE_1_BUTTON9
</newseq>
</port>
<port type="P1_BUTTON10">
<newseq type="standard">
JOYCODE_1_BUTTON10
</newseq>
</port>
<port type="P1_BUTTON11">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON12">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON13">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON14">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON15">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_BUTTON16">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P1_START">
<newseq type="standard">
JOYCODE_1_BUTTON8
</newseq>
</port>
<port type="P1_SELECT">
<newseq type="standard">
JOYCODE_1_BUTTON7
</newseq>
</port>
<port type="P2_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_2_HAT1UP OR JOYCODE_2_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_2_HAT1DOWN OR JOYCODE_2_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_2_HAT1LEFT OR JOYCODE_2_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_2_HAT1RIGHT OR JOYCODE_2_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKRIGHT_UP">
<newseq type="standard">
JOYCODE_2_ZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKRIGHT_DOWN">
<newseq type="standard">
JOYCODE_2_RZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKRIGHT_LEFT">
<newseq type="standard">
JOYCODE_2_ZAXIS_NEG_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKRIGHT_RIGHT">
<newseq type="standard">
JOYCODE_2_ZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKLEFT_UP">
<newseq type="standard">
JOYCODE_2_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKLEFT_DOWN">
<newseq type="standard">
JOYCODE_2_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKLEFT_LEFT">
<newseq type="standard">
JOYCODE_2_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICKLEFT_RIGHT">
<newseq type="standard">
JOYCODE_2_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P2_BUTTON1">
<newseq type="standard">
JOYCODE_2_BUTTON3
</newseq>
</port>
<port type="P2_BUTTON2">
<newseq type="standard">
JOYCODE_2_BUTTON1
</newseq>
</port>
<port type="P2_BUTTON3">
<newseq type="standard">
JOYCODE_2_BUTTON2
</newseq>
</port>
<port type="P2_BUTTON4">
<newseq type="standard">
JOYCODE_2_BUTTON4
</newseq>
</port>
<port type="P2_BUTTON5">
<newseq type="standard">
JOYCODE_2_BUTTON5
</newseq>
</port>
<port type="P2_BUTTON6">
<newseq type="standard">
JOYCODE_2_BUTTON6
</newseq>
</port>
<port type="P2_BUTTON7">
<newseq type="standard">
JOYCODE_2_ZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_BUTTON8">
<newseq type="standard">
JOYCODE_2_ZAXIS_NEG_SWITCH
</newseq>
</port>
<port type="P2_BUTTON9">
<newseq type="standard">
JOYCODE_2_BUTTON9
</newseq>
</port>
<port type="P2_BUTTON10">
<newseq type="standard">
JOYCODE_2_BUTTON10
</newseq>
</port>
<port type="P2_START">
<newseq type="standard">
JOYCODE_2_BUTTON8
</newseq>
</port>
<port type="P2_SELECT">
<newseq type="standard">
JOYCODE_2_BUTTON7
</newseq>
</port>
<port type="P3_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_3_HAT1UP OR JOYCODE_3_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_3_HAT1DOWN OR JOYCODE_3_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_3_HAT1LEFT OR JOYCODE_3_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_3_HAT1RIGHT OR JOYCODE_3_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICKRIGHT_UP">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKRIGHT_DOWN">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKRIGHT_LEFT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKRIGHT_RIGHT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKLEFT_UP">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKLEFT_DOWN">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKLEFT_LEFT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_JOYSTICKLEFT_RIGHT">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON1">
<newseq type="standard">
JOYCODE_3_BUTTON3
</newseq>
</port>
<port type="P3_BUTTON2">
<newseq type="standard">
JOYCODE_3_BUTTON1
</newseq>
</port>
<port type="P3_BUTTON3">
<newseq type="standard">
JOYCODE_3_BUTTON2
</newseq>
</port>
<port type="P3_BUTTON4">
<newseq type="standard">
JOYCODE_3_BUTTON4
</newseq>
</port>
<port type="P3_BUTTON5">
<newseq type="standard">
JOYCODE_3_BUTTON5
</newseq>
</port>
<port type="P3_BUTTON6">
<newseq type="standard">
JOYCODE_3_BUTTON6
</newseq>
</port>
<port type="P3_BUTTON7">
<newseq type="standard">
JOYCODE_3_ZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P3_BUTTON8">
<newseq type="standard">
JOYCODE_3_ZAXIS_NEG_SWITCH
</newseq>
</port>
<port type="P3_BUTTON9">
<newseq type="standard">
JOYCODE_3_BUTTON9
</newseq>
</port>
<port type="P3_BUTTON10">
<newseq type="standard">
JOYCODE_3_BUTTON10
</newseq>
</port>
<port type="P3_BUTTON11">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON12">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON13">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON14">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON15">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_BUTTON16">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P3_START">
<newseq type="standard">
JOYCODE_3_BUTTON8
</newseq>
</port>
<port type="P3_SELECT">
<newseq type="standard">
JOYCODE_3_BUTTON7
</newseq>
</port>
<port type="P4_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_4_HAT1UP
</newseq>
</port>
<port type="P4_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_4_HAT1DOWN
</newseq>
</port>
<port type="P4_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_4_HAT1LEFT
</newseq>
</port>
<port type="P4_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_4_HAT1RIGHT
</newseq>
</port>
<port type="P4_JOYSTICKLEFT_UP">
<newseq type="standard">
JOYCODE_4_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P4_BUTTON1">
<newseq type="standard">
JOYCODE_4_BUTTON1
</newseq>
</port>
<port type="P4_BUTTON2">
<newseq type="standard">
JOYCODE_4_BUTTON4
</newseq>
</port>
<port type="P4_BUTTON3">
<newseq type="standard">
JOYCODE_4_BUTTON6
</newseq>
</port>
<port type="P4_BUTTON4">
<newseq type="standard">
JOYCODE_4_BUTTON5
</newseq>
</port>
<port type="P4_BUTTON5">
<newseq type="standard">
JOYCODE_4_BUTTON2
</newseq>
</port>
<port type="P4_BUTTON6">
<newseq type="standard">
JOYCODE_4_BUTTON3
</newseq>
</port>
<port type="P4_BUTTON7">
<newseq type="standard">
JOYCODE_4_BUTTON8
</newseq>
</port>
<port type="P4_BUTTON8">
<newseq type="standard">
JOYCODE_4_BUTTON7
</newseq>
</port>
<port type="P4_BUTTON9">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P4_BUTTON10">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P4_BUTTON11">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P4_BUTTON12">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P4_BUTTON13">
<newseq type="standard">
NONE
</newseq>
</port>
<port type="P4_START">
<newseq type="standard">
JOYCODE_4_BUTTON10
</newseq>
</port>
<port type="P4_SELECT">
<newseq type="standard">
JOYCODE_4_BUTTON9
</newseq>
</port>
<port type="START1">
<newseq type="standard">
JOYCODE_1_BUTTON8
</newseq>
</port>
<port type="START2">
<newseq type="standard">
JOYCODE_2_BUTTON8
</newseq>
</port>
<port type="START3">
<newseq type="standard">
JOYCODE_3_BUTTON8
</newseq>
</port>
<port type="START4">
<newseq type="standard">
JOYCODE_4_BUTTON10
</newseq>
</port>
<port type="COIN1">
<newseq type="standard">
JOYCODE_1_BUTTON7
</newseq>
</port>
<port type="COIN2">
<newseq type="standard">
JOYCODE_2_BUTTON7
</newseq>
</port>
<port type="COIN3">
<newseq type="standard">
JOYCODE_3_BUTTON7
</newseq>
</port>
<port type="COIN4">
<newseq type="standard">
JOYCODE_4_BUTTON9
</newseq>
</port>
<port type="P1_PEDAL">
<newseq type="standard">
JOYCODE_1_ZAXIS
</newseq>
</port>
<port type="P2_PEDAL">
<newseq type="standard">
JOYCODE_2_ZAXIS
</newseq>
</port>
<port type="P3_PEDAL">
<newseq type="standard">
JOYCODE_3_ZAXIS
</newseq>
</port>
<port type="P1_PEDAL2">
<newseq type="standard">
JOYCODE_1_ZAXIS
</newseq>
</port>
<port type="P2_PEDAL2">
<newseq type="standard">
JOYCODE_2_ZAXIS
</newseq>
</port>
<port type="P3_PEDAL2">
<newseq type="standard">
JOYCODE_3_ZAXIS
</newseq>
</port>
</input>
</system>
</mameconfig>
Last edited by vgfan on Sun Mar 05, 2023 12:37 pm, edited 4 times in total.
vgfan
Posts: 6
Joined: Fri Oct 30, 2020 12:56 pm

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

Any chance to get a reply? I updated the post with more information
User avatar
Tafoid
Posts: 351
Joined: Thu Nov 06, 2014 12:50 pm
Location: USA
Contact: Website

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

vgfan wrote: Sun Mar 05, 2023 10:37 am Any chance to get a reply? I updated the post with more information

Per the announcement texts and the whatsnew file - There were major changes to the input system which would require most people to have to redo/resetup their master configuration/ctlrl file.

I can't tell if you have redone this or are expecting the previous one to magically work 100% in the new MAME. If after a reconfigure/refresh of your inputs you are still having issues, be sure that you don't have any conflicting .cfg files at driver or machine level.

Not sure what else to suggest. There are also a few input related fixes that hit after 0.252 went out so you can either compile top of tree GitHub and try this out or wait until 0.253.
vgfan
Posts: 6
Joined: Fri Oct 30, 2020 12:56 pm

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

How to reconfigure/refresh inputs?
How can i check if i have conflicting .cfg at driver/machine level? The UI stops responding to presses in all mame games and only in mame...

Input file in mame.ini is:


#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr Controls
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

vgfan wrote: Wed Mar 08, 2023 11:28 am How to reconfigure/refresh inputs?
How can i check if i have conflicting .cfg at driver/machine level? The UI stops responding to presses in all mame games and only in mame...

Input file in mame.ini is:


#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr Controls
I guess you need to download latest mame and extract it to a newly created directory (dont overwrite your existing mame dir). And/or make sure you only have an (unmodified) '___empty.cfg' and a 'default.cfg' in your 'mame\cfg' directory and not a single specific gamename.cfg like a 'pacman.cfg' for example. Perhaps you also need to make sure that your 'mame\ctrlr' directory only contains the files that where created when you extracted the mame download, and contains no other or modified files (no others than unmodified 'hotrod.cfg', 'hotrodse.cfg', 'scorpionxg.cfg', 'slikstik.cfg', and 'xarcade.cfg').

PS: Or perhaps, when I look at the part of your mame.ini that you posted, it could be as simple as changing the line that states 'ctrlr Controls' (which I guess makes mame look for a 'Controls.cfg' in your ctrl directory) to just read 'ctrlr' (and remove the 'Controls' part), so you can start over ?
vgfan
Posts: 6
Joined: Fri Oct 30, 2020 12:56 pm

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

mhoes wrote: Wed Mar 08, 2023 4:47 pm
vgfan wrote: Wed Mar 08, 2023 11:28 am How to reconfigure/refresh inputs?
How can i check if i have conflicting .cfg at driver/machine level? The UI stops responding to presses in all mame games and only in mame...

Input file in mame.ini is:


#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr Controls
I guess you need to download latest mame and extract it to a newly created directory (dont overwrite your existing mame dir). And/or make sure you only have an (unmodified) '___empty.cfg' and a 'default.cfg' in your 'mame\cfg' directory and not a single specific gamename.cfg like a 'pacman.cfg' for example. Perhaps you also need to make sure that your 'mame\ctrlr' directory only contains the files that where created when you extracted the mame download, and contains no other or modified files (no others than unmodified 'hotrod.cfg', 'hotrodse.cfg', 'scorpionxg.cfg', 'slikstik.cfg', and 'xarcade.cfg').

PS: Or perhaps, when I look at the part of your mame.ini that you posted, it could be as simple as changing the line that states 'ctrlr Controls' (which I guess makes mame look for a 'Controls.cfg' in your ctrl directory) to just read 'ctrlr' (and remove the 'Controls' part), so you can start over ?
EDIT: Input problem is only partially solved :/
Now the UI responds to presses but the problem is:
I press the turbo button on my arcade stick while captain commando is running and it created a gibberish system inputs...? How come? As a result, because the system input overrides my general input the arcade stick character movement and gameplay buttons are not responding to presses. Even after closing mame, deleting the gibberish system input from the cfg folder, deactivating turbo function on my arcade stick, when entering the game again mame keeps creating a new gibberish system input...?? How to solve this? Disconnecting the arcade stick usb and connecting it back did not help. It only happens in mame, other emulators work perfectly fine.
So i delete mame.ini and create it from the beginning and surprisingly mame got back to look at my controls.cfg and make the game use my general input, Why is that? When comparing the previous mame.ini with the new mame.ini, its the same configuration...
The system input mame creates every time i enter the game (Captain Commando) is this:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="captcomm">
<bgfx>
<window index="0">
<screen index="0" chain="crt-geom" />
</window>
</bgfx>
<counters>
<coins index="0" number="6" />
</counters>
</system>
</mameconfig>


---------------------------

So i installed mame from the beginning, configured the same .ini, moved my controls.cfg and default.cfg to the new install, changed joystick input from auto to dinput, run Sunset RIders (4 player game) and the UI is not freezing anymore! Something in my old mame install caused this UI freezing, i have no idea what but problem solved!

Btw, in controller setup of 3 xbox one controllers+dinput controller (arcade stick) or above 4 controllers, joystick input must be changed from auto to dinput, right? When it was on auto my xbox one controllers did not function.
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Mame 0.252 (standalone) stops responding to UI commands when hori real arcade pro 3 SA is connected

vgfan wrote: Wed Mar 08, 2023 10:58 pmSo i installed mame from the beginning, configured the same .ini, moved my controls.cfg and default.cfg to the new install
Not sure what other to suggest here, but: have you tried to do a fresh/new mame install in a new directory, without overwriting an existing mame install and without changing the default 'mame.ini' and 'default.cfg', and not adding your customization's (including but not limited to not adding your 'controls.cfg'). As an exception here, I guess you can safely change 'rompath' to state where your roms are located.

Return to “MAME Discussion”