Use MAME with roms from
Clone or download
Latest commit e1efb16 Aug 12, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Rename project name to "ia-rcade" into sources Aug 12, 2018
src Rename project name to "ia-rcade" into sources Aug 12, 2018
.gitignore Update gitignore file Aug 4, 2018
.travis.yml Update travis.yml to use openjdk8 Aug 3, 2018 Update changelog Aug 12, 2018
LICENSE Initial commit Mar 17, 2016 Rename project name to "ia-rcade" into sources Aug 12, 2018 Update todo Aug 10, 2018
pom.xml Update changelog Aug 12, 2018


Build Status

ia-rcade allows you to use the emulator MAME with roms hosted at

Machines ROMs/CHDs and software lists ROMs/CHDs are supported.

Before using ia-rcade please read the legal notes below.



  • Java 1.8+.

    Mac OS x Users: Some users reported issues to install Java Superior to 6. If it is you case, read this Stack Overflow thread.

  • A version of Mame 0.149+ that suits your operating system. Make sure Mame is correctly installed and works as expected before trying ia-rcade. Recommended version is one that match exactly one of the available romsets at As of now, available romsets range from 0.149 to 0.197. So recommended version is 0.197. If your Mame version does not match exactly a romset version, ia-rcade searchs for roms in greatest romsets version less than your Mame version. In this case, some required files may be missing. Its a hit or miss but works pretty well if the version delta between Mame and romsets is not too high. Previous versions of Mame are available here.


Despite ia-rcade can be considered safe, it is for now a beta software. It should not affect the roms into your rompath. But if you take care of your collection, it would be safer to try ia-rcade with another rompath. See below

If you change your version of Mame, i recommend you to use another empty rompath to prevent a mixed versions romset. Some roms could have been changed from a romset version to another so it is safer to download them again.


Linux / OS X

  • Make your rompath writable or add another writable one on the 'rompath' directive of mame.ini

    $ chmod +w /path/to/mame/roms
  • Install ia-rcade and make it executable:

    $ sudo curl -fsSLo /usr/local/bin/ia-rcade
    $ sudo chmod +x /usr/local/bin/ia-rcade
  • Tell ia-rcade where is your Mame executable by making it available on your $PATH environment variable — its name must match mame[64][.exe] — or by setting on your ~./bashrc, or ~/.bash_profile or somewhere else, the $MAME_EXEC environment variable:

    $ vim ~/.bashrc
    export MAME_EXEC=/path/to/mame64


  • Download ia-rcade.exe and place it on the folder where is your mame.exe

You can alternatively place it somewhere else and use the $MAME_EXEC env variable:

C:\> SET MAME_EXEC=C:\Users\tiben\mame\mame.exe

Compilation from the sources

The compilation requires Maven.

  • git clone this repository:

    $ git clone
  • Build and package using maven:

    $ cd /path/to/ia-rcade
    $ mvn package

The binary files ia-rcade (Linux/OS X) and ia-rcade.exe (Windows) and the executable jar are available on the target directory.


ia-rcade acts like a command wrapper of the original Mame executable. Use it exactly like the original Mame command line. When you launch a game or a system, ia-rcade looks at your rompath to determine what ROM/CHD files are missing and fetch them from into your rompath. Once the files are downloaded, it returns control to original Mame executable which launches the game/system.

Linux, Os X

Let's try Galaxian. Simply type what you would have typed with the original Mame to launch the game:

$ ia-rcade galaxian


Let's try Pacman. Open a console cmd then type:

C:\> cd \path\to\mame
C:\> ia-rcade.exe pacman

Executable JAR

Alternatively, the provided executable jar can be used directly:

$ java -jar ia-rcade.jar sf2

Use a different rompath

If you want to try ia-rcade using a different rompath than your Mame's default, you can use the original Mame option -rompath on the command-line.

$ ia-rcade -rompath /tmp sms sonic

Disable Mame execution

It is possible to run ia-rcade without running Mame afterward using the -noexecmame option. This can be useful if you only want to download a rom file without execute the game. If the rom is already available, ia-rcade simply does nothing.

$ ia-rcade -noexecmame sms sonic

Known limitations

No GUI support

ia-rcade does not work when used with the included Mame GUI. However it should work with frontends using some tweaks. Reddit user jstefa managed to make ia-rcade work in his cab with the frontend attract-mode.

Some ROMs/CHDs are missing

ia-rcade relies on romsets available at Not all romsets for all Mame versions are hosted and some versions miss parts like softwarelist or chd sets. ia-rcade tries to find missing roms in previous collections but olders roms may not work with a more recent version of Mame.


ia-rcade is an independant project and is in any way associated with the official Mamedev team.

ia-rcade uses as a service and does not host nor provide directly any rom file.

Some rom files are the proprietary of copyright holders.

Contact and contributions

If you want to contribute or simply share your thoughs about ia-rcade feel free to send your pull requests here at github or join me at reddit.

One really simple contribution is keep me informed when new romsets are hosted at


Releases announces on reddit triggered some good discussions: