Keyboard Madness
The past few days have been devoted almost exclusively to designing and planning the arcade controls. An arcade button is nothing more than a small switch. When the button is pressed, a connection is made and a circuit is created. The onboard computer detects this circuit and performs an action.
Unfortunately, the onboard computer for my arcade is a worthless relic and is laying in pieces next to our bikes in the back hall.
Because I am using a traditional personal computer as the brains for my M.A.M.E. Arcade, there are no open points to connect to the button terminals. There are several parts available online that can solve this problem, but I opted to go for a makeshift (free) solution to improve my technical skills. I decided to attempt what is commonly known as a keyboard hack.
A keyboard hack involves using the keyboard encoder circuit board that is built into any keyboard and wiring it in a way that tricks the circuit into interpreting arcade button clicks as keystrokes. There are two very labor intensive steps in modifying a keyboard encoder for this purpose. The first is mapping the key circuitry and the second is soldering the arcade button circuit wires directly onto the board.

A keyboard uses two sets of inputs to determine a keystroke. This is because having a single input for every key would take up massive amounts of space. The keyboard I am using has 116 keys. Having that many inputs would cause the keyboard encoder to be at least triple the size it is now. Instead, my keyboard has one set of inputs that has 18 terminals (set X) and another set of 8 (set Y). Each keystroke is assigned an input for each set. This allows the keyboard to decipher 144 possible keystrokes using only 26 inputs.
Inside the keyboard are two layers of flimsy (thin plastic) with circuitry paths printed on them. Under each key there are circuitry points on each layer of flimsy that come in contact with eachother when a key is depressed. This contact creates a closed circuit traveling through specific inputs from set X and set Y. I know; this crap is baffling. See the following diagram for some clarification.

As you can see, the diagram shows the circuit path of the keystroke F10 on both layers of the flimsy. Both circuit paths arrive at a specific input on the keyboard encoder. From this diagram you can decipher the specific circuit input information for each key. After I logged all the possible key combinations I would need for my arcade controls, I began soldering wire to each solder point on the back of the encoder. These solder points allow you to wire your own circuits onto the board using your arcade controls.

Once wire has been soldered to each solder point on the encoder, I connected the loose end of each wire to a screw block terminal using spade terminal connectors. By using a screw block terminal, you do not have to touch the solder connections on the board to rewire your controls. Notice one block has 18 terminals to connect with set X and the other has 8 to connect to set Y. I now have the capability to wire arcade buttons to match any key on a keyboard. Where's the w00t button?
Unfortunately, the onboard computer for my arcade is a worthless relic and is laying in pieces next to our bikes in the back hall.
Because I am using a traditional personal computer as the brains for my M.A.M.E. Arcade, there are no open points to connect to the button terminals. There are several parts available online that can solve this problem, but I opted to go for a makeshift (free) solution to improve my technical skills. I decided to attempt what is commonly known as a keyboard hack.
A keyboard hack involves using the keyboard encoder circuit board that is built into any keyboard and wiring it in a way that tricks the circuit into interpreting arcade button clicks as keystrokes. There are two very labor intensive steps in modifying a keyboard encoder for this purpose. The first is mapping the key circuitry and the second is soldering the arcade button circuit wires directly onto the board.

A keyboard uses two sets of inputs to determine a keystroke. This is because having a single input for every key would take up massive amounts of space. The keyboard I am using has 116 keys. Having that many inputs would cause the keyboard encoder to be at least triple the size it is now. Instead, my keyboard has one set of inputs that has 18 terminals (set X) and another set of 8 (set Y). Each keystroke is assigned an input for each set. This allows the keyboard to decipher 144 possible keystrokes using only 26 inputs.
Inside the keyboard are two layers of flimsy (thin plastic) with circuitry paths printed on them. Under each key there are circuitry points on each layer of flimsy that come in contact with eachother when a key is depressed. This contact creates a closed circuit traveling through specific inputs from set X and set Y. I know; this crap is baffling. See the following diagram for some clarification.

As you can see, the diagram shows the circuit path of the keystroke F10 on both layers of the flimsy. Both circuit paths arrive at a specific input on the keyboard encoder. From this diagram you can decipher the specific circuit input information for each key. After I logged all the possible key combinations I would need for my arcade controls, I began soldering wire to each solder point on the back of the encoder. These solder points allow you to wire your own circuits onto the board using your arcade controls.

Once wire has been soldered to each solder point on the encoder, I connected the loose end of each wire to a screw block terminal using spade terminal connectors. By using a screw block terminal, you do not have to touch the solder connections on the board to rewire your controls. Notice one block has 18 terminals to connect with set X and the other has 8 to connect to set Y. I now have the capability to wire arcade buttons to match any key on a keyboard. Where's the w00t button?

1 Comments:
You are one white labcoat and white beard away from mad scientist status sir.
Also I had an idea for your sound system when you get to that point, I'll tell you about it later.
Post a Comment
<< Home