A Guide to MacMAME

Ported in alphabetical order by:

John Butler (jcbutler@pobox.com)
Aaron Giles (agiles@pobox.com)
Brad Oliver (bradman@pobox.com)

Table of Contents:

I. Introduction
II. Quick Start
III. General Usage
IV. Frequently Asked Questions

I. Introduction

Many people ask what MacMAME is and how it works. Put simply, it's an emulator whose sole purpose is to emulate the inner workings of arcade game machines. It does this by fooling the original program code, contained in ROM chips, into thinking they are running inside the real machine when in reality they are running on your Mac.

MAME, which stands for Multi-Arcade Machine Emulator, is the product of a group of people who have teamed up to emulate as many of these games as possible. It is an open project with full source code available. This is done in hopes that years down the road, whatever computer you have, you will still be able to find or create a copy of MAME to run on it so that these classic games live on forever.

It is a constantly evolving program and things are frequently added and changed, so keep watching for new releases.

II. Quick Start

This section describes how to get going in MacMAME as quickly as possible. If you encounter trouble, I recommend you read through Section III, "General Usage" to see what all the options are for.

* Download MacMAME from the homepage at http://www.macmame.org.

* Unstuff it with Stuffit Expander if your web browser didn't do that for you. You can get Stuffit from http://www.aladdinsys.com

* Find ROM files to use with MacMAME. You can access them via ftp or also via Hotline by connecting to hotline.boffomac.com and looking in Software->Emulation->MacMAME->ROMs.

* Most ROMs you find are stored in .zip format - do NOT unzip them. Place these .zip files into the "Roms" directory that was created when you unstuffed MacMAME.

* Double-click on the MacMAME program icon. Any ROMs you downloaded will appear in the dialog box. Select one and click on play - you're ready to go!

* Once you click on Play, you'll be presented with a screen telling you who worked on emulating that game. Press any key to jump to the game.

* Some games will now start a self-test and display junk on the screen. This is normal and is what you would see if you were to power on these machines in the arcade first thing in the morning. Wait for these tests to finish.

* You're now in the arcade, ready to pump quarters into the game. Hit TAB to go to the Keyboard Setup menu and press return. Here you can see and configure the keys for each game. Hit ESC to return to the game screen and start playing!

III. General Usage

This section presents an in-depth look at the options and features in MacMAME and how they affect what you see on the screen.

Assuming you've got OS 8 and/or the Appearance Manager, you'll be presented with the front end dialog, which looks like this:

If you are using System 7, or an early version of OS 8, you should download the Appearance Manager 1.0.2. Not only will it work on your machine, but you'll get the full power of the new front-end.

On the left is the list of games MacMAME found in the ROMs folder which it supports. Non supported games or those with incorrect filenames are removed. The correct filenames are listed in the "readme.txt" file that is in the Documentation folder.

Most of the options listed below have equivalents in the menu bars, so I won't cover the menu options here.

A. Video

On the right are 4 tabbed panes, the first of which is labelled "Video". Let's look at the options.

Full Screen: This checkbox determines if MacMAME will run in a window or hide the desktop and menubar. It's purely cosmetic, but I find that Full Screen mode is less distracting and more immersive.

Enable Auto-frameskipping: You can get the best performance out of some games by letting MacMAME take care of increasing or decreasing the frame skip settings to keep pace with the emulation. This options will adjust the frameskip (up to 5) to keep the emulation running as close to 100% as possible.

Display sizes:
Actual size: This means that every pixel in the game is one pixel on the Mac screen. Quite a lot of games only had resolutions of 256x256, which is quite small by today's standards. Because the screen size is smaller, this mode can be fast.
Double size: For every pixel in the original, 4 are drawn on the Mac screen to effectively double the screen size. This mode works nicely on today's 640x480 and especially 800x600 screens.
Double size, Scanlines: Every other vertical line is skipped, giving the impression of "scanlines" that were present in the original machines low-quality TV-like monitors. Less data is pumped to the screen, so this mode is slightly faster than plain Double-size.
Triple Size: The image is triple the size of the default.
Triple Size, Scanlines: The image is triple the size of the default. Every third row is skipped, fiving the impression of a thin scanline. If you have a large monitor or can support very high resolutions (1024x768 or higher), this option will give the best-looking and most realistic video at the expense of some speed.

Note: Although you can specify sizes larger than 1x1 in the front-end, MacMAME will drop them back down to Actual Size if the game window is too large for your screen. That is, if you are running a game with a 256x256 screen, it will double to 512x512. If your Mac screen is set to 640x480, this obviously will chop off lines on the top and bottom. You can force it back to a double size by hitting the appropriate menu-bar shortcuts - Command-2, Command-3, Command-4 or Command-5 during gameplay.

Standard Rotation: This checkbox tells MacMAME that you want the image on the screen to always be rotated so that the top of the game screen is at the top of the Mac screen. Seems like a no-brainer, right? Keep reading...

If you uncheck Standard Rotation, you have the ability to adjust the game window in a variety of manners. This is primarily useful if you'd like to squeeze more of the game on the screen by turning your monitor sideways and playing the game that way. It's also useful if you run MacMAME from within a real arcade cabinet hooked to a monitor and you've got an obscure set-up.

Rotate left/Rotate right: Does what it says. The game image is rotated 90 degrees left or right.

Flip x-axis/Flip y-axis: The game image is mirrored along one of these 2 axes.

No rotation: The game image appears exactly as it does in the arcade. Some games are "vertical" games, like Pac-Man, and were originally played on monitors turned on their side. By playing the game like this, turning your monitor on it's side and playing with double-size & scanlines, you will have authentic vertical scanlines. Neat, eh?

Vector options: These are only enabled if a vector game is selected in the list.

Flicker: Controls the amount of 'flicker' visible in the vector lines. Crank it up for a more authentic experience, at the cost of some speed.

Beam width: Think the vector lines are too skinny? You can adjust them here so they are nice and fat.

Anti-aliasing: This option smooths out the vector lines, resulting in a more accurate emulation of the original vector monitors. The cost is speed. Turn this off to get more oomph out of the vector games.

B. Audio

The second tab is labelled Audio. Here's a breakdown of the options present.

Sound: Checking this box tells MacMAME to emulate the sound chips and audio CPUs in some games. Most of the time, you'll want to leave this checked. Some games will run a lot faster if this is unchecked, particularly those with a special 2nd CPU dedicated entirely for sound. For example, play Donkey Kong with this checked and unchecked and you'll notice the top speed is much higher when it's not emulating the audio CPU. The downside is that some games require the audio to work properly. Experiment with this if speed is an issue for you.

Emulate FM: Checking this box tells MacMAME to emulate specialized FM sound generation chips. These chips produce advanced sound effects for some games, but they can be quite CPU intensive. If you're having speed problems with some games, you might want to uncheck this to see if it helps. For example, Rastan uses FM sound for it's music. Turning it off will speed it up.

Use 16-bit audio: 16-bit audio produces better-quality sound, but at the cost of speed.

Sample rate: You have a choice of 3 sample rates, from decreasing to increasing quality: 11025 Hz, 22050 Hz and 44100 Hz. Like 16-bit audio, the tradeoff is accuracy vs. Speed. Pick the one that works best for you.

Volume: The slider represents the volume used by MacMAME. This is completely independent from your Mac's system volume so keep that in mind. Changing the system volume won't affect MacMAME and vice versa.

C. Game

The third panel, labelled "Game", allows control over some of the gameplay features in MacMAME.

Ignore other applications: You'll want to keep this option checked in most cases. It allows MacMAME to steal as much time as possible to run as fast as it can. As a result, if you're running in a window, you'll notice the clock in the menubar doesn't update while you're playing a game with this option checked. MacMAME can only steal so much though, so if you're connected to a network or the internet while it's playing, it will run slower than if you are disconnected. This option is also called "Hog CPU" in the Options menu.

Speed Throttle: When checked, MacMAME holds the game speed to 100%. Unchecking this will allow some games to run faster, depending on the speed of your Mac. It's quite a trip to play Pac-Man at 300%. You'll want to keep this checked unless you're bragging to PC users about the speed of your Mac :)

Load/Save Replay: MacMAME supports creating "replay" files which are essentially recordings of your keystrokes as you are playing a game. You can use the replay options to record a high-score-breaking session of Warp Warp, then send this recording to your friends to show them what a stud you are. Of course, it's hard to look like a stud when playing Warp Warp.

Save list of All Games/Samples/ROMs/Info: These are merely informative lists that MacMAME can generate to tell you more about which games and sounds it supports.

D. Info

The fourth tab, labelled "Info" gives you information about MacMAME.

Generate debug log: You'll want to leave this unchecked, unless you a) want to fill up your hard drive with a file called error.log or b) are perversely curious about the internal workings of the emulation. This is primarily of use to those writing new drivers for MacMAME.

Audit ROMs: Tells you how your ROM sets stack up. If any are missing or invalid, you'll know about it.

Audit Samples: Same as above, only with the sound sample files.

Screenshots: The big empty box is where MacMAME will load a screenshot of the game you have selected in the front-end. For MacMAME to find the screenshot, it must be in a subfolder called "Screenshots" and it must have a name which matches the 8-letter ROM set. For example, if you want to see a screenshot of "Donkey Kong", you must have a file called "dkong.pic", "dkong.jpg" or "dkong.gif" in the Screenshots folder. Note that to view .jpg and .gif files, you need to have QuickTime 3.0 or higher installed.
E. The Game List

The game list on the left represents all the ROMs that MacMAME recognizes in the "Roms" folder. Basically, there are 3 ways these ROMs can be stored.

1. The .zip file. This type has a ".zip" extension on the name. It is the preferred format to use, not only because it's much smaller than the others, but it helps speed up loading of the front-end. Ask for it by name.

2. The "Super ROM" file. This is a file which has a grey icon with a black chip on it. It is the older format which combines all the multiple roms for a game into one Mac-like file which can be double-clicked from the Finder to start MacMAME. Using these files slows down the front-end, so they are now discouraged.

3. The "folder". This is a folder whose name matches one of those listed in the "readme.txt" file. You will get these if you unzip any of the ROM sets on the 'net. Save yourself some hard drive space and leave them zipped.

Additionally, you can group the ROM files within the "Roms" folder into subfolders. For example, if you want, you can group all the Pac-Man clones into a sub-folder called "Pac Junk". Better yet, you can force MacMAME to keep this folder closed in the front-end by adding a dash ("-") to the end of the name, so that "Pac-Junk-" will always appear closed and you won't have to look at the ROMs inside. Double-clicking on a folder in the front-end will open and close it, so that you can see or hide the ROMs inside. These sub-folders have an arrow in the icon telling you if they are opened or closed.

F. Keys

Here's a quick breakdown of the keys:

3 - insert a Quarter
1 & 2 - 1 and 2 player start
ESC - Pause
TAB - access configuration menu, ESC to return to the game
F3 - reset the emulated machine
F4 - show the charsets. Use the arrows to navigate through the various combinations, ESC to return to the game
F7 - if cheats were enabled in the front-end, this allows you to toggle them on and off
F8 - cycle through frameskip options
F9 - cycle through the volume levels
F10 - toggle speed throttling
F11 - toggle FPS
F12 - save a screenshot

The keys may be configured for each game. Press TAB to get to the configuration menu to change the key settings and also view the key settings for each game. Most games use the arrows to move and control, option and space to fire.

G. Misc

There are a few other features which need to be documented.

Preferences. MacMAME will look first in the same folder as the application for a file called "MacMAME Prefs" and use this file. If it's not found, it looks in the Preferences folder. This is useful mainly if you keep multiple versions of MacMAME around and don't want your prefs to get out-of-sync.

High Scores and Dipswitches. The high scores are stored in a folder called "Scores" while the Dipswitches are stored in a folder called "Config". Both of these are located in the same folder as the MacMAME program. If you were using an older version of MacMAME and have your files in a folder called "Settings", MacMAME will look there first and migrate these old settings into their new locations. This was changed so that scores and dipswitch files can be exchanged with PC users with little hassle.

Sound Samples. Some games don't emulate all the sounds, rather they play sample sound files. In these cases, the sounds are placed in a folder called "Sound Samples" which is found in the same folder as the MacMAME application. Like the ROM files, they can be .zip files or folders. There is no equivalent to the "Super ROM" format for samples. Also, the .zip and folder names must match those of the ROMs. For example, the Asteroids samples must be named "asteroid.zip" just like the ROM file.

IV. Frequently Asked Questions

This section attempts to answer some of the most common questions about MacMAME.

Q. Can I make it run faster?
A. There are a few things you can do to speed it up. Try the following.

* Make sure you check "Full Screen" in the video tab.
* Make sure "Ignore other applications" is checked in the "Game" tab.
* Turn off Appletalk and disconnect from the internet.
* Make sure "Generate debug log" is unchecked in the "Info" tab.
* Increase the frameskip to 1, 2 or 3 (via the Options menu)
* Run the game in actual size
* Turn the sound quality down to 11025 Hz
* Disable FM sound
* Disable sound
* Uncheck "anti-alias vectors" for the vector games
* Switch your screen resolution to 800x600 or higher so the entire game fits on the screen

Q: Why doesn't it work?
A: You'd be surprised how often I see this with no explanation of what the problem is. Obviously, we can't begin to help you if you don't go into more detail. Please, if you're going to ask this question, try to provide us with as much detail as possible on where it stops working for you.

Q: All I see are a list of "names" or "credits" when I start MAME. What's next?
A: You have managed to successfully start MAME. Press the space bar to skip past the ROM warning and credit screens.

Q: How do I start the games? All I see are 'demos'.
A: You have managed to start the game successfully. Remember, MAME is a reproduction of an actual arcade machine. You need to insert a "virtual quarter" to start a game. Do this by pressing "3". This is covered in the file readme.txt. Don't forget to press "1" to start a 1-player game. You'll want to hit "TAB" while in the game to view the keyboard and joystick settings.

Q: When I start a game, it says that the file "xxx" could not be opened! What's wrong?
A: MacMAME is looking for a specific ROM file for that game but it did not find it. Look around on the net for arcade game ROM archives and you're sure to find the proper files. Some games are harder to find than others though.

Q: I downloaded ROMs for "xxx" but it doesn't show up in the list. What's wrong?
A: Check the file "readme.txt" to see if that game is actually supported. MacMAME won't work with every arcade game - it needs to be written to specifically support games. It's also conceivable you've downloaded a set which is named improperly. Try looking around and you'll find a decent set somewhere.

Q: MacMAME says game "xxx" is not supported, but it used to work! What happened?
A: MacMAME needs to know the driver name for each game. It looks for this information either in the ROM file made by MAME Converter or it uses the folder name of the ROM set in the ROMs folder. Most likely, the ROM driver name was changed for the current release so the old name is no longer recognized. The solution is to rename the folder of ROMs and create a new ROM file with MAME Converter - you can find a listing of the driver names in the file "readme.txt" in the Documentation folder.

Q: How do I get the sound samples to work?
A: Download the sound samples from the internet and place the .zip file in the Sound Samples folder. This new zip file must match the "driver" name for the game you are playing or MacMAME won't be able to find them. The "driver" names are listed in the file "readme.txt" in the Documentation folder.

Q: I've downloaded the sound samples, renamed the file properly, but still no sound! What is wrong?
A: MacMAME doesn't support sound samples for every game - check "readme.txt" to see which games use sound samples and which don't.

Q: Where is the music in Bubble Bobble and some others?
A: Not here yet. Maybe in a future version of MacMAME. The YM-3812 sound chip isn't emulated on the Mac yet. The PC version leeches off the Soundblaster card, which uses nearly the same chip. Cheaters.

Q: Where can I talk about MAME on the internet?
A: If you use IRC, there is a MAME channel at #mamegames. Look for Brad as "hoserama". If Usenet news is your thing, try comp.emulators.misc or alt.emulators.classic-arcade. Additionally, there's a nice, web-based message board dedicated to MAME at http://www.davesclassics.com

Q: What happened to support for non-PowerMacs?
A: It was dropped because it was getting harder to maintain the code to handle it. Now that it's gone, several PowerPC-specific speedups have been implemented to take full advantage of the chip's speed.

Q: Is this emulator legal?
A: In a nutshell, yes. MacMAME achieves it's emulation via a black-box method of reverse engineering how the original games worked. The ROMs themselves are still the intellectual property of the copyright holders though, which is why they must not be distributed with MacMAME. Needless to say, MacMAME is worthless without these ROMs.

Q: What are these 'replay' files?
A: The replay files allow MAME to record your keystrokes to be played back by someone else so that they may watch your game, see you get a high score, do a neat trick, etc. Chris Moore maintains a repository of these files. Note that they're not guaranteed to work with versions of MAME other than the one they are created on, although they often do.

Q: Why don't the bullets in Asteroids "glow"?
A: Good question. This is related to the inherent differences between a raster monitor (what you're looking at) and a vector monitor (what Asteroids used). In a nutshell, vector monitors allow for much brighter and focused light beams than can be reproduced on a raster screen. Best workaround is to crank up your brightness and gamma and adjust your contrast. Don't write to us if you burn-in your monitor though :)

Q: Did you know that "Game X" crashes when you do "Y"?
A: Most likely. Check the file "readme.txt" that comes with MAME. It breaks down all the games and lists any bugs we are aware of. Please make sure you check this before mailing in your complaint. Common complaints that are addressed in the readme include the mysterious lockup in Discs of Tron when you reach the moving platform level.

Q: Will you emulate "Game X"?
A: Maybe. First, the ROMs must be available. **PLEASE ask before sending us ROMS!** Quite often, they are widely available and we already have them. Several popular games aren't emulated yet for whatever the reason but we are aware of the demand. Pole Position, Turbo and others are often requested. They will be done as we are able. Often, a game is not emulated because it uses unusual hardware (the Z8002 CPU in Pole Position) or is encrypted (Turbo), or features piracy-prevention hardware which of course makes it more challenging.

Last modified on October 8, 1998.