Well, my adventure started out with a simple goal: I wanted an
arcade-style joystick console that I could use with my PC. I hate
those little hand-held sticks and game pads. The controls are too
small and I get thumb cramps. I wanted a big, hefty console that I
could really pound on. I figure someone must have made one, but
my Web search turned up only two sites that offered them for sale.
One of the solutions plugged into the keyboard; I guess it sent out
keycodes for the arrow keys and such. The other one was too expensive
So then I had the idea of just making my own. I couple of the people I work with are arcade machine hobbyists so they know a thing or two. And it couldn't be that hard, right?
The first problem
There is one major difference between a PC joystick and an arcade joystick: PC joysticks are analog and arcade joysticks have microswitches (i.e. digital). It turns out not to be a big deal since the games that I was going to use this for don't require position information. In fact, the only application I can think of that needs position info from a joystick are drawing programs, or games that need some sort of acceleration input, neither of which I have. So I figured I could just fake the correct analog levels using the new joystick's microswitches.
The first thing I did was request a catalog from Happ Controls, a company that sells arcade parts, and ordered a joystick and two pushbuttons. I also scalped a cheap PC joystick that I had lying around to see how it worked, and I ended up using its cable instead of making my own.
Wiring it up
Here's a wiring diagram that some intrepid soul created from my text description below. You visually oriented folks may find it easier to reference the diagram as you're reading through the text. This diagram is for a 4-button joystick, which I don't have and can't verify. I assume that you can extrapolate my 2-button description below to get what's in the diagram. [I have more info from firstname.lastname@example.org for wiring up 1 joystick with 8 buttons or 2 joysticks with 2 buttons each (Smash TV!!!). Use this utility to verify your connections.]
A word of caution before you begin - Don't solder everything together. Solder or crimp the wires to quick connectors, like spade connectors, and then use the connectors to hook stuff up. You want to be able to change the connections around when it doesn't work and disconnect from the joystick cable if and when things break.
First of all, the joysticks and the pushbuttons use microswitches. These have a tiny spring switch and three male spade connectors: common, NC, and NO. Normally, when the switch is not being pushed, the common pin is connected internally to the NC (normally closed) pin. When the switch is pressed the the common pin gets connected to the NO (normally open) pin. The wires from the joystick cable have to be wired to the correct pins of the microswitches.
There are a total of 7 wires coming into my PC joystick used as follows:
------- Red -----\ |CMN | /---^--\ | | NO|-- Black | | NC|-- | \------/ | | ------- Red -----/ |CMN /---^--\ | NO|-- Brown | NC|-- \------/
-------------+ |CMN | Blue /---^--\ | ---------------------| | | +========|NO | | | | A | | += 68K ==|NC | | \------/ | | +---------+ Orange +--------------------+ | ------------+--------- |CMN | | |CMN | /---^--\ | | /---^--\ | | NO|== 68K =+ +------------------------| | | | C | | | +========|NO | | | NC|========+ | | | D | | | |----+ | += 68K ==|NC | | \------/ | | \------/ | +------+ | | | | | | +--------------------+ | White | | | | | -----------------------------------+ | |CMN | /---^--\ | += 68K ==|NO | | | | B | | +========|NC | +-------------| | \------/So what you want to do first is make 4 identical wires:
So now that the joystick and buttons are wired up to the cable you have to mount them to something. I wanted something heavy and substantial and also big enough to rest on my lap. I have a bunch of 3/4" planks in my garage, formely a bookshelf, so I used those. I cut two pieces 11"x24". In one of them I drilled one 1 3/4" hole for the joystick and two 1 1/8" holes for the pusbuttons. The pushbuttons just screw into the holes with a retaining ring. For the joystick I had to drill four 3/16" holes for bolts in the proper spaces around the 1 3/4" hole. I then took this board and nailed it to some wood spacers, which I nailed to the other board. Screws would be better but I didn't have any laying around. I used a large staple to secure the joystick cable to the underside of the top board so it wouldn't pull out.
The end result ain't pretty, but it's functional and it sure can take a beating! And no thumb cramps!