Using the program

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:

-tweak/-notweak (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.

-ntsc         a 288x224 mode with standard NTSC frequencies. You need some
              additional hardware (VGA2TV converter) to use this.

-vesamode vesa1/vesa2b/vesa2l/vesa3
              Forces the VESA mode. The best available one is used by default.
              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.)

-resolution XxY
              where X and Y are width and height (ex: '-resolution 800x600')
              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.

-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: 0 is
              the default, meaning that the screen is centered. You can specify
              both positive and negative offsets.

-scanlines/-noscanlines (default: -scanlines)
              Scanlines are small, evenly-spaced, horizontal blank lines that
              are typical of real arcade monitors. If you don't prefer this
              "authentic" look, turn scanlines off.

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

-depth n      (default: auto)
              Some games need 16-bit color to get accurate graphics. To improve
              speed, you can use '-depth 8', which limits the display to
              standard 256-color mode. (You can also use '-depth 16' to force
              256-color games to use 16-bit color, but this isn't recommended.)

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

-vgafreq n    where n can be 0 (default) 1, 2 or 3.
              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.

-vsync/-novsync (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).

-alwayssynced/-noalwayssynced (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.

-triplebuffer/-notriplebuffer (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.

-monitor NNNN (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.

-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!
              *******************************************

-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'

-frameskip 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.

-antialias/-noantialias (default: -antialias)
              Antialiasing for the vector games.

-beam n       Sets the width in pixels of the vectors. n is a float in the
              range of 1.00 through 16.00.

-flicker n    Makes the vectors flicker. n is an optional argument, a float in
              the range 0.00 - 100.00 (0=none, 100=maximum).

-translucency/-notranslucency (default: -translucency)
              Enables or disables vector translucency.

-soundcard n  Selects sound card. (If this is not specified, MAME will ask you.)

-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.

-stereo/-nostereo (default: -stereo)
              Selects stereo or mono output for games supporting stereo sound.

-volume 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.

-ym3812opl/-noym3812opl (default: -noym3812opl)
              Uses the SoundBlaster OPL chip for music emulation of the YM3812
              chip. This is faster, and is reasonably accurate, since the chips
              are 100% compatible. There is no control on the volume, however,
              and you need a real OPL chip for it to work  (If you are using an
              SB-compatible card that emulates the OPL in software, the built-in
              digital emulation will probably sound better).

-joy name (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.

-hotrod       Sets a default keyboard configuration suitable for the HotRod
              joystick by HanaHo Games.

-hotrodse     Sets a default keyboard configuration suitable for the HotRod SE
              joystick by HanaHo Games.

-steadykey    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.

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

-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         Displays a list of currently supported games

-listfull     Displays a list of game directory names + descriptions

-listroms     Displays ROMs required by the specified game

-listsamples  Displays samples required by the specified game

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

-listgames    list the supported games, year, manufacturer

-listinfo     list comprehensive details for all of the supported games

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

-noclones     used together with the list commands, doesn't list alternate
              versions of the same 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.

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

-romdir       Specifies an alternate directory (or zipfile name) for loading
              the ROMs for the specified game.
              E.g., 'mame pacman -romdir pachack' will run the Pac Man driver
              but load the ROMs from the "pachack" dir or "pachack.zip" archive.

-mouse/-nomouse (default: -mouse)
              Enables/disables mouse support

-cheat        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.

-debug        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.

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

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

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


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