Arcade Joystick (Old)

Bringing this page back from the dead. Looks like there’s still a lot of sites that link to this.

Emulation. An awesome technology that brings real arcade games to your desktop.
Imagine playing your favorite arcade games for free! I’m a die hard Neo-Geo fan so I play some of my favorite Neo-Geo game at home. Back in high school I was pumping quarters
into machines like crazy, but not any more… However..In order to play these games you need some sort of a joystick, playing with the keyboard
just doesn’t cut it. So the first thing I do is hit all the computer game stores and department stores for a half decent arcade stick. Guess what? Nobody makes arcade sticks that are anything like the real thing. And buying a premanufactured joystick like the HotRod costs a fortune. So you can either play games like Killer Instinct or Samurai Shodown 4 with your MS joypad and do all the super moves with your thumb….or build your own Arcade Stick and play like a Pro!
Building an arcade stick is not really that hard. It took me less than a week to put the whole thing together.

You can get all the information from Arcade Controls, that’s where I found all the information I needed.

I’ve ordered the parts from Happ Controls. The parts arrived at my house in less than 2 weeks and the cost was approx $30. The most expensive parts of this project!

I’ve used a keyboard encoder to connect the joystick to the computer. I simply hacked up an old keyboard, took out the board and soldered all the wires onto it.
Then I used a program called “KeyScan” to map out the keyboard matrix.
This step is very important because you have to lay out the buttons to prevent Ghosting/Blocking.

A few pictures showing the guts (wiring) of the joystick. A pretty sloppy job I admit but since I don’t usually open the box I figure no one would notice.
To solder all the connectors together was the most tedious task. It took me an entire day to connect all the little wires to and from the keyboard encoder.

I was thinking a lot about the layout of the buttons. I wanted it to work with all major fighting games like Street Fighter, Mortal Kombat, Killer Instinct and Samurai Shodown. So I decided on a “Universal” layout that’d allow me that kind of flexibility. The buttons on top are mapped to the ESC, TAB,1,3 buttons respectively. That’s mainly for NeoRageX, a Neo-Geo Emulator

This is the complete joystick. It’s a big heavy mofo, just the way I like it. Notice the angled design. Very comfortable and I can beat the crap out of it if I’m frustrated without worrying that I’ll damage it. Total Cost: $50

Because the joystick plugs into a standard PS/2 keyboard port, It’d be very annoying to plug/unplug the keyboard every time I wanted to play a game. So built a keyboard splitter that allows me to plug in both devices simultaneously. Doing so also allows me greater distance from the computer so I can hook up the computer to the TV and play from a comfortable distance.

UPDATE!
I’ve updated the joystick design. It’s now USB! It no longer requires the keyboard splitter because USB keyboards can co-exist on the same machine without conflict. The switch only took few hours but I hit a few snags on the way.

Bought a new IBM USB keyboard on EBay for just $10. The beauty about this keyboard is that it is not a USB hub itself hence no useless electronics and cheap too.

All keyboards look pretty much the same at heart. The keyboard matrix may differ in layout but the principleis always the same.

The electronics are actually just as simple as a PS/2 keyboard. Few capacitors, resistors and one chip.

I’ve unsoldered all the wires from the original PS/2 keyboard controller and discarded it. The beauty with binding posts is that the button wires on the joystick are still intact and only require simple re-mapping.

I’ve hit a snag trying to solder the wires to this new keyboard controller. It seemed that IBM covered the contact points with some conductive black compound. The solder would not stick to it.

Turns out that with a hobby knife I can easily scrape off the black compound and expose the metalic contact points underneath. This time solder stuck without any problems.

I’ve been soldering for years so it only took few minutes to solder the wires onto the new keyboard controller.

It took me a while to map out the keyboard matrix from scratch. During my ghosting/blocking tests. I’ve hit another snag. Turns out that the USB keyboard controller can only detect 6 simultaneous key presses, regardless on where on the keyboard matrix they are located. I do not think this is a major issue because I do not even know a game that requires that many simultaneous key presses. But even if it does, I can create a macro for one button to simulate all those keys being pressed.