So, I have the software I needed and confirmed it would run the games I wanted. It boots the machine into an Arcade menu like I wanted. Now it is time to get some Arcade controls!
This was all originally inspired by an Adafruit blog Retro Gaming with the Pi. This article had a full tutorial on how to achieve what I wanted and even supplied the parts with a handy list on the side for easy purchase (clever bastards). There were a few things I didn’t like/wanted to change about this tutorial so I modified the plan a bit to make it my own.
Second, I did not like that they glued a keyboard on top of it. It looked Silly, It broke immersion in what I was trying to do. After reviewing the GPIO table and the parts they were offering I determined I could add 2 more buttons to the controller and achieve a no keyboard solution. The extra buttons would facilitate the “Insert coin” and “1Player” buttons.
Time to order!
So after a painful 2 weeks of waiting for a notification from Adafruit regarding the joystick (it was frequently out of stock) I was able to order all the parts required for the project. I got a blue and red button for the fight controls and 2 white buttons for the coin/1P. The Joystick is an 8way Japanese model with a far simpler connection mechanism than you would normally find but you are paying a few bucks extra for this ease of use.
After about a week my shipment arrived and I was excited but there was one problem…. I didn’t have anything to build this in. After giving this some brief thought I kept eying the shipping box the items came in. It was large…sturdy…black…Aha!
Shipping box to Arcade box
I got an exacto knife and began carving up the box, my first button hole was unfortunately a little too big but I learned from my mistake and the next 3 were perfect. I used packing tape to secure the Joystick into its slot to prevent it from moving during intense gaming sessions.
Connecting the controls
With the easy connect cables and the jumper ribbon cable from Adafruit wiring the connections was easy. I had to modify my layout from the tutorial in order to get the buttons I wanted but it all worked out great. On the Pi side you will need a keyboard briefly to configure the controls but after that it will be keys free! Adafruit provided a program called Retro game which handled the conversion of the button and joystick actions into keyboard controls for MAME. Their tutorial I linked earlier explains how to edit it to match what keys/pins you would like to use. To achieve a way to exit a game without a keyboard I edited the MAME4ALL in game settings (tab key) and I set a combined press of coin+1p to send the Escape signal. This only works within a game and can not cause the menu to be accidentally exited.
Let the fun begin
It may look crude but it works and it is awesome! The click of the joystick as I furiously try to not die in Raiden or 1942 is very satisfying. The buttons are not what I was used to and after some research I found out they were Sanwa style which is found mostly in Japanese arcade systems but they still did the trick and were easy to install. The overall success of this project has inspired me to try and create another controller like this but out of proper materials, more buttons and perhaps a custom paint job? We’ll see, in any case I’m just getting warmed up.