Press "Enter" to skip to content

MAME on Mac OSX Yosemite

Multiple Arcade Machine Emulator (MAME) is a free and open source application used as a reference of the inner workings of arcade gaming systems. A side effect of this is that MAME can be used to play old arcade games if you can find the games. MAME uses data dumps from the Read Only Memory chips (ROMs) that were used in the original arcade games.

You can download the ROMs of some games from the mamedev.org website. I am going to use Robot Bowl as an example.

You will have to use the terminal app and the console to get MAME working, but it is very easy following the steps below. You will also need admin privileges on the computer, this is not absolutely necessary to run MAME, but that is how I am going to cover it here.

These instructions are for SDLMAME version 0.156 64-bit which was released on November 28, 2014.

Lets get started.

  1. Visit http://wiki.mamedev.org/index.php/SDL_Supported_Platforms and click on the URL for “Apple Macintosh OS X Intel” with a build target of “MAME”. Curretly that URL is http://sdlmame.lngn.net/
  2. Follow the instructions at the top of the page and install the “SDL runtime library
    1. From the SDL website download SDL2-2.0.3.dmg or the latest version.
    2. Double-click the SDL2-2.0.3.dmg file which will mount it as a drive.
    3. Open the Terminal application Applications > Utilities > Terminal
    4. Enter “open /Library/Frameworks” into the terminal window, this will open a window for the Frameworks directory
    5. Drag the “SDL2.framework” file from the SDL2 window into the “Frameworks” window, you may be prompted to enter an Admin username and password to authenticate your desire to modify the Frameworks directory. Click “Authenticate” and then enter an Admin Username and Password.
  3. Back at the SDLMAME page click on the “SDLMAME v0.156 64-bit” link and save the file to your computer. I am placing it in the “Documents” directory.
  4. Double-click the zip file, when finished you should now have a folder named “mame0156-64bit”, now rename this folder “mame”, keep in mind that case counts so make sure the folder name is all lower-case.
  5. Open the “mame” folder and take a look at the contents
  6. Over in the Terminal app, enter “cd ~/Documents/mame” and then “ls -al” to double-check that you are in the right directory
  7. Now to create the MAME configuration file enter “./mame64 -createconfig” this will create a “mame.ini” file in the “mame” directory
  8. Now to get a ROM visit the mamedev.org website and the Robot Bowl game at http://mamedev.org/roms/robotbwl/
    1. Click on “I understand…” and download the game to the Documents/mame/roms directory
    2. WARNING: ROMs are saved as zip files and they should stay zipped. MAME will handle unzipping them and using the contents inside. If you use a web browser that automatically unzips files when you download them you will need to change that setting to preserve the original files.
  9. In Yosemite the keyboard does not use the function keys on as F-1 through F19 the way other operating systems do, they are assigned all kinds of other functions. You can hold the “Function (fn)” key down everytime you want to use a function key or you can open the System Preferences > Keyboard and check the “Use all F1, F2, etc. keys as standard function keys” box. If you check this box you can use the “fn” key to utilize the special functions of those keys. That is my preferred method.
  10. Now to launch MAMA and give Robot Bowl a try
    1. In the Terminal enter “./mame64”
    2. Use the arrow keys to select “robotbwl Robot Bowl” and tap Enter
    3. You may see a screen warning about using ROMs that you are not legally entitled to play, give it a quick read and know that you have been given permission by H.R. Kaufmann, president of Xidy, the original ROM images for Robot Bowl have been made available for free, non-commercial use. On your keyboard the left then right arrows to move on.
    4. Then you may see a message that there are known problems with this game. The sound emulation isn’t 100% accurate. Click the left then right arrow keys again to move on.
    5. Now the game should be playing its attract animation of a stick figure coming out to bowl.
    6. Tap the “Tab” key to bring up the in-game configuration menu and choose “Input (this Game)”
      1. NOTE: I prefer not to change the “Input (general)” controls from the default. By keeping the general defaults tutorials and other help I may use in the future will work without me having to translate which keys to press.
    7. Controls
      1. This is really cool, when you look at the input controls for a specific game, it shows ALL of the control options for that game making it very easy to learn how to play that game and re-configure the buttons and controls for it.
      2. For Robot Bowl the default controls are:
        1. 1 Player Start: 1
        2. Coin 1: 5
        3. P1 Left Button: Left arrow key
        4. P1 Right Button: Right arrow key
        5. P1 Button 1: Left Control key or mouse button 1 (left mouse button)
        6. P1 Button 2: Left Alt key or muse button 3 (right mouse button)
        7. Hook Left: Z key
        8. Hook Right: X key
      3. You can use the arrow keys to navigate to any of these and change them by tapping the Enter key then tapping the key you want to use; you can have more than one key assigned to a single control.

And that is it; you now have MAME up and running on your Mac OSX Yosemite computer.

You can find a lot more information about customizing MAME in the ~/Documents/mame/docs directory, especially in the config.txt file.

10 Comments

  1. Ashton Yarlett Ashton Yarlett July 20, 2015

    Thanks for the MacMame info. Very much appreciated! I was stuck on the 2009 version where a lot of roms stopped working but this version brought them all back again. Top man!

  2. zuvie zuvie July 22, 2015

    hi, first, ma english is so f**ked up, REALLY sorry,

    i use mac yosemite 10.10.3

    and i do everything that you write there,

    but it dosen’t work, so i find a google,

    nomaly people find a error message like ‘no games found~’

    but my message is “no machines found~ blahblah”

    how can i fix this thing, please answer to me

    best, zuvie

  3. chriss chriss August 21, 2015

    i can’t find the rompath?

  4. Pedro Gordinho Pedro Gordinho September 29, 2015

    Hello,
    Is there any version of mame like the old one when you just click the icon and run?.
    It looks like a lot of trouble and I tried it and can’t make it work.
    Thanks

  5. Phred Phred November 7, 2015

    MAME64 completely ignores the same..ini file. The “rompath” variable cannot be read so it is impossible to locate the ROMs. MAME64 can only be run from the command line because of the bug.

  6. Seb Seb November 21, 2015

    Thanks for this — brilliant to get MAME running on Yosemite, haven’t played these ROMs in years. Also used an app called Joystick Mapper to map my Logitech gamepads to MAME – works like a charm!

  7. Brendon Brendon February 27, 2016

    Help. I can’t seem to get past step #7, despite I swear that I’ve followed every step to this point correctly. This is what I get:

    ./mame64
    dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
    Referenced from: /Users/************/Documents/mame/./mame64
    Reason: image not found
    Trace/BPT trap: 5

    I’m not a programmer, so I’m not sure what I’ve done wrong. Thanks

  8. Jos Jos March 23, 2016

    Thanks for the guide. It really works well on the latest Mac OS X version.

    • Slick Rick Slick Rick January 6, 2017

      How do you get it to audit the roms? I did everything correctly up to the point where i had to get roms. I made the directory roms in there and in the program chose the directory but anything I try to open on the list says I’m missing the chd or something like that and just won’t do anything… please tell me how to fix this

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.