16 July 2022

MAME on Apple M1 - as good as expected!

Update 16 July 2022: I did some prelimimary MAME testing on a 14“ MacBookPro M1Pro (it’s not mine). While this is no in-depth review, there are some insights from a MAME gamer‘s perspective I would like to share with you.
  • SUPERB The Liquid Retina XDR-display with 3024x1964 is a real highlight. Above all the ProMotion refresh rate of 120 Hz provides you with butter-smooth scrolling out of the box. Just activate waitvsync on top, and you get perfect scrolling. But don’t use nothrottle as your games would run double speed.
  • GOOD: This laptop produces surprisingly good sound quality. Retrogames sound very nice!
  • GOOD: It did not produce any heat during my testing, and no fan noise. Always such a good thing compared to most Windows and MacIntel laptops.
  • BAD: In some games, e.g. 1942, the display notch is quite a nuisance (see photo below). But it’s not terribly bad, if it makes you crazy, use a bezel and shrink your screen, or just turn to window mode.
  • SURPRISE: Initial benchmarks (as I used to do them) provide for worse results than on my Mac mini M1, even on the same external display. The M1 Pro should provide better results, so something is wrong. In practice, this is totally irrelevant, as the games run just nicely so far.
Conclusion: Of course this machine is too much for Retrogaming, but if you happen to own such machine, it provides an impeccable MAME gaming experience, with this display being the highlight. Would I need a Mac laptop, I would always opt for a ProMotion display.

In many games, you will have to adjust the screen below the Display Notch.

Original post: I finally decided to move to a Mac mini M1 - and MAME just shines on it. No war stories here, but just the benchmarks!

R0ni compiles M1 MAME, so get it here: https://sdlmame.lngn.net/ or on Github: https://github.com/mac-a-r0ni/mame 

This table shows you a performance comparison between:
- Mac mini M1 (native)
- Mac mini M1 (Rosetta2): no real need for this, but just to demonstrate Rosetta2 performance 
- Mac mini Intel (latest version)
- iMac (late 2013): best results under Mojave (Catalina became slower, and no Big Sur here)

./mame -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend opengl -noreadconfig -nosleep -nothrottle -lowlatency

07 July 2022

Attract Mode on Steroids: At-The-Arcade Flex is a must tryout

Update 7 July 2022: This GitHub repository provides very recent Apple Silicon builds of Attract Mode


During my testing, I could not identify any flaws, except for the non-functional history.dat plugin. So kudos to DJHan for these builds. For Intel builds, revert to the discussion below and try his Intel builds, or just stick with the official old builds that still work fine.

Minor update 10 July 2022: As explained in the comments below, if you  want to compile your own .app bundle (which works nicely), it seems to me that you must sign it with your own Developer Certificate. Otherwise the compiled app would even not work on your own Mac (at least I think so).

Attract Mode still impresses, as its layout capabilities are further evolving in the community. This release of a layout called "At-The-Arcade-Flex" is so outstanding that I had to produce this small video.

How to get there:

  1. Setup, part 1 - is a mandatory read, in particular how to toggle new layouts
  2. Download and install the theme from here: http://forum.attractmode.org/index.php?topic=3979.0 - read instructions carefully, but note: On Macs, the gtc-common folder goes into the .attract root directory of your user.
  3. Download the updated cabs from the same forum post and put them all in a directory of your choice (must match with the directory below!)
  4. And these are the important parts of your Arcade.cfg file - cabinets folder definition in red:

executable           $HOME/Games/mame/mame

args                 [name]

workdir              $HOME/Games/mame/

rompath              $HOME/Games/mame/roms/

romext               .zip;.7z

system               Arcade

info_source          listxml

nb_mode_wait         2

exit_hotkey          Joy0 Button12  

artwork    cabinets        $HOME/Games/mame/cabinets_am 

artwork    flyer           $HOME/Games/mame/flyers

artwork    marquee         $HOME/Games/mame/marquees

artwork    snap            $HOME/Games/mame/videosnaps;$HOME/mame/snap

artwork    video           $HOME/Games/mame/videosnaps

artwork    wheel           $HOME/.attract/scraper/mame/wheel

It's very snappy and extremely noisy - you get the cacaphony of an arcade hall, and your own video sound prevails over it. What a joy! Try out and be amazed.

24 April 2022

Welcome back, QMC2!

One of the first MAME frontends - QMC2 of Rene Reucher - is back! Right now you need to compile it yourself, but the reward is a mature and well documented MAME frontend - both on X64 Macs and Silicon Macs. 

I started MAME with the help of QMC2, and it is still a classic frontend experience

Rene has a new repository on Github: https://github.com/qmc2/qmc2-mame-fe

So let's fire up our Terminal and let us compile it!

02 April 2022

FINALLY: perfect scrolling in MacMAME by configuration!

👾👾👾👾👾👾 Time to celebrate. After so many attempts, I finally stumbled across the perfect configuration for flawless scrolling in MacMAME. 👾👾👾👾👾👾

Update 16 July 2022: It seems to me that with displays higher than 60 Hz, the nothrottle option would not work, as it results in speeds far above 100%. At least that was the result of my testing with a MacBook Pro M1. With such monitors, you would not need this hack anyway as waitvsync alone already provides for perfect results.

Showcase Moon Patrol - watch on your system how it scrolls sideways 

Until now, the usage of waitvsync, which is rather important for avoiding bleeding, caused stuttering in MacOS. As the MAME documentation explains:

On macOS, -waitvsync does not block; instead the most recent completely drawn frame will be displayed at vblank. This means that if an emulated system has a higher framerate than your host display, emulated frames will be dropped periodically resulting in motion judder.

That's why waitvsync is disabled by default. Now, very surprisingly, nothrottle combined with waitvsync comes to the rescue! With this MacMAME emulation is close to perfect for me! No 144 Hz monitor or Adaptive Sync required.

22 February 2022

New Featured Post: Retrogaming Emulation on Apple Silicon (WIP)

Statistics show that the post about MAME on Apple M1 is having highest popularity since its writing. While this will remain MAME-focused, I think it is a good idea to give a broader overview. Because despite some annoyances and unfinished states, overall emulation on Apple Silicon is in a very good shape.

This is very work in progress and I will see how to structure this in the best way. I am starting with a rough checklist, but will move much further into the details later on.

22 January 2022

Mac RetroArch Setup From Scratch for Arcade Games (Part 1)

Update 22.2.2222 at 22.00 - update of the video settings

Since  I claimed that FinalBurn Neo might be the better MAME for players, I wanted to write a setup guide. So finally, here is Part 1 of my RetroArch setup guide (done on an M1 mini under MacOS Monterey). Compared to my initial tests in 2018 and another try in 2019, this frontend became significantly more user friendly. 


Download: Download the Metal Build of RetroArch (either stable or nighlty build). For better comparison, I took the latest stable build, which is the very new version 1.10.0, thus only two days old.

Take this one for Metal GFX

24 December 2021

MAME and RetroArch in macOS 12.1 Monterey

Just a fast post on Monterey: Both MAME and RetroArch/FinalBurn Neo work flawlessly, both on Intel and Silicon machines available for me.

After the read of Ars Technica's review of macOS Monterey and the release of version 12.1, I found it safe enough to to the upgrade. 

11 December 2021

Game & Watch Games in MAME with Screenshots

Just a fast very honourable mention of the large efforts that the MAME community undertook in order to preserve the original Game & Watch LCD handheld games from the 80ies. 

As of MAME 0.223 every Game & Watch handheld is supported in MAME. While previous emulations, such as the Retroarch Core, were not based on the original dumped roms, I understand that MAME versions actually preserve the data of the old handhelds. Huge kudos for this, I never owned one by myself, but played on my friends' handhelds a lot. It is very nice to look back.

However, if you only have the roms availabe, there is no way to play them properly. You also need the artwork.

Mickey Mouse without Artwork

06 October 2021

January 2016 - September 2021: 100.000 Views - Thank You

Without realizing it, this September saw my blog passing the 100.000 views mark. Even in rather silent times, this documentation seems to help Mac users.

Thank you for your interest, this is my contribution to MAME. Please let me repeat that this blog will always remain strictly non-commercial.


07 May 2021

Final Burn Neo is the better MAME on Macs

Fast update 29 August 2021: After quick tests of MAME 0.235 and FBNeo Metal 1.9.8, the situation is still the same. Important note, however: After updating FBNeo (as well as any other Core), restart your Mac! Weirdly any updated Core crashes RetroArch immediately, while after a restart, everything works fine.

These are quite heretic news: On my Macs (both M1 and Intel), many arcade classics play better on the brand new combo Final Burn Neo Metal 1.9.2 than current MAME. If you are curious and ready to dive into RetroArch, this is definitely worth a try.

Moon Patrol (FBNeo with crt-guest-dr-venom2 shader)

I tested the newest incarnations of Final Burn Neo (via RetroArch frontend) and MAME official on my Macs, and to my surprise, Final Burn Neo currently has a clear edge over MAME in some classic arcade games. If you want to do your own testing, I recommend that you try out these three games, where results are quite obvious:

07 February 2021

MAME Arcade Bezel Update!

Just to let you know that my Github repository containing realistic bezel artwork for MAME is significantly updated. No need to repeat the ReadMe file in Github, just move there:


Shinobi contains all updates, including the Screen Mask (very much smoothing the screen borders) and
adding a dedicated Screen Bezel (thereby adding a lot of depth to the bezel).

I was looking for a long time for a screen bezel for Oddyssey2/Videopac - so many thanks to SuSGoART for that one (I found it in the libretro forum, conversion to MAME layout format by myself).

While this project will probably never end, I believe that it is a very nice moment to grab the repo and enjoy the new stuff. Comments as always much appreciated.

31 December 2020

MAME Shader Roundup - GLSL Configuration Working Again! Happy New Year!

Happy New Year to everybody!

With a very big MAME 0.227 release, I took some time to sum up the options that Mac Users have in terms of shaders - please read at least this post first for an overview, and I follow up on that one.

Out of the box: When you run MAME without any tweaks, it only smoothens the pixels, but does not apply any shaders. By this, every operating system starts MAME games, while shaders are often very OS-centric.

When to use this: Only if you have a system that does not cope with any of the below options nicely.

GLSL is back again! For quite some time I thought that the good old OpenGL shaders no longer work, but they actually do. Let me summarise how to configure two variants of the CRT-GEOM shader for MAME GLSL.

Setup MAME 0.227 from scratch on Macs (Update December 2020/January 2021)

Another update on how to configure MAME from scratch in the very preferable way, which is
via its internal interface MEWUI (default MAME UI since 0.171) and a text editor.
If you are willing to work with your Terminal and a Text Editor, it is by far the best way to set up and maintain MAME, irrespective of which frontend you wanna use later on.

So let's go step by step from scratch. 
MEWUI - click to enlarge
Step 1 - Basic Homework 

Download and install SDL 2 as explained here. Download a good text editor - I now use Atom - https://atom.io, which needs a bit of a learning curve, but it's a very decent Open Source editor.

Change Finder Settings in order to display hidden folders and files, e.g. with Deeper (you need access to your User Library folder, which is by default a hidden folder). Another very smart way to display hidden folders and files is this key combo in the finder: SHIFT-CMD-. 

Shift - CMD - . and you see the hidden files greyed out, but fully accessible, very neat!

Of course, download MAME from here and unzip it into the place of your choice. Obviously this is the SDL version of MAME complied for Macs.

Recommendation: I currently keep my running MAME version in the folder 'mame' and keep only older versions in a version-related directory. This definitely helps you further on to stay consistent and carry on your work from version to version.

Step 2 - Create .ini files in the Terminal and manually configure ini paths

After a lot of testing, my recommendation is to create your first .ini files from the Terminal. This should save you from a lot of headache by multiple .ini files that just cause confusion.

  • Start Terminal and cd into your directory of MAME (recommendation: name your main directory mame, see above)
  • Now in the Terminal and in the right directory, the command ./mame64 -cc generates the three default config files in your mame directory:
mame.ini - your overall configuration file for MAME
plugin.ini - your configuration file for activating and deactivating MAME Plugins
ui.ini - your configuration file for the MEWUI interface
  • By default, mame.ini contains the following multiple ini paths:
inipath  "$HOME/Library/Application Support/mame;$HOME/.mame;.;ini"
Recommendation: In my own experience, this is rather unfortunate, because you may end up with multiple .ini files at multiple places rather easily. Since MAME then considers all these .ini files in a certain order, you may be lost in chaos. Right now, I actually prefer having all .ini files in the MAME sub-directory called ini, thus I reduce this line as follows:
inipath                   ini
This means of course that you have to move the three .ini files created in the first step into the ini subdirectory. As long as you do not forget about the ini directory when moving to a new MAME version, this is probably easiest to handle, and the /Library/Application Support directory stays clean of MAME config files
 Step 3 - Start MEWUI (the right way)

Open Terminal and switch to your MAME working directory (easiest way: type 'cd' and then drag the mame directory from the Finder into the Terminal -> press Return in the Terminal window)

Warning: starting mame64 with double-click does not work in the right way -> so start via Terminal as explained here. So you must be in the MAME working directory!

27 December 2020

MAME and MacOS Catalina (Update December 2020)

Update 28 December 2020: I finally updated my iMac Late 2013 to Catalina - and everything works in MAME as expected. 

Interestingly, nothing of the concernes raised in the community back in January actually turned out to affect the Open Source community. Homebrew has now been in Catalina development for more than a year, and this update took quite a while, some hickups included, which I however could resolve with Google.

19 December 2020

Intel UHD (bad for MAME) and macOS Big Sur 11.1 first impressions

As already anticipated in this post, probably any Intel Macs with Intel UHD Graphics are a quite bad choice for MAME. Here is new proof with the probably very latest Intel Mac mini, a machine that I otherwise very much like. 

But as also barefeats.com explain here, these Mac minis 'scream for an eGPU' when it comes to gaming and other GPU-intensive tasks.

This Mac mini has it all - except for the GPU.

For all Mac Users out there that are struggling with MAME performance - just check your GPU and forget about the rest. If you have some Intel UHD Graphics installed, you already know the culprit. Shaders will then not perform nicely, and also Bezel Artwork. So here is some numbers with identical MAME versions and identical ROM files.

21 May 2020

ARCADE - the better MAME for most of us (R0ni build link included)

Update May 2020: R0ni now provides official Mac builds for MAME Arcade in the directory of his site listed below.

There is a subproject of MAME, fully on par with the official project, but which can be easily overlooked. If you are willing to compile and build your own romset, this is the best MAME for most of us.

Website: https://arcade.mameworld.info
GitHub repo: https://github.com/Robbbert/store1
Official binaries: sorry, there are no longer official builds available, and it was not R0ni's decision 😑. So I will look into that once again and may build unofficial Arcade builds - but please look into the easy build instructions below.

The Arcade internal MAMEUI has a customized colour palette, which I much prefer over the standard palette. Otherwise standard MAME functions, which is good.
What is it?

- Working Arcade games only (so skeleton drivers or games booting into a black screen)
- No mechanical games (pinball games etc)
- No casino or gambling games
- No computers, consoles, terminals, etc.
- No games that display a black screen

26 April 2020

Standalone Spinner for MAME - The one and only How-To!

Arkanoid ... finally!

Arkanoid was very popular amongst us youngsters. I was one those that managed all 100 levels, but certainly not with just one coin. I also think that this was just manageable in the cocktail table version due to the stamina and focus required for this difficult game. We typically used to take the challenge by two, so that after dying, you could relax a bit while the other guy plays, and that worked out quite well.

A spinner for MAME has always been in my plans simply because of Arkanoid. But I always hesitated because I wanted a standalone spinner (for reasons stated below), while basically all online instructions relate to integrating a spinner into your overall arcade control panel.

Now, finally, it is there and works just perfectly.

My prototype with cardboard. As you can see, very decent styling.
I might even stick with the cardboard version because it works so well.

11 April 2020

Negatron - a MAME Desktop Frontend at its best

Okay, I quite finished my review, but will update it incrementally from time to time.
Update 11 April - Negatron Cross Platform Pack, MAMEUI screenshot, further .ini info and NegaMAME
Update 13 April - included further information on Extras, In-Game Extras and the Manuals tab; edited the information on .ini issues.
Update 14 April - finishing up with a conclusion
Update 30 April - negatron 0.100.1 gets rid of some Mac-specific bugs, so go and get it!

MAME frontends for MacOS have always been scarce. That's why I was surprised to learn about this Negatron MAME Desktop Frontend being available cross platform, thus for MacOS as well. Already after my first tests, I was blown away by its capabilities. This review tries to point to the outstanding functions, especially for MacOS users, so that you can choose whether to give it a try.

Version tested: 0.100.1 (yes, the software is around since 2015, and I was never aware of - shame on me!)
Website NegaMAME: http://www.babelsoft.net/products/negamame.htm (a dedicated MAME derivative)
The software is updated frequently by its developer XinYingHo.

02 April 2020

Funding for OSX MAME Website during Covid19 time - please do consider!

This is a post during the Covid19 Lockdown:

Jay, the maintainer of https://sdlmame.lngn.net/, is directly affected by the Covid19 lockdown, and he kindly asks for assistance to keep his site up and running:


I did my part, and please consider to do the same. Thanks indeed.

24 February 2020

OpenEmu - A New Strong Contender for MacOS MAME

These days I revisited OpenEmu after quite some time, and it is a fair statement that it became an extremely attractive contender for playing MAME in MacOS.

This shall only serve as a teaser for an in-depth review - just briefly what makes OpenEmu a compelling option for gaming MAME in MacOS:
  • Up to date - current MAME Core is 0.217 (note: the MAME Core only comes with the "Experimental" version of OpenEmu!).
  • Performance is extremely good. OpenEmu claims to have developed a Metal backend for better performance in MacOS. While there is nothing documented about this, so far all games work flawlessly. A more objective testing than playing games you know does not seem to be available.
  • Shaders built in, can be changed in the game on the fly. It is by far the most convenient way of applying shaders for MAME games. And you find CRT-GEOM or even CRT-Royale-Kurozumi amongst them! Shader options are also very convenient.
  • And of course outstanding usability, which you will not find in any other MAME emulator:
    • import roms by drag'n'drop and enjoy immediate scans for artwork; import also provides a smart mechanism for resolving conflicts with other emulators; if you launch a game with missing roms (e.g. neogeo.zip), OpenEmu tells you this; also importing of bios files is drag'n'drop (more important for the other emulators)
    • outstanding configuration of joypads, with a lot of them being recognized automatically
  • Autostate out of the box: MAME currently does not save hiscore files in OpenEmu, and there is nothing to worry about that. Because OpenEmu, by its default options, just autosaves your last state and resume there at restart. So your highscores are just saved by savestates, and that's just fine.
I wanted to write this teaser very fast because OpenEmu now has reached a state where it becomes a top option for MAME in MacOS. In my review, I will also elaborate on the current deficits (e.g. no Artwork), but all in all, for the casual arcade gamer, this software is just brilliant. Stay tuned, I need to test further.

Read further for my in-depth review of OpenEmu (this review is reduced to the MAME core, wile OpenEmu's potential obviously go far beyond MAME emulation):