Dual Ultimarc u360s?

Discussion of keyboards, gamepads, joysticks and other input related peripherals.
retrodroid
Posts: 138
Joined: Tue Feb 02, 2021 5:55 pm
Has thanked: 96 times
Been thanked: 19 times

Dual Ultimarc u360s?

Unread post by retrodroid »

Hi all,

My arcade cabinet uses two Ultimarc Ultimate 360 (u360) joysticks for position 1 and 2.

Each u360 is its own USB hub and supports a set of buttons for each player as well.

I can't figure out how I can configure them both to work in MiSTer. When I try to set them up as Joysticks in the main MiSTer config they both show the same device ID, and whichever one I use first is the only one that registers anything. When used with Windows they both work fine, and have their own USB device ID.

I desperately need both to work so I can play lag-free Robotron! :D

I'm pretty new to MiSTer so hoping I'm just missing something.
Any help is appreciated.
retrodroid
Posts: 138
Joined: Tue Feb 02, 2021 5:55 pm
Has thanked: 96 times
Been thanked: 19 times

Re: Dual Ultimarc u360s?

Unread post by retrodroid »

I reviewed the MiSTer Wiki again and any other possibly relevant threads and discovered that MiSTer does not differentiate between identical brand/model USB devices in the Main Menu Core Joystick Setup function. So in my case, this means that when I setup one U360 in Joystick Setup, it applies the same mapping to both (aka, they can be used interchangeably in the Main Menu Core).

I also read about these settings in mister.ini:

Code: Select all

; Disable merging input devices. Use if only player 1 works. 
 ; Leave no_merge_pid empty to apply this to all devices with the same VID. 
 ;no_merge_vid=0x045E 
 ;no_merge_pid=0x028E 
When I run the Joystick Setup it reports the following IDs for both of my U360s: d209:0502. So I configured the .ini as follows:

Code: Select all

no_merge_vid=0xD209 
 no_merge_pid=0x0502 
I was hopeful that these settings might allow me to use + map both joysticks in the Robotron core, but it doesn't seem to do anything. If I tap J1 and then J2 after the Robotron core boots, I can see that each joystick controller is recognized and mapped via the on-screen overlay (P1, then P2), but when I go in to map the Robotron buttons only the first joystick is recognized, using the second one does nothing.

Could this be a limitation of the Robotron core itself? Can anyone confirm if I'm using the "no_merge_vid" settings correctly?
paulbnl
Core Developer
Posts: 217
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 50 times
Been thanked: 301 times

Re: Dual Ultimarc u360s?

Unread post by paulbnl »

I am guessing you are trying to map Start 2P to the second controller while you are mapping the first controller which is not possible. You only need to map one controller because they have the same VID/PID. For some reason there is a separate button for Start 1P and Start 2P. IMO this is a mistake in the core. There should be just one Start button and if you press Start on the second controller then it should treat it as Start 2P.

Your controllers seem to working properly since you said you get the OSD overlay for both controllers. Try to skip the Start 1P button and map the Start 2P only.
User avatar
Morfious
Posts: 39
Joined: Mon May 25, 2020 10:49 am
Has thanked: 10 times
Been thanked: 12 times

Re: Dual Ultimarc u360s?

Unread post by Morfious »

There may be some strangness in the robotron core as I have been unsuccessful in getting this to map properly to both sticks. I can play street fighter with no merge and have everything work perfectly but for some reason robotron specifically does not work as expected.
retrodroid
Posts: 138
Joined: Tue Feb 02, 2021 5:55 pm
Has thanked: 96 times
Been thanked: 19 times

Re: Dual Ultimarc u360s?

Unread post by retrodroid »

paulbnl wrote: Wed Feb 17, 2021 1:06 pm I am guessing you are trying to map Start 2P to the second controller while you are mapping the first controller which is not possible. You only need to map one controller because they have the same VID/PID. For some reason there is a separate button for Start 1P and Start 2P. IMO this is a mistake in the core. There should be just one Start button and if you press Start on the second controller then it should treat it as Start 2P.

Your controllers seem to working properly since you said you get the OSD overlay for both controllers. Try to skip the Start 1P button and map the Start 2P only.
Yes, further reading and testing makes me believe that my U360s are working "as designed" with MiSTer:
  • On an arcade core where P1 and P2 take turns playing, either/both joysticks and their respective buttons can be used for either player.
  • On a core where simultaneous 2-player play is supported (e.g. Joust), each player can control their player with their joystick.
It appears that MiSTer's joystick/controller model is biased towards console controllers, vs. arcade setups. This presents some pretty significant challenges to anyone wanting to create an authentic arcade cabinet experience. There is no apparent way to map buttons/controls from different USB devices across player's functions, P1, P2, P3, etc. Each USB device must be dedicated for P1, P2, etc. I have one U360 joystick + 4 buttons wired to it for P1 Start, 3 action buttons, and the joystick, then an identical setup for P2 (P2 Start, etc.). But with MiSTer, I'm unable to map the P2 start button, for example, to the second U360, instead I have to dedicate one of the P1 buttons for that.

I did try configuring the no_merge_vid/pid bit observed no differences with that configured.
I also tried the jamma_vid/pid configuration, but with that configured all input would cease to function after the first use of one of the U360s, including the keyboard.

If MiSTer was flexible enough to allow mapping of any connected USB device's controls to any player's function (e.g button1 from J1 = P1 Start, button1 from J2 = P2 Start, directional movement from J1 to move P1, directional movement from J2 to fire for P1, etc.), that would make arcade setups a lot more achievable.

For the specific Robotron core example, I guess the core could be modified to allow the P1 and P2 joysticks to be used for player 1 (and 2, taking turns) with P1 for movement, P2 for shooting. It already supports a special "shoot with movement" mode, so adding one more would be okay I would think. I'll open a ticket for that core's Github for this enhancement.

I'm really new to MiSTer, so if anyone has additional / corrective information on this subject please do share.
JaguarLV
Core Developer
Posts: 28
Joined: Mon May 25, 2020 12:39 am
Been thanked: 22 times

Re: Dual Ultimarc u360s?

Unread post by JaguarLV »

I submitted a patch to add 2 joystick support to Robotron. It is available now when you update MiSTer.
retrodroid
Posts: 138
Joined: Tue Feb 02, 2021 5:55 pm
Has thanked: 96 times
Been thanked: 19 times

Re: Dual Ultimarc u360s?

Unread post by retrodroid »

JaguarLV wrote: Mon Mar 15, 2021 2:33 pm I submitted a patch to add 2 joystick support to Robotron. It is available now when you update MiSTer.
I just tested it on my cabinet and immediately bested my high score vs using a controller with thumbsticks!

Many thanks!
Post Reply