
Using the program
-----------------

MAME [name of the game to run] [options]

for example:

   MAME mspacman -soundcard 0

...will run Ms Pac Man without sound


Options:

-scanlines / -sl yes/no/horizontal/vertical (default: yes)
              Scanlines are small, evenly-spaced, horizontal/vertical blank
              lines that are typical of real arcade monitors. If you don't
              prefer this "authentic" look, turn scanlines off. By default
              the scanlines will match the orientation of the game, if you
              don't like this you can force either horizontal or vertical
              scanlines.

-[no]stretch (default: -stretch)
              use nostretch to disable pixel doubling in VESA modes (faster,
              but smaller picture).

-[no]artwork / -[no]art (default: -artwork)
              Enable or disable usage of additional artwork (backdrops,
              overlays, etc.).

-[no]use_backdrops / -[no]backdrop (default: -use_backdrops)
              Enables/disables the display of backdrops.

-[no]use_overlays / -[no]overlay (default: -use_overlays)
              Enables/disables the display of overlays.

-[no]use_bezels / -[no]bezel (default: -use_bezels)
              Enables/disables the display of bezels.

-[no]artwork_crop / -[no]artcrop (default: -noartwork_crop)
              This will crop the artwork to the game screen area only.

-artworkresolution N / -artres N (default: auto)
              Scale the game by this factor to accommodate for higher resolution
              artwork.

-[no]samples (default: -samples)
              Use samples if available.

-[no]vsync (default: -novsync)
              Synchronize video display with the video beam instead of using
              the timer. This option can be used only if the selected video
              mode has an appropriate refresh rate. Otherwise, MAME will
              refuse to start, telling you the actual refresh rate of the video
              mode, and the rate it should have.
              If you are using a tweaked mode, MAME will try to automatically
              pick the correct setting for -vgafreq; you can still override it
              using the -vgafreq option.
              Note: the 224x288 / noscanlines mode doesn't work on most cards.
              Many games use this mode, e.g. Pac Man and Galaga. If it doesn't
              work with your card, either turn scanlines on, or don't use
              -vsync.
              If you are using a VESA mode, you should use the program that
              came with your video card to set the appropriate refresh rate.
              Note that when this option is turned on, speed will NOT
              downgrade nicely if your system is not fast enough (i.e.,
              gameplay will be jerky).

-[no]waitvsync (default: -nowaitvsync)
              Waits for vertical sync to reduce display tearing.

-[no]triplebuffer / [no]tb (default: -notriplebuffer)
              Enables triple buffering with VESA modes. This is faster than
              -vsync, but doesn't work on all cards. Even if it does remove
              "tearing" during scrolling, it might not be as smooth as -vsync.

-[no]tweak (default: -notweak)
              MAME supports a large number of tweaked VGA modes whose
              resolutions matching those of the emulated games. These modes
              look MUCH better than VESA modes (and are usually faster), but
              they may create compatibility problems with some video cards and
              monitors. Therefore, they are not enabled by default. You should
              by all means use -tweak if your hardware supports it. Note that
              some modes might work and other might not--e.g. your card could
              support 256x256 but not 384x224. In that case, you'll have to
              turn -tweak on or off depending on the game you run. -noscanlines
              can also solve many compatibility problems. Tweaked modes only
              support 256 colours.

-vesamode / -vesa yes/no/vesa1/vesa2b/vesa2l/vesa3 (default: vesa3)
              Forces the VESA mode. The best available one is used by default.
              no disables VESA, you will need to enable tweaked modes.
              If your video card crashes during autodetection, however, use
              this option to force a lower standard. (Start with vesa1, and go
              upwards to find the highest one that works.)

-[no]mmx (default: auto)
              By default mmx instructions will be used if available when
              using non rotated linear vesa modes.

-[no]antialias / [no]aa (default: -antialias)
              Antialiasing for the vector games.

-[no]translucency / [no]tl (default: -translucency)
              Enables or disables vector translucency.

-vgafreq 0/1/2/3 (default: 0)
              Specifies different frequencies for the custom video modes. This
              can reduce flicker, especially in 224x288 / noscanlines mode.
              WARNING: IT IS POSSIBLE TO SET FREQUENCIES WAY OUTSIDE OF YOUR
              MONITOR'S RANGE, WHICH COULD DAMAGE YOUR MONITOR. BEFORE USING
              THIS OPTION, BE SURE YOU KNOW WHICH FREQUENCIES YOUR MONITOR
              SUPPORTS. USE THIS OPTION AT YOUR OWN RISK.

-[no]alwayssynced (default: -noalwayssynced)
              For many tweaked VGA modes, MAME has two definitions: One which
              is more compatible, and one which is less compatible but uses
              frequencies compatible with -vsync. By default, the less-
              compatible definition is used only when -vsync is requested;
              using this option, you can force it to be used always.

-depth auto/8/15/16/24/32 (default: auto)
              The lowest mode necessary will be picked by default.
              If that depth isn't supported then it will try lower ones.
              When both tweaked VGA & VESA modes are enabled it will switch
              to 8 bit mode if the game uses 256 colours or less. To improve
              speed, you can use '-depth 8', which limits the display to
              standard 256-color mode.

-skiplines N
-skipcolumns N
              If you run a game in a video mode smaller than the visible area,
              you can adjust its position using the PgUp and PgDn keys (alone
              for vertical panning, shifted for horizontal panning). You can
              also use these two parameters to set the initial position: -1 is
              the default, meaning that the screen is centered.

-beam N (default: 1.0)
              Sets the width in pixels of the vectors. N is a float in the
              range of 1.00 through 16.00.

-flicker N (default: 0.0)
              Makes the vectors flicker. N is a float in
              the range 0.00 - 100.00 (0=none, 100=maximum).

-intensity N (default: 1.5)
              Set the initial vector intensity in the range 0.3 - 3.0.

-gamma N (default: 1.0)
              Sets the initial gamma correction value.

-brightness N / -bright N (default: 1.0)
              Sets the initial brightness value.

-frameskip N / -fs N (default: auto)
              Skips frames to speed up the emulation. The argument is the number
              of frames to skip out of 12. For example, if the game normally
              runs at 60 fps, '-frameskip 2' will make it run at 50 fps,
              '-frameskip 6' at 30 fps. Use F11 to display the speed your
              computer is actually reaching. If it is below 100%, increase the
              frameskip value. You can press F9 to change frameskip while
              running the game.
              When set to auto (the default), the frameskip setting is
              dynamically adjusted during run time to display the maximum
              possible frames without dropping below 100% speed.

-[no]throttle (default: -throttle)
              Sets the inital speed throttling.

-norotate     Disable all internal rotation of the image, therefore displaying
              the image in its original orientation (for example, so you need
              a vertical monitor to see vertical games).
              In some cases, the image will be upside down. To correct this,
              use '-norotate -flipx -flipy'

-ror          Rotates the display clockwise by 90 degrees.
-rol          Rotates display anticlockwise
-flipx        Flips display horizontally
-flipy        Flips display vertically
              -ror and -rol add authentic *vertical* scanlines, given that you
              have turned your monitor on its side.
              CAUTION:
              Monitors are complicated, high-voltage electronic devices.
              Some monitors are designed to be rotated. If yours is _not_ one
              of them, but you absolutely must turn it on its side, you do so
              at your own risk.

              *******************************************
              PLEASE DO NOT LEAVE YOUR MONITOR UNATTENDED
              IF IT IS PLUGGED IN AND TURNED ON ITS SIDE!
              *******************************************

-soundcard N (default: -1)
              Selects sound card. By default MAME will ask you.

-[no]sound (default: -sound)
              Enable or disable sound alltogether. Some games will not work
              correctly without emulating the sound cpu's.

-samplerate N / -sr N
              Sets the audio sample rate. The default is 22050. Smaller values
              (e.g. 11025) cause lower audio quality but faster emulation speed.
              Higher values (e.g. 44100) cause higher audio quality but slower
              emulation speed.

-[no]stereo (default: -stereo)
              Selects stereo or mono output for games supporting stereo sound.

-volume N / -vol N (default: 0)
              Sets the startup volume. It can later be changed with the On
              Screen Display (see Keys section). The volume is an attenuation
              in dB: e.g., "-volume -12" will start with -12dB attenuation.

-[no]sampleratedetect (default: -sampleratedetect )
              By default the sample rate of the sound card will be detected.

-[no]resamplefilter (default: -resamplefilter )
              If the samplerate of the original hardware does not match the
              samplerate actually used by an integer factor, apply a filter.
              This is more faithful to the original sound, however, the
              sound may not be as crisp.

-[no]mouse (default: -mouse)
              Enables/disables mouse support

-joystick X / -joy X (default: none)
              Allows joystick input. 'name' can be:
              none         - no joystick
              auto         - attempts auto detection
              standard     - normal 2 button joystick
              dual         - dual joysticks
              4button      - Stick/Pad with 4 buttons
              6button      - Stick/Pad with 6 buttons
              8button      - Stick/Pad with 8 buttons
              fspro        - CH Flightstick Pro
              wingex       - Wingman Extreme
              wingwarrior  - Wingman Warrior
              sidewinder   - Microsoft Sidewinder (up to 4)
              gamepadpro   - Gravis GamePad Pro
              grip         - Gravis GrIP
              grip4        - Gravis GrIP constrained to move only along the
                             x and y axes
              sneslpt1     - SNES pad on LPT1 (needs special hardware)
              sneslpt2     - SNES pad on LPT2 (needs special hardware)
              sneslpt3     - SNES pad on LPT3 (needs special hardware)
              psxlpt1      - PSX pad on LPT1 (needs special hardware)
              psxlpt2      - PSX pad on LPT2 (needs special hardware)
              psxlpt3      - PSX pad on LPT3 (needs special hardware)
              n64lpt1      - N64 pad on LPT1 (needs special hardware)
              n64lpt2      - N64 pad on LPT2 (needs special hardware)
              n64lpt3      - N64 pad on LPT3 (needs special hardware)
              db9lpt1      - C64/Atari/Sinclair joy via DB9 interface on LPT1
              db9lpt2      - C64/Atari/Sinclair joy via DB9 interface on LPT2
              db9lpt3      - C64/Atari/Sinclair joy via DB9 interface on LPT3
              tgxlpt1      - digital joystick via Turbografix if on LPT1
              tgxlpt2      - digital joystick via Turbografix if on LPT2
              tgxlpt3      - digital joystick via Turbografix if on LPT3

              Notes:
              1) Use the TAB menu to calibrate analog joysticks. Calibration
              data will be saved in mame.cfg. If you're using different
              joysticks for different games, you may need to recalibrate your
              joystick every time.
              2) Extra buttons of noname joysticks may not work.
              3) The "official" Snespad-Support site is:
              http://snespad.emulationworld.com
              4) http://www.debaser.force9.co.uk/ccmame has info on how to
              connect PSX and N64 pads.
              5) http://www.burg-halle.de/~schwenke/parport.html for details on
              how to build Turbografix interface for 1-7 joysticks. Also go
              there for information on DB9 interface, the cheapest
              (wires-only) joystick interface ever.

-[no]steadykey / [no]steady
              Some games require two or more buttons to be pressed at exactly
              the same time to make special moves. Due to limitations in the PC
              keyboard hardware, it can be difficult or even impossible to
              accomplish that using the standard keyboard handling. This option
              selects a different handling that makes it easier to register
              simultaneous button presses, but has the disadvantage of making
              controls less responsive.

- [no]keyboard_leds / -[no]leds
              Using this option enabes/disables simulation of the game LEDs by
              the keyboard LEDs. The default is ON (-keyboard_leds).

* -ctrlr <controller>
              Enables support for special controllers. Configuration files
              are provided for:
                hotrod    HotRod
                hotrodse  HotRod SE
                slikstik  SlikStik
                xarcade   X-Arcade
              There is extra documentation available about this in the file ctrlr.txt.


-[no]cheat / -[no]c (default: -nocheat)
              Cheats, like the speedup in Pac Man or the level-skip in many
              other games, are disabled by default. Use this switch to turn
              them on.

-[no]debug / -[no]d (default: -nodebug)
              Activates the integrated debugger.
              During emulation, press the Tilde key (~) to activate the
              debugger. This is available only if the program is compiled with
              MAME_DEBUG defined.

-cheatfile X / -cf X (default: cheat.dat)
              Allows you to specify an alternate cheat file.

-historyfile X / -history_file X (default: history.dat)
              Allows you to specify an alternate history file.

-mameinfofile X / -mameinfo_file X (default: mameinfo.dat)
              Allows you to specify an alternate mame info file.

-resolution WxHxD / -r WxHxD
              where W and H are width and height (ex: '-resolution 800x600')
              and D is the depth ( this overrides the -depth parameter ).
              MAME goes to some lengths to autoselect a good resolution. You
              can override MAME's choice with this option. You can omit the
              word "resolution" and simply use -XxY (e.g. '-800x600') as a
              shortcut. Frontend authors are advised to use '-resolution XxY',
              however.

-vectorres WxHxD
              Allows you to specify a different resolution used for vector
              games.

-debug_resolution WxHxD / -dr WxHxD (default: auto)
              Specifies the resolution when the debugger is enabled. This
              controls how big the debugger screen will be, and therefore,
              how many rows/columns it will display.
              The default is 640x480.

-language X (default: english)
              Allows you to localise the user interface.

-hiscore_directory X (default: HI)
              If there exists a file HISCORE.DAT in the MAME directory,
              highscores may also be saved for games that do not have the
              original hardware to support this. The quality of this feature
              depends on the accuracy of the externally available file
              HISCORE.DAT.

-state_directory X (default: STATE)
              MAME supports state saving for some games. These states will be
              saved here.

-cheat_directory X (default: .)
              Allows you to specify the directory of the cheat file.

-memcard_directory X (default: MEMCARD)
              The original hardware of some games supports so-called memory cards.
              The contents of these are stored here.

-nvram_directory X (default: NVRAM)
              The original hardware of some games use non-volative ram chips to
              save their configuration. The contents of these are saved into this
              directory.

-artwork_directory X (default: ARTWORK)
              Some games used extra artwork not created by electical circuits.
              MAME supports such artwork in PNG image format, located in this
              directory.

-cfg_directory X (default: CFG)
              After running a game, MAME stores some user changeable settings
              into cfg_directory/gamename.cfg. Additionally, on the first start
              of MAME a cfg_directory/default.cfg is created.

-snapshot_directory X (default: SNAP)
              Screenshots will go here.

-diff_directory X (default: DIFF)
              Directory for hard drive image difference files.

-ctrlr_directory
              This directory holds controller-specific input port mapping .ini
              files. The default is CTRLR.

-rompath X / -rp X (default: .;ROMS)
              You can give a path (list of directories seperated by semicolons)
              of directories to be searched for roms.

-samplepath X / -sp X (default: .;SAMPLES)
              You can give a path (list of directories seperated by semicolons)
              of directories to be searched for samples.

-monitor X (default: standard)
              Selects the monitor type:
              standard: standard PC monitor
              ntsc:     NTSC monitor
              pal:      PAL monitor
              arcade:   arcade monitor

-centerx N and -centery N
              Each takes a signed value (-8 to 8 for centerx, -16 to 16 for
              centery) and lets you change the low scanrate modes (monitor=ntsc,
              pal, arcade).

-waitinterlace
              Forces update of both odd and even fields of an interlaced low
              scanrate display (monitor=ntsc,pal,arcade) for each game loop.

-zvg N ( default: 0 )
              Set to 1 to display vector output using a ZVG board, the on
              screen menus will only be displayed on the raster monitor.
              If you don't have a raster monitor attached and your machine
              isn't fast enough to generate the output for both monitors
              then set it to 2.

-pause_brightness N / -pb N (default: 0.65)
              Allows you to specify the brightness that is used when the
              emulation is paused.

-ignorecfg
              ignore mame.cfg and start with the default settings

-createconfig / -cc
              Creates the default mame.cfg file.

-log
              Creates a log of illegal memory accesses in ERROR.LOG

-playback name
              Plays back joystick input from file INP/name.inp

-record name
              Records joystick input to file INP/name.inp

-help, -?
              Displays current MAME version and copyright notice

 - - -

Note: By default, all the '-list' commands below write info to the screen. If
you wish to write the info to a textfile instead, add this to the end of your
command:

  > filename

...where 'filename' is the textfile's path and name (e.g., c:\mame\list.txt).

 - - -

-list / -ls
              Displays a list of currently supported games

-listfull / -ll
              Displays a list of game directory names + descriptions

-listgames 
              List the supported games, year, manufacturer

-listdetails
              Displays a detailed list of drivers and the hardware they use

-gamelist
              Used internally to produce gamelist.txt

-listsourcefile / - sourcefile
              Displays the source file (in the drivers directory) containing the driver
              for the specified game.  Useful for finding which driver a game runs on in
              order to fix bugs.

-listinfo / -li
              List comprehensive details for all of the supported games

-listclones / -lc
              Lists clones of the specified game. When no game is specified,
              this generates a list of all MAME-supported clones.

-listsamdir
              List directory names for samples. Some clones can share their samples with
              their parents (no pun intended).

-listcrc
              List CRC32 checksums of rom files

-listdupcrc
              Find romfiles with same CRC32 (for developers).

-listwrongmerge / -lwm
              An attempt to catch careless developers.

-listromsize / -lrs
              Some statistical data.

-listpalettesize / -lps
              More statistical data.

-listcpu
              Even more statistical data.

-wrongorientation
              Another attempt to catch careless developers.

-wrongfps
              And the next attempt to catch careless developers.

-noclones     used together with the list commands, doesn't list alternate
              versions of the same game

-listroms     Displays ROMs required by the specified game

-listsamples  Displays samples required by the specified game

-verifyroms   Checks specified game(s) for missing and invalid ROMs.
              Adding * checks all available games.

-verifysets   Checks specified game(s) and reports its status.
              Adding * checks all available games.

-vset
              Checks specified game(s) and reports its status.
              Adding "*" checks all available games.
              Slightly more verbose output.

-verifysamples check selected game for missing samples.
              Adding * checks all available samples.

-vsam
              Check selected game for missing samples.
              Adding "*" checks all available samples.

-romident
              Attempts to identify ROM files, if they are known to MAME,
              in the specified .zip file.  Can be used to try and identify
              Romsets taken from unknown boards.

-isknown
              Very terse romident.

-sortname
-sortdriver
              Used internally for creating gamelist.txt

Keys
----
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
             arrow keys to modify it.
P            Pauses the game
Shift+P      While paused, advances to next frame
F3           Resets the game
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 emulator
