Back to Posts

DIY Arcade cabinet
It took a weekend of swearing but it’s alive!

A while ago I got the wonderful idea to run an adults event teaching library clients how to turn a Raspberry Pi into a retro arcade cabinet. The event went quite well as I had the funds to give clients their own Pi to take home (they’re not that expensive and I limited to 10 Pis). Limited Pis meant encouraging groups so I ended up with families coming along, couples, friends and even one group of four gentlemen who wanted to try their hand at programming! As always I learnt some lessons, the first being that trying to run updates on 10 Pis on the same public network is a good way to ensure everyone gets stuck watching an update bar for 40 min. The second being that I should have asked for help running the session (why do I do this to myself?) and the third that I needed good instructions so people could self direct. This walkthrough will show you how to set up your Raspberry Pi to run an arcade emulator, from scratch. Run in a library session it’ll take about an hour to do the basic Pi setup and have a working system, just make sure you have a fast internet connection or stagger the updates.The owners of Arcade Worx in WA are increadably helpful (who turned out to live near me!) and even offered my clients a massive discount if they wanted to buy a cabinet after the event. In2Amusements turned out to be a another WA company in Fremantle and supplied all the buttons and wiring. It’s well worth building relationships with any local supplier as you never know what can come from it.

I ended up borrowing heavily from the following two guides: Adafruit.com and Project Mame.

Part list

  • Raspberry Pi (including all cables/SD Cards)
  • Keyboard
  • Mouse
  • Montior
  • Cat5 cable (or wifi Pi adaptor) for internet connection (setup only)

Optional

Setup

Install OS

After unboxing your Pi and plugging in keyboard, monitor and power we need to install an operating system.

NOOBS (New Out Of Box Software) is pre-installed on the SD card, simply plug it in and turn on the Pi to start the NOOBS boot sequence. ProTip: NOOBS is intended to give a quick start to your Pi, it has several flavours of linux setup for you to choose from.

  1. Boot into NOOBS
  2. Select Raspbian [RECOMMENED]
  3. Select Install OS
  4. Wait till Raspbian installs and proceed to config settings

Config Settings

When presented with the Raspi-config adjust the following (items in red are optional and not required):

  1. Set timezone (option 4)
  2. Change hostname (suggested: arcade)
  3. Change password for “pi” user (default is “raspberry”)
  4. Change memory split (at least 64MB to the GPU)
  5. Enable SSH server (for admin access over a network)
  6. Overclock settings: Medium (as we are running games)
  7. Select Finish and reboot the system when prompted.

Do not enable start desktop on boot, we will be running X11 (Graphical User Interface) manually when needed.

***NOTE: You will need an Ethernet cable attached to the Pi, if using wifi Adafruit have a handy guide to networking your Pi ***https://learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-3-network-setup.pdf

Updating Your Pi

When the command line appears (should look like this pi@arcade $) type the following and wait for the updates to run:

sudo apt-get update

Once the update has run then run the upgrade:

sudo apt-get upgrade

Install Emulator(s)

There are several emulators you can run on the Pi:

  • MAME4ALL – classic arcade games
  • PiSNES – Super NES
  • Pcsx_reARMed – PlayStation 1
  • Atari800 – Atari 8-bit.

You can install all but MAME4ALL via the Pi Store (located as an icon on the desktop).

We’re going to install MAME4ALL. Feel free to install the other emulators after and look at other programs in the Pi store.

Download MAME4ALL

From the command line, type the following:

startx

This will run the GUI for the Pi, this makes it easier to install programs when you are not used to the command line format of Linux.

Open Midori, located on the desktop, this is the default web browser for the Pi.

Type in the following address in the address bar:

http://sourceforge.net/projects/mame4allpi/

Download the .zip file on the page using the link next to ‘Download it from:’

You will see a download bar at the bottom of the web browser. When it is completed, click the icon to the right of this bar (Note: do not click the red X as this will cancel the download).

Installing MAME4ALL

When the .zip file is open use the extract button (icon looks like a box with an arrow on it).

Extract the files to /home/pi (should be default).

Close the file manager.

Your emulator is installed.

Installing ROMs

Now our emulator is installed we can add games.

“A ROM image, or ROM file, is a computer file which contains a copy of the data from a read-only memory chip, often from a video game cartridge, a computer’s firmware, or from an arcade game’s main board.”http://en.wikipedia.org/wiki/ROM_image [accessed 10/6/15]

Download ROM files

Open Midori again and go to the following link:

http://mamedev.org/roms/

Select the game(s) you wish to install and download the .zip file(s).

Save them directly to the /home/pi/roms folder.

You do not need to unzip these files as the emulator requires the game in .zip format.

Repeat for any other games on the link above.

Running the Emulator

Now we are ready to run the emulator and play some games!

Open the file manager

To access the file manager click your left button on the file manager icon or left click on the LXPanel (far left icon) and go to the accessories menu and click on the file manager.

A window will open displaying a list of files and folders.

Running MAME

Under the home Pi icon you will find a lot of folders and icons.

Find the one that says MAME and has a cog icon.

Double click this icon and select ‘Execute

MAME4ALL splash page should display and a list of installed games should soon follow.

Congratulations, you now have a fully functioning arcade machine!

Controls

These are the standard MAME key definitions as follows. All MAME keys are also available.

Keys LControl, LAlt, Space, LShift are the fire buttons

Cursors Keys for up, down, left and right

Keys 1 & 2 to start 1 or 2 player games

Keys 5 & 6 Insert credits for 1P or 2P

Key Escape to quit

Key TAB to bring up the MAME menu

Function Keys: F11 show fps, F10 toggle throttle, F5 cheats, Shift F11 show profiler

Key P to pause

Optional

The following are optional extras.

Change Orientation

If you wish to change the orientation of your monitor you can type the following into a command line (your Pi will boot to a command line or you can open the Terminal application on the desktop):

  1. sudo nano /boot/config.txt
  2. Add the following display_rotate=1
  3. Reboot the system

Auto Boot

It looks crisp in the dark! It looks crisp in the dark!

Note: Do this after you are happy with your setup.

To auto boot your emulator so it runs as soon as the Pi is turned on, type the following into a command line (your Pi will boot to a command line or you can open the Terminal application on the desktop):

  1. sudo nano /etc/rc.local
  2. Before the final ‘exit 0’ line insert the following:
  3. /home/pi/mame &
  4. Save the file
  5. Reboot the system

Wiring

If you’ve gone the arcade cabinet route then you’ll want to look at the following two guides to help you connect all your controls to your Pi.

  • This Adafruit guide covers how to wire the controls to your board and the software side
  • This wiring guide will help when connecting all your micro switches.

That’s it! Enjoy your retro gaming and remember you can take out the SD Card and use your Pi for another project (a new SD card) and simply pop it back in when you need an arcade fix!

A writer with weird ideas and a polytheism fixation. My alter ego lives in the library, soaking up tech and designing pretty things.

Read Next

Blog June - Day Eight