Man Linux: Main Page and Category List


     xmame - THE Arcade game machine emulator for UNIX/X


     xmame[.x11|svga] [-options] gamename


     Some examples for those who are in a hurry.  If you don’t have/want a
     frontend, you’ll mostly use xmame (with a well defined xmamerc) in the
     following way: xmame ladybug Plays Ladybug with all options defined in
     xmamerc. If there is no xmamerc the game starts with the buildin
     defaults.  xmame defender -frameskip 1 -cheat Starts defender using a
     frameskip of 1 and cheat is enabled.  Useful for slower computers, if the
     game is running really slowly.  And of course if you want (have?) to
     cheat. ;-)


     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.  xmame should be distributed under terms of the license
     in doc/readme.mame XInputExtensions based Joystick support. Source code
     is entirely pure hack work. No sample code, no info at all was found
     (only library reference manual) and is copyrighted by me (Juan Antonio
     Marmnez).  Use it under terms of GNU General Public License.  PLEASE BE
     authors ask that you DO NOT distribute any ROM images with either source
     code or binaries of the xmame emulator.


     xmame is the (M)ulti (A)rcade (M)achine (E)mulator for UNIX-(X).  It
     emulates the hardware of realy many classic arcade game machines.  Most
     games allow you to specify one or more options to control the behavior of
     xmame and the game of your choice. Below is a complete list of all the
     available options:

     *** Digital sound related ***

     -dsp-plugin, -dp string
             Select which plugin to use for digital sound

     -list-dsp-plugins, -ldp
             List available sound-dsp plugins

     -[no]timer, -[no]ti
             Use / don’t use timer based audio (normally it will be used
             automagicly when nescesarry)

     *** Sound mixer related ***

     -sound-mixer-plugin, -smp string
             Select which plugin to use for the sound mixer

     -list-mixer-plugins, -lmp
             List available sound-mixer plugins

     *** Video Related ***

     -bpp, -b int
             Specify the colordepth the core should render, one of: auto(0),
             8, 16

     -heightscale, -hs int
             Set Y-Scale aspect ratio

     -widthscale, -ws int
             Set X-Scale aspect ratio

     -scale, -s arg
             Set X-Y Scale to the same aspect ratio. For vector games scale
             (and also width- and heightscale) may have value’s like 1.5 and
             even 0.5. For scaling of regular games this will be rounded to an

     -[no]autodouble, -[no]adb
             Enable/disable automatic scale doubling for 1:2 pixel aspect
             ratio games

     -[no]dirty, -[no]dt
             Enable/disable use of dirty rectangles

     -[no]scanlines, -[no]sl
             Enable/disable displaying simulated scanlines

     -[no]artwork, -[no]a
             Use/don’t use artwork if available

     -frameskipper, -fsr int
             Select which autoframeskip and throttle routines to use.
             Available choices are: 0 Dos frameskip code 1 Enhanced frameskip
             code by William A. Barath

     -[no]throttle, -[no]th
             Enable/disable throttle

     -[no]sleepidle, -[no]si
             Enable/disable sleep during idle

     -[no]autoframeskip, -[no]afs
             Enable/disable autoframeskip

     -maxautoframeskip, -mafs int
             Set highest allowed frameskip for autoframeskip

     -frameskip, -fs int
             Set frameskip when not using autoframeskip

     -brightness, -brt int
             Set the brightness (0-100%%)

     -gamma-correction, -gc float
             Set the gamma-correction (0.5-2.0)

     -norotate, -nr
             Disable rotation

     -ror, -rr
             Rotate display 90 degrees rigth

     -rol, -rl
             Rotate display 90 degrees left

     -flipx, -fx
             Flip X axis

     -flipy, -fy
             Flip Y axis

     *** Vector Games Related ***

     -vectorres, -vres string
             Always scale vectorgames to XresxYres, keeping their aspect
             ratio. This overrides the scale options

     -beam, -B float
             Set the beam size for vector games

     -flicker, -f float
             Set the flicker for vector games

     -[no]antialias, -[no]aa
             Enable/disable antialiasing

     -[no]translucency, -[no]t
             Enable/disable tranlucency

     *** X11 Related ***

     -x11-mode, -x11 int
             Select x11 video mode: (if compiled in) 0 Normal window  (hotkey
             left-alt + insert) 1 Fullscreen DGA (hotkey left-alt + home)

     *** X11-window Related ***

     -[no]cursor, -[no]cu
             Show/ don’t show the cursor

     -[no]mitshm, -[no]ms
             Use / don’t use MIT Shared Mem (if avaiable and compiled in)

     -[no]xsync, -[no]xs
             Use / don’t use XSync instead of XFlush as screen refresh method

     -[no]privatecmap, -[no]p
             Enable/disable use of private color map

     -[no]xil, -[no]x
             Enable/disable use of XIL for scaling (if available and compiled

     -[no]mtxil, -[no]mtx
             Enable/disable multi threading of XIL

     -[no]run-in-root-window, -[no]root
             Enable/disable running in root window

     -root_window_id, -rid int
             Create the xmame-window in an alternate root-window, mostly
             usefull for frontends!

     -geometry, -geo string
             Specify the location of the window

     *** XFree86 DGA Related ***

     *** Video Mode Selection Related ***

     -[no]keepaspect, -[no]ka
             Try / don’t try to keep the aspect ratio of a game when selecting
             the best videomode

     -displayaspectratio, -dar float
             Set the display aspect ratio of your monitor. This is used for
             -keepaspect The default = 1.33 (4/3). Use 0.75 (3/4) for a
             portrait monitor

     -disablemode, -dm arg
             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

     *** X11-input related ***

     -[no]grabmouse, -[no]gm
             Enable/disable mousegrabbing (also alt + pagedown)

     -[no]winkeys, -[no]wk
             Enable/disable mapping of windowskeys under X

     -mapkey, -mk arg
             Set a specific key mapping, see xmamerc.dist

     *** Sound Related ***

     -[no]sound, -[no]snd
             Enable/disable sound (if available)

     -[no]samples, -[no]sam
             Use/don’t use samples (if available)

     -fakesound, -fsnd
             Generate sound even when sound is disabled, this is needed for
             some games which won’t run without sound

     -samplefreq, -sf int
             Set the playback sample-frequency/rate

     -bufsize, -bs float
             Number of frames of sound to buffer

     -volume, -v int
             Set volume to <int> db, (-32 (soft) - 0(loud) )

     -audiodevice, -ad string
             Use an alternative audiodevice

     -mixerdevice, -md string
             Use an alternative mixerdevice

     *** Input Related ***

     -joytype, -jt int
             Select type of joysticksupport to use: 0 No joystick 1 i386 style
             joystick driver (if compiled in) 2 Fm Town Pad support (if
             compiled in) 3 X11 input extension joystick (if compiled in) 4
             new i386 linux 1.x.x joystick driver(if compiled in) 5 NetBSD USB
             joystick driver (if compiled in)

     -[no]analogstick, -[no]as
             Use Joystick as analog for analog controls

     -[no]mouse, -[no]m
             Enable/disable mouse (if supported)

     *** Fileio Related ***

     -biospath, -bp string
             Set the BIOS search path

     -softwarepath, -swp string
             Set the software search path

     -CRC_directory string
             Set dir to look for crc files in

     -samplepath, -sp string
             Set the sample search path

     -inipath string
             Set the ini search path

     -cfg_directory string
             Set dir for saving configurations

     -nvram_directory string
             Set dir for saving nvram contents

     -memcard_directory string
             Set dir for saving memory card contents

     -input_directory string
             Set dir for saving input device logs

     -hiscore_directory string
             Set dir for saving high scores

     -state_directory string
             Set dir for saving states

     -artwork_directory string
             Set dir to look for artwork files in

     -snapshot_directory string
             Set dir for screenshots (.png format)

     -diff_directory string
             Set dir for hard drive image difference files

     -ctlrl_directory string
             Set dir for saving controller definitions

     -cheat_file string
             Set the file to use as cheat database

     -hiscore_file string
             no help available

     -sysinfo_file string
             no help available

     -messinfo_file string
             no help available

     -record, -rec arg
             Set a file to record keypresses into

     -playback, -pb arg
             Set a file to playback keypresses from

     -stdout-file, -out filename
             Set a file to redirect stderr to

     -stderr-file, -err filename
             Set a file to redirect stdout to

     -log, -L filename
             Set a file to log debug info to

     *** Mess Related ***

     -rom, -cart
             All following images/roms are seen as carts/roms

             All following images/roms are seen as floppies

             All following images/roms are seen as casettes

             All following images/roms are seen as carts/roms

             All following images/roms are seen as serial ports??

             All following images/roms are seen as snapshots

     -language, -lang string
             Select the language for the menu’s and osd

     -[no]fuzzycmp, -[no]fc
             Enable/disable use of fuzzy gamename matching when there is no
             exact match

     -[no]cheat, -[no]c
             Enable/disable cheat subsystem

     -[no]debug, -[no]d
             Enable/disable debugger

     -debug-size, -ds arg
             Specify the resolution/ windowsize to use for the
             debugger(window) in the form of XRESxYRES (minimum size =

     *** Frontend Related ***

     -list, -l
             List supported games matching gamename, or all, gamename may
             contain * and ? wildcards

     -listfull, -lf
             Like -list, with full description

     -listgames, -lg
             Like -list, with manufacturer and year

     -listdetails, -ld
             Like -list, with detailed info

     -listgamelist, -lgl
             Like -list, with specialy formatted extra info for generating
             gamelist.mame, also see -listgamelistheader

     -listsourcefile, -lsf
             Like -list, with driver sourcefile

     -listcolors, -lcol
             Like -list, with the number of colors used

             Like -list, with devices and image file extensions supported

     -listromsize, -lrs
             Like -list, with the year and size of the roms used

     -listroms, -lr
             Like -list, but lists used ROMS

     -listcrc, -lcrc
             Like -list, but lists used ROMS with crc

     -listsamples, -ls
             Like -list, but lists used audio samples

     -listsamdir, -lsd
             Like -list, but lists dir where samples are taken from

     -verifyroms, -vr
             Verify ROMS for games matching gamename, or all, gamename may
             contain * and ? wildcards

     -verifyromsets, -vrs
             Like -verifyroms, but less verbose

     -verifysamples, -vs
             Like -verifyroms but verify audio samples instead

     -verifysamplesets, -vss
             Like -verifysamples, but less verbose

     -[no]clones, -[no]cl
             Show / don’t show bootlegs/clones in the above list commands

     -listclones, -lcl
             Like -list, but lists the clones of the specified game

     -listinfo, -li
             List all available info on drivers

     -listcpu, -lc
             List cpu usage statics per year

     -listgamelistheader, -lgh
             Print header for generating gamelist.mame, also see -listgamelist

     *** Internal verification list commands (only for developers) ***

     -listmissingroms, -lmr
             Like -list, but lists ROMS missing

     -listdupcrc, -ldc
             Like -list, but lists ROMS with identical crc

     -listwrongorientation, -lwo
             Like -list, but lists any games which use the orientation flags

     -listwrongmerge, -lwm
             Like -list, but lists any games which use the clone_of field

     -listwrongfps, -lwf
             Like -list, but lists any games which use the FPS field wrongly

     *** Rom Identification Related ***

     -ident, -id
             Identify unknown romdump, or unknown romdumps in dir/zip

     -isknown, -ik
             Check if romdump or romdumps in dir/zip are known

     *** General Options ***

     -[no]loadconfig, -[no]lc
             Load (don’t load) configfiles

     -showconfig, -sc
             Display Running parameters in rc style

     -manhelp, -mh
             Print commandline help in man format, usefull for manpage

     -version, -V
             Display version

             Show this help

     *** Arguments ***

     game    the name of the game you wish to play. You better choose one. :-)
     Note: There are really many options. You can set the default options and
     / or options per game in xmames config files see the RCFILES section


     Most game ROM images come in ZIP files.  Download the ZIP files for the
     games you want, and move them to a directory of your choice (i.e. it is a
     good idea to put them all in one dir).  Note: There is no need to unzip
     the games in a separate directory, because xmame has zip file support
     through zlib.  xmame uses a ":" seperated rompath to find out which dirs
     to search for roms/samples. The default rompath is XMAMEROOT as defined
     in the Makefile during the compilation (normaly /usr/local/share/xmame).
     If you put all the zipped-ROM-Files in this dir everything will work
     automagicly.  The rompath will be overwritten by any rompath in xmamerc.
     Which can be overwritten again with the -rompath commandline option.
     xmame searches every dir in this path for roms (and samples) in the
     following way:
     <dir>/               (containing filename.ext)
     <dir>/gamename/filename.ext.gz   (containing filename.ext)
     <dir>/gamename/      (containing filename.ext)
     Note: If your neogeo games can’t find neogeo.rom put it in a dir called
     neogeo somewhere in your rompath, or put it in somewhere in
     your rompath.


     After running xmame i.e.  xmame ladybug you will see two screens.  The
     first with a copyright message (PLEASE READ THIS!). If you type (ok) this
     screen will only come up again after the cfg-file of the game
     (romname.cfg) will be deleted.  Another screen shows information about
     the game. Hit any key to continue.  Note: If you want to see this
     information screen again, you could press <TAB> and select <Game
     Information> or hit <ESC> and restart. ;-) The game will then go through
     a ‘hardware self-test’ (remember, xmame is emulating game HARDWARE).
     After the self-test, you are ‘in’ the video game.  Feed the hungry
     machine with some coins (key <5> for one coin) then start (key <1>) it.
     For more coins and player read the next section (KEYBOARD COMMANDS).


     While playing a game, there are certain keyboard commands available for
     you to use.
     KEY                        Action
     <1> (the number ‘one’)     Start a 1-player game.
     <2> (the number ‘two’)     Start a 2-player game.
     <3> (the number ‘three’)   Start a 3-player game.
     <4> (the number ‘four’)    Start a 4-player game.
     <5> (the number ‘five’)    Insert coin (slot 1).
     <6> (the number ‘six’)     Insert coin (slot 2).
     <7> (the number ‘seven’)   Insert coin (slot 3).
     <8> (the number ‘eight’)   Insert coin (slot 4).
     <Tab>                      Toggles the configuration menu.
     <~> (Tilde)                Toggles the ‘On Screen Display’.
                                Use the up and down arrow keys to select
                                the parameter (global volume, mixing level,
                                gamma correction etc.), left and right to
     <P>                        Pauses the game.
     <Shift+P>                  While paused, walk to the next frame.
     <F3>                       Resets the game (start with
                                ‘hardware self-test’).
     <F4>                       Shows the game graphics. Use cursor keys
                                to change set/color, F4 or Esc to return to
                                the emulation.
     <F9>                       Changes frame skip on the fly.
     <F10>                      Toggles speed throttling.
     <F11>                      Toggles speed display.
     <Shift+F11>                Toggles profiler display.
     <F12>                      Saves a screen snapshot. The default
                                target directory is SNAP. You must create
                                this directory yourself; the program will
                                not create it if it doesn’t exist.
     <ESC>                      Exits the emulator.
     <L-CTRL>                   is mostly used as a button.
     <L-ALT>)                   is also mostly used as a button.
     <arrows>                   will emulate the joystick, pad or
                                trakball. If you have a joystick (pad,
                                trakball ), you can use it with the
                                Input-Related options: -joytype, -jt
                                and/or -[no]analogstick, -[no]as
     For a complete list of the usefull keys in xmame start a game, press the
     <tab> button, select <Input (general)> or <Input (this game)> and you see
     a complete list of the related keys.


     You can put the most commandline options in an (r)essource
     (c)onfiguration (rc) file. To generate a ‘clean’ xmamerc you type in your
     ${HOME}/.xmame directory: xmame -sc > xmamerc Now you have a good base to
     build your specific rc-file. Here is a piece from this file to tell you
     how the syntax works.
         ### X11-window Related ###
         cursor                  1
         mitshm                  1
         xsync                   1
         privatecmap             0
         xil                     1
         mtxil                   0
         run-in-root-window      0
         root_window_id          0
         geometry                640x480
         ### XFree86 DGA Related ###
         ### Video Mode Selection Related ###
         keepaspect              1
         displayaspectratio      1.330000 The number ‘0’ is equal to ‘no’ or
     ‘false’ and ‘1’ means ‘yes’ or ‘true’.  Some parameters like ‘geometry’
     needs a string ‘800x600’ and some others like ‘displayaspectratio’ use a
     number ‘1.330000’.


     The following environment variables are used:
     ENV       USE
     HOME      The user’s home directory.  (normally set by the login process.)
     DISPLAY   X server to display in.


     The config files are parsed in the following order:
     PATH                                 CONFIG FILE
     /usr/local/share/xmame/xmamerc       global configuration
     ${HOME}/.xmame/xmamerc               user configuration
     /usr/local/share/xmame/xmame-x11rc   global per display
     ${HOME}/.xmame/xmame-x11rc           user per display
     /usr/local/share/xmame/rc/<game>rc   global per game
     ${HOME}/.xmame/rc/<game>rc           user per game


     There might be some bugs. Take a look in the doc-dir for more info,
     because the xmame-project is always in progress. :-)


     Lots and lots and lots of thank to everyone for there great help on the
     xmame project. I would like to thank the following people and of course
     anyone I’ve forgotten.  Thank you all, Hans
       1. Fathers of the mame-creature (main version)
             Nicola Salmoria
             Allard van der Bas
             Mirko (Mix) Buffoni (General Mantainer)
       2. Fathers of mess
             Brad Oliver
             Richard Bannister
             Ben Bruscella (current coordinator)
       3. Original UNIX/X11 port
             Allard van der Bas
             Dick the Ridder
             Juan Antonio Marmnez
       4. Unix maintainer
             Hans de Goede
       5. Alpha specific issues
             Christian Groessler
       6. Sun specific issues
             Keith Hargrove
             Mathis Rosenhau
       7. Irix specific issues
             Tristram Scott
       8. GGI maintainance
             Gabriele Boccone (original port)
             Christian Groessler (current maintainer)
       9. OpenGL code & maintainance
             Mike Oliphant
      10. Network code
             Eric Totel
      11. Perl scripts for automation of some porting issues
             Bill Adams
      12. Xmame rpms
             Jeremy Hansen
      13. Mailing list maintainer
             Chris McCraw
      14. Bits and pieces
             Christian Groessler
             Torsten Paul
      15. AIX Sound code
             Chris Sharpp
      16. IRIX Sound code
      17. German readme
             Robert Hamberger
      18. Documentation (SGML, HTML, MAN ...)
             Rene Herrmann
         And now you’ve come to the end of this man(ual).
         Have a lot of fun