There are two main routes to get up and running with MAME under macOS, OpenEMU, and SDLMame. OpenEMU is the vector most users will want to use, but it isn't Apple Silicon native (but will still run fine in Rosetta). I've made a video, but if you're like me, you probably prefer the written version.
OpenEMU and Mame
OpenEMU is a beautiful core-based emulator (akin to RetroArch) that supports many game consoles. It's designed to be the one-stop-shop for Mac emulation, and it does a fantastic job. It's gorgeous and easy to use..
Step 1: Download OpenEmu Experimental
Regular OpenEMU does not support the MAME core, so you need to get the experimental version fromopenemu.org. I'm unclear as to why after years, the MAME version is still experimental. If I had to guess, it's likely because there are a few missing assets (the control menu for MAME doesn't have a skeuomorphic graphic, for instance), and it doesn't filter out BIOS files.
Step 2: Safelist MAME (Big Sur 11.x and above)
OpenEMU is open source but it isn't signed, you'll see an error if you try an execute it.
Right-click OpenEMU, and select open to bring up the prompt that will let you run the application.
Step 3: Install the MAME core
Launch OpenEmu, open preferences, and select cores. Click the install button next to MAME.
Step 3: Install games
Installing games is pretty straightforward. Drag the .zip files into OpenEMU under the Arcade tab. MAME games are file name specific, unlike most other emulators, so do not change the name. Also some games have dependencies.
If the game you are trying to play has a dependency, it'll display an error when you try and launch the game, with the name of the missing file. You'll need to install that file by dragging it onto the window. Do not decompress MAME game .zip files.
Please do not ask me for game files. They exist in a legal grey area. Try a popular search engine or archive site like Archive.org for information about ROMs.
Step 4: Optional: NeoGeo Emulation
Emulating NeoGeo games requires one extra step, you'll need to get the NeoGeo BIOS Rom. Drag the Neo Geo zip into OpenEmu. You'll see the NeoGeo ROM in your game list, but ignore it and double-click the games as you normally would. I had some difficulty finding one that worked in more modern distributions of MAME.
SDLMAME / MESS
SDLMAME is a macOS port of MAME and MESS that features both native Intel and Apple Silicon support and (previously) has been updated much more frequently than OpenEMU's MAME core. For years, OpenEMU was stuck at MAME version .149.1, from 2013. As of writing this, OpenEMU is currently in lock-step with SDLMAME as both feature version 0.235, but OpenEMU is not Apple Silicon native. SDLMame is a port of MAME by @sdlmame_osx. It also features MESS which emulates many retro consoles as well.
The downside is that SDL Mame's UI is pretty minimal, and it requires being launched from the command-line but works great.
Step 1: Download the SDL2 Framework
Go to libsld.org, and download SLD2 for macOS and decompress it. Next, install the SDL2.framework into (in your root)
Library/Frameworks. SLDL2 is a library for cross-platform development designed to provide low-level access to hardware such as I/O and graphics cards. Many Steam ports for macOS are based on this library.
Step 2: Download SDLMame/Mess
Go to sdlmame.lngn.net, and download Apple Silicon or Intel version depending on which type of CPU your Mac has. Decompress it into a folder of your choosing.
Step 3: Safelist SDLMame/Mess
This is where things get a little strange, as if you try and execute SDLMame, it'll give you the same warning as OpenEMU. Right like the
mame unix executable and click open. It'll open the terminal and crash. This is fine. Close this terminal. The application has now been safelisted.
Step 4: Install ROMs
Drag your ROMs into the ROMs folder within SDLMame (If it doesn't exist, create one). Just like OpenEMU games may require dependencies. NeoGEO games require the Neo Geo BIOS.
Step 5: Launch SDLMame using the terminal
YYou'll need to navigate to the directory that SDLMame is in (or locate it). The easiest way is to use the change directory command then drag the folder onto the terminal. It should look something like:
Now that we're in the directory, we can check to see if we see the mame executable using list.
If you see mame, you're ready to go. Launch the mame executable.
SDLMame's UI might seem a bit rough but it does support the mouse. Be sure to use the configure options with Device Mappings and General Input to configure your game controls.