Controller hacking

When I make a custom stick of any kind, I like to be able to use it on as many consoles as possible. I usually make it conform to the GameSX Special Super NEO GEO pinout, and then make an adaptor to work with other consoles. This adaptor typically includes a the guts of an original controller for the console in question, with a port for the custom stick. The hard part about hacking modern controllers is the communications chip thrown inside by the manufacturer. Typically these chips are off-the-shelf parts, however they can also be custom chips. The problem is the additional requirements - most chips are happier nested on a circuit board of some sort, and creating one is a patience-testing endeavor at best. It's far easier to just hack up an existing pad, as I hope to demonstrate. Please ask any questions and post your comments on our fancy Bulletin Board.
[ The PSX Adaptor ]
This is the finished product - the guts of one Sony controller shoved into an Atari cartridge, with the PSX cord hanging out one side and a male DB15 NEO GEO connector on the other. Once it's wired and boxed, it's a durable and good looking accessory for any decor.
[ The PSX Adaptor 2 ]


This is what it looks like inside - the cut-up PCB with wires streaming off to the NEO connector as well as the original PSX connector. For some reason I installed a switch in this one - I totally forget why, and I never use it. It was a long time ago, I was young, I needed the money.
[ The Saturn PCB ]
Here we have the guts of a Saturn controller. The blue square is the cut line - that's where I'd employ Ye Olde Dremel to cut this PCB down to size. If space is no object, you can leave the whole pad intact, and indeed you could simply put a NEO connector on your existing pad, thus preserving the original pad's functionality. Bug me about it and I'll show you the awful monstrosities I made as a young pad hacker.
[ The Saturn PCB up close ]
This picture should give you an idea of how this works. Where an arcade controller has a tiny box called a microswitch that "clicks" when you press it, these have interlocked black pads on the PCB, which are connected when the button pad is pressed against them. The mechanics are different, but the idea is the same: each one of these is a switch. What's actually happening inside the chip is kind of simple: Each coloured line shown above is held at five volts and is monitored by the chip. When a button is pressed and the switch closes, it connects the coloured line to the common ground (shown in solid green). The chip senses that the line is no longer at five volts, and signals to the system that the button is pressed.

That's not strictly relevant for this project, there's only one thing we're concerned with. We want to know where the common line is. Look around on the pad for one line that connects to every switch. Most controllers have only one, but I've seen 3rd-party (ie crappy) controllers with multiple common lines. Avoid these, and shun their creators. Once you've found the common line, proceed to the next step!
[ The Saturn Adaptor Schematic ]
This is how you're going to wire it. There are a lot of wires to connect - one for each switch, as well as the common line. Pin one is common, and you can see it connects to the wide ground plane on the PCB. That's all there is to this - connect as many wires as you need following the Super NEO GEO pinout, and you're done. That's it. Finito. Of course, this assumes you can solder without torching your keyboard while you check your wiring (I've melted keyboards, shirts, the floor, screwdrivers, wires... Pay attention!) but there's not much more to it.

Note that this diagram assumes you use the whole PCB. You can, of course, connect each wire to anywhere on the board. For space considerations I usually attach the wires to the legs of the chip, but for clarity (yeah, I know, it's hardly clear) I showed them connected to larger areas on the PCB.

Please ask any questions and post your comments on our fancy Bulletin Board.


All contents (c)2001 GameSX.com unless otherwise noted. All trademarks copyright of their respective companies. GameSX.com assumes absolutely no responsiblility whatsoever for any sort of damages incurred while either viewing this information or doing anything with said information. If you don't like it, change the channel. Some of this information may have come from other sources, and GameSX.com in no way implies ownership of this information, and merely intends to provide a convenient source for finding this information. That said, we wrote this, and would appreciate your not lifting it for your own page without due credit. Mail us!