When I introduced Car Hacks last week, I mentioned that cars can be thought of as huge rolling collections of interesting parts. This week I'm putting that idea to the test, by using some of those interesting parts to do something they were never remotely meant to do. Specifically, the parts are power seat controls, and the something to do is playing a 30-year old game of Ms.Pac-Man. And it works pretty damn well.
More specifically, I took the power seat control switch panel from an early '80s Oldsmobile Cutlass Cruiser and rewired it to work as the controller for an equally '80s Atari 2600. This same basic method can be used to make a USB MAME controller for a modern PC or Mac, so those of you not afflicted with Atari nostalgia can play as well.
The idea came to me while adjusting the mirrors in a car, and realizing that the little mirror-control joystick was better than many video game joysticks I used. I then had a waking dream of the grand possibilities of playing old videogames with control pads sourced from cars. The dream was a beautiful, fantastical vision of a world we could all achieve. I woke up hours later behind a CVS, and headed straight to a junkyard to make this dream real.
Super-sleuth readers may note that in the final project I used a seat control panel instead of a mirror controller. There's a reason for that. When I got the mirror control pads and joysticks home and tested them, I uncovered one of the auto industry's darkest secrets: the "up" and "left" directions on mirror controllers are THE SAME DAMN THING. They're wired together! Think of all the times you've thought you were adjusting your mirror up, not left, thinking you were hot shit? IT'S ALL BEEN A FILTHY LIE. So I soon learned to look elsewhere. Luckily, 70s-80s American cars provided the solution, since they're full of funny little chrome joysticks for seat controls and other various duties.
Once you have your car-sourced joystick or joypad, here's how to convert it:
1. Figure out what the all wires do. Ideally, when you yanked the thing out of the donor car, you got as much of the connecting wires as you could, just to be safe. But we need to identify which wires (or terminals, if your part just has a socket) is connected to what switch. The most important one to find is ground, the common connection that all the switches connect to to close. If you don't have a wiring diagram, you can still figure it out, with an LED and a bit of power (3-5V, from a couple batteries or a USB bus).
What you want to do is make a good guess as to the ground line (often black, but you can sometimes see which is ground on the back of the switch panel itself, if you can see the traces or where the wires are connected. The ground line will be common to all of the switches, and snake all over the component. You'll then want to connect the negative terminal of your power source to the negative pin on your LED (short leg) with alligator clip leads. The positive terminal gets connected to the ground line on the part, then use another clip lead to link the wire in question back to the LED positive (long leg) pin.
Once connected, when you move the joystick or joypad, the LED will light up when you hit the direction associated with the wire you've clipped to, since the joystick is closing the connection between the wire and the ground line, letting the current flow from the battery through the LED, illuminating it. Got it? Do this fo each pin, try each button/switch/joystick direction. Write down your results.
This can get confusing, since these controls don't seem to be nice, separate, independent switches. On the one I used, the side up/down switches were hard-wired to the up/down on the joystick. No way to change it, so I just let one of them be an alternate up/down control if desired. It helps get diagonals in some games. I wanted to wire the side switches to be the fire button, but the unitized controls didn't allow that. Be methodical.
2. Translate car seat to joystick. Next, we need to connect our up/down/left/right (and possibly fire) wires to their proper counterparts on an Atari 2600 (or a keyboard encoder if you're making a MAME controller for USB). The Atari 2600 joystick pinouts are simple, and you can see them in the diagram. Basically, you'll wire the wire you identified as "up" on your car control to pin 1 on the Atari joystick port. The easiest way to do this is to sacrifice an old or broken controller— I used an old, busted Sega Master System joypad, which uses the standard Atari 2600 interface. This way you have a working cable and connector, and can simply rewire the wires to their new mates. Make sure you identify the various wires functions inside the controller— don't just cut the cable, open it up and see where everything's connected.
I suggest using clip leads for this step so you can be sure everything works before soldering wires together. Also, the Atari joystick standard was used on many early 80s machines— other Atari computers, Commodore 64s, Segas, and more. Nintendos and later systems used more complex controllers with encoder chips in them. The Atari standard was just five switches connected directly to pins. If you want to try this with an NES, you'll need to cannibalize the guts of a working controller.
If you're using a USB keyboard encoder (a device that lets you use other switches and the computer will interpret them as keyboard input) you can just wire the switches on the car part to the inputs on the encoder and configure everything in MAME. Instructions for the encoder will show you how— it's easy, and the principle is the same. One wire from the switch, one from ground.
I had to cheat a bit and wire in a separate fire button; you may get lucky and find a panel with both a joystick and usable buttons. If not, it's not a big deal to add a little pushbutton like I did, mounted in one of the existing screw holes.
3. Solder it all up. Or just tape and twist. Depending on the how-rugged-you-want-it to how-lazy-you-are ratio, you can solder together the car part wires to the Atari/encoder cable, or just twist them together really well and tape the crap out of them. Or both. Either way, you'll want them taped up to prevent unwanted grounding of wires. The wires on the seat control I used were very stiff and thick, making a pretty ungainly bundle. Eventually I'll cram it all in a nice little box to act as the base of the controller, with the nice chromed controls on top. Right now, I have lots of tape.
4. Play some Atari! You've done it! Assuming you've properly identified your wires, plug it in and give it a go! You'll find out pretty quickly if you screwed anything up. You can't hurt your Atari or PC/Mac's USB by miswiring unless you've done something really stupid, like wiring in a plugged-in power cord from your personal massager.
So, to recap: find a good game-like controller in a junkyard car, yank it, identify what wire does what, match those up to the game system's input pins, solder, tape, connect, play! Have fun with this.