December 20, 2007
Quite a few people have asked for help implementing this project, and quite a few more have wanted to buy one from me off the shelf. Charles G. from Florida finally convinced me to sell him the prototype for $100, which is about the minimum that I’d be able to charge for these things as I don’t have the time produce them production line style.
I may be able to make a few more at the start of 2008, if you think you’d be interested in picking one up email me at
gt@gtpunch.com If there’s a lot of interest I might consider sticking the next one on eBay or something.
One tip is to get a cheap Guitar Hero Xplorer controller on eBay and build the mod into that- no-one wants them anymore as the wireless ones are cooler. There is plenty of room inside them for wires and circuit boards, and the contacts are more exposed than in a handheld controller.
Here’s another great arcade stick:
http://forums.xbox-scene.com/index.php?showtopic=605873 . The advantage of my approach is that it’s dead easy to swap out the joystick for any of the classics that are preferred: Competition Pro, Zip Stick, (Even a Speedking or a Navigator if you like getting RSI, or a Quickshot II if you like crap that breaks), the disadvantage is that you have to go back to the 360 controller for any button presses other than ‘A’, which means any games other than simple 1-button jobs are out. Matt also mentioned that it might be easier to solder to the
inside of a Hori Arcade Stick, if you can get hold of one.
Merry Christmas, Cheers!
Posted in Xbox 360 |
1 Comment »
November 1, 2007
I had a few enquiries asking for more info on how this project, so here’s a circuit diagram. Hopefully this, along with the parts list and the notes that follow, should help you to get started.
The parts list is pretty small. I ordered the Optocouplers from Digi-Key, and picked up the Male DB9 while I was there. The parts are very cheap so you may as well buy a few spare ‘just in case’:
Qty Digi-Key Code Price Description
5 H11A817-ND $0.39 each OPTOCOUPLER TRANS-OUT 4-DIP
1 209ME-ND $0.87 each CONN DB9 MALE SOLDER CUP
5 1k ohm resistors, any old 1/4 watt or similar.
Other than that, I just used some wire and some solder. IDE drive ribbon cable works pretty well, it helps to mark the +ve cable with pen though, to help keep track when wiring. I didn’t use a circuit board- simply trimmed and soldered one pin of the optocouplers straight into the DB9 solder cups, and soldered the resistors straight onto the optocouplers. Helped to save a bit of space and let me fit everything back inside the controller case.
One thing to note about the optocoupler is that the resistance across pins 3 and 4 drops as the voltage across pins 1 and 2 increases. This means that you may need to put a lower value resistor in if the reistance across pins 3 and 4 doesn’t drop low enough to convince the controller that the button has been pressed. Be careful not to use too low a resistor though, and you’ll put too much current through LED between pins 1 and 2, and blow it. Radio Shack sells boxes of 1/4 and 1/8 watt resistors in common values for a few bucks.
I’d reccomend owning and using a multimeter when making this- you will want to identify the +5v and 0v USB pins (where the incoming USB cable connects to the controller circuit board). You’ll also want to know which side of the button pads are positive (+ve) and negative (-ve).
For the soldering, you’ll need a low-wattage iron with a new clean tip, and some thin solder. Make a firm mechanical join first (use croc clips or tape or something), then heat the join for a split second before touching the solder against it- the solder should flow into the join and make a good electrical connection.
That’s about it for now, feel free to email me at gt@gtpunch.com if you’ve any other questions.
|
 |
|
 |
Posted in Uncategorized |
Leave a Comment »
June 29, 2007
I received the following email about this post:
Hey,
you got any secrets for a novice modder? I tried making an Atari 2600
(no Kempston) port for an Xbox 360 controller I’d torn apart for
experiments, but haven’t had any luck making it work… it just makes
the Xbox 360 go haywire. Would I need resistors to make that mod work
properly, and if so, which ones do I use? Do I need optocouplers as
well, or can I just bypass those? Where do I feed the grounding wires? Thanks much for your
time!
Here’s my response, in case it’s useful for anyone else:
The way that an Atari 2600 and Kempston joystick work is to
have a single pin as a common ground, and another pin for each
direction (and one for ‘fire’). One or more pins is connected to ground
when you press a direction (or ‘fire’).
If you try to connect
a kempston joystick directly to the pads inside the 360 controller, you
run into the problem that you have to connect one side of all the pads
together as a common ground. Also, when you press more than one
direction (plus ‘fire’), you are making all sorts of electrical
connections that the 360 is not expecting.
To solve this
problem I used the cheapest simplest component I could find that
electrically isolates the joystick from the 360 pads. I bought five
Opto-couplers for about $1 each, and drove them with power from the +ve
and ground straight from where the USB connects to the board. I used
five 1K resistors to limit the current through each opto-coupler to
avoid burning it out (there’s a small LED inside each one, and you
always need to limit current with an LED).
So each direction and
fire button on the joystick will cause a different opto-coupler to
switch on, which will make a different and isolated electrical
connection across each of the 360 controller’s pads. There are probably
many other solutions, this was just the simplest that I could think of.
Hope this helps, I’ll try to put a circuit diagram up on the site sometime soon.
Posted in Xbox 360 |
3 Comments »
February 20, 2007
When I used to play Sensible Soccer on my Atari ST, I used a Competition Pro 5000 Glo Green joystick. It was perfect- tough, precise, and responsive. Codemasters will soon be releasing Sensible Soccer for the Xbox 360, but would it be the same to play it with the 360 controller’s imprecise analogue stick or mushy D-pad? In preperation I decided to dust off my old Competition Pro and see if I could find a way to connect it to my Xbox 360.
I went over to EB Games and bought an ugly blue GameStop wired controller. It’s not as nice as an official Microsoft one, but has the big advantage of being half the price (especially important in case I screw up and break it). As a bonus it has no funny
‘Torx-with-a-hole-in’ security screws, and has nice big contacts on the directional pad for easy soldering.
Once I’d soldered the leads onto the board, I plugged the controller into my PC and tested the connections’ relative voltages looking for a common ground etc. I played around cross-connecting them in different ways using the driver properties dialog to see what inputs the controller was seeing. Unfortunately there was no common ground, which a standard ‘Atari’ DB-9 joystick uses. Even more unfortunately any cross-connections (e.g. connecting the ‘up’ +ve to the ‘button A’ -ve) caused other inputs to be detected. I found an easy place to access the USB +5v and ground, but I needed to keep this isolated from the signals on the pads. I came up with the idea of using a Phototransistor Optocoupler for each signal. It works like a solid state relay. The joystick plugged into the DB-9 connector switches each optocoupler, which simulates the button press. I can add more detail on this if anyone’s interested in replicating this.
The Kempston/Atari joystick replaces the directional pad, with the ‘fire’ button mapped to Button A. The standard Atari-style pinout only allows for one joystick button, and the majority of retro arcade titles only need Button A.
The insides, connected and ready to be closed up:
I didn’t need the directional pad anymore, so I put the connector in the space that it left. A bit of dremelling helped the DB-9 connector to sit flush with the case:
Back of the DB-9 connector, I just soldered the optocouplers and resistors straight onto the back:
The DB-9 connector again, with joystick plugged in this time:
Here’s the finished article, plugged in and playing ‘Frogger’ or something similar. The whole controller still works, apart from the directional pad of course. I was careful to keep my soldering ‘flat’ around the A button, so that it still works (although it’s a bit firmer now):
Disucssions about this post:
Xbox 360 Fanboy linked to my post, a couple of useful comments there including an idea about supporting a Sega Genesis controller (more discussion about this here), which unfortunately I don’t have access to. This was picked up by Pro Game News(?) and DC Emu (twice) and in turn by Digg. All these duplications of the same stuff- is this the reason search results are so bad nowadays? I also posted about it in the benheck.com Forums and the Sensible Soccer Forums and got a some feedback from others who are trying to reproduce this hack.
Posted in Xbox 360 |
2 Comments »