xmame(6) THE Arcade game machine emulator for UNIX/X


xmame.{x11,svga,xgl,sdl} [options] [rom]


xmame is the (M)ulti (A)rcade (M)achine (E)mulator for Unix. It emulates the hardware of many classic arcade game machines.

MAME is an arcade machine emulator. Started in 1997 by Nicola Salmoria, MAME started out as a series of emulators for individual games. This series of emulators was combined into a single multi-game emulator. This is the current form of MAME; no longer a one-man show, there are over 100 contributors to the project.


Digital sound related

-dp plugin, -dsp-plugin plugin
Select which plugin to use for digital sound.
-ldp, -list-dsp-plugins
List available sound-dsp plugins.
-[no]ti, -[no]timer
Toggle timer based audio (normally it will be used automatically when necessary).

Sound mixer related

-smp plugin, -sound-mixer-plugin plugin
Select which plugin to use for the sound mixer.
-lmp, -list-mixer-plugins
List available sound-mixer plugins.

Video related

-b depth, -bpp depth
Specify the colordepth the core should render, one of: 0 (auto), 8, 16.
-ah height, -arbheight depth
Scale video to exactly this height (0 = disable).
-heightscale yaspect, -hs yaspect
Set Y-Scale aspect ratio.
-ws xaspect, -widthscale xaspect
Set X-Scale aspect ratio.
-s scale, -scale scale
Set X-Y Scale to the same aspect ratio. For vector games scale (and also width- and height-scale) may have values like 1.5 and even 0.5. For scaling of regular games this will be rounded to an integer value.
-ef effect, -effect effect
Video effect:
none (default)
scale2x (smooth scaling effect)
scan2 (light scanlines)
rgbstripe (3x2 rgb vertical stripes)
rgbscan (2x3 rgb horizontal scanlines)
scan3 (3x3 deluxe scanlines)
-[no]adb, -[no]autodouble
Enable/disable automatic scale doubling for 1:2 pixel aspect ratio games.
-[no]sl, -[no]scanlines
Enable/disable displaying simulated scanlines.
-[no]art, -[no]artwork
Use additional game artwork (sets default for specific options below).
-[no]backdrop, -[no]use_backdrops
Use backdrop artwork.
-[no]overlay, -[no]use_overlays
Use overlay artwork.
-[no]bezel, -[no]use_bezels
Use bezel artwork.
-[no]artcrop, -[no]artwork_crop
Crop artwork to game screen only.
-artres res, -artwork_resolution res
Artwork resolution (0 for auto)
-fsr skip, -frameskipper skip
Select which autoframeskip and throttle routines to use. Available choices are:
DOS frameskip code
Enhanced frameskip code by William A. Barath
-[no]th, -[no]throttle
Enable/disable throttle.
-ftr frames, -frames_to_run frames
Sets the number of frames to run within the game.
-[no]si, -[no]sleepidle
Enable/disable sleep during idle.
-[no]afs, -[no]autoframeskip
Enable/disable autoframeskip.
-mafs maxskip, -maxautoframeskip maxskip
Set highest allowed frameskip for autoframeskip.
-fs skip, -frameskip skip
Set frameskip when not using autoframeskip.
-brt brightness, -brightness brightness
Set the brightness correction (0.5 - 2.0).
-pb pause, -pause_brightness pause
Additional pause brightness (float).
-gc gamma, -gamma gamma
Set the gamma correction (0.5 - 2.0).
-[no]nr, -[no]norotate
Do not apply rotation.
-[no]rr, -[no]ror
Rotate screen clockwise.
-[no]rl, -[no]rol
Rotate screen counter-clockwise.
Automatically rotate screen clockwise for vertical games.
Automatically rotate screen counter-clockwise for vertical games.
-[no]fx, -[no]flipx
Flip screen left-right.
-[no]fy, -[no]flipy
Flip screen upside-down.

Vector related

-vres vres, -vectorres vres
Always scale vectorgames to XresxYres, keeping their aspect ratio. This overrides the scale options.
-B beam, -beam beam
Set the beam size for vector games (float).
-f flicker, -flicker flicker
Set the flicker size for vector games (float).
-intensity intensity
Set intensity in vector games (float).
-[no]aa, -[no]antialias
Enable/disable antialiasing.
-[no]t, -[no]translucency
Enable/disable translucency.

X11 related

-x11 mode, -x11-mode
Select x11 video mode (if compiled in).
Normal window (hotkey left-alt + insert)
Fullscreen DGA (hotkey left-alt + home)
Windowed Xv
Fullscreen Xv

X11-window related

-[no]cu, -[no]cursor
Show/don't show the cursor.
-[no]ms, -[no]mitshm
Use/don't use the MIT shared memory extension (if available and compiled in).
Start in fullscreen mode.
Force YUV mode (for video cards with broken RGB hwscales).
Force YV12 mode (for video cards with broken RGB hwscales).
-[no]xs, -[no]xsync
Use/don't use XSync instead of XFlush as screen refresh method.
-[no]p, -[no]privatecmap
Enable/disable use of private color map.
-[no]x, -[no]xil
Enable/disable use of XIL for scaling (if available and compiled in).
-[no]mtx, -[no]mtxil
Enable/disable multi threading of XIL.
-[no]root, -[no]run-in-root-window
Enable/disable running in root window.
-rid window, -root_window_id window
Create the xmame-window in an alternate root-window, mostly useful for frontends.
-geometry location, -geo location
Specify the location of the window (string).

Video mode selection related

-[no]ka, -[no]keepaspect
Try / don't try to keep the aspect ratio of a game when selecting the best videomode.
-dar ratio, -displayaspectratio ratio
Set the display aspect ratio of your monitor (float). This is used for -keepaspect. The default is 1.33 (4/3). Use 0.75 (3/4) for a portrait monitor.
-dm disable, -disablemode disable
Don't use mode XRESxYRESxDEPTH. This can be used to disable specific video modes which don't work on your system. The xDEPTH part of the string is optional. This option may be used more then once

X11-input related

-[no]gm, -[no]grabmouse
Enable/disable mouse grabbing (also alt + pagedown).
-[no]gkb, -[no]grabkeyboard
Enable/disable keyboard grabbing (also alt + pageup).
-[no]wk, -[no]winkeys
Enable/disable mapping of Windows keys under X.
-mk keymap, -mapkey keymap
Set a specific key mapping, see xmamerc.dist.

Sound related

-[no]snd, -[no]sound
Enable/disable sound (if available).
-[no]sam, -[no]samples
Use/don't use samples (if available).
-fsnd, -fakesound
Generate sound even when sound is disabled. This is needed for some games which won't run without sound.
-sf freq, -samplefreq freq
Set the playback sample-frequency/rate.
-bs buffer, -bufsize buffer
Number of frames of sound to buffer (float).
-v volume, -volume volume
Specify audio attenuation in dB (-32 (soft) - 0 (loud)).
-ad device, -audiodevice device
Use an alternative audiodevice.
-md mixer, -mixerdevice mixer
Use an alternative mixerdevice.

Input related

-jt joy, -joytype joy
Select type of joystick support to use:
No joystick
Standard joystick
FM Towns pad
NetBSD/FreeBSD USB joystick
PS2-Linux native pad
SDL joystick
-[no]as, -[no]analogstick
Use joystick as analog for analog controls.
-jdev device, -joydevname device
Joystick device prefix (defaults to /dev/js).
-[no]m, -[no]mouse
Enable/disable mouse (if supported).
Enable/disable UGCI(tm) Coin/Play support.
-[no]pspad, -[no]usbpspad
Enable/disable USB PS Game Pad joystick support.
-[no]rapidf, -[no]rapidfire
Enable/disable rapid-fire support for joysticks.
-ctrlr controller
Preconfigure for specified controller, e.g., HotRod, HotRodSE, SlikStik, XArcade.

File I/O related

-rp rompath, -rompath rompath
Search path for ROM files.
-sp samplepath, -samplepath samplepath
Search path for sample files.
-inipath inipath
Search path for ini files.
-cfg_directory cfgpath
Directory to save configurations.
-nvram_directory nvrampath
Directory to save nvram contents.
-memcard_directory memcardpath
Directory to save memory card contents.
-input_directory inputpath
Directory to save input device logs.
-hiscore_directory hipath
Directory to save hiscores.
-state_directory statepath
Directory to save states.
-artwork_directory artpath
Directory for artwork (overlays etc.)
-snapshot_directory screenshotpath
Directory for screenshots (PNG format).
-diff_directory diffpath
Directory for hard drive image difference files.
-ctrlr_directory controllerpath
Directory to save controller definitions.
-cheat_file cheatfile
Cheat filename.
-hiscore_file hifile
-history_file historyfile
-mameinfo_file mameinfofile
-rec keyfile, -record keyfile
Set a file to record keypresses into.
-pb playfile, -playback playfile
Set a file to playback keypresses from.
-out stdout, -stdout-file stdout
Set a file to redirect stdout to
-err stderr, -stderr-file stderr
Set a file to redirect stderr to.
-L logfile, -log logfile
Set a file to log debug info to.

MAME related

-def defaultgame, -defaultgame defaultgame
Set the default game started when no game is given on the commandline, only useful for the config files.
-lang language, -language language
Select the language for the menus and OSD.
-[no]fc, -[no]fuzzycmp
Enable/disable use of fuzzy gamename matching when there is no exact match.
-[no]c, -[no]cheat
Enable/disable cheat subsystem.
Skip displaying the disclaimer screen.
Skip displaying the game info screen.
Use only CRC for all integrity checks.
-bios bios
Change system bios (int).

Frontend related

-l, -list
List supported games matching gamename, or all, gamename may contain * and ? wildcards.
-lf, -listfull
Like -list, with full description.
-lg, -listgames
Like -list, with manufacturer and year.
-ld, -listdetails
Like -list, with detailed info.
-lgl, -listgamelist
Like -list, with specially formatted extra info for generating gamelist.mame.
-lsf, -listsourcefile
Like -list, with driver sourcefile.
-lcol, -listcolors
Like -list, with the number of colors used.
-lrs, -listromsize
Like -list, with the year and size of the ROMs used.
-lps, -listpalettesize
Like -list, with the year and palette size of the roms used.
-lr, -listroms
Like -list, but lists used ROMs.
-lcrc, -listcrc
Like -list, but lists used ROMs with CRC-32s.
-lsha1, -listsha1
Like -list, but lists used ROMs with SHA-1s.
-lmd5, -listmd5
Like -list, but lists used ROMs with MD5s.
-ls, -listsamples
Like -list, but lists used audio samples.
-lsd, -listsamdir
Like -list, but lists dir where samples are taken from.
-vr, -verifyroms
Verify ROMs for games matching gamename, or all, gamename may contain * and ? wildcards.
-vrs, -verifyromsets
Like -verifyromsP, but less verbose.
-vs, -verifysamples
Like -verifyroms but verify audio samples instead.
-vss, -verifysamplesets
Like -verifysamplesP, but less verbose
-[no]cl, -[no]clones
Show / don't show bootlegs/clones in the above list commands.
-lcl, -listclones
Like -list, but lists the clones of the specified game.
-li, -listinfo
List all available info on drivers.
-lc, -listcpu
List CPU usage statics per year.

Internal verification list commands (only for developers)

-ldc, -listdupcrc
Like -list, but lists ROMs with identical CRC.
-lwo, -listwrongorientation
Like -list, but lists any games which use the orientation flags wrongly.
-lwm, -listwrongmerge
Like -list, but lists any games which use the clone_of field wrongly.
-lwf, -listwrongfps
Like -list, but lists any games which use the FPS field wrongly.
-srtn, -sortname
Sort ROMs by name.
-srtd, -sortdriver
Sort ROMs by driver name.

ROM identification related

-id, -ident
Identify unknown ROM dump, or unknown ROM dumps in dir/zip.
-ik, -isknown
Check if romdump or romdumps in dir/zip are known.

General options

-[no]lcf, -[no]loadconfig
Enable/disable loading of config files.
-sc, -showconfig
Display running parameters in rc style.
-mh, -manhelp
Print commandline help in man format, useful for manpage creation.
-V, -version
Display version.
-?, -help
Show help.



The main issue involves ROM images. ROM images are protected under the copyrights of their authors, and CANNOT be distributed in the same package as xmame. Download any ROM images at your own risk and responsibility.


Also, the xmame authors ask that you DO NOT distribute any ROM images with either source code or binaries of the xmame emulator.


Config Files are parsed in the following order:
Global configuration config file
User configuration config file
Global per display method config file
User per display method config file
Global per game config file
User per game config file