After deciding that I wanted to build my own arcade cabinet I began to research the possible was to
hook the controls up to a PC. There are several commercial options out there but they all seam to be
in the +$100 range which seamed really high to me as there is nothing to the device. Most of the
keyboard encoders out there are nothing but a single micro on a PCB... that is it. So I decided that
I would just create my own. The PS2 interface is fairly straight forward.
This device has ability to be placed in between a PS2 PC keyboard and a PC to allow the control panel
buttons to emulate keyboard presses. Each button was hooked up to the Normally Open contacts of the
switches. Then the other side of the switch is attached to ground. When a button is pressed the
input to the encoder is ground and the micro sends the appropriate response to the PC depending on
the button pressed. For example, if I press left on the player one controller it sends a the PC
a command for the left arrow on the keyboard being pressed. Using this device I was able to
map all of my arcade control panel buttons to keyboard commands that could be interoperated by MAME.
For more information on the PS2 interface here
is some good information on how PS2 works. This encoder what create to be used inside of my
Head over to the Misc. Projects sections and check it out.
Keyboard Encoder in System
Here is what the keyboard encoder looked like when it was attached in system. All 18 buttons and 2 joysticks
are attached to the device. A button on the of the control panel is used to allow the keyboard to pass
through the encoder. Another button on the bottom of the control functions as the escape key to allow easy
exit from games. The micro used in the encoder is a PIC16F877a. Other then the crystal and the pull up
resistors there are no other chips required to complete the encoder.
The above image shows how the buttons are mapped to the encoder. The default setup allows the controls to work
directly with the MAME emulator setup.
Web site and all contents © Copyright Steven Easley 2005-2008, All rights reserved.