Turn you EEE into a 1980s arcade machine with MAME
Whilst reading On The Edge: The Spectacular Rise and Fall of Commodore I found myself getting quite nostalgic for the computer games of the 1980s. In those days it was common to make a trip to the local amusement arcade to play on the latest games machines and marvel at the sound and graphics they possessed. Those large arcade machines of yesterday were fun to play on but rather large and possessed very computational power by today's standards. You might be wondering what this has to do with the EEE? Well on the EEE you can play many of these games in the original form once again thanks to a project named MAME, the Multiple Arcade Machine Emulator.
MAME is a very interesting project, it does not aim to rewrite the games to work on new hardware, instead the games played are from original code. Instead MAME aims to emulate the hardware that the code once ran on. This gives you an authentic gaming experience. The main aim of the MAME project is described on their website as being to document the inner working of arcade machine hardware making it possible to still play these games long after the original hardware has ceased to work, thus preventing large parts of computer gaming heritage being lost forever. More information is also available on Wikipedia at: http://en.wikipedia.org/wiki/MAME. You can also get versions of MAME for other operating systems, on Ubuntu it is available prepackaged.
To get MAME working on the EEE I installed a version available from the Xandros repositories. To make this available on your EEE follow the instructions at: http://wiki.eeeuser.com/addingxandrosrepos and make sure you follow the section on pinning (note if you followed my earlier post on setting up a LAMP environment on the EEE you will have already done this). I ran the MAME program from a shell , I haven't tried any of the graphical front ends for it, if you do it would be great to hear from you.
Open a shell by pressing Alt+T
Install MAME using this command:
sudo apt-get install xmame-svga
MAME uses the original game ROMs, so create a directory to hold these under your home directory (the tilde ~ character is short way of saying /home/user):
The original ROM images are still subject to copyright, but some have been cleared for personal use, have a look at this page for a list of these: http://mamedev.org/roms/. I tried Gridlee from 1982 and Robby Roto from 1981 and they both worked on the EEE (Gridlee had no sound though). Download the ZIP file straight into the ROM directory you created above. You don't need to unzip it.
You can get a full list of options for starting MAME by typing:
The general form of the command to start MAME and get it to look to our directory for ROM images is:
xmame [options] -rp ~/roms/ [gamename]
You might want to change some options to match the game up with the capabilities of the EEE. For example, Gridlee was designed for a screen with a resolution of 256x240 so you might want to scale it up to fill more of the EEE's screen, to do this use the -ef option. So to start Gridlee and scale its display to twice its orginal size is:
xmame -ef 1 -rp ~/roms/ gridlee
Once MAME starts you might find that you can't play the game straight away. Why? Well this is the original game remember - you have to put "money" in first! To do this press the 5 or 6 keys to insert coins. Other useful keys are:
1 - One player
2 - Two player
Arrow keys - directional
Tab - configure game
a - fire
Esc - Quit game
After you exit MAME you might find that a lot of blank lines get printed to the shell. I'm not sure why this is but it does stop and doesn't seem to cause any harm. If anyone knows a fix for this it would be great to hear it.