Hi,
I'm having a weird issue with my upgrade from MAME .246 to .251 (technically its GroovyMAME).
I have two Ultra-Sticks on my cab. When running MAME 246 in verbose mode, they showed up as follows:
Input: Adding keyboard #0: HID Keyboard Device (device id: \\?\HID#VID_046D&PID_C52B&MI_00#7&326a795d&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding keyboard #1: HID Keyboard Device (device id: \\?\HID#VID_D209&PID_0420&MI_00#7&931efc3&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
....
Input: Adding joystick #0: Ultimarc Ultra-Stik Player 2 (device id: Ultimarc Ultra-Stik Player 2 product_0502d209-0000-0000-0000-504944564944 instance_b5c2d970-fe61-11ea-8005-444553540000)
Input: Adding joystick #1: I-PAC 2 (device id: I-PAC 2 product_0420d209-0000-0000-0000-504944564944 instance_b5c32790-fe61-11ea-8006-444553540000)
Input: Adding joystick #2: Ultimarc Ultra-Stik Player 1 (device id: Ultimarc Ultra-Stik Player 1 product_0501d209-0000-0000-0000-504944564944 instance_ef03c460-fea2-11ea-8001-444553540000)
Input: Adding joystick #3: I-PAC 2 (device id: I-PAC 2 product_0420d209-0000-0000-0000-504944564944 instance_fac41a70-ff6f-11ea-8003-444553540000)
Based on that information, I made a mycontrollers.cfg file in ctrls and added the following:
<input>
<mapdevice device="VID_0420&PID_0209" controller="KEYCODE_1" />
<mapdevice device="VID_046D&PID_C52B" controller="KEYCODE_2" />
<mapdevice device="VID_04B4&PID_0201" controller="TRACKBALL_1" />
<mapdevice device="VID_D209&PID_1601" controller="GUNCODE_1" />
<mapdevice device="VID_D209&PID_1602" controller="GUNCODE_2" />
<mapdevice device="ATRAK Device #1" controller="JOYCODE_3" />
<mapdevice device="ATRAK Device #2" controller="JOYCODE_4" />
<mapdevice device="Ultimarc Ultra-Stik Player 1" controller="JOYCODE_1" />
<mapdevice device="Ultimarc Ultra-Stik Player 2" controller="JOYCODE_2" />
<mapdevice device="XInput Player 1" controller="JOYCODE_5" />
<mapdevice device="VID_D209&PID_0420" controller="JOYCODE_6" />
</input>
This worked fine.
After upgrading to .251, however, the Device Ids for the Ultrasticks are different. Now these are the devices listed:
Adding keyboard #1: USB Receiver (Logitech) (device id: \\?\HID#VID_046D&PID_C52B&MI_00#7&326a795d&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding keyboard #2: I-PAC 2 (Ultimarc) (device id: \\?\HID#VID_D209&PID_0420&MI_00#7&931efc3&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #1: EP2 Interrupt (Ultimar) (device id: \\?\HID#VID_04B4&PID_0201&MI_01#7&25acfb7a&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #2: ATRAK Mouse (Ultimarc) (device id: \\?\HID#VID_D209&PID_1601&MI_02#7&6f69e7b&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #3: ATRAK Mouse (Ultimarc) (device id: \\?\HID#VID_D209&PID_1602&MI_02#9&2f312172&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #4: I-PAC 2 (Ultimarc) (device id: \\?\HID#VID_D209&PID_0420&MI_01&Col03#7&512f225&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #5: (Ultimar) (device id: \\?\HID#VID_04B4&PID_0201&MI_00#7&3ab68af&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #6: Ultimarc Ultra-Stik Player 2 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0502&MI_01#9&3840d97d&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #7: Ultimarc Ultra-Stik Player 1 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0501&MI_01#7&126ec518&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #1: EP2 Interrupt (Ultimar) (device id: \\?\HID#VID_04B4&PID_0201&MI_01#7&25acfb7a&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #2: ATRAK Mouse (Ultimarc) (device id: \\?\HID#VID_D209&PID_1601&MI_02#7&6f69e7b&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #3: ATRAK Mouse (Ultimarc) (device id: \\?\HID#VID_D209&PID_1602&MI_02#9&2f312172&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #4: I-PAC 2 (Ultimarc) (device id: \\?\HID#VID_D209&PID_0420&MI_01&Col03#7&512f225&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #5: (Ultimar) (device id: \\?\HID#VID_04B4&PID_0201&MI_00#7&3ab68af&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #6: Ultimarc Ultra-Stik Player 2 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0502&MI_01#9&3840d97d&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #7: Ultimarc Ultra-Stik Player 1 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0501&MI_01#7&126ec518&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding joystick #1: ATRAK Device #1 (Ultimarc) (device id: \\?\HID#VID_D209&PID_1601&MI_01#7&2acddc3d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
Input: Adding joystick #2: ATRAK Device #2 (Ultimarc) (device id: \\?\HID#VID_D209&PID_1602&MI_01#9&b59e3b0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
Input: Adding joystick #3: I-PAC 2 (Ultimarc) (device id: \\?\HID#VID_D209&PID_0420&MI_03#7&18cf9d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
Input: Adding joystick #4: Ultimarc Ultra-Stik Player 2 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0502&MI_00#9&2cb254b3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
Input: Adding joystick #5: Ultimarc Ultra-Stik Player 1 (Ultimarc Ultra-Stik) (device id: \\?\HID#VID_D209&PID_0501&MI_00#7&c15726&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
So my thought was to make a new mycontrollers.cfg file with the following:
<mameconfig version="10">
<system name="default">
<input>
<mapdevice device="VID_0420&PID_0209" controller="KEYCODE_1" />
<mapdevice device="VID_046D&PID_C52B" controller="KEYCODE_2" />
<mapdevice device="VID_04B4&PID_0201" controller="TRACKBALL_1" />
<mapdevice device="VID_D209&PID_1601" controller="GUNCODE_1" />
<mapdevice device="VID_D209&PID_1602" controller="GUNCODE_2" />
<mapdevice device="ATRAK Device #1" controller="JOYCODE_3" />
<mapdevice device="ATRAK Device #2" controller="JOYCODE_4" />
<mapdevice device="VID_D209&PID_0501" controller="JOYCODE_1" />
<mapdevice device="VID_D209&PID_0502" controller="JOYCODE_2" />
<mapdevice device="XInput Player 1" controller="JOYCODE_5" />
<mapdevice device="VID_D209&PID_0420" controller="JOYCODE_6" />
</input>
</system>
</mameconfig>
That doesn't work. The controllers file is read and a keyboard is remapped, (I see it in the log) but the sticks aren't.
Any suggestions? Could it have to do with the multiple identical entries for the Ultra-Sticks in .251 using HIP and PID (as mice, lightguns, and joysticks), vs a unique name for the Joystick Device ID in .246?
Thanks.