Follow me on twitter for up to the minute release updates: @sdlmame_osx

Prerequisites for using the MAME console application on MacOS:

  • Intel-based Macs – MacOS 10.14 or above (majority of Macs made before 2021).
  • Apple Silicon (aarch64)-based Macs – MacOS 12.0 “Monterey”.
  • libSDL 2.0 or above – SDL for MacOS (currently 2.26.1).
  • Knowledge of using the within MacOS or a frontend.
  • Disable Gatekeeper!

The current MAME release is 0.251, released on November 29th, 2022.

All old releases are archived here.

46 thoughts on “Main

    1. Hola!! me podríais indicar cómo se inicia la carpeta de mame que me he descargado en Mac por favor? no sé cómo ejecutarlo!! gracias

  1. It would be helpful to add links to the latest version of MAME per MacOS.

    Example: MacOS 10.14 or above = MAME 0.244
    MacOS 10.13 = MAME 0.???
    MacOS 10.12 = MAME 0.???
    MacOS 10.11 = MAME 0.???
    MacOS 10.10 = MAME 0.???
    MacOS 10.9 = MAME 0.???

    1. I like this idea but I didn’t keep those records and even I didn’t retain all this data. A good way to gauge this is looking up the version release date and then look up what MacOS was available at that time for a decent gauge. Usually I built on the oldest OS X possible to retain as much compatibility as I could. Still, I’ll see what I can come up with when I have some time!

  2. MAME 0.244 needs actually macOS 12 (Monterey) to run.

    When I try to run it on macOS 11 (Big Sur) it is not working.
    See message when I try to run it under Big Sur:
    user@Mac /Applications/mame0244-arm64 $ ./mame
    dyld: Symbol not found: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv
    Referenced from: /Applications/mame0244-arm64/./mame (which was built for Mac OS X 12.0)
    Expected in: /usr/lib/libc++.1.dylib

      1. Thank you so much. I am also getting a crash when I try to run SDL MAME version 0.244 on Mac OS 11 Big Sur. A fix for this would be super useful because I can’t go up to Mac OS 12 just yet.

        1. More details: Running the file “mame64” results in a crash, running the file “mame” succeeds. MacOS 11 Big Sur.

          1. The only file you should have as a executable is “mame”, the former “mame64” pre-dates the M1 processors and the zip only comes with a “mame” executable. If you have just placed new releases over old ones, it never would have deleted the old “mame64”, but that is surely over 2 years old, and isn’t supposed to run on M1. If the “mame” file runs on Big Sur then all should be well, but I can’t test that. If it doesn’t run, mame is also available through macports and brew and should work on Big Sur.

  3. Hi,
    do you know if there is a way to have a shortcut to start the app from the dock? Using maybe a command or something similar to bypass the terminal and start SDL MAME easier?
    Thank you for your efforts on MAME dev

    1. I’m personally unsure if you can add the MAME binary to the Dock directly, but if you can, you may have to keep all the corresponding MAME folders in your Home directory. Give it a try and see what happens!

      1. Last I recall that app had no new development in years. Just by having to rename the mame binary tells me it’s been a few years it’s been dead already. I don’t suggest or recommend people use dead software to do things with. It can’t possibly support new things added to mame only very basic things it can interpret.

      1. What is the correct way to open sdlmame? What’s the right command to do (I know it’s possible to double click the mame64 file to open, isn’t it right?).
        Do you also know if there is a way to do an apple script for this terminal command and save it as an app?


    2. Typically, you can run any script by double click in the Finder or click in the dock simply by changing the script’s filename extension from, say, .sh to .command.

  4. I’ve used it for a few years with no problems. I agree with your comment about “dead software” however, this app just executes the mame executable and nothing else. It doesn’t use or enhance any mame features. If you want to give it a shot without renaming your mame executable, right click on the M64 app and show package contents. Go to the Contents/Resources directory and edit the script file changing mame64 to mame. Save it then move the into your mame directory. Can’t quite remember but I think everytime you update mame you need to run it from the terminal once.

  5. Not working on Mac Os Monterey, when running “./mame” command into the terminal, the screen goes black, mouse pointer is displayed and responding, BUT, nothing else works, backlit keyboard or screen bright keys are working, but trying to go back, change or go to any other app, nothing works, only mouse pointer, I had to force shutdown by pressing power btn, that was the only way out. Fyi I installed LibSDL (copied the content into /Library/Frameworks).

    Any ideas?

    1. First run should be “./mame -cc” for “create config”. After just the main command will do. Also, there is a delay the first time mame is run, I believe it is building database data, where the screen will appear unresponsive and stay black. This is normal and mame will start, let it finish.

    2. you don’t have to “slam” down or force the power off FYI. Just hit Command-Option-esc and you can force quit/or relaunch the terminal from there. 🙂

  6. it gives me every time this error, SDL is installed correctly.
    MacOS Ventura 13 last beta

    dyld[4591]: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
    Referenced from: /Volumes/Saveria/Archivio/Arcade/Mame/mame
    Reason: tried: ‘/System/Volumes/Preboot/Cryptexes/OS@rpath/SDL2.framework/Versions/A/SDL2’ (no such file), ‘/Library/Frameworks/SDL2.framework/Versions/A/SDL2’ (no such file), ‘/System/Library/Frameworks/SDL2.framework/Versions/A/SDL2’ (no such file, not in dyld cache)


    1. Unfortunately, I cannot provide help for a beta. We don’t target beta OS releases and it is generally poor form to post a bug report for running something on a beta OS. You are on your own with betas. There is no guarantee anything works or what Apple has changed in order for programs and libraries to operate correctly. When the OS is released the team will likely have support for it soon after but generally not before.

    2. Because it’s beta OS. Mine runs fine in Monterey but also tried in Ventura and it doesn’t. It’ll prob be fixed when Ventura is an official release or shortly after via an update to Ventura if the initial release doesn’t work. Just install Monterey into a new container and run it there. I keep Monterey as my primary OS and run Ventura latest dev beta in a container as a secondary OS to boot into to try apps and such, but never rely on it for daily use.

  7. First off, Thank you, this is amazing! Thank you!


    When I try to launch any game file it says “Required rom/system files for this select system are missing etc. etc.” Last time I installed this project I simply put the entire folder in my Apps directory on my Monterey MacOS M1 Pro 14″ and put the roms collection I have all in the roms folder and launched it and played several games without error. I just reinstalled this on my machine after leaving Ventura beta some I’m official on Monterey. I did put the SDL2.framework into the frameworks folder before launching it and get no errors in the terminal when launching. The Mame window comes up just fine and then I get the above error when opening any rom (or trying to). I know I’m probably missing a step somewhere but last time it just worked…Advice? Thanks a million.

    1. The roms won’t even show up in my Available tabs.
      I tried to manually open my rom, which is a Neogeo game, and still “Required rom/system files for this select system are missing etc. etc.” error showed up. I did everything as instructed, had the required bios and rom.

      Did you manage to successfully run a game in MAME?

    1. The “endings” file shouldn’t be needed in this day and age. The source can be pulled from GitHub or even one of the pre made zip files as well on mamedev. There is a guide on their docs site with some more up to date information: For something as old as .223 you can skip the python3 install, as it uses what MacOS already had back then. The only specifics I can think of is to throw the make command a “-j{insert proc core +1} to speed up compilation by using all your cores available. It should build out of the box, though may not on a newer MacOS release. I also keep builds of older releases available here: if you don’t want to bother with setting up all that. Good luck!

  8. HI there Jay;
    I have the Mame emulator working on Monteray 12.6. I can’t get any roms to work though? I know the versions are important when it comes to the age of Roms. My latest try was with version .243 and the .243 roms won’t work?
    Any help much appreciated?

  9. Thanks for doing the compile for Mac!
    Although it seems like the 0.248 version is ready, the link seems to be broken.
    Is there a compiled 0.248 version for Mac available?

  10. Hi,

    Great job with the latest update.

    Have you had any feedback regarding IMGTOOL issues?

    I am having trouble installing and using IMGTOOL on a Mac M1 Monterey.


    1. There used to be a few out there, and may still be. “M2” was one many used, not sure on its status these days. Most prefer the GUI within mame, it covers all the options, can handle screenshots, filters and more. It’s what I would recommend to use but it’s not very Mac-like.

  11. Hi! I would like to know what’s the best way to update SDLmame with new versions. Is it ok to keep my folders (with Roms files into rom folder/ and also artwork files and saved config) and just overwrite all te exec new files?

    1. Personally, I would overwrite any files contained in the zip. There are files in the xml directories that control console/computer emulation information that if not updated for long periods will not operate correctly. Basically, outside of the dir.txt files, if it ships in the zip, overwrite it. The zip will never contain anything that would overwrite your roms, etc.

      Just be careful on MacOS Finder, it will overwrite directories with empty contents in some uses.

      1. Ok thanks for the tip.
        So in the case that I’ve inserted all my Roms in the rom folder under the zip extraction, if I’ll take all, copy and paste, this means that for that folder, I need to merge the two (or not copy it and ignore), am I right?

        1. Yes. Though tbh I’d avoid any insertions from the zip file into the roms folder. All that will ever be there is the dir.txt to ensure the directory is created properly when unzipped. You don’t need the txt file for mame to function. Just be careful with folders you want to keep the contents of, a better solution is moving your files into the created folders after unzipping. Whatever you do, make sure the roms folder is intact afterwards!

          1. So I’ll not copy at all (rom “ or artwork folders, for example). The last question is: what about all the config I did? Like the language selection or the audio/video/controllers and key config? Are there any problems with this if I copy and overwrite all the folders and file within the zip?

          2. Any files you’ve created, saving controller profiles, video settings, game settings, etc should not be overwritten by the zip file. If you do choose to remove them you will have to setup devices and such again, which is usually the opposite of what one would normally like. In order for those per-game settings to be carried over the cfg files must remain. But again, all that’s shipped is a dir.txt to create the directory so you should be safe when updating.

    1. I have yet to update personally. I have no idea why you wouldn’t be able to load anything. Try checking gatekeeper, make sure it’s off or mame is allowed to run and read dirs, outside of that, I’m not sure.

Leave a Reply

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