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.