Classic Arcade Games
As some of you might remember: back in the day (1970’s – 1990’s) every self-respecting bar or fastfood place had at least one of those big Arcade Cabinets with games like Pac-Man and Donkey Kong. Every town of importance had at least one, if not more, Arcade places where you’d find quite a few of those as well.
Classic Arcade Game Cabinets
For those who didn’t grow up with these: A cabinet, like the Pac-Man one on the left would be not much shorter than a person! Or the one on the right, Out-Run, allowed you to actually sit in the cabinet. A very few Arcade places might still exist of course, but it’s not as popular as back in the days.
With MAME, you can relive those days … well, at least when it comes to game play, and here is how …
Ad Blocking Detected Please consider disabling your ad blocker for our website.
We rely on these ads to be able to run our website.
You can of course support us in other ways (see Support Us on the left).
Running MAME under MacOS X
Before we can enjoy one or the other Arcade Game we will need to install MAME and unfortunately this is not as easy as you’d normally expect from a MacOS X application. Windows users have a much easier start when it comes to MAME.
Download the full MAME for MacOS X package from Tweaking4All if you’d like – the instructions are mostly based on this package.
Just for convenience I packed all needed files to run MAME into one archive (Zip).
I do, as usual, strongly recommend to get the latest version from the developers websites (see also the details with each step).
Versions …
I have made 2 versions available. The older 64 bit version, with SDL 1.2, and the newer 32 bit version with SDL 2.x. The latter seems more compatible with the different OS X versions, so the 32 bit version is the recommended version for OLD Mac’s. In the 32 bit version “mame64.command’ is called “mame.command”.
Most current Mac’s will be needing the 64 bit version though …
2019 Update!
Since this article was originally written in 2014, MAME has made great progress and I’ve updated the 64 bit bundle to reflect this. The new 64 bit version includes SDL 2.0.9. Don’t forget to copy the SDL2.framework file from the SDL2-2.0.9.dmg to /Library/Frameworks.
The first time you start mame64 you may have to set the directory for the ROMs in the configuration screen of MAME.
Note: I have not updated the 32bit version, since I’d rather preserve that one in its current state, as it will be used for old Mac’s only.
Download - MacOS X MAME Package (64 bits)
Download - MacOS X MAME Package (32 bits)
Short Version …
For the impatient, like myself at times, here the very short version:
- Download and Extract the Package from Tweaking4All (above)
- Install the SDL Framework (copy SDL.framework to /Library/Frameworks)
- Double click mame64.command in the MAME folder (or mame.command for 32 bit)
The following steps will do all this just in more detail …
Step 1 – Download and Install the SDL framework
SDL, Simple Directmedia Layer, is a framework or library that allows cross-platform development of applications that need low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL or Direct3D. For games and emulators we do need this, so we need to install SDL.
At the time that I’m writing this article, SDL 2.0 is already available, but MAME isn’t compatible with that just yet.
To install the SDL library (framework) we will need to copy the “SDL.framework” file of the mounted DMG into the “/Library/Frameworks” directory.
First, double click the DMG file, so it gets mounted.
Next open the Finder and go to “/Library/Frameworks” (from the Finder menu: “Go” “Go to folder“, enter “/Library/Frameworks” and click “Go“).
Now drag the file “SDL.framework” from the DMG to the “/Library/Frameworks” directory you just opened.
Your Mac will ask for authentication, and you will need to enter your password.
El Capitan (10.11) – Or how to use Terminal to install SDL
I’ve been using El Capitan (Mac OS X 10.11) beta for a few days now and noticed that installing the SDL framework does not work with simple drag and drop, however, through Terminal (“Applications” “Terminal“) it does work.
First mount the DMG (double click) and then open Terminal and type:
sudo cp -r /Volumes/SDL/SDL.framework /Library/Frameworks/
It will ask you password (admin) and it will then install the SDL framework correctly.
Step 2 – Download and Install the SDL version of MAME
Download SDLMAME – SDLMAME is a cross-platform version of MAME and a precompiled Mac version can be found on the “MAME/MESS for Mac OS X” page where you will find precompiled 32- and 64-bit versions. I believe there is even een PowerPC version to be found there (older version though).
SDLMAME Version 0.152 (64 bit Intel) is included in the 64 bitTweaking4All package. Version 0.163 is included in the 32 bit package.
SDLMAME does not come with an install script, and the files most certainly cannot be dropped in your “Applications” folder as seen with normal Mac applications.
First, you’ll need to find a good location to work from, which can be for example the Desktop (which is what I will assume from this point forward – if you choose a different location, then please substitute occurrences of the Desktop path with the path you choose).
If you downloaded the package, then simply drag the “MAME” folder to your desired location (not to the “Applications”).
If you downloaded MAME manually, then you’ll need to unzip the downloaded file (I used mame0152-64bit.zip, your version might have a different filename) into a directory, so the files do not get scattered all over the place. I believe the build-in unzipper of MacOS X will create a directory with the files in it automatically when double clicking the file, which results in a directory named the same as the zip file, just without the zip extension. Rename this directory to for example “MAME” if needed.
MAME can be started by double clicking the “mame64” file in the folder.
You can also start MAME in the terminal by using ./mame64
(for the 64-bit version).
You will see a screen like this, which indicates that everything went well (press ENTER once or twice to exit this screen) – MAME just couldn’t find any ROMs:
MAME under MacOS X – First start …
Step 3 – Get some Arcade ROMs (games)
Arcade ROMs, the actual software for the game, is typically extracted from the ROMs or EPROMs from the original Arcade machines.
We need these “images” of these original ROMs or EPROMs to be able to run the game.
Copyright Warning!
Please note that ROMs (the game software) of Arcade Machines are subject to Copyright!
Not all ROMs that you might find are legal, as permission from the original author is needed to use them. Some of these developers have graciously made their ROMs available to the public, and some of those can be found on the MAME website.
Some ROMs are also considered “Abandonware” which does not mean that Copyright may be ignored, but it’s less likely to get into trouble when using these ROMs.
Some good and some “interesting” sources for ROMs (Google is your friend) and I definitely recommend snooping around on the Internet Archive (and donate if you can):
These are just a few examples of what I found through Google.
CAUTION
The first two (MAMEDev and Archive.org) can be considered very reliable.
The other pages however, are typically filled with advertisements and some of these advertisements are not suitable for children!
Be aware of this when visiting these pages!
Try one or the other ROM from MAMEDev or any of the other sources (which ever you’re more comfortable with).
I’ve already included a few ROMs in the Tweaking4All package, so you will not need to go hunt for ROMs for the first few tests.
After downloading individual ROMs, you’ll find that these are typically zipped. Leave them zipped!
MAME by default looks for a directory called “roms” (all lowercase) in the directory where MAME is started.
If needed, create the folder “roms” in the MAME directory.
Next step is to drag the zip files of the ROMs you’ve downloaded, or the ones your found in the package, into the “roms” folder.
As mentioned before DO NOT UNZIP the ROM FILES!
Step 4 – Playing your first ROM game with MAME
There are two ways to start MAME, as we said before.
Starting from the Command Line – Not exactly practical for daily use …
If you start MAME from the command line, then you’re golden, type ./mame64
or ./mame64 -skip_gameinfo
in the MAME directory and you’re good to go. The latter option is so the copyright warning and the technical info won’t hold you up …
Double Click Script – More user friendly …
If you however start MAME by double clicking the “mame64” file, then you’ll get an error message like the one we have just seen when we started MAME for the first time. MAME cannot find the ROMs, since it’s not in the “current” directory. (To exit the error message press ENTER once or twice.)
To fix this I created a little script, which for example purpose will be called “mame64.command”. The idea is to double click that script to start MAME.
If you downloaded the Tweaking4All package, then you’ll find the script “mame64.command” in the “MAME” directory.
To create this script yourself, you will need to enter the following and save it as a plain file (in “TextEdit” save it with the “.txt” extension), and after that rename the filename by adding the extension “.command”, for example “mame64.command”:
1 2 3
| #!/bin/sh
cd "$(dirname "$0")"
./mame64 -skip_gameinfo |
What this does: change to current directory to the directory where you’ve saved the script, and execute mame64.
You’ll notice that I’ve added “-skip_gameinfo” as a parameter for the “./mame64” statement, which will hide a copyright notifications and the technical specs of the ROM you’re about to start.
After saving the file, you will need to make the script executable from the command line by using chmod +x mame64.command
– this might not be necessary for the script included in the Tweaking4All package (double click to try it out).
Nice Icon for your Script?
If you’d like to give your “mame64.command” a nice icon (included in the Tweaking4All package as well), and here is how:
- Open your own icon image (PNG), or the included “MAME Icon.png“, with “Applications” “Preview“.
- Press the keys COMMAND+A (select All) and after that COMMAND+C (Copy).
- Close “Preview“, right click the “mam64.command” file and select “Get info“.
- Click the icon in the upper left corner with the left mouse button and press the keys COMMAND+V (paste) – you’ll see the icon change.
- Close the info window when done.
MAME for MacOSX – Set script icon
Playing an old Retro Arcade Game with MAME
Now to the fun part, assuming you did get MAME to start properly. The first thing you will see after starting MAME will be the screen to select a ROM.
MAME under MacOS X – ROM Selection Menu
SKIP_GAMEINFO
For each game you start, MAME will ask for confirmation that you are not doing anything illegal here (Copyright notice), for which you must type “OK” to be able to continue. Right after that some basic technical info will be displayed which you can close by pressing ENTER. Annoying right?
As you might have seen in earlier command-line and script examples: adding the “-skip_gameinfo” parameter to the MAME statement disables this.
Select the game you’d like to play with the arrow keys and press ENTER to start the selected game.
MAME Controls
MAME has a pretty extensive support for keyboards, mice, joysticks and what-not (read up on the options in the “docs” directory).
For some games that used to use analog controllers, the mouse can be used (or trackball).
The basic keyboard controls are:
MAME Standard Controls
Key |
Purpose/Action |
1 |
Set to ONE PLAYER or START |
2 |
Set to TWO PLAYERS |
5 |
Insert COIN |
Arrow Keys |
Move Left, Right, Up, Down |
CTRL |
Action button 1 |
Alt |
Action button 2 |
Space |
Action button 3 |
P |
Pause game |
Esc |
Quit |
TAB |
MAME Options |
F12 |
Screenshot |
Some example screenshots – during game play press F12 for a screenshot, which will be saved as a PNG file, found in the “snap” directory in your MAME directory.
MAME under MacOS X – Screenshots
Comments
There are 119 comments. You can read them below.
You can post your own comments by using the form below, or reply to existing comments by using the "Reply" button.
Works like a charm. I’m super relieved to found your article. Thanks so much for sharing.
anjin anhut
Thanks Anjin!
hans
Dear All,
when i try ti double click mame64 file i have this error
dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
Referenced from: /Users/Antonio/Desktop/MAME_package/MAME/./mame64
Expected in: /usr/lib/libSystem.B.dylib
Can you help me please?
aker10
As soon as I have access to a computer, I’ll take a look. Unfortunately: I’m traveling right now and mobile internet can be quite a challenge :-(
hans
Hi,
I’m trying to run Metal Slug game which need “neogeo” driver and I downloaded it and put it at the “ROMs” dir
but I still can’t run this game (and also other games)
I got this error: “The selected game is missing one or more requried ROM or CHD IMAGES”
Please help,
Thanks,Edan
Edan
Hi Edan!
Seems some config and/or ROM files are missing. I’ve never tested Metal Slug, but I have seen this with incomplete ROMs.
If I recall correctly, some need special config files, and/or emulator ROMs.
I did see that this is not an uncommon problem … (Examples: EPForums, MAMEAddicts, MAME FAQ)
I hope this is helpful – not sure where to find the neogeo.zip file, I found one at EmuParadise.
From the MAME FAQ (Q5):
All Neo-Geo games need the bios file, neogeo.zip.
Neo-Geo b10$ is a small program element common to all Neo-Geo MVS hardware that is nevertheless essential in order for the games to boot up. No b10$ = no games!
You only need one copy of neogeo.zip, though. Leave it zipped and put it in the MAME roms folder and all of your Neo-Geo games should be able to work. However, as with roms, (see Q2 – b) the bios needs to be compatible with the MAME version you’re using. If you get missing files on a bios audit then you know it’s incompatible.
hans
Hi, I’ve been trying to use MAME to play Street Fighter and Marvel vs Capcom games, but it tells me that the image is missing, even though when I use MAME64, it tells me the game should work properly.
Paul
Hi Paul,
I assume you’re running into a similar problem as Edan.
You do not seem to have the correct ROMs (this is what I conclude from some other posts I’ve found at MameAddicts, FAQ at MameAddicts, and EmuParadise).
If any of these resolve your problem, please let us know here … so others can benefit from it as well …
hans
Hi, you probably need to download more “BIOS” files like the neogeo bios.
The problem is that you have a deferent bios for each version. just google “neogeo bios” and the version of mame you use and you will get this file. unzip it (it have more zip files inside) and put them at the ROMS directory. Probably you will have to try some different bios :(.
Edan
[…] //www.tweaking4all.com/software/games/macos-x-run-mame-mavericks-10-9/ […]
Hi. Is it okay to delete SLD.framework if I want to uninstall?
thanks for your work.
John
When uninstalling MAME (SDL version), it should be save to remove the SDL framework – if you installed it only to be used with MAME of course. Then again; if you uninstall it and run into issues later, with other programs that might use SDL, it’s just a few clicks away to reinstall the SDL framework.
hans
I followed this tutorial but double-clicking on the mame64.command makes the app crash instantly.
Too bad! I wish someone came up with a GUI… that would be so useful… thanks anyways!
Fabrice
Hi Fabrice,
sorry to hear it’s not working for you.
Can you provide more info? Like which MacOSX version you’re running, what kind of message you’re getting?
I’d like to see if we can fix the issue.
hans
Hi Fabrice,
it looks like the SDL framework is not installed or failing …
I just installed MAME with SDL Framework on two machines, just to make sure newer Mac OS X versions wouldn’t be the problem. For this I downloaded the file found above, which includes the “SDL-1.2.15.dmg” for the SDL Framework.
Mac OS X 10.10 (Yosemite):
– Installation of SDL works as descibed above.
– mame64.command works as it should.
Mac OS X 10.11 (El Capitan – beta 3):
– Installation of SDL did not work with drag and drop (thanks Apple!). Instead I had to open the DMG and then in Terminal:
It will ask you password (admin) and it will then install the SDL framework correctly.
– After that mame64.command worked as it should.
hans
Thank you very much for your reply. I am currently on Mac 10.8.5
The SDL library shows in the Frameworks window. (SDL.framework and SDL2.framework)
It launches Terminal, at some point Terminal says “Process complete” On my menu bar it runs “mame 64” for a second then, it crashes.
Here is the crash log:
Process: mame64 [1304]
Path: /Users/USER/Desktop/*/mame64
Identifier: mame64
Version: 0
Code Type: X86-64 (Native)
Parent Process: bash [1234]
User ID: 501
Date/Time: 2015-08-13 17:20:50.515 -0700
OS Version: Mac OS X 10.8.5 (12F45)
Report Version: 10
Interval Since Last Report: 2385 sec
Crashes Since Last Report: 1
Per-App Crashes Since Last Report: 1
Anonymous UUID: E7EB106C-6333-452B-5549-64C131C5819C
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Dyld Error Message:
Symbol not found: ___strlcpy_chk
Referenced from: /Users/USER/Desktop/*/mame64
Expected in: /usr/lib/libSystem.B.dylib
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x00007fff63d7809d dyld_fatal_error + 1
1 dyld 0x00007fff63d7b048 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 139
2 libdyld.dylib 0x00007fff8d8398ee dyld_stub_binder_ + 13
(Other lines deleted)
Fabrice
Hi Frabice!
Thanks for the log file – I did shorten it a bit since it would clutter the comments too much (next time, please use the forum for this, as it allows attachments).
It seems SDL crashes and I’m, unfortunately, no SDL expert.
You could try newer versions of MAME, which can be found here: http://sdlmame.lngn.net/
There you’ll find a 32- and 64-bit version (depending on your OS, in your case, I’d pick the 32 bit version).
I’m truly sorry I have no better answer to resolve the issue …
hans
I just looked at those new version — Caution: you will need a newer SDL version.
This newer version can be found on the SDL Framework download page.
After mounting the DMG, copy the SDL2 framework to /Libraries/Frameworks/:
Note: On my system (El Capitan), the 64 bit version failed (black screen, press “Esc” to exit).
However, to my surprise, the 32 bit version worked just fine.
After extracting the 32 bit version, copy the “roms” directory and “mame64.command” from the archive you got from Tweaking4All into the newly extract MAME directory.
Edit “mame64.command” with a plain text editor like TextWrangler (free: TextWrangler website or Apple App Store) or nano (commandline) and make it look like this (remove “64” in the 3rd line):
Save the changes and start mame64.command.
Hope this helps …
hans
Thanks for your help!
So “mame0163-32bit” did launch, and then I got the purple error message that said “no machines found – please chech the rompath described in mame.ini”
But I do not have a “mame.ini” and the roms folder is in the MAME folder, so I can’t really understand why he won’t find them.
Also, in your article you give a link to M+GUI (mame + giu), and you say it works on Mac OS X. I downloaded it to try out and it’s a .EXE file (so, rather for windows unless someone is on a mac and has parallels or bootcamp installed).
Fabrice
I’ve just made 0.163 w/SDL available for download – hope this version works for you.
I just took a peek at M+GUI, and I have to admit that the sourceforge page is a mess … better forget about that one.
hans
No matter what I try, M-GUI indeed appears no longer available for the Mac – I removed the link, thanks for the tip!
hans
No problem ….
AFAIK; the roms are expected in the MAME directory (where “mame” and “mame.command” are found). The .command file actually makes sure it recognizes the right directory.
So your “no machines found” message is indeed related to not finding the roms.
Did you perhaps start “mame” instead of “mame.command”?
I’m making a zip file of this version which should be available here within the next few minutes (depending on my slow Internet connection) ….
hans
Ok! I finally got it to run (I also upgraded to Yosemite, which might have helped). I couldn’t run one of the games I was trying to play, because of a bug called “the selected game is missing one or more required ROM or CHD images”… Do you know this bug?
Fabrice
Excellent!
As for the error message: some ROMs actually require multiple files, and the ones you downloaded might be missing one or the other file. Try downloading the ROM from a different source. (and please do not tell me it is one of the ROMs I had included in my ZIP) ….
hans
UPDATE:
A newer version of MAME is now available (32bit v0.163) for download, which comes with SDL 2.x.
hans
how do i enable cheats?
daz
Hi Daz,
I honestly have never tried enabling cheats under MAME.
After your comment, I did look around a bit and found this website, which seems to have a big database of cheats for use with MAME: http://cheat.retrogames.com/.
But as far as I can read (the website uses some tiny font), the cheat engine no longer works for newer MAME versions?
http://members.shaw.ca/kelvsyc/cheatguide.html
hans
Ok thanks….
how about the other MAME options like visual effects (scanlines, etc) any shortcuts to turn those on?
daz
MAME OS X would have been ideal for that (link) but it just keeps crashing and seems no longer being maintained (last version is from 2009).
You could also consider trying QMC2 – which seems to offer a lot, but I have not tested this one yet (as far as I recall).
One could add a mame.ini file and see if this version of MAME actually looks at that file.
Some more tips that might help: MAME FAQ.
I’m really sorry that I’m not providing much helpful info … I’m not using any of these features, and never have, not even in my Windows days.
hans
Absolute novice with rather silly questions, no knowledge of anything tech/computer and I need some help! I don’t want to clog up the comments section and make a fool of myself in the process.. is there any way I could send you my questions direct? I’ve tried google and am even more confused!!
Martha
Hi Martha,
there are no silly questions, the only silly question is the unasked question . Also keep in mind: we all had to start at some point. But … if you’re more comfortable with it: ask the question in the forum, I’ll read those every day, and it won’t be as visible …
hans
Hello,
The PS4 bluetooth controller is not detected.. is there something I should do to enable it?
Thanks!
Damian
Hi Damian,
I have no experience with a PS4 controller. But if it’s a Bluetooth device, then I would say that you’d need to pair it first with your Mac. But … I assume you already had done that.
I found online that you can use either a Micro-USB cable, or through Bluetooth (source):
Setting up a PS4 controller to a Mac via Bluetooth takes a bit more effort, but it’s still not difficult. Follow these steps to set up your PS4 gamepad with a Mac wirelessly.
1) Open System Preferences (Apple menu > System Preferences).
2) Click Bluetooth.
3) Put the PS4 controller in Discovery Mode by holding down the PlayStation button and Share button at the same time.
4) The light on the front of the controller will flash quickly, and Wireless Controller will appear in the Bluetooth window. Click Pair.
The device will now say connected, and you’ll see how. You can now use the PlayStation controller with the Mac.
Now that you’ve connected your PS4 controller to a Mac you can use it to play games. Bear in mind that it won’t work with every game, just those that have support for wireless controllers.
hans
Hey,
My question was because when using OpenEmu it was working fine.. but here not :/. Anyways, I found a better simpler option than what’s described here. Just download Experimental OpenEmu.
I tried with the games in your pack and they work perfect and my PS4 controller works in bluetooth mode without problems :). Maybe you can update the guide or create a new one with that emulator.
I still cannot make Marvel vs Capcom work… but maybe I’m missing something.
Damian
Thanks Damian,
as the Mac gets more popular, it’s no surpise to see (finally) some improvements with several projects and applications.
I will give OpenEmu a try …! Thanks for the tip!
hans
hello is there any way to scroll through all the games, when i scroll down it only shows the games on the 1st page, the selector just goes back to the top. I can search by name and they are all on there but would be nice to just be able to scroll. Thanks a bunch otherwise it works like a charm!!!
sacha rosen
Hi Sacha,
I’m not a frequent user, so I wouldn’t know,…
Maybe one of the other users can provide input?
Sorry I could not be of more help ….
hans
Is there a trick to getting the mouse to work with a game? I’m trying to make the mouse work with missile command and it apparently can’t see it.
Rick
Hi Rick,
unfortunately, I’m unable to check that out at the moment – I’m traveling.
A quick look with Google, gave me this link where that person seems to be using his mouse, so I’d assume a mouse should work, just can’t confirm it [yet].
hans
Hi from Italy!
Your work is good!!! finally i am able to run MAME for Mac…….i try to press F12 about screenshot but’t doesn’t work……can you help me?
Thanks and sorry about my english
Greetings from italy
Luca
Hi from the USA …
Well, I live in Holland, but I’m traveling … anyhow; I have to try this once I get back home, which will take a bit.
Unless you’re like me, and forgot to press the “Fn” key when working on a laptop (I forget this all the time on my Macbook Pro).
hans
hi hans.
unfortunately i downloaded and ran the mame emulator BEFORE transferring the sdl file to frameworks. and now the program won’t recognize any of my roms. what should i do to fix the situation?
SweeTuth
Hi Sweetuth,
Installing the SDL framework after running the emulator should not pose a problem. I suspect you’re running into another problem …
Did you get an error message? Or did the list of games remain empty?
hans
Hi man!
Thank you for the tutorial. I can get the emulator running and the games you included but ANY other game I downloaded and put on the Roms folder does NOT work sadly. It says “The selected game is missing one or more required ROM or CHD images”….. please help :(
Ricardo Silva
Hi Ricardo,
Thanks
Sorry to hear you’re running into issues with other ROMs.
When you get that message, one or more files are missing from the ROMs you downloaded.
Try downloading ROMs from another source and make sure all files are there (which can be hard to determine at times).
hans
Thanks so much for your article and files. Spent hours trying to get Mame running on 10.6 without any success, your file (32 bit version) worked right away.
Tim
Hi Tim,
that’s awesome to hear! Glad it works straight out of the box for you as well!
Thank you for writing a thank-you note.
Happy New Year!
hans
Hello,
Thank you for the tutorial.
I installed everthing ok and I can launch games. However I am not able to “insert coin” and start an actual game.
Only “p” can pause the game.
I use a macbook with french keyboard.
Can you help me trying to figure out what’s wrong?
Regards
F
Fred
Hi Fred,
sorry to hear you’re running into issues.
Below I’ll list all keyboard functions I could find, but I would not see why it would not work with a French keyboard …
This list will not help, but maybe if you check the configuration settings?
All keys are configurable in the user interface from the Configuration Menu.
This list shows the default keyboard configuration:
Main Keys
5, 6, 7, 8 — Insert coin (players 1, 2, 3, 4)
1, 2, 3, 4 — Start (players 1, 2, 3, 4)
Arrow keys — Move Joystick
Left Control — Button 1
Left Option — Button 2
Space — Button 3
ESC (Escape) — Quits the game
Button 1 usually represents a game’s primary action, like “Fire” or “Jump.”
Button 2 is the secondary action, like “Thrust” in Asteroids.
Button 3 is used for “Hyperspace” in Asteroids.
Some games won’t use any buttons, while others (such as Defender or Street Fighter) will use many buttons.
Games which use two joysticks simultaneously, such as Karate Champ, Robotron, Crazy Climber, or Battle Zone, default to using the E/S/D/F keys for the left joystick and the I/J/K/L keys for the right joystick.
Other Keys
Tab — Toggles the Configuration Menu
~ (Tilde) — Toggles the On Screen Display. Use the up and down arrow keys to select which parameter to modify (global volume, mixing level, gamma correction etc.) Use the left and right to arrow keys to change modify the value. Some parameters adjust with finer or coarser control if you hold down the CTRL or SHIFT keys while pressing the left/right arrows. Use the ENTER key to reset a value to its default.
P — Pauses the game
SHIFT+P — While paused, advances to next frame
F1 — Toggle crosshairs for games that use them
F2 — Service Mode
F3 — Resets the game
F4 — Shows the game palette, decoded GFX, and any tilemaps. Use the ENTER key to switch between the three modes (palette, graphics, and tilemaps). Press F4 again to turn off the display.
F7 — Load a save state. You will be requested to press a key to determine which save state you wish to load. Note that the save state feature is not supported for a large number of drivers. If support is not enabled for a given driver, you will receive a warning when attempting to save or load.
SHIFT+F7 — Create a save state. Requires an additional keypress to identify the state, similar to the load option above.
F8 — Decrease frame skip on the fly
F9 — Increase frame skip on the fly
F10 — Toggle speed throttling
F11 — Toggles speed display
SHIFT+F11 — Toggles profiler display (debug builds only)
F12 — Saves a screen snapshot
hans
Hi, I installed SDLMAME for my osx and I wish to know if there is a way to run a specific rom by command line. I’m a programmer and I would like to create a graphic interface with explanations for every game (rom)…. and… running a specific rom just clicking on the own thumbnail. I think I need a command line to call the rom.
Thank you in advance.
best regards.
Andrea
Hi Andrea,
As far as I know you can indeed do this from the command line (MAME Command line options, SD specific command line options).
This Reddit post (even though it refers to the Windows version) might be helpful as well.
hans
Good morning,
thank you for your help!!…. The solution was so simple!…
On my MAC, I just used “automator” to create a little batch app and run a script shell:
cd ~/Documents/MAME
./mame64 <rom name>
That’s all!…
Thank you again.
Best regards.
Andrea
Hi Andrea!
That’s awesome! Thank you very much for posting the solution as well!
hans
Thanks so much, my buddy sent me this link because I’m getting back into retro-gaming and wanted to do this on a Mac OS. Any recommendations for a good joystick or controller?
Wolfcorgi
Hi Wolfcorgi,
I have used keyboard and an XBox 360 controller. But I’m sure there are better options. I did find a bunch of Joysticks at Amazon, maybe dig through the reviews and see which one will do the trick for you. I do like the old Atari and Competition Pro joysticks
hans
Hi there. When I run MAME, this comes up in terminal and then nothing happens. Any thoughts?
MacBook-Air:~ Scott$ /Users/Scott/Desktop/Mame/mame64 ; exit;
dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
Referenced from: /Users/Scott/Desktop/Mame/mame64
Reason: image not found
Abort trap: 6
logout
Saving session…
…copying shared history…
…saving history…truncating history files…
…completed.
[Process completed]
Scott
Hi Scott,
first thing I noticed; it can’t find the SDL framework – which you have to install separately.
The SDL library/framework can be downloaded from the LibSDL website – version 1.2 is what I’ve used in this article, but the article is from 2014 and at the time I recall incompatibility issues with MAME and SDL version 2.0.
Note:
I see that SDLMame has come a long way, so consider downloading the latest Mame version as well (I’m updating the link for the 64 bit version in a few minutes). I will not update the 32 bit version, since Apple is moving away from 32bit, the 32bit version will only be useful for those with old Macs.
For this new package:
Open “SDL2-2.0.9.dmg” and drag SDL2.framework to /Library/Frameworks – this is a directory in the root of your Mac’s disk.
Next open “mame64” and go to “Configure” and set the ROMs directory to the roms directory in the directory where mam64 can be found.
I’ve just tested it with Mojave (10.14.4) and it works as advertised .
Hope this helps!
hans
UPDATE:
I’ve updated the 64 bit package to the latest (3/27/2019) version of SDLMAME, and included the 64 bit SDL2.0 framework.
hans
Hi Hans, I downloaded the 64 bit package, but when i run MAME this is what comes up in the terminal
Rospos-iMac:~ kstraga$ /Users/kstraga/Desktop/mame0212-64bit/mame64 ; exit;
**Error loading plugin.ini**
and this is the screenshot of what I see…
https://www.dropbox.com/s/3z12y3eg37g9f90/Schermata%202019-08-12%20alle%2019.09.33.png?dl=0
I’ve installed the SDL2 framework, MAME starts but i cannot run any rom.. I’ve tried with Frogger which is in the ROMs directory but this is the message i get: “The selected machine is missing one or more required ROM or CHD images. Please select a different machine”
I’ve re-set the ROMs directory (which was already set…) but nothing..
I run Mojave 10.14.6..
I cannot understand what i’m doing wrong… :( What is this Plugin.ini error?
Thanks!
Laura
Laura
Hi Laura,
sorry to hear you’re running into a problem.
Since I haven’t used MAME in a while, I had to go through all the steps;
1. Download the MAME64 package and unzip the downloaded file.
2. Double click the SDL2-2.0.9.dmg file so it mounts.
3. From the mounted SDL2-2.0.9.dmg file, drag the “SDL2.framework” to /Library/Frameworks
Finally, to make sure I’m not overlooking anything goofy, I opened Terminal and used “cd” to go to the directory with the unzipped files (where you’ll find “mame64”).
Next I started from Terminal “mame64”.
Everything worked with the ROMs included in the package (for example “Frogger”).
Now when looking at your screenshot, you seem to have added additional ROMs.
I tested a copy of Mario (US, rev. G) (like you have) and I do get a similar error message, as it’s missing certain files.
I did find some more ROMs at the Internet Archive (link), but since it’s a rather large file it will take a bit before I have downloaded it (52Gb).
I’ll do some more testing and get back to you.
hans
Thanks!
I followed all the steps you went through (but I double clicked the Mame64 icon, not from Terminal).
I don’t have all the ROMs that are shown in the list, just added 3-4 that I used to run with another Nes emulator.
I can’t understand where they come from…
I downloaded Mame from the developer site too and the same list appear (in this version the ROMs folder is empty!)
sorry to bother you…
Laura
No worries!
I’m always happy to help, and it gave me an opportunity to update and test MAME
hans
Maybe this collection is better – I started downloading that one as well (63Gb, will take a few hours).
hans
Hi Laura,
I finally finished downloading the huge ROM collection file (62Gb!) from the Internet Archive (this is the direct link).
After extracting this huge file, I found mario.zip in the archive and that one does work correctly on my setup – the missing file was included in that one.
If you’re still running into the plugin.ini error (which I’m not seeing in my setup), then consider removing the MAME setup (you can leave SDL2 installed), and work from a fresh setup preferable in “Downloads” or “Applications” (“Desktop” may have some security issues, even though I’m not it is related).
I wasn’t able to find any plugin or plugin.ini file either.
Hope this helps.
hans
Hi Laura,
I’ve just updated the 64bit package to the latest version of MAME – not related to your issue, but it may be helpful to have the latest version.
hans
UPDATE:
The 64 bit version has been updated to MAME 0.212. The old SDL1.x has been removed from the 64 bit package, as it’s outdated and no longer needed for 64bit MacOS versions (tested on Mojave).
hans
It’s seems like MAME64 is unable to find the ROMs in the “roms” dir. Do we have to scan the roms dir? I have placed many roms zip files in the roms dir.
Robert
Hi Robert,
based on Laura’s question, I’ve installed MAME (with the file you can download here) after not having it installed for a while.
Occasionally (first start usually) I end up with a black screen – COMMAND+Esc should be able to close this, in my case it’s because my firewall detects some sorts of traffic and waits (behind the black screen) for confirmation.
On my setup it uses automatically the “roms” directory in the directory where you start MAME.
From what I found online, MAME looks for the file “mame.ini” (if it exists) in these locations:
I do not have a mame.ini file anywhere on my system, so MAME uses it’s default setting and therefor uses the “roms” directory in the directory where you start MAME.
If you did find a mame.ini file, then you could temporary rename it to mame.ini.bak and start MAME to see if it grabs the rom files.
2) Some rom files may be incomplete (missing files),
3) Keep the rom files zipped – do not modify or unzip them.
Unfortunately, I found it to be problematic with the 64bit version of MAME, and it hasn’t been updated in a long time and it is 32 bit, so Catalina users won’t be able to run it.
hans
HI there, I normally use openemu for arcade but given it’s still on 0.149 your upload is a god send for the later beat em ups that I want to play.
How do I add scanlines on MAME64 though? Just to complete the look for me.
Sean Ong
Hi Sean,
Awesome that my download was useful!
I recall something from back in the day about the scanlines for the more authentic look. Just haven’t used it in a very long time.
As far as I can see in the documentation, you’re looking for HSLS Effects (specific “Scan lines” under “Configuration Settings“).
Unfortunately, the extensive Mame documentation seems to fail to mention where the mame.ini file is located.
From what I know and could find, it should be in the same directory as the mame executable.
As an alternative location, mame.ini can be found in ~/Library/Application Support/mame or ~/Library/Application Support/MAME OS X, possible in a subdirectory called “config”. I’ll admit that I was not able to find a mame.ini on my machine, so you may have to create one in one of these locations.
There seem to be quite a few scan line settings you may have to tinker with (seems hardware specific), per documentation:
– scanline_alpha (Scanline Amount)
– scanline_size (Overall Scanline Scale)
– scanline_height (Individual Scanline Scale)
– scanline_variation (Scanline Variation)
– scanline_bright_scale (Scanline Brightness Scale)
– scanline_bright_offset (Scanline Brightness Offset)
– scanline_jitter (Scanline Jitter Amount)
If you happen to find how to do it, please feel free to post it here – others (including myself) may want to play with this as well.
hans
Forgot to mention I’m using a macbook so not sure if HLSL for windows applies. I found the mame.ini file and a search didn’t fine any HLSL options as per the link you mentioned.
I did see this page though, but it’s a bit beyond me on how to even get started. I’m not that well-versed technically.
https://docs.mamedev.org/advanced/glsl.html
I tried their instructions but when i press ~ during a running game the options that cycle are limited to screen position, master audio etc and nothing with shaders.
I may just have to play my games with the default settings.
Sean
I totally had not seen that one … good catch
To make things more confusing there is also BGFX …
I love MAME, but their documentation is pretty confusing … after some more Googling the scanline question, I’ve not found how to do it
hans
Hello, people some can help me my mame just don’t work with Mac Os Cataline some one now if is a problem ? and how to solve?
Regards
Jorge
Hi Jorge,
I’m not an expert on MAME, but I have had it running under Catalina (see this comment).
What is happening when you try to start MAME?
hans
dons´t open crash.
try other things but is not working
can you send me yours by https://fromsmash.com or other ?
if you can I was very grateful
[EMAIL REMOVED FOR PRIVACY REASONS]
Jorge
Can you send me yours?
my is not working i try all but crash don’t open.
Jorge
Hi Jorge,
mine is the one I have for download on this page, the 64bit version list above (link).
Note:
1) Don’t forget to copy the SDL2.framework directory from the SDL2-2.0.9.dmg (included in the ZIP) to /Library/Frameworks
2) You may have to try to place the directory for MAME in a specific directory (not ~/Desktop), for example in ~/Downloads for testing (this is what I just did on my Mac running Catalina 10.15.2).
3) In Catalina, after starting “mame64” (by clicking it from Finder) for the first time from the command line, you’ll need to go to the menu, choose “System Preferences” – “Security” and on the tab “General” you’ll see something like ” “mame64” was blocked from use because it is not from an identified developer. ” and click “Allow Anyway“.
After that start mame64 again, you will get a warning again, click “Open”.
Now it can be that you’ll end up with a black screen, in my case there was a warning in the background that I couldn’t see. I had to press a few buttons a few times for it to exit that screen and see the warning message. Giving approval there again and now double clicking the “mam64” file will start MAME.
hans
hello my problem is the games that don’t run
“the select machine is missing one or e more required rom or chd images. please select a different machine and press any key”
this is the image.
How can i send you the image? for you see
Regards
Jorge
Sounds like you downloaded incomplete ROMs.
This does happen to me as well at times.
Try to find the ROM you’re looking for from another location or another version that hopefully is complete.
The Internet Archive is a rather large collection available online, even so much that at times it can be confusing what to download. But at least the chances that you’ll find a working set of files there is pretty good.
hans
I’m having the same exact issue, however, these ROMs were “complete” just before Catalina was installed. I never had an issue running them with MAME OSX before I upgraded to Catalina. I was able to follow the instructions above perfectly fine to get MAME itself opening but none of the games work. If it’s not an incomplete ROM issue, what else could it be?
Andrew
Hi Andrew (and Jorge),
I’ve just installed MAME from scratch, just to go through the motion and see if I can find anything that may cause this (besides ROM files being incomplete).
1. Installation / Initial Test
On Catalina 10.1.5.2, I downloaded the 64 bit version from above. Extracted the ZIP file and started MAME.
Of course the first issue was the “unknown developer” warning, so I had to go in to System Preferences -> Security & Privacy, and under the General tab I had to click “Open Anyway“.
The first start the screen remained blank (I had to press a few buttons to escape the black screen), but a second start showed me the MAME menu.
Next thing that may throw people off is that the listed ROMs were not the ROMs available in the ROMs directory.
Instead of showing th ROMs you actually have on your Mac, MAME is showing a list of ROMs that can potentially run under MAME (but you’d still have to download them).
So I added the ROMs directory manually (since “Available” remained empty) through the MAME menu:
Configure Options -> Configure Directories -> ROMs, select directory and press TAB to add it.
I’ve added the ROMs directory that was extracted with the package.
Don’t forget to use the Save Configuration option, and to choose Available in the ROMs section.
Now the list did show the available ROMs correctly (Frogger, Outrun, Scramble, Pacman, Mario), and they all worked, and even though PacMan was grey, it still worked.
After the first run, you can find the MAME ini files in “/Users/<yourusername>/Library/Application Support/mame“.
The file mame.ini holds the path(s) to your ROMs (option is called rompath).
2. Reasons why a ROM may not work (source)
So at the moment I can only conclude that older ROM zips may need an update for the newer MAME version you’re using.
Or the ROM you’ve downloaded was incomplete to begin with.
If you guys can let me know where to get a failing ROM, then please let me know, and I’ll test it on my Mac. Maybe I can find a specific issue, or not.
Hans
Hi Hans,
As simple as it seems now, I didn’t think that the newer MAME might need a newer ROM “extraction” and in fact I didn’t know that was a thing. So I think you’re right there. It’s the only explanation at this point because upon grabbing a few “new” downloads of ROMs I already had, somehow they are working now. Even though on the surface they appear identical to the ROMs I already had for years. Thanks for your follow-up :)
Andrew
Hi Andrew,
well, I’ll admit that I wasn’t aware of this either haha.
I tried finding a solution for you guys and found this on the MAME website/wiki.
I also noticed that some folks create ROM collections and appear to have been sloppy when creating them (forgetting some files).
So it could very well be a combo of both.
Hans
can you give some email do i contact you ?
is better if you like to help me
Jorge
Hi Jorge,
I’m not an expert on MAME, so I’m not sure how helpful I can be.
However, feel free to email me at webmaster at tweaking4all dot com.
hans
were is my e-mail [email removed]
thanks for the help
Jorge
Hi Jorge,
please email me at webmaster at tweaking4all dot com.
(I removed your email address for privacy reasons)
Hans
Please check this comment as well – it may resolve some of your issues.
Hans
Hello in what part ? I’m new were and i don´t were i contact you.
Regards and sorry.
Jorge
Hii Jorge,
please read the previous 2 messages carefully – I’ve spelled out my email address (to avoid that website scrapers start picking it up for spam and such).
Or reply to the new message notification you’re receiving from the website (if you used your real email address).
Hans
If understand was tweaking4all dot com.but is tweaking4all dot ??? .com ???
do you have mail e-mail send me one to me instead
Many thanks and Regards
Sorry
Jorge
Confirme that you recipe a email from mi?
Regards
Jorge
Hi Jorge,
I replied to your email yesterday … maybe it went to your spam folder?
Hans
Sorry, can you replay or resend again, i maybe delete in the span box.
Regards.
jorge
Hello Hans can you send me to my e-mail again
Mame i have a new Mac and on me time machine was not mame inside
Regards
JORGE
Hi Jorge,
it would be better if we worked on this in the forum (so other users can benefit from a possible solution).
For example in the Apple Software forum.
As for my email address: webmaster at tweaking4all dot com.
Replace at with “@” and dot with “.”.
Hans
Hi Hans, I installed Mame64 and a bunch of roms and all worked fine. I opened Configure Machine, Advanced Options, Artwork Crop, toggled to “on” then saved configuration. Afterwards the rom will not open, mame crashed and The terminal reopens and I get back an error messages saying files can not be found and lists out all the files contained in the rom. All other roms work. Deleting and reloading the rom does not fix it. I reloaded Mame, no change. I repeated the steps on another rom and the same thing happened.
Carter
Carter
Hi Carter,
This sounds more like a specific MAME issue.
It sounds like maybe the configuration has been corrupted somehow for that particular ROM?
I’d reinstall MAME from scratch and place the ROMs back if you want the ROMs to work again.
Obviously this is not a fix for your artwork setting, but you could copy the config file.
Then after that toggle Artwork Crop ON again for one ROM, save settings and exit MAME.
Now compare both config files and see what has changed. Maybe this gives us a pointer what triggers this issue?
Hans
Which config file? The 1941.cfg file was the same as others. I did reinstall Mame and 1941 still would not load. I toggled the artwork on a different rom (timepilot) toggled the artwork, got the same crash and tp84b.cfg file looks normal. Is there another .cfg file I need to look at. I do not have a mame.ini file.
Carter
It could be any config file, to be honest. I do not know where MAME stores everything.
One place I’d look at:
There are several files there.
And here in the /cfg directory of your MAME setup (but I think this is where you found your 1941 file).
I just found a 1941 ROM and tested what you did, before and after changing the setting the ROM worked (I think I got it from here).
This makes me think there may be something wrong or missing?
Or maybe it is related to your video hardware (since it goes full screen after changing that setting)?
Untested, so be careful, but I noticed someone posting a tool that may be helpful – it is supposed to download missing ROMs and/or files. Again, I have not tested this: ia-rcade
Hans
I don’t have a mame folder in application support. The only folders I have associated with Mame are: cfg, nvram, snap, and UI and the desktop where Mame_for_macOSX_0.212-64bit is stored. Does the SDL2 store any rom info. Would it help to reinstall it?
Carter
I found the files causing the problem. They were hidden and I needed to find a command to show my hidden files. Saving the configuration created an .ini file for each of the ROMs. Those were causing the crash. I put them in the trash now all the roms work. Not sure why the save configuration causes the problem but that is for another day. Thanks
Carter
Nice find!
Glad you managed to find a fix – this is definitely a MAME issue or bug.
Hans
QMC2 CONFIGURATION PROBLEM!
It’s very very strange: I erased the old version of MAME, QMC, SDL… all!
Then I installed the new version: SDL2, QMC2, MAME 0.198 and copied all roms.
The first time the software runs well, but there are some problem and roms are found but they don’t run. I restarted the configuration wizard and resetted all. The second try is the same as the first: roms OK, parameters OK but the games don’t run.
I restarted all and selected the “Default settings” and the unsolvable problem happened: QMC2 starts as the first time, but I cannot do anything: starts immediately the configuration wizard but it’s all locked, I cannot continue the configuration anyway, even if I select all languages and all possible screens. I tried to leave the window opened, thinking to a delay, but after 8 hours the windows is always locked, nothing to do. What’s happened at QMC2? I also tried to erase and reinstall it for 6 times, but it’s always the same problem.
Someone could help me to solve this strange problem? Many thanks!
ccl3no2
Hi Ccl3no2,
I have no direct answer, but I am wondering why you’re using MAME 0.198.
In the beginning of this article I’ve poster 0.212 which I believe is a newer version – maybe that version solves your issues?
Hans
I tried the 0.198 because the QMC2 version is the 0.192. Now I try the new 0.212, then I’ll tell you if the problem is solved.
ccl3no2
This (the download of 0.212) is a copy of the setup I use on my own Mac (running macOS 10.15.6) and it works here.
So … fingers crossed it works well for you as well
Hans
My copy of MAME keeps crashing when trying to load the background shaders. It keeps asking me to reinstall the “bgfx” folder…
Samuel Hoskins
Hi Samuel,
I have not encountered this issue, probably because I didn’t do anything with the background sharers.
From what I found online:
1) Start MAME with the parameter “-video opengl” added (source).
2) What may work as well is this, which I found in another post:
Hope this helps, as I am only basing this on what I found online.
Since I do not have this issue, please confirm if either of these worked for you.
Hans
I had the same issue. Installing older version of MAME helped. Try with 0.212 version.
Bedza
Hello guys,
after several attempts I have managed to run MAME 0.212-64 and I am extremely happy!!! My problem is I can not launch my best ever game “prisoners of war”. I have the rom (working on my previous PC). Now with Mac I get following message:
the selected machine is missing one or more required ROM or CHD images.
pal20l10.a6 (204 bytes) – NOT FOUND
some other games are running well (pacman)
Any help will be very much appreciated – I would like to show that to my son – he is at my age playing POW many years ago on a real machine!!!
Please help
Thank You so much
Bedza
Bedza
Hi Bedza,
(ps. thanks for chiming in with the other question!)
I would recommend looking for other ROM collections that do include the missing ROM/CHD files.
I did see this one (I have no idea of this is a legit website and if the files are complete and you probably already know about this in the MAME FAQ).
Also found the ROMs here (Internet Archive – HUGE file and slow download, so I haven’t checked that one out yet, but it seems the most recent one).
Hope this helps – wish I had the files readily available for you, but unfortunately I don’t
Hans
Hello Hans,
wow, wow, wow! It works! I have downloaded the complete ROM set and extracted POW.ZIP
You can`t imagine my total happiness! I just became 30 years younger and played the whole game!
Now it`s time to check the rest of the 60GB of ROMs and get back my memories.
Thank You so much
Bedza
Bedza
Hahah, the problem of having too many games now!
Glad to hear it worked, and cool that you’re showing your son – have fun and have a good weekend!
Hans
Note, when using the Internet Archive, you can also select individual files here.
That will save you a ton of time downloading between 50 and 60 Gb
Hans
I noticed your missing file is in there
Direct link to the file at Internet Archive.
Hans
Hello gang
I am on Mac OS 10.15.7 the mame0240-x86 with the SDL2 file in its proper place.
Issue: Every time I try to initiate MAME from the file set using the executable it crashes and gives me this message in the Terminal—
**Error loading plugin.ini**
Unable to open effect file bgfx/effects/gui_opaque.json
Unable to open effect file bgfx/effects/gui_blend.json
Unable to open effect file bgfx/effects/gui_multiply.json
Unable to open effect file bgfx/effects/gui_add.json
Unable to open effect file bgfx/effects/screen_opaque.json
Unable to open effect file bgfx/effects/screen_blend.json
Unable to open effect file bgfx/effects/screen_multiply.json
Unable to open effect file bgfx/effects/screen_add.json
Ignoring MAME exception: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder
Fatal error: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder
Segmentation fault: 11
logout
Saving session…
…copying shared history…
…saving history…truncating history files…
…completed.
I’m pretty tech savy with windows, in a gamer/hobbyist sort of sense, but his here situation is confusing the $%@* out of me. There was one guy on the web claimed he had the solution to this, but his explanation was confusing to a fault, and what i did understand did not work at all. Any help( in layman’s terms perhaps LOL!)would be greatly appreciated.
Thanks all!
Matt A.
Hi,
same issue. MAME can’t seem to open the BGFX shaders. (ending with segmentation fault 11) I’ve tried altering the path in the .ini file….changing the video in the ini to “BGFX”.
Interestingly, I ran it on a Parallels Win10 (windows version of course) and ran into the same dead end.
looking up solutions on the Net seem far and in between. Is there a simple fix for MacOS (and Win10?)
lansoar
I haven’t ran into this particular bgfx issue (Matt – apologies for the late response, I have no idea how I missed your question), so this is just my best effort to see what can fix this.
Note: it could be that you’re not using the version I have listed here for download, since that archive comes with the bgfx files included.
1) Video mode
From what I understand from one of the MAME devs, this only happens when MAME was started with the “-video bgfx” option (either in mame.ini, or from commandline?).
Either way, this is not an option I used in my setup (eg. the files you can download here).
You can try this, as an example, assuming you have Pacman installed (executable may also be called “mame64” or “mame.exe” depending on the version and platform):
2) bgfx directory (all lowercase!)
Another thing is that you’ll need the “bgfx” directory in the same directory as where the MAME executable is placed (executable being called “mame”, “mame64” or “mame.exe”).
You could download the MAME version from this page and use the included bgfx directory to give it a try. I have not tested this approach though.
3) Use the archive from this page …
I just downloaded the version that I have posted here and installed it on macOS Monterey (12.1) and it ran right away without issue.
Note: you will need to open SDL2-2.0.9.dmg and drag the “SDL2.framework” directory to “/Library/Frameworks/“.
If everything runs (assuming you’re on a Mac), then you can try to replace files with files from a newer version.
I just tried version 0240 from this page which offers Intel and M1 versions (more precompiled versions for several platforms can be found here) and that version worked right away as well without needing to do anything.
Note: you may want to check the mame.ini file as well.
This file is either located in the mame directory or (on a Mac) at “/Users/<USERNAME>/Library/Application Support/mame“.
If I recall correctly, running “mame -cc” (or “mame64 -cc”) should regenerate the mame.ini file
Please let me know if any of this helped!
Hans