Dual Modding?


#1

Hey guys, I was just curious as to how dual modding for PS3/360 works exactly. What I’m wondering is how you switch the stick to be active for PS3/360 respectively, or if it automatically detects what it’s hooked up to?

Thanks.


#2

You get a PlayStation 3 Controller PCB.
You get an Xbox 360 Controller PCB.
Both need be Common Ground.

You connect the Directional of each PCB to each other.
You connect the Action Buttons of each PCB to each other.

You connect the Ground (black wire of USB) of each PCB to each other.
You connect the VCC (red wire of USB) to each other.

To do the switching Consoles, you need something to control the Data+ and Data- of the USB.
Do that by using a DPDT (Double Pole, Double Throw) Switch.

http://shoryuken.com/f177/2-pcbs-one-stick-possible-146124/

If you don’t want a physical switch to control the Data Lines, then use the Imp from Toodles.
The Imp does the switching by you holding down a Button while plugging into Console.

http://shoryuken.com/f177/switch-less-usb-selector-ps3-360-imp-design-stage-179629/

There is no automatic detection for PlayStation 3 and Xbox 360 unless you use the ChImp from Toodles.
The ChImp is PlayStation 3 Controller PCB, then you Dual Mod with using Common Ground Xbox 360 Controller.

http://shoryuken.com/f177/official-cthulhu-chimp-board-thread-mc-firmware-2-0-released-162026/

http://shoryuken.com/f177/rj-45-mc-cthulhu-imp-xbox-360-dual-mod-tutorial-diagram-225565/


#3

Pretty much following what jdm said. Just adding on how it works.

As stated, you need to link two common ground PCBs. This makes soldering wires between the two safe.

This refers to the 4 wires that are the only four going in and out of the fightstick; the USB wire. One wire (VCC) provides the power, one wire must touch everything to complete circuits (Ground). This wire is what provides a voltage differential, as it is always at 0V, and is a key element to complete circuits.

Data± are the two wires that tell the system which button is active, which direction is active, etc.

BOTH PCBs must be powered at any time one is in use. So, instead of switching which button has power, we switch which is providing data. To do this…

As stated.

At the heart of the PCBs are microchips that mostly work in a simple “if then” format. This format generally is:
“IF a certain button’s input is at 5V of power, THEN it is not activated”
“IF a certain button’s input is at 0V, THEN it is activated”

This info travels through the data wires that are in the USB wires and told to the system. Whenever you successfully dual mod a controller, BOTH PCBs will be saying “Button X is active.” However, because we’re using a switch to control which PCB will be going to the system, we can control which system is the active system.

Because both systems are connected, both PCBs receive the same inputs, both PCBs send the “same” outputs, BUT, only one of these systems is active from the switch we are using. Because they are common ground, as long as a wire touches the equivalent input (IE X and A), and say, a wire touches a pushbutton, any time that pushbutton goes down, both PCBs will be “told” that it is active. Important note: only ONE ground wire needs to be connected between two common ground PCBs, this is usually the ground wire of the USB cable connecting both systems.

As listed, there are a lot of options for switches.

Now, onto the “IF, THEN” statements I made. By default, the PCBs will have 5V going to the input of each board. How do we make them 0V? The answer is to connect a ground wire to them. A ground wire will sap the 5V from that input, and when this specific input is at 0V, it is now active. Fightsticks work because pushbuttons are switches that connect a common ground wire to another wire at 5V. This 5V wire is connected to the input of the PCB. When a pushbutton is slammed down, internally, it connects these two wires. The ground wire saps the 5V from the wire connected to the PCB, and then the PCB goes into action. It reads the input at 0V, and the button is now active. It relays that this button is active to the system. BUT WAIT, this is how any single-system PCB works, we want dual mods!

BUT DOUBLE WAIT, we’ve connected the second PCB through a single wire between equivalent inputs (Say B and O). Now, not only is the PS3’s input for O now at zero volts, because we’ve connected a ground wire to the O input (via pushbutton), and we’ve connected a wire between O and B of the 360, that wire that has been connected between the two is now ALSO a ground wire! So, the 360’s B button is now also at 0V, which tells the 360’s microchip to have B active. BUT TRIPLE WAIT! We can only have one system sending out inputs at a time.

BUT QUADRUPLE WAIT! Remember that we’ve wired a switch to control which system gets the data+ and data? wires. So, travel up both system’s Data+ and data? wires, we’ll see which is connected. Then, a DPDT switch, or an Imp board (an internal switch which is activated by pressing a button upon connecting a system) will decide which PCB’s data is sent through the USB wire. A ChImp board does some mystical mojo that detects which system it’s plugged into, and sends the correct data to the system.

This is pretty much “how” dual system mods work.
For a general way of how to do one, see above.


#4

That is how Dual Mods works.
You got it Nerrage.
Laugh.


#5

I may not know every model of every joystick and pushbutton, but I do know my electricity (and select plushies)! :stuck_out_tongue_winking_eye:

Edit: I chuckled at the thought after you said that to edit my entire post to one word; “Magic.” Not going to destroy all of that type, though. Lol.