In this blog post, we’re going to get Advance MAME up and running on a SABRE LiteSABRE Lite (i.MX6) board.  MAME is the Multiple Arcade Machine Emulator and it allows you to play arcade games on your computer.  This makes for an especially neat setup if you can find an old arcade cabinet to gut and replace with a computer running MAME.


There are many different MAME projects out there, and for this setup we are going to use the Advance MAME project.  Advance MAME is a version of MAME that works better with single board computers like SABRE Lite or Raspberry Pi.


For this project, I’m going to use the linaro image, which can be found here:


Installing Dependencies

There are a couple of dependencies that you need to install to compile Advance MAME.  However, before we do that it is always good to do an update and upgrade first:



Once that is complete, then here are the dependencies that need to be installed to compile Advance MAME:



That will take a couple of minutes to download and install all of those packages.  That’s nothing compared to how long the next step is going to take…


Compiling Advance MAME

The first step is to download the source code, which can be done by:



After the download has completed, then decompress the file with:



This will decompress all of the files in the archive into a new directory called advancemame-1.2.  After this has completed, we need to enter that directory and configure Advance MAME:





This will run through and automatically detect all of the dependencies that we installed earlier. This will also detect things like the type of type of processor and video card.


Now for the big step, compiling Advance MAME:



This step will take a while. About two hours, so this is the kind of thing that you kick off and then go for a jog or call it a night and come back to it in the morning.

When it does complete check to make sure that it was successful.


The last thing to do is to install Advance MAME:



Getting ROMs

The official MAME site has a couple of ROMs that are free to download and play.  They can be found here:


For this example, I’m going to use the Car Polo game.  The first step is to download the ROM:



The file is pretty small, so the download should complete quickly.  When it is done, move the file over into:




Then you can fire up Advance MAME with:





The goal of the game is to use the car to push around a soccer ball and get it into the other person’s net.  The BBC TV show Top Gear did something similar using compact cars.




Xbox Controller

Playing an old school game like this is much more fun with a controller than with the keyboard.  I happened to have an xbox 360 controller lying around, so here’s how to set that up.


First we need to install the program that translates the controller movements into keyboard strokes:



Once that is installed, then you can run it with:





If it is working correctly, this should print out some information to the screen every time that you press a button on the controller or move the joystick.  Also, the light on the controller should light up indicating that you are player one.


To change which button on the controller corresponds to which key on the keyboard, use the --ui-bottonmap option.  Here’s some good settings for the car polo game:



This way you can press the red B button to deposit a coin and start playing the game.  The left and right arrows on the D-Pad on the controller rotates which way your car is going.  Finally, the green A button makes your car move.





That’s how to get Advance MAME up and running on your SABRE LiteSABRE Lite (i.mx6).  Now you can play arcade games with the use of an XBOX controller. All that is left is building a super sweet arcade cabinet!


See Also

Getting Started with SABRE Lite (i.MX6)

Using Advance MAME to Play Arcade-Style Games on SABRE Lite (i.MX6)

GnGeo on SABRE Lite (i.MX6)