DIY Arcade Interface – Xbox Gamepad Encoder

Video is ready, Click Here to View ×


I created a prototype controller interface for xbox based on a hacked smartjoy frag keyboard adaptor.

These smartjoys (also known as smartbox II) were designed to allow peeps to play FPS titles via a connected PS/2 keyboard and mouse. The smartjoy is a neat little device and you can get hold of these very cheap.

I made a previous xbox prototype based on an AVR development board and a hacked smartjoy (I called it Minty Fresh Interface). If you want the background you can find this on my project site at https://sites.google.com/site/degenatrons/controller-interfaces/xbox-interface Unfortunately, I had some issues with this so had to go back to the drawing board. 🙁

This time I had more success and the device is now tested and working with xbox. 🙂

So I had to come up with a way to get the inputs from arcade controls to connect to the PS/2 keyboard input ports on the smartjoy. I figured I could create my own PS/2 keyboard encoder circuit (a bit like a keyboard hack) to connect the arcade controls to the smartjoy.

I found a PS/2 integrated circuit at Farnell Electronics, it is Holtek model HT82K628A. It is a 40 Pin Dip IC. This is an old chip which was used in Windows 95/98/2000 keyboards. It is also very cheap. It accepts input from pins (via matrix) and communicates PS/2 to host.
I built a breadboard circuit around this IC and tested with with a PC and it worked. The circuit includes the chip, a couple of capacitors (0.1uf and 10uf) and a resistor (58.3k or 59k) to control the clock speed. If you get the spec for the chip it includes a schematic for this circuit.

I connected the smartjoy to this test circuit and bridge a couple of pins. Woohoo! everything was looking good, so I set about hacking the smartjoy adaptor.

There was a bit of room inside the smartjoy so I managed to get my additional components inside the original case.
In the video, you will see that I mounted the chip its back (like a dead bug) so that I could solder wires to the legs. To make space I removed the nasty memory card slot. The chip is quite large but I was surprised by how well this fit.
The hole at the top of the smart joy (were the memory card slot was) is a convenient exit hole for the wires to the arcade controls.
I screwed some terminal blocks on the outside of the smartjoy.

This is very functional, I tested using the gamepad test tool on xbox.

Mappings working for:

* Dpad (up/down/left/right)
* Analog Stick (up/down/left/right)
* Left and Right Triggers
* Left and Right Thumb Buttons
* A,B,X,Y
* Black, White
* Back, Start
* PS/2 or USB Trackball/Mouse

That’s 20 inputs! Plus the trackball/mouse. Not bad eh!

Some other neat features:
* Analog sticks can be inverted
* Deadzone/Mouse sensitivity can be adjusted
* Left and Right sticks can be swapped (invert look/move)
* I found that the buttons on mouse/trackball can sometimes be assigned to xbox button. This feature depends on device.

UPDATE:
If you want to use the device without a connected mouse/trackball then you will need to bridge 2 pins on the green ps/2 port. Bridge clock and data using a 10ohm (or other low value) resistor.
For reference, You can see a picture at the bottom of my project page at https://sites.google.com/site/degenatrons/controller-interfaces/xbox-gamepad-encoder-mkii

I am happy with this so it will be going inside my CoinOps arcade cab.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.