So I decided to give emulation a whirl on the Pi. I did some research before hand and found out there were already some emulators available. Most importantly there were MAME emulators which was really what I was after. It was time to test the waters with my Pi.
Somehow I doubt you’re actually asking this but just in case MAME stands for Multiple Arcade Machine Emulator so short n sweet it plays Arcade games. The Arcade Era while brief was an important part of gaming’s early beginnings and part of my Childhood. I have always wanted to recapture it by building some kind of Arcade box.
For the Pi I stumbled across a distribution called PiMAME which came installed with a handful of emulators (MAME being the one I was after), a menu system to select your emulator and a web based ROM uploader to facilitate easy game additions. The ROM uploader was just gravy but the menu was something I could do without.
2 MAME emulators to choose from
PiMAME comes with AdvanceMAME and MAME4ALL as the 2 choices for arcade emulation, Initially I was using AdvanceMAME as it was a more recent release of the main branch of the MAME software however I noticed that simple games from the late 80′s and early 90′s had performance issues and became concerned that my project may not work out after all. After doing some research on the performance issue with AdvanceMAME I discovered that MAME4ALL was a fork of an older MAME branch and that it was now specifically optimized for mobile platforms. The only problem with this is it required you to have older ROMS or down convert your ROM library. After giving MAME4ALL a shakedown test with Street fighter II it was clearly the winner and the project was back on!
That pesky Menu
Hats off to the PiMAME folks as it is a robust OS and easy to use but I didn’t need a menu for all the emulators I just wanted to boot right into MAME4ALL. It wasn’t too difficult to achieve this, just went into .bashrc removed their menu program and added the full path to MAME4ALL and now I had a fully functioning Arcade booting computer. I could have just used a plain Raspian and added MAME to it but that ROM uploader was a nice touch and I wanted to keep that in my system.
To get the best performance and to span as much of the Arcade era as possible it was necessary to run the Pi at a 950MHZ clock speed. 1GHZ also worked but would occasionally lock up while playing heavier games like Street Fighter II. At 950MHZ the temperature remained under control (I have heat sinks mind you) and I was able to play games that were made up into the early 90′s (Street Fighter II, Mortal Kombat) without issue. There would be the occasional stutter here and there in the sound but it was very minimal and quite acceptable.
So overall the Pi makes a decent, cheap and portable emulation machine that will work with modern TVs, Monitors or older composite TVs. Have Fun!