Monday 4 August 2014

Part 1: Planning

This is a quick background of how we came to start building an arcade cabinet, and our initial steps in the areas of research and development.

Myself (@auraltensn) and @sevenhz were hanging one day when we discovered that we both had an itching desire to build an arcade cabinet.  We started an inspired conversation, and discussed various MAME cabinets we'd seen online and in real life, and sketched a rough idea of what it'd take to build one.

After discussing the ideas of maybe using a netbook as the internal computer, I pulled out a BeagleBone Black I'd recently been hacking on after realising that a single board computer of it's type would probably be great to run a MAME system.  I think we have complimentary aesthetic taste, and grew up with many of the same consoles, games and 80's + 90's arcade machine fun.

Wow, inspiration really grabbed us there and we parted that day excited to get this thing going.

Enter PiPlay

I went on to do a search online for anyone else building arcade systems using small single board computers, and figured that if someone was doing it, it'd likely be in the world of the Raspberry Pi .  

It didn't take me long to find PiPlay.  PiPlay (formerly PiMAME) is available as a pre-built Raspberry Pi distribution, or you can just grab the code and run an install script on a freshly installed Raspberry Pi OS.  It includes emulators for a whole bunch of systems, a useful text based menu, and a web interface and FTP server for easily uploading and managing ROMs.  Mad props to Shea Silverman for the fine work in building this.  With PiPlay we're on a really good track for building the computing inside our cabinet.


Acquiring the first parts

You'll notice on the right hand side of this blog there's a link to our parts list.  This is an evolving document which was started to track what we need, what we acquire and what our costs are.  After discovering PiPlay the first thing on the list was a Raspberry Pi.  

The next thing we thought about was the control buttons and joysticks.  We met up again and sketched out some ideas for the cabinet and control board so that we knew how many buttons we'd need and what colours we'd want. What we came up with was:

   2 Joysticks - black.
 12 player buttons (6 per player) - black
   2 'pinball buttons' on the side of the control board - either white, red or black
   2 player start buttons - black
   1 hidden coin button - it's hidden, so doesn't matter
   1 menu/back button - white
 18 buttons in total required.

I'd previously done some research on how to interface controls to the Raspberry Pi, and although the Pi features GPIO pins, opinion online led me toward the IPAC, which is a circuit board designed to emulate a USB (or PS/2) keyboard.  It interfaces with arcade controls and maps them to keyboard keys, and by default is configured to send the key mappings used by MAME.

The IPAC-2

We found an ebay seller within Australia who was selling sets of 2x joysticks, 18x plain buttons, 2x player start buttons, and an IPAC-2, so we quickly ordered this.  We decided on 14x black, 2x white and 2x red buttons, so that we would have 2x red, 2x white and 2x black buttons after the gameplay buttons, so we could choose which to use as pinball buttons etc as we went on, and it's great to have a few spare buttons if we ever need them.

Next up I went to order our Raspberry Pi and thought about the other electronic devices we might need, such as sound amplification and a coin slot.  I found a small 20w stereo amplifier and WiFi dongle on Adafruit, a coin accepter on SparkFun (Adafruit were out of stock), placed some orders and we eagerly awaited delivery.....