I've been pretty dormant in Xbox modding for a while now (well not really, I just don't publicize my work).
In any case I wanted to tackle an interesting project. Every 360 owner knows the D-Pad flat out sucks, and with fighting games like DOA out and SF2HF and UMK3 speculated to hit the XBLA soon a controller with a solid d-pad is important. While the Playstation pad is widely popular, most hardcore 2D fighter fans agree that the Japanese Saturn Pads are some of the best fighting games pads ever made. Not to mention picking up old Saturn pads and joysticks is relatively cheap. If you really want a PSX pad there is bound to be a converter eventually, whereas it's highly doubtful you'll ever see one for the Saturn.
This of course involves gutting a perfectly good 360 controller... luckily I just picked up 2 wireless controllers for $20 a pop, both have analog stick problems, which make them perfect for this mod (considering we wont be needing analog sticks).
Aside from that I'm going to take a slightly different route then other converters. Rather then taking the EASY route and gutting a Saturn controller, I'm actually going to convert the OUTPUT of a fully functional Saturn controller. This means I'll have a Saturn controller port (stripped from a cheap controller extension cable) so that ANY Saturn game pad or joystick can be used. The whole thing will be wireless to boot so I'll have a little black box sitting on my coffee table that the Saturn controller will plug into.
The Saturn pads are relatively simple beasts, basically all the buttons are wired into a single encoder that is nothing more then four "4 into 2" multiplexers running from the same signal wires. It's so simple in fact that you could very easily build a Saturn joystick of your own from scratch using off the shelf parts (from digi-key, I'd have a heart-attack if you could find that stuff at the shitty-shack).
A good primer and where i got most of my starting information is over on gamesx.com they have great AV and controller pin-outs and diagrams if you're ever doing console mods like that, especially on classic consoles. You can find the Saturn controller page here: http://www.gamesx.com/controldata/saturn.htm I should warn you that Kashi's diagram (the first link) has some incorrect labels that if followed would fry either your controller or you Saturn... or both. I've contacted GameSX about it so until they fix it be weary.
From that diagram you can see the Multiplexers converting the direct (parallel) button input into the muxed Saturn Connector output.
Basically by simply reversing this process using demultiplexers I hope to convert the Saturn Controller's muxed output back into a direct parallel output that I can then map to the specific points on the 360 controller's PCB. Simple right?... I thought so
One other thing, the signal wires need to be generated by the "console" since it's a 2 signal mux basically we need to create a 2 bit binary counter. this can very cheaply an easily be made using a 555 Timer and a dual J/k flip-flip chip. The signal wires will continuously count 0 through 3 and send that back through the controller cable to feed the multiplexers at the same time it feeds the demultiplexers. As an added bonus the Saturn protocol has a 5V feedback wire that lets me know when the controller has been connected, using this I can make the whole circuit go dormant when not plugged in, this will certainly save power.
So without further ado Here is the preliminary schematic I've drawn up (literally) for the above described process. http://www.web-nine.com/files/SATto360/SATto360RevA.pdf
I've left out values on the timer circuit as I plan on playing around in the prototype to get a feel for a good speed, The faster the better but I would assume there is an upper threshold somewhere.
I've ordered all the parts and they've already been shipped, I plan on diving into this as soon as they arrive. and I'll post here with any progress
In the mean time I'd like some feedback. I've never actually worked with muxers before. My biggest concern is that the parallel outputs get strobed when active by going high whenever the signal isn't directing output to that pin on the demultiplexer; which would work horribly for a controller. Can anyone who's worked with these before lend some output? I would imagine if that's the case/worse comes to worse I can rig up something to bleed the signal enough that it wont drop off until it's finished a complete binary count cycle, thus removing the strobe effect. Alternatively i could use timers in a monostable operation to hold low whenever it gets a low pulse. Neither I feel are really solid solutions, so again I welcome any advice.