Bringing Sega Genesis pads to the Xbox 360

Includes PS2, Xbox 1, GameCube (but not the Phantom Game Console)

Moderator: Moderators

Post Reply
ArugulaZ
Posts: 71
Joined: Thu Dec 13, 2007 10:22 pm

Bringing Sega Genesis pads to the Xbox 360

Post by ArugulaZ »

Hey guys. Long time reader, first time poster. I'm writing this because I can't find any Xbox 360 controllers that work well with Xbox Live Arcade games. I've tried sanding the interior of the circle around the D-pad and that didn't work. I've tried building my own joysticks and that didn't work. I've tried purchasing an official Xbox 360 joystick and that didn't work either.

I'm running out of options, and the only thing I think will work for me is to connect a Sega Arcade Pad (the 6-button Sega Genesis controller released in 1992) to the Xbox 360. I'm just not sure how to go about doing this. Someone from Britain managed to do it, but the instructions on his blog are rather vague. He recommends using phototransistor optocouplers for the mod, but he never really specifies which model he used. I've looked around and haven't found an optocoupler that looks anything like the ones he used.

http://gtpunch.spaces.live.com/blog/cns ... !123.entry

So, do you guys have any suggestions or advice?
Skyone
Moderator
Posts: 6390
Joined: Tue Nov 29, 2005 8:35 pm
Location: it is a mystery
Contact:

Post by Skyone »

http://www.cs.cmu.edu/~chuck/infopg/segasix.txt

That should give you a lot of information on the technical specs of the Genesis 6-button pad. Personally, I'd recommend executing this mod on a 3-button just for the more ease of installing (the 6-button's x/y/z use an unorthodox 3-signal pulse). Installing such a mod with a Genesis 3-button pad would just consist of either getting rid of the encoding multiplex in the Genesis pad or adding a decoder in the Xbox controller.

If you choose to add a decoder in the 360 controller so that any 3-button can be used with a D-SUB connector, you need to understand how the Genesis controller encodes its signals.

Code: Select all

Pin  Connection 
---  ---------------
 5   Power: +5 Volts
 7   Select signal
 8   Power: Ground

Pin  Connection with select low  Connection with select high
---  --------------------------  ---------------------------
 1   joypad up signal            joypad up signal
 2   joypad down signal          joypad down signal
 3   logic low (ground)          joypad left signal
 4   logic low (ground)          joypad right signal
 6   Button A signal             Button B signal
 9   Start button signal         Button C signal
The console (game, really) scans the select signal and the actually button signals at 60Hz rate. When one of the button signals is active/high (1, 2, 3, 4, 6, 9), the game peeks at what the select signal's state is. If the game receives a pulse from pin 6, and pin 7 is low (ground, 0v), then the game registers the signal as "Button A". If it gets a pulse from pin 6 again but this time, pin 7 is high (+5v), then it registers the signal as "Button B".

The multiplexer that the controller uses is a 74HC157 (Google it for the datasheet)

I'm not sure how to help you more, as I don't know of such a decoder off the top of my head. Google might help further?

-Skyler
ArugulaZ
Posts: 71
Joined: Thu Dec 13, 2007 10:22 pm

Post by ArugulaZ »

All right, thanks for the information. I could live with just two buttons... that wouldn't require any encoding at all. However, I'm just not sure how to send that input to the Xbox 360.

I could solder the wires to the copper pads on the Xbox 360 controller's circuit board... that's what I've done in the past when making joysticks. However, I had to connect both the button and ground to the button and ground of each button and microswitch on the joystick, resulting in a huge bundle of wires. That won't work so well for a Sega Arcade Pad, which doesn't have much room for wires; or a 9-pin joystick port, which only has one ground pin and eight input pins.

Right now I've got the pads on the Xbox 360 circuit board split down the middle... one for the input and the other for ground. Could I connect all the ground pads directly to the ground pin on the 9-pin joystick port, then connect each input pad to its related input pin (up to pin 1, down to pin 2, etc.)? Would that work?

I'm sorry... I'm kind of hapless with electronics. I can handle a solder pen and follow directions but anything past straight pin to pin wiring is bewildering to me.
Skyone
Moderator
Posts: 6390
Joined: Tue Nov 29, 2005 8:35 pm
Location: it is a mystery
Contact:

Post by Skyone »

ArugulaZ wrote:Right now I've got the pads on the Xbox 360 circuit board split down the middle... one for the input and the other for ground. Could I connect all the ground pads directly to the ground pin on the 9-pin joystick port, then connect each input pad to its related input pin (up to pin 1, down to pin 2, etc.)? Would that work?
That should work, if one of each of the button contacts are common (ground as you described). Frankly, you couldn't do it much any other way. :P

I'm not too sure what exactly you have in mind for the 2-button idea, but be sure to draw a diagram or something so we can check it through. :D
Charlie
Posts: 46
Joined: Fri Sep 14, 2007 5:21 pm

Post by Charlie »

I'd think a Model 2 Saturn Pad would be a better choice, because personally I think it feels a lot better, plus there's already a how-to guide on how to go about it.

http://forums.xbox-scene.com/index.php? ... try3546461
ArugulaZ
Posts: 71
Joined: Thu Dec 13, 2007 10:22 pm

Post by ArugulaZ »

http://gtpunch.spaces.live.com/blog/cns ... !151.entry

I'm thinking about trying this... the circuit seems easy enough to build, and I could add an extra button without too much trouble. It wouldn't work too well for Street Fighter II, but at least I could play Pac-Man Championship Edition with confidence!
gtpunch
Posts: 5
Joined: Tue Feb 20, 2007 11:47 pm

Post by gtpunch »

ArugulaZ wrote:Right now I've got the pads on the Xbox 360 circuit board split down the middle... one for the input and the other for ground. Could I connect all the ground pads directly to the ground pin on the 9-pin joystick port, then connect each input pad to its related input pin (up to pin 1, down to pin 2, etc.)? Would that work?
I don't think so- most people try that first and they either get weird inputs to their Xbox or they fry the controller. The problem is that there is no common ground among all of the controller pads, for all the ones that I've seen anyhow. You've probably tested for 'ground' by comparing the voltages on the two pads- try comparing your 'ground' pads with each other and you'll probably find something other than 0 volts.

Another slightly easier option is to build an arcade style stick- there are links to a couple on my page. You just break open the 360 controller and solder wires to one switch per pair of pads. Of course you have to go to the effort of mounting the arcade stick and switches, but there's not as much electronics involved.
ArugulaZ wrote:http://gtpunch.spaces.live.com/blog/cns ... !151.entry
I'm thinking about trying this... the circuit seems easy enough to build, and I could add an extra button without too much trouble. It wouldn't work too well for Street Fighter II, but at least I could play Pac-Man Championship Edition with confidence!
Good luck, it is pretty easy if you're OK at soldering. An easy and cheap option is to modify a Guitar Hero Xplorer controller - they're pretty cheap now on eBay as everyone wants the wireless ones. There's lots of room inside them for electronics and connectors, plus up, down, and A/B/X/Y are exposed for easy soldering access.

For the megadrive controller, as I understand it the select signal comes from the console, so you'd need to tie the select pin (pin 7) high. You'd then be able to detect presses of left/right/up/down/B/C on the appropriate pins.

I don't think my instructions were vague, they have a circuit diagram and parts list ;) OK, the initial post was a vague. Let me know how you get on. Cheers, gt@gtpunch.com http://gtpunch.spaces.live.com/
Post Reply