Build Your Own Arcade Controls Forum

Main => Main Forum => Topic started by: drfrancky on October 20, 2022, 03:13:08 pm

Title: Two joysticks with shared buttons
Post by: drfrancky on October 20, 2022, 03:13:08 pm
Hello all,
I am building my first arcade and i need some help with buttons wiring.
Let me first explain the setup and what i am trying to achieve.
I have 2 IPAC Ultimate boards:
Board 0:
Player 1 Sanwa Joystick + 12 buttons
Player 3 Sanwa Joystick + 6 buttons
Board 1:
Player 2 Sanwa Joystick + 12 buttons
Player 4 Sanwa Joystick + 6 buttons
Nothing special here, everything works great.
Here is the part I run into problem... or lack of knowledge how to do it exactly.
I have a Ultimarc 360 Analogue joystick that comes with USB cable and is visible in Windows as a separate (from IPACs) joystick.
I wish this joystick to share the buttons of Player 1 (that are connected to the IPAC Board 0)
The joystick itself have a mini-USB cable that you connect to the PC and a 9-pin connector - 1 Ground and 8 buttons.
I can connect the button cables to the corresponding buttons of Player 1, but what to do with the ground wire?
Do I daisy chain it to the buttons as well and have 2 grounds per button - one from ipac and one from ultimarc 360 or I don't connect it at all?

Title: Re: Two joysticks with shared buttons
Post by: PL1 on October 20, 2022, 04:26:12 pm
12 buttons for P1 and P2?  6 buttons for P3 and P4?

What games are you playing that use that many buttons?   :dizzy:

You might want to look through the number of buttons and design process entries in the FAQ.
http://wiki.arcadecontrols.com/index.php/FAQ#Number_of_player_buttons (http://wiki.arcadecontrols.com/index.php/FAQ#Number_of_player_buttons)
http://wiki.arcadecontrols.com/index.php/FAQ#What_type_of_build_meets_my_needs.3F (http://wiki.arcadecontrols.com/index.php/FAQ#What_type_of_build_meets_my_needs.3F)

I wish this joystick to share the buttons of Player 1 (that are connected to the IPAC Board 0)
The joystick itself have a mini-USB cable that you connect to the PC and a 9-pin connector - 1 Ground and 8 buttons.
I can connect the button cables to the corresponding buttons of Player 1, but what to do with the ground wire?
Do I daisy chain it to the buttons as well and have 2 grounds per button - one from ipac and one from ultimarc 360 or I don't connect it at all?
The easy answer is don't use the U360 encoder for buttons.   :P

In most emulator programs, you should be able to map the U360 analog joystick and Ult.I/O buttons to one player's inputs.

If you are running a program that only accepts joystick and button inputs from a single device, you can connect one button to two encoders.  You only need a single daisy-chained ground since both the U360 and the Ult. I/O grounds are connected via the USB cable ground.  When you press the button, ground will be applied to both inputs which will trigger the related outputs from the U360 and Ult. I/O.

                Button    ____ U360 button input
                switch    |
Ground ____/____|____ Ult. I/O button input


Scott
Title: Re: Two joysticks with shared buttons
Post by: drfrancky on October 20, 2022, 04:40:01 pm
12 buttons for P1 and P2?  6 buttons for P3 and P4?

What games are you playing that use that many buttons?   :dizzy:
I play old arcade games,PS1/PS2/PS3 games and Steam games as well.
Here is the layout:
P1/P2:
8 Action buttons (A,B,X,Y, Left Triger, Right Triger, Left Sholder, Right Sholder)
2 Buttons for Select/Start and Coin/Back)
2 Buttons for Right Analog Push/On Mame as a System Button, Left Analog Push/On Mame as Second System button.
I know i can use "shift button" on IPACs but i preffer to have dedicated buttons as there is enought space on the panel.
I will add Stream Deck for even more buttons :-)

Quote
I wish this joystick to share the buttons of Player 1 (that are connected to the IPAC Board 0)
The joystick itself have a mini-USB cable that you connect to the PC and a 9-pin connector - 1 Ground and 8 buttons.
I can connect the button cables to the corresponding buttons of Player 1, but what to do with the ground wire?
Do I daisy chain it to the buttons as well and have 2 grounds per button - one from ipac and one from ultimarc 360 or I don't connect it at all?
The easy answer is don't use the U360 encoder for buttons.   :P

In most emulator programs, you should be able to map the U360 analog joystick and Ult.I/O buttons to one player's inputs.
The main idea is when i play STEAM games to use the analogue joistick as it gives true 360 movement and not that limited movement of 8 way joysticks.
Also for bullet hell shooters it is better to use analogue as the directions are more precise.
There fore i need to use the analogue joystick as analogue and not as 8/4 way one.

Quote
If you are running a program that only accepts joystick and button inputs from a single device, you can connect one button to two encoders.  You only need a single daisy-chained ground since both the U360 and the Ult. I/O grounds are connected via the USB cable ground.  When you press the button, ground will be applied to both inputs which will trigger the related outputs from the U360 and Ult. I/O.

                Button    ____ U360 button input
                switch    |
Ground ____/____|____ Ult. I/O button input

Scott
And there is no problem that the ground line comes from a different device?
I can use the ground that comes from one of the IPACs and just not connect the one that comes from the Ultimarc 360?
Title: Re: Two joysticks with shared buttons
Post by: drfrancky on October 20, 2022, 04:54:12 pm
(https://i.postimg.cc/GhJ9m1mG/ipac.png)
Is this what you propose?
Title: Re: Two joysticks with shared buttons
Post by: PL1 on October 20, 2022, 07:36:12 pm
And there is no problem that the ground line comes from a different device?
I can use the ground that comes from one of the IPACs and just not connect the one that comes from the Ultimarc 360?
There are a very few encoders like the ones from X-Arcade (https://shop.xgaming.com/collections/arcade-parts/products/two-player-complete-do-it-yourself-arcade-kit) that use isolated grounds.

For all others, including any from Ultimarc, the saying "ground is ground" applies.
- I've used some odd ground sources like a metal computer case and even a metal heating duct :lol while testing some Arduino-based encoder inputs.

Your diagram is what I had in mind.
- It doesn't show that both USB cables are connected to a common ground, but they are.
- If it makes you feel better you can connect the U360 ground to the Ult. I/O ground daisy chain, but it's not necessary.


Scott
Title: Re: Two joysticks with shared buttons
Post by: drfrancky on October 21, 2022, 12:28:14 pm
Thanks for the help. It is working without connecting the second ground. I will do some more testing to see how it will perform.
Title: Re: Two joysticks with shared buttons
Post by: drfrancky on October 21, 2022, 12:53:48 pm
Actually after some time it stopped working. The IPAC shows stuck button, and the Ultimarc 360 does not recognizes the buttons pressed.
This happens after some plug in/plug out of the USB cables of the controllers. Will have to dig further :-)
Title: Re: Two joysticks with shared buttons
Post by: drfrancky on October 21, 2022, 05:18:37 pm
After some more digging i think i found the problem... when connecting and reconnecting joysticks the Ultimarc 360 thinks he should be in "output mode" and not in "input mode" and stops recognizing incoming buttons. For now, the solution is to unplug and plug them back in the correct order - first Ultimarc 360 and then in few seconds to plug the IPAC. This is actually not a solution because i need it to work regardless of the order you plug the cables.