MAME gives you the perfect retrogaming experience - also on your Mac
Last update: 5 February 2021 (originally from January 2016)
Mac-specific documentation for MAME is (still) scarce. I tried to close this gap a bit by explaining my setup and other approaches/ideas in this blog. Although I have written this documentation for Macs, most of this documentation will help for other platforms as well.
As of February 2021, this blog has seen more than 82.000 visits since January 2016, certainly more than I ever expected. This keeps me updating the blog - and where it makes sense, I update the blog entries frequently in order to keep the blog a bit more consistent.
So in 2021, MAME on Macs is great and stable - both on Catalina and Big Sur.
Homebrew MAME? It is an interesting concept, however I do not really see the benefits from having these folders hidden in /usr/local. I am testing it from time to time.
So in 2021, MAME on Macs is great and stable - both on Catalina and Big Sur.
Homebrew MAME? It is an interesting concept, however I do not really see the benefits from having these folders hidden in /usr/local. I am testing it from time to time.
My current setup
Basic homework prior to setting up MAME as a beginner
I am writing this documentation from a non-coder perspective. If I should be on a wrong path in any case, please be so kind and post a note here.
- Hardware: iMac 27 (Late 2013), 3.5 GHz i7 with 32 GB RAM, 3 TB Fusion Drive and Nvidia TTX 780M 4 GB; MacBook Pro 13'' (early 2013) as a fallback station for enhanced testing
- Software: MacOS Catalina 10.15, SDL 2.0.14
- MAME: 0.228 (R0ni binary from here: http://sdlmame.lngn.net)
- Frontend: Attract Mode 2.6.0 or the MAME internal UI or the great Negatron Frontend
I also do some MAME on an Intel Mac mini 2018, but it performs poorly. Still everything runs nicely in MacOS Big Sur. Still waiting a bit to do the switch to Silicon ;-).
Basic homework prior to setting up MAME as a beginner
- Download SDL MAME for Mac: http://sdlmame.lngn.net/
- Download and install SDL Runtime Library: http://www.libsdl.org/download-2.0.php and put it into /Library/Frameworks
- Download a frontend, if needed, e.g. Attract Mode (http://attractmode.org) or QMC2 Frontend for Mac: http://qmc2.batcom-it.net/ or also Negatron
- Have some ROMs - please do not ask me where to find them, unfortunately, the legal situation is blurry (to say the least), which is a shame. With many arcade machines dying over time time, Arcade manufacturers should love to see that there is a scene that preserves this work in the emulated sphere. Let's hope that emulation gets more acknowledgement from manufacturers and other rightholders for these incredible efforts.
- You might want to look for the following MAME Extras, which can be displayed in the relevant QMC2 tabs (Screenshots, Titles, Cabinet photos, Marquee photos, PCB Board photos (very very nerdy :-)
- If you do not shy away from text editors (you shoudln't), I clearly recommend Attract Mode - see my recent post as frontend. If you are willing to spend some time, it's simply the best experience you can get right now.
I am writing this documentation from a non-coder perspective. If I should be on a wrong path in any case, please be so kind and post a note here.
As someone relatively new to Macs, what are your recommendations for the paths where each of these things are installed? In other words, how do you keep ROMs and applications organized? I have a NAS to keep all my ROMs, but what do I do when a new version of MAME or any of these components comes out? Do you run other emulators as well, like OpenEmu?
ReplyDeleteSpecific instructions on where to put things would be really helpful. Great job on your instructions so far!
Many thanks Simon. Folder structure is a very good question. This topic matters so mich because with every new MAME version, I think that it is mandatory to restart with a fresh directory structure. So the more you put into the MAME file structure, the more you need to move. With QMC2, I had much of the actual data outside of the MAME structure. Now with MEWUI, I become more and more centric with the data because you have least troubles, in particular with MESS, where I am still relatively new. My current setip is: Install MAME whereever you like and rename the main folder to mame. Then move all data into this directory. Advantage: It is like MAME is probably intnded to work, and with the renaming of the main dir into mame, all ini configurations continue to work. Disadvantage: Much work when moving to a new MAME version, and you must be sure not to migrate old stuff that replaces new stuff. That is probably the 'pure setup' and as soon as I am more sure about that, I will probably make a post on it. Cheers, Stefan
DeleteOn my late 2013 21.5-inch Mac (2.7 core i5), hlsl runs slower -- but only for the 4:3 games (i.e. Defender and Joust), and not for the 3:4 games (i.e. Donkey Kong and Pac-Man). Even if the games are running at close to normal speed, the sound stutters. But when I adjust the "view" in video options to "full" instead of "cropped," everything runs at normal speed. I'm assuming this is because the simulated monitor screen is smaller and therefore takes less effort to adjust. Yet I experience NO hlsl problems when running the vertical games -- in either cropped or full mode. The other effects don't cause a problem, either, and running it as metal or OPENSSL doesn't make a difference. It's only when I use hlsl. Is there an adjustment I need to make to one of the many hlsl options to make the horizontal games run at normal speed? Any suggestions/help is much appreciated!
ReplyDeleteHi, if you are talking about HLSL, I assume that you refer to the HLSL configuration within BGFX, right? This is a very interesting observation, which I have to check. And is it the most recent MAME that you are referring to? How is GLSL - i.e. OpenGL - working? Cheers, Stefan
DeletePS: Since BGFX is currently not entirely stable (according to MAME Devs), I currently run GLSL with the most recent shader as described here: https://mameonmacs.blogspot.co.at/2016/06/glsl-revisited-newer-crt-geom-shader.html Means that BGFX is right now a bit on the waiting list for me.
DeleteThanks for the reply. I am referring to the HLSL configuration within BGFX. Also, I'm running MAME .175 and QMC2SDLMAME .65. I haven't had any luck with GLSL thus far. BGFX -- at least to me -- seemed much easier to use and configure. But I should try GLSL again.
ReplyDeleteHey, look into my new performance test post, which somehow confirms that BGFX/HLSL is performing worse in horizontal games. You should really have a look into the CRT-GEOM shader for BGFX. It looks really nice, IMHO nicer than the default MAME shader in vertical games, and performs far better. Maybe you get rid of the performance problems. Setting up OpenGL shaders in QMC2 is not much of a difference, but again, be sure that you take the latest CRT-GEOM shader with halation. Both shaders look evenly terrific under OpenGL and BGFX. Good luck!
DeleteFirst of all, love the blog, finally a mac centric place. Anyhow I use Homebrew to install MAME. Have you tried it before?
ReplyDelete