Using MacMAME

This part of the MacMAME Users Guide explains the options in the MacMAME application.

Contents

  1. Warning dialog
  2. Info tab
  3. Video tab
  4. Audio tab
  5. Reports tab
  6. Misc tab
  7. Keys and controls
  8. In-game menus
  9. Files

Warning dialog

When you launch MacMAME, a warning dialog will appear.

Pay attention to it. Don't put MacMAME and some games together into an archive on your web site. Don't sell CD's with MacMAME and some games together on them. Don't distribute MacMAME together with rom images in any way.

MacMAME itself is completely legal. Possessing copyrighted arcade rom images isn't legal, unless you own the actual rom chips. Don't break the law.

If you check the "Don't warn me again" checkbox before you click OK, this warning will not appear the next time you start MacMAME.


Info tab

After you click OK, you'll be presented with the main window. (If you haven't put any games into the ROMs folder, the game list will be empty.)

Info Tab

Game list

On the left is the list of games which MacMAME found in its ROMs folder (see Files below). If the icon by a game has a red 'X' through it, then that game is known to not work properly in the version of MacMAME you're using.

Above the game list is a 'Group by' pulldown menu. It defaults to 'Group by folder'. If you put games into subfolders under the ROMs folder (like, if you put all your Pac-Man games into a folder named 'Pacman Stuff'), then they will be grouped by folder in the game list. Double-click a folder in the game list to show or hide its contents.

The other 'group by' items on that pulldown menu correspond to any category files you have in your Categories folder. For information about category files, see Files below.

If you select 'Hide clones' from the pulldown menu, then only parent romsets will be shown. (See About Roms for an explanation of parents and clones.) If you select 'Show virtual clones', then the clones for a parent will be shown even if you don't have zipfiles for the clones. This is useful if you have merged romsets, where all the clone rom files are in the parent's zip file.

Game info

The right side of the MacMAME window will show information about a selected game. You can choose which information is shown by using the pulldown menu, or by pressing the right and left arrow keys.

Options button

The 'Options...' button brings up a dialog with some settings for MacMAME.

Click 'Quit' to exit MacMAME, or click 'Play' to begin emulation of a game you've selected. (Remember that 'Play' only begins the emulation and starts the game's attract mode. You will have to press '5' to insert a coin then '1' to start a game before you can actually begin playing.)


Video tab

The Video tab lets you control how games will look.

The first pulldown menu sets the video size of games. (This setting is ignored if you are using OpenGL mode, which shows games as large as they can be on your display. OpenGL mode is preferable unless you're on an old Mac which can't handle it. See 'Options button' under the 'Info tab' section above for information about OpenGL mode.)

You can change video sizes while you're playing a game. Command-1, Command-2, and Command-3 will set Actual, Double, and Triple size. Command-Option-2 and Command-Option-3 will add scanlines to Double and Triple size. Or, press Esc to pause the game and show the menu bar, and select a size from the Video menu (then press Esc again to un-pause the game).

Full Screen: With this checkmarked, the desktop and the menu bar will be hidden while you play a game. Uncheck this to play the game in a window, with your desktop, menu bar, and other windows visible.

Rotation: 'Standard Rotation' displays a game right-side-up. If you uncheck that, you can checkmark 'Rotate left' or 'Rotate right' to turn the game sideways, and 'Flip x-axis' to mirror it horizontally, and 'Flip y-axis' to mirror it vertically. 'Ignore game's default rotation' will display the game as if it's on a standard TV set that's wider than it is tall (for example, the display in a Pac-Man arcade cabinet is basically a TV that's turned sideways); this can be useful if you're using MacMAME in a custom arcade cabinet setup.

Vector options: These control the appearance of vector (line-based) games, such as Tempest, Asteroids, Battle Zone, and Star Castle. These settings can only be changed if you have selected a vector game in the game list, but the settings apply to all vector games (they can't be changed independently for each seperate vector game).

Use all extra artwork: Checkmark this to have MacMAME display a game's backdrop (like the rocks painting in Asteroids Deluxe), overlay (colored cellophane over a black-and-white game image, like in Star Castle or Battle Zone), and bezel (pictures and instructions as a border around the game's video) artwork, if available. (See Files below for help finding artwork to download.) You can also uncheck 'Use all extra artwork' and check the boxes below it individually. Note that enabling artwork may slow down games.


Audio tab

The Audio tab controls the audio settings in MacMAME.

Enable Sound: Uncheck this to make MacMAME skip its audio emulation, which may make some games run faster on older Macs.

Sample rate: '44100 Hz' offers the best audio quality. If you are using a very old Mac and are having slowness issues, try setting this to '22050 Hz' or '11025 Hz'.

Volume: This slider sets the volume used by MacMAME.


Reports tab

These are informative lists which MacMAME can generate to tell you more about which games and sounds it can handle. A 'Save As' button in each report window lets you save the report to a text file.

Reports: This can give you a variety of reports about the games which this version of MacMAME can handle, what drivers they use, which are known to not work properly, and so forth.

Audit ROMs: This will check your collection of romsets against what MacMAME needs to have and will let you know if any roms are missing or invalid. If you're getting errors when you try to play a game, running a rom audit is a good way to see if your zipfiles contain the data that MacMAME needs. (Sometimes, a new version of MacMAME may have problems with zipfiles which worked fine in an earlier version of MacMAME. For example, a new version of MacMAME might add sound emulation for a game and will therefore need to have properly-dumped sound roms for it.)

Audit Samples: This will check to see whether you have a complete and correct set of audio sample files for games which need them.

Analyze Romsets: This will examine each rom in each zipfile in your Roms folder, and show you which are needed by the games and their clones.

Identify Romsets: Given an unidentified rom file, this will tell you what it is.


Misc tab

These are settings which didn't belong anywhere else.

Enable Automatic Frameskipping: If MacMAME runs slowly on your system, then checkmark this to let MacMAME automatically skip some frames of animation as necessary to try to keep up with the speed of a game.

Speed throttle: MacMAME uses this setting to limit the speed of a game to its proper arcade speed. If you uncheck this setting, games will run as fast as your Mac can run them, with no limit on their speed. (Games might be too fast to be playable with the throttle turned off.)

Allow cheats: This adds the Cheat option to the in-game menus (described below). If you have a cheat file, you'll be able to enable cheats.

Generate debug log: If a game isn't working properly and you want to gather specific information about it (such as, to provide to the developers), checkmark this setting before you run a game, and remember to uncheck it afterwards. This will create a file named 'error.log' with lots of information to help debug the problem. Note that this file could grow large and might use a lot of space on your hard disk, and MacMAME will run more slowly with the debug log setting turned on, so only use it when you need to gather information about a problem.

Don't display game info: Checking this checkbox suppresses the display of the game info screen when you start an emulation.

Don't display ROM disclaimer: Checking this checkbox suppresses the "if you are not legally entitled" warning when you start an emulation.

Load/Save replay: These buttons allow you to create and use "replay files", which are recordings of the control inputs you make while you're playing a game. Start recording a replay file, play a game and do something you'd like to show your friends (like getting a high score or entering a secret area), then send the file to your friends and they can see how you did it. To create a replay file:

  1. Click the 'Save replay...' button. Choose a filename and location for the replay file you're creating.
  2. Start playing a game as normal. The replay file will record everything you do from the moment that the emulation starts.
  3. When you're finished recording your replay, return to the MacMAME window and click 'Load replay...' then find the file you created. Start playing a game again, but this time don't touch any controls; watch the replay do everything you did when you recorded it.
  4. When you want to play on your own again, be sure to click the 'X' button to make MacMAME 'forget about' the relay you loaded.

Replay files are only useful for the game you created them with. Creating a replay file with one game and using it with a different game will have unpredictable results.

BIOS type: This menu is only enabled when you've selected a game which uses a separate BIOS file, such as a Neo-Geo game. It lets you select which BIOS (usually, a choice between several different region-specific ones) to use with the game.


In-game menus

While a game is running, you can press the Tab key on your keyboard to see additional options. The Input selections are the most useful; they allow you to configure the control inputs for a USB HID-compatible gamepad or other controller by telling MacMAME which inputs are up/down/left/right, which is Button 1, which is Button 2, and so forth.

Use the up and down arrow keys to move through the menus, the Return key to select an item, and the Esc key to move back up to the previous menu.

Input (general): This shows you the keyboard controls used by MacMAME. To change a control, use the arrows to move to it, then press Return, then press the new key you'd like to assign to the control. The key you chose will be added to the list of keys which operate this control. Any change made here will apply to all games.

Input (this game): Here you can see and change what keyboard controls are used by the particular game you're playing. This is a useful way to find out what controls are available to you, if you're trying a new game you're not familiar with. Any changes you make to these controls will be remembered next time you play this specific game, but they won't apply to any other games.

Dip Switches: Arcade games often had small switches inside which could be changed by the owner to set how many men you got each game, what score gave you a bonus man, how many plays you got for a quarter, and so on. You can change those settings with this option.

Bookkeeping Info: This shows how many times you've played this game. (Specifically, how many 'coins' you've put into it.)

Game Information: This provides some basic information about the game (its manufacturer and year, its display resolution, its processor and speed, and so forth).

Game History: If you have a history.dat file, this will show you the same game history that the 'Game History' pulldown menu in the main MacMAME window will show you.

Cheat: This will give you access to game cheats, if you have a cheat.dat file and you've checkmarked "Allow cheats" in the Misc section of the MacMAME window.

Reset Game: Starts the emulation over from the beginning, as if the game were unplugged and plugged back in again.

Return to Game: Leave the in-game menus. Pressing Esc has the same effect.


Keys and controls

Here's a list of the default keys. Some of these can be changed via the in-game menus. Others can are available through the MacMAME menubar (if you're playing in full-screen mode, then press Esc to pause the game to make the menubar appear), and the menu selections will show the key commands.

5, 6, 7, 8Insert coin (players 1, 2, 3, 4)
1, 2, 3, 4Start (players 1, 2, 3, 4)
Arrow keysMove
ControlButton 1
OptionButton 2
SpacebarButton 3
EscPause
Shift-EscWhen paused, step one frame forward (useful for getting to exactly the right place to take a screenshot)
Command-OReturn to the MacMAME window to select a different game to play
Command-QQuit MacMAME
F2Put the game into "service mode" (press F2 again to return to game mode)
F3Reset the game
F4Show graphics (use arrow keys to look through the game's graphics, F4 to return to the game)
F6If cheats are allowed, this key toggles them on and off
F7Load state
Shift-F7Save state
F8Cycle through frameskip options
F10Toggle speed throttling (you normally want to leave this on)
F11Toggle the frames-per-second display on and off (use option-F11 on Mac OS 10.3 to avoid triggering Exposé)
F12Save a screenshot (the image file is placed in the 'Screenshots' folder)
TabAccess MacMAME's configuration menu, where you can adjust key settings and dipswitches
` (backquote)Adjust volume, gamma, and other sliders (use up/down arrows to move to other sliders)
Command-1, -2, -3
Command-Option-2, -3
Change the video size and turn scanlines on (if you're using the Software renderer)
Command-OptionHold down these keys to temporarily throttle the game to maximum speed (useful for speeding through startup tests)

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.

See "Input (this game)" in the in-game menus to find out what controls a game uses.


Files

The ROM files, screenshots, config files, and other data which MacMAME uses are stored in the "MacMAME" directory, inside "Documents" in a user's home directory. For example, the ROM files are in "/Users/yourusername/Documents/MacMAME/ROMs". MacMAME will create these folders if they don't exist when you launch it.

If you have another user account on your Mac and you would like to allow that user to use the roms and other files in your MacMAME folder, make an alias of your MacMAME folder and place it in the other user's Documents folder.

The FolderFiller page is a good source for links to screenshows, sound files, category files, and other downloads to enhance your MacMAME experience. Here are some other links.

Roms: A few freely-licensed roms are available at "http://www.mame.net/downmisc.html". Others can be purchased from StarROMs at "http://www.starroms.com/".

Sound samples: MacMAME isn't yet capable of emulating the sound hardware on some games, so it plays recordings of the game sounds instead. These are called 'samples.' You can download sound samples from "http://www.mame.net/downsamples.html". Put the zipfiles into the Sound Samples folder in your MacMAME folder.

Category files: A category file groups how games appear in the MacMAME game list. It's a text file which begins with this line:

// MacMAME Category Sorting File -- this line must be the first line in the file

and continues with the short names of games, one per line. If a game's name is followed by more text, then MacMAME will list it into a folder with that name; otherwise it'll be listed in the last folder named before it. You can also add comments to the file by putting them on a line which begins with two forward-slashes. MacMAME comes with a Genre file in the Categories folder; open that in a text editor to see how it works. Additional grouping files can be downloaded from "http://www.vm68.com/categories/" and "http://www.catver.com/".

Artwork files: Screenshots, cabinet artwork, marquees, and other game artwork can be downloaded from many places online. See the Screenshot Library at "http://www.macmame.net/shotlib.html", and also the MacMAME Support Files and Utilities page at "http://www.macmame.net/links/support.html" for starters. Image files must have the abbreviated name of the game they belong to; that is, the screenshot for Donkey Kong ('dkong') must be named 'dkong.jpg' (or .png or .gif, depending on what kind of image file it is). Image files in any of these folders can be zipped together. For example, if the Screenshots folder contains a file named 'images.zip', then MacMAME will look inside it for screenshots.

Bezel, overlay, and backdrop artwork can be downloaded from "http://www.mame.net/downart.html". Put it into the Artwork folder.

History: The history.dat file, containing interesting trivia about games, can be downloaded from "http://www.arcade-history.com/history_database.php". The mameinfo.dat file, containing a list of known bugs and other issues, can be downloaded from "http://www.mameworld.net/mameinfo/". Put them into the Misc Support Files folder.

High scores: Older arcade games didn't save their high score data after they were unplugged, and they also don't remember the high scores after you quit MacMAME. To enable high score saving in older games, download the hiscore.date file from "http://www.mame.net/hiscore.html" and put it into your Misc Support Files folder.

Cheats: The cheat file can be downloaded from "http://cheat.retrogames.com/", and goes into the Misc Support Files folder. To use cheats, you also need to have "Allow cheats" checkmarked in the Misc section of the MacMAME window.

OpenGL overlays: These let you alter the display of a game played in OpenGL mode, adding scanlines or distorting colors so that the games look like they're being played on an authentic arcade display. To use OpenGL overlay files, create a folder named "OpenGL Overlays" in the MacMAME folder and put them in there. Select an overlay to use by clicking "Options..." in the MacMAME window, choosing the OpenGL renderer, then clicking "Configure..." and checkmarking "Arcade Mode" and choosing an overlay from the pulldown menu.

You can create your own overlay files. They can be in any format that QuickTime can read (such as jpeg, gif, png, or tiff) and their height and width must be powers of 2 (2, 4, 8, 16, 32, 64, 128, or 256 pixels tall and wide; the horizontal and vertical dimensions can be different; smaller files may give better performance). Overlays are tiled over the game image and filter each pixel of the image beneath; if a pixel in the game has red/green/blue values of 100% / 75% / 50% and the overlay pixel over it has values of 50% / 0% / 50%, you will see a pixel with values 50% / 0% / 25%. A white (100% / 100% / 100%) pixel in the overlay will not alter the colors beneath it at all. Overlays are applied after bilinear filtering, and they are not scaled, so their effect will depend on your screen resolution. Since they will reduce the overall brightness of the game image, they will make games appear somewhat darker. Remember that vector games (such as Tempest) do not have scanlines or pixelization, so OpenGL overlays may make them look less realistic.

Hard disk images: To use games which use CHDs (compressed hard disk images), put the .chd file into the Hard Disk Images folder, inside a subfolder with the same game name. For example, if you have area51.chd, go into Hard Disk Images and create a new folder named area51 and put the CHD file into the new folder. Don't forget to also put the game's rom zipfile into the ROMs folder. If you have CHD files which worked with older versions of MacMAME but do not work in the latest version, you may have to update them with chdman; a tutorial on using that is available at "http://localarcade.com/wiki/index.php?title=Using_Chdman_In_Mac_OS_X". Any changes a game attempts to make to its hard disk image (some arcade games store data on their hard disk) will be written to a "diff" file (extension ".dif") in the Hard Disk Diffs folder.


This document was last updated on May 3, 2005.