Want to play retro arcade games on your fourth-generation Apple TV? Launch it on your Mac and you’ll be prompted to enter your Apple ID. Provenance will prompt you to add the device to. MAME OS X is a native Mac OS X port of the popular MAME emulator. It is designed to take advantage of all the latest Mac OS X technologies, like Core Video and Core Image. Download: MAMEOSX-0.135.dmg (universal binary, requires Mac OS X 10.4.x).
Every once in a while, we get a question about those old games that were once the bleeding edge of entertainment in arcades and bars. Invariably from someone who played them and misses them—not from the current generation of cell-phone gaming addicts.
But even if you’re the latter, you might want to see how your parents amused themselves in the days when Pong, Asteroids, and Galaxian were the height of gaming technology. You can easily do so right on your PC. Adventurous programmers have long sharpened their skills by writing emulators for a vast array of computers, game machines, and gaming consoles. For the last decade or so, however, the big project has been MAME.
Note: While this article touts MAME's arcade and console emulation, it’s also intended to emulate just about anything that’s ever computed: various computers, calculators, and even chess machines.
[Have a tech question? Send your query to [email protected].]
Put the blame on MAME
For emulating arcade games, there’s nothing remotely as competent as MAME, or the Multiple Arcade Machine Emulator. The program supports literally thousands of arcade and gaming console titles by emulating their hardware and loading their ROMs (Read-Only Memory). These are now actually files that contain dumps of the code or data in the chip/chips from the original console or cartridge.
Yes, software once came hard-coded in chips and in the form of a cartridge. Can you imagine that happening in this day and age of release-it-before-it’s-ready, user-tested software? Believe it or not, a bug in your code used to be a mark of shame.
MAME is available from the MAME Development Team's website. At the time of this writing, the latest version was beta 0.184, but don’t let the not-finished status throw you off—this is a project that’s likely to be in beta forever. Emulating everything that’s ever existed in the gaming world, from Pong, to the Atari 2600, to the Amiga and beyond, is a daunting task.
MAME has its own rather primitive GUI that appears if you run it on its own, but there are more pleasant-looking and easier-to-use front-ends. I opt for QMC2 because it’s cross-platform (like MAME: Windows, OS X, Linux), updated regularly (the MAME catalog and ROMs change frequently), and easy on the eye. Initially, you must point the QMC2 to the MAME directory and its subdirectories, but that’s a relatively simple task.
Probably the trickiest part of the whole deal is finding the games. MAME doesn’t provide them because they don’t have legal access to most of them, and the developers are more concerned with providing the means. But if you search the Web, you’ll find sites dedicated to providing MAME ROM files, as well as ROM files for other emulators.
When you find the ROM files, they’ll most likely be ZIP archives. Don’t unzip them, just save them in the MAMEROMS directory. MAME can read the archives, and it’s a nice way to hide what can be a confusing array of files (some games used multiple chips), and keep things neatly organized.
You’ll see a vast list of games when you run MAME, which represents all those supported or being developed by the project, but there should be an indication of which are actually in the ROMs directory. You can also search. Once you find the game, simply double-click on it, hit the spacebar to scoot past the game info, and you’ll be good to go. As far as keyboard commands go: 5-9 insert coins, 1-4 start the game, arrow keys move, and the left Control and Alt keys do things like fire cannons and invoke hyper-drive.
Lawyer bait
As I mentioned, there is a bit of a legal issue involved here. Unless you own the game and any firmware and software required, you’re breaking copyright rules. Does anyone care? Unless you’re making money off of it, probably not. The whole idea behind MAME is to save an important part of computer history, and it’s doing that quite nicely. If left up to the original developers and copyright holders, it’s highly doubtful many would survive. But you’ve been warned.
Regardless, MAME allows you to relive the days when arcade games were simple, graphically challenged (we didn’t think so at the time), and readily recognizable for what they were—a fun way to waste time and quarters.
To comment on this article and other PCWorld content, visit our Facebook page or our Twitter feed.
Mac OS X isn’t the hotbed of gaming and emulator action many of us wish it was, but the hardware inside your iMac or MacBook is more than capable of running classic coin-op games. It’s not necessarily an easy process, in fact it’s rather fiddly to tell the truth, but with the right software and some patience you can enjoy the classics on OS XHow To Play PlayStation 2 (PS2) Games On Your Mac With PCSX2How To Play PlayStation 2 (PS2) Games On Your Mac With PCSX2A few years ago Simon took a look at PCSX2, a PlayStation 2 emulator for Windows and Linux. Thanks to a couple of years advancement in hardware and a Mac port, your modern day Apple...Read More.
You can even bring your gamepad or joystick alongTurn Your iPhone Into A Gamepad With Joypad Legacy [Mac & Windows]Turn Your iPhone Into A Gamepad With Joypad Legacy [Mac & Windows]Recently I have been away from home, with only work, an iPhone and a MacBook Pro to entertain me. While searching for a way to play a few multiplayer games I hit a snag -...Read More for the ride too!
Download & Install Everything
This shouldn’t come as a surprise to you, but your Mac needs a few extra bits of software in order to play classic arcade games. The software we’ll be primarily focusing on here is MAME (Multiple Arcade Machine Emulator), but the technique works for MESS (Multiple Emulator Super System) and UME (Universal Machine Emulator) too.
MAME is software without an interface, so in order to use MAME comfortably in a way that doesn’t require you type lines of code into Terminal you’ll need to get a front-end. After an exhaustive look at what’s on offer, I’ve decided that QMC2 is one of the best front ends available (it works for a starter, which is more than can be said for many others I tried). It’s not perfect (as you’ll discover) but it does work, albeit with little grace and some stop-start action.
We’ll be using a variant of MAME called SDLMAME which uses a framework called Simple DirectMedia Layer. For this reason in order to use SDLMAME, you’ll first need to install SDL. QMC2 only requires you install version 1.21 which you can find and download here. For modern Mac OS X (think 10.5 or later), you’ll only want the runtime libraries in a file called SDL-1.2.15.dmg.
Once you’ve downloaded the runtime, open Finder, navigate to Library > Frameworks and drag the SDL.Framework folder into your Mac’s Frameworks folder. You’ll know you’ve done it right when OS X asks you to authenticate the transfer by inputting your password.
Next, head over to the SDLMAME homepage and download a version that’s relevant to your Mac (if it’s a relatively new Mac built in the last few years, it’ll be a 64bit download you need). If you want, grab SDLMESS while you’re there for additional emulator support should you want it. Finally you can head to the QMC2 download page and download the Mac OS X binary for Intel machines.
The download weighs in at around 100MB, and once complete you can launch and mount the .DMG and run QMC2.mkpg which will install the front-end to your Mac’s applications folder. In total this will take around 300MB of space, and once complete you will find several applications under “QMC2” in your Mac’s Applications folder. Now might be a good time to extract that version of SDLMAME (and SDLMESS, if using) you downloaded and place it in the same folder as QMC2, for ease.
Setup, Preferences & ROMs
To begin setting up MAME, run the qmc2-sdlmame.app application in your QMC2 folder. You will see a screen like the one below, asking you for a few credentials. The only things you need to enter here are the path to the SDLMAME executable you downloaded earlier (which is why putting it in your QMC2 folder is so useful) and a path to your ROMs.
A word about ROMs: Aside from the obvious “no I won’t tell you where to get them, don’t you know piracy is illegal?” spiel, you should know that all your ROMs need to be in the same folder. After scratching my head for 15 minutes I realised that QMC2 couldn’t see ROMs that aren’t in one single “flat” folder.
Once you’ve added this information hit OK and the front-end will launch. Marvel at its odd ellipses and higgledy-piggledy elements! You might need to make the window larger to read much of the text, at least that was the case when I first launched it. To the left you will see a list of games that you (probably) don’t yet have, so you’ll need to use Tools > Check ROMs to scan the folder you assigned earlier.
One additional step you might want to take is to turn off the catalogue entries that you don’t have, which QMC2 bizarrely doesn’t do by default. Once you’ve scanned for ROMs (and only once this process has finished) head to Tools > Options > Front End > Game List and under ROM State Filter deselect the grey and blue dots.
This will hide unknown or missing ROMs from your collection, leaving only green, yellow and red ticks to denote present or incomplete ROM sets. It’s also recommended that you turn off the Show Device Sets option, which will then hide non-playable ROMs too.
If you’d like to use MESS to emulate home consoles and portables, simply follow these instructions except run the qmc2-sdlmess.app application and select the MESS executable and ROM path when prompted.
Things I Have Noticed
I’ve noticed a few quirks to SDLMAME and QMC2, and spent quite a while trying to work out where I was going wrong with certain elements. One thing’s for sure – this is not particularly stable or intuitive software to use. Things went wrong all the time while I was working much of this out.
I couldn’t find a field for changing the ROM path, so if you happen to choose the wrong ROM path then it presents a bit of a problem. The only workaround I could find was to go to Tools > Options > Emulator > Files/Directories and click the Default button at the bottom to reset all paths. This will break the emulator and its front end, requiring a restart when you’ll be asked to specify ROM and SDLMAME locations again.
Full screen display mode was not working as intended on my Retina MacBook ProIs The New Retina MacBook Pro For You? [Opinion]Is The New Retina MacBook Pro For You? [Opinion]When Apple announced the MacBook Pro with Retina display a few weeks ago, I was pretty sure it would end up being my next laptop. I’ve waited a long time to upgrade and after being...Read More, cutting off half of the screen. As much as I played around, I couldn’t get full screen working and so I found a solution in disabling the fullscreen variable and enabling the windowed variable under Tools > Options > Emulator > Global configuration > Video. I’m still not sure if this has anything to do with the Retina display, but this made the games playable.
Most games require you insert coin using the 5 key (for player 1) or 6 key (for player 2). You can then press 1 to start player 1, 2 to start player 2 and so on. MAME itself uses a menu system which can be toggled using the Tab key, use the arrow keys and Enter/Esc to navigate.
Joysticks are supported, but remapping can be hit and miss. I’d recommend a Logitech Dual Action gamepad (which works great with a Mac), but I also had joy getting an old Microsoft SideWinder joystick working too. You can configure this under Tools > Options > Front End > Enable Joystick Control.
Worth It?
Following these instructions, with the right amount of time and effort and (quite possibly above all else) a decent ROM collection, you should be able to comfortably play games using your Mac. I don’t think I’d recommend it as an arcade build – there are better Windows solutions, and even Linux has a few purpose-built tools for the job – but it definitely works.
Let us know if you’ve found any better solutions for playing classic coin-op arcade games on your Mac. Is QMC2 the best front-end?
Image credit: Day 007/365 – Mike vs. Mario (Great Beyond)
Explore more about: Emulation, Mac Game.
- Using this guide got me setup in no time - thanks!
- This is the most confused way to use your Mac as an arcade / video game emulator.Beware of this guy's route to play ROMS..it's way easier than this if you know what you are doing.
- A few of my ROMs are not working... says stop code=2 and missing files... so what could I be missing??
- MAME OS X.app? Just download and play, seems easier...
- Hi,I'm the author of QMC2 :). Just came here 'accidentally' and would like to add a few comments / answers:- QMC2 uses Qt and Qt applications are known to not look like native Mac OS X apps usually do. This may change when Qt 5.3+ comes out, but we'll see...
- The 'rompath' is set in the emulator's configuration, yes. That's because it *IS* an emulator setting :).
- QMC2 also has a MESS variant (qmc2-sdlmess), and MESS emulates consoles like for example the Dreamcast (don't expect the specific driver to function too well, though, its current status is marked 'preliminary').
- A lot of stuff has been documented in our wiki (but it's an ongoing work-in-progress and not completely finished yet): http://wiki.batcom-it.net/index.php?title=The_%27ultimate%27_guide_to_QMC2
- Our support forum is here: http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=12&page=1Have, fun, René- Hello and thanks for your help developing this. When I follow this tutorial and try to open the qmc2 folder i can't because it says i dont have permissions. Would you assist in this part? Thanks!
- Installed SDLMAME on MacOS X 10.9 as such:
- install SDL framework v1.2 (http://www.libsdl.org/download-1.2.php)
- install SDLMAME (64 bit) (http://sdlmame.lngn.net/)
- Create script so I can double click MAME to get started (I'm not using any GUI frontends).Script:
#!/bin/sh
cd '$(dirname '$0')'
./mame64 -skip_gameinfoIf you're looking for a massive ROMs archive, see Archive.org ...(https://archive.org/details/MAME_0.151_ROMs - 46 Gb!!)See also: http://www.tweaking4all.com/software/games/macos-x-run-mame-mavericks-10-9/? - After MacMame went outta updates, Mame started to decline for me. It was all this SDL crap after Mac Os X Mame went outta updates, but MacMame was much better...I miss it.
- so true...
- Also I want to know is: can it run dreamcast games?
- No, it does not. Only arcade games (and Neogeo which has an arcade version).
- I think the reason it's so tough to run MAME is the fact that this article is so terribly written! It's unclear and misleading. Fail.
- Because reading is hard!
- How so? Aside from a broken link (the SDLMAME homepage appears to now be hoted elsewhere, fixed) I think I covered everything you need to know, in order.The reason it's so fiddly is because OS X isn't a popular platform for playing games, so we have to make do with Windows ports and often abandoned software.If it's a bit much, then consider an old Windows PC or even Linux – many games are old enough to happily run on older hardware which won't cost you much at all. The process for getting MAME and MESS up and running shouldn't be quite so involving.
- I wasn't meaning to sound rude, I was just frustrated with the instructions. It's been a while so I can't remember exactly but if I recall correctly, the process doesn't work as you describe it in the article. I believe it had something to do with links not working, apps not functioning as described, or the command line stuff failing.
- I usually play in my browser on Game Oldies (http://game-oldies.com) which is fairly easier. Ok, I'm lazy :) But it works great on my Mac.
- Why not just use MameOSX (http://mameosx.sourceforge.net/)
Or OpenEmu?- OpenEmu is still very much alpha, isn't it? Last time I tried a few months, it involved compiling from source, and didnt work.
- It's not finished, but it works OK. I managed to compile it (and I have 0 programming experience). It looks very neat.The other option MameOSX works perfectly and needs zero configuration.