summaryrefslogtreecommitdiffstatshomepage
path: root/docs/config.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/config.txt')
-rw-r--r--docs/config.txt911
1 files changed, 911 insertions, 0 deletions
diff --git a/docs/config.txt b/docs/config.txt
new file mode 100644
index 00000000000..cd29497cc89
--- /dev/null
+++ b/docs/config.txt
@@ -0,0 +1,911 @@
+This file describes general usage information about MAME. It is intended
+to cover aspects of using and configuring the program that are common
+across operating systems. For additional OS-specific options, please see
+the separate documentation for your particular version of MAME.
+
+
+
+Using the program
+-----------------
+
+The usual way to run MAME is by telling it to run a particular game:
+
+ mame <gamename> [options]
+
+For example:
+
+ mame robby -nosound
+
+...will run Robby Roto without sound. There are many, many options
+available. All commonly supported options are listed below. Options that
+are specific to one operating system or version of MAME will be listed
+in a separate document.
+
+An alternative way to run MAME is to give it a command:
+
+ mame <command> [parameters]
+
+For example:
+
+ mame -listsource gridlee
+
+...will print the name of the source file where the gridlee driver lives
+to the screen. There are just a handful of these commands in MAME. They
+are all listed below, just before the options list.
+
+
+
+Default Keys
+------------
+
+All the keys below are fully configurable in the user interface. This list
+shows the standard keyboard configuration.
+
+Tab Toggles the configuration menu.
+
+~ Toggles the On Screen Display. When the on-screen display is
+ visible, you can use the following keys to control it:
+
+ Up - select previous parameter to modify
+ Down - select next parameter to modify
+ Enter - reset parameter value to its default
+
+ Left - decrease the value of the selected parameter
+ Control+Left - decrease the value by 10x
+ Shift+Left - decrease the value by 0.1x
+ Alt+Left - decrease the value by the smallest amount
+
+ Right - increase the value of the selected parameter
+ Control+Right - increase the value by 10x
+ Shift+Right - increase the value by 0.1x
+ Alt+Right - increase the value by the smallest amount
+
+P Pauses the game.
+
+Shift+P While paused, advances to next frame.
+
+F1 Toggle crosshairs for games that use them. Each subsequent
+ press will enable crosshairs for one more player.
+
+F2 Service Mode for games that support it.
+
+F3 Resets the game.
+
+Shift+F3 Performs a "hard reset", which tears everything down and re-
+ creates it from scratch. This is a more thorough and complete
+ reset than an F3.
+
+F4 Shows the game palette, decoded GFX, and any tilemaps. Use the
+ Enter key to switch between the three modes (palette, graphics,
+ and tilemaps). Press F4 again to turn off the display. The key
+ controls in each mode vary slightly:
+
+ * Palette/colortable mode:
+ [ ] - switch between palette and colortable modes
+ Up/Down - scroll up/down one line at a time
+ Page Up/Page Down - scroll up/down one page at a time
+ Home/End - move to top/bottom of list
+ -/+ - increase/decrease the number of colors per row
+ Enter - switch to graphics viewer
+
+ * Graphics mode:
+ [ ] - switch between different graphics sets
+ Up/Down - scroll up/down one line at a time
+ Page Up/Page Down - scroll up/down one page at a time
+ Home/End - move to top/bottom of list
+ Left/Right - change color displayed
+ R - rotate tiles 90 degrees clockwise
+ -/+ - increase/decrease the number of tiles per row
+ Enter - switch to tilemap viewer
+
+ * Tilemap mode:
+ [ ] - switch between different tilemaps
+ Up/Down/Left/Right - scroll 8 pixels at a time
+ Shift+Up/Down/Left/Right - scroll 1 pixel at a time
+ Control+Up/Down/Left/Right - scroll 64 pixels at a time
+ R - rotate tilemap view 90 degrees clockwise
+ -/+ - increase/decrease the zoom factor
+ Enter - switch to palette/colortable mode
+
+ Note: Not all games have decoded graphics and/or tilemaps.
+
+F6 Toggle cheat mode (if started with "-cheat").
+
+F7 Load a save state. You will be requested to press a key to
+ determine which save state you wish to load. Note that the save
+ state feature is not supported for a large number of drivers. If
+ support is not enabled for a given driver, you will receive a
+ warning when attempting to save or load.
+
+Shift+F7 Create a save state. Requires an additional keypress to identify
+ the state, similar to the load option above.
+
+F8 Decrease frame skip on the fly.
+
+F9 Increase frame skip on the fly.
+
+F10 Toggle speed throttling.
+
+F11 Toggles speed display.
+
+Shift+F11 Toggles profiler display (debug builds only).
+
+F12 Saves a screen snapshot.
+
+Insert Fast forward. While held, runs the game with throttling disabled
+ and with the maximum frameskip.
+
+Escape Exits emulator.
+
+
+
+
+Core commands
+-------------
+
+-help / -h / -?
+
+ Displays current MAME version and copyright notice.
+
+-validate / -valid
+
+ Performs internal validation on every driver in the system. Run this
+ before submitting changes to ensure that you haven't violated any of
+ the core system rules.
+
+
+
+Configuration commands
+----------------------
+
+-createconfig / -cc
+
+ Creates the default mame.ini file. All the configuration options
+ (not commands) described below can be permanently changed by editing
+ this configuration file.
+
+-showconfig / -sc
+
+ Displays the current configuration settings. If you route this to a
+ file, you can use it as an INI file. For example, the command:
+
+ mame -showconfig >mame.ini
+
+ is equivalent to -createconfig.
+
+-showusage / -su
+
+ Displays a summary of all the command line options. For options that
+ are not mentioned here, the short summary given by "mame -showusage"
+ is usually sufficient.
+
+
+
+Frontend commands
+-----------------
+
+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).
+
+-listxml / -lx [<gamename|wildcard>]
+
+ List comprehensive details for all of the supported games. The output
+ is quite long, so it is usually better to redirect this into a file.
+ The output is in XML format. By default all games are listed; however,
+ you can limit this list by specifying a driver name or wildcard after
+ the -listxml command.
+
+-listfull / -ll [<gamename|wildcard>]
+
+ Displays a list of game driver names and descriptions. By default all
+ games are listed; however, you can limit this list by specifying a
+ driver name or wildcard after the -listfull command.
+
+-listsource / -ls [<gamename|wildcard>]
+
+ Displays a list of drivers and the names of the source files their
+ game drivers live in. Useful for finding which driver a game runs on
+ in order to fix bugs. By default all games are listed; however, you
+ can limit this list by specifying a driver name or wildcard after
+ the -listsource command.
+
+-listclones / -lc [<gamename|wildcard>]
+
+ Displays a list of clones. By default all clones are listed; however,
+ you can limit this list by specifying a driver name or wildcard after
+ the -listsource command.
+
+-listcrc
+
+ Displays a full list of CRCs of all ROM images referenced by all
+ drivers within MAME.
+
+-listroms <gamename>
+
+ Displays a list of ROM images referenced by the specified game.
+
+-listsamples <gamename>
+
+ Displays a list of samples referenced by the specified game.
+
+-verifyroms [<gamename|wildcard>]
+
+ Checks for invalid or missing ROM images. By default all drivers that
+ have valid ZIP files or directories in the rompath are verified;
+ however, you can limit this list by specifying a driver name or
+ wildcard after the -verifyroms command.
+
+-verifysamples [<gamename|wildcard>]
+
+ Checks for invalid or missing samples. By default all drivers that
+ have valid ZIP files or directories in the samplepath are verified;
+ however, you can limit this list by specifying a driver name or
+ wildcard after the -verifyroms command.
+
+-romident
+
+ Attempts to identify ROM files, if they are known to MAME, in the
+ specified .zip file or directory. This command can be used to try and
+ identify ROM sets taken from unknown boards. On exit, the errorlevel
+ is returned as one of the following:
+
+ 0: means all files were identified
+ 7: means all files were identified except for 1 or more "non-ROM"
+ files
+ 8: means some files were identified
+ 9: means no files were identified
+
+
+
+Configuration options
+---------------------
+
+-[no]readconfig / -[no]rc
+
+ Enables or disables the reading of the config files. When enabled
+ (which is the default), MAME reads the following config files in order:
+
+ - mame.ini
+ - <mymame>.ini (i.e. if MAME was renamed mame060.exe, MAME
+ parses mame060.ini here)
+ - mamed.ini (if this is a debug build, i.e. mamed.exe)
+ - vector.ini (for vector games only)
+ - <driver>.ini (based on the source filename of the driver)
+ - <parent>.ini (for clones only, may be called recursively)
+ - <gamename>.ini
+
+ The settings in the later ini's override those in the earlier ini's.
+ So, for example, if you wanted to disable overlay effects in the
+ vector games, you can create a vector.ini with the "effect none" line
+ in it, and it will override whatever effect value you have in your
+ mame.ini. The default is ON (-readconfig).
+
+
+
+Core search path options
+------------------------
+
+-rompath / -rp <path>
+
+ Specifies a list of paths within which to find ROM or hard disk images.
+ Multiple paths can be specified by separating them with semicolons.
+ The default is 'roms' (that is, a directory "roms" in the same directory
+ as the MAME executable).
+
+-samplepath / -sp <path>
+
+ Specifies a list of paths within which to find sample files. Multiple
+ paths can be specified by separating them with semicolons. The default
+ is 'samples' (that is, a directory "samples" in the same directory as
+ the MAME executable).
+
+-artpath / -artwork_directory <path>
+
+ Specifies a list of paths within which to find artwork files. Multiple
+ paths can be specified by separating them with semicolons. The default
+ is 'artwork' (that is, a directory "artwork" in the same directory as
+ the MAME executable).
+
+-ctrlrpath / -ctrlr_directory <path>
+
+ Specifies a list of paths within which to find controller-specific
+ configuration files. Multiple paths can be specified by separating
+ them with semicolons. The default is 'ctrlr' (that is, a directory
+ "ctrlr" in the same directory as the MAME executable).
+
+-inipath <path>
+
+ Specifies a list of paths within which to find .INI files. Multiple
+ paths can be specified by separating them with semicolons. The default
+ is '.;ini' (that is, search in the current directory first, and then
+ in the directory "ini" in the same directory as the MAME executable).
+
+-fontpath <path>
+
+ Specifies a list of paths within which to find .BDF font files. Multiple
+ paths can be specified by separating them with semicolons. The default
+ is '.' (that is, search in the same directory as the MAME executable).
+
+
+
+Core Output Directory Options
+-----------------------------
+
+-cfg_directory <path>
+
+ Specifies a single directory where configuration files are stored.
+ Configuration files store user configurable settings that are read at
+ startup and written when MAME exits. The default is 'cfg' (that is,
+ a directory "cfg" in the same directory as the MAME executable). If
+ this directory does not exist, it will be automatically created.
+
+-nvram_directory <path>
+
+ Specifies a single directory where NVRAM files are stored. NVRAM files
+ store the contents of EEPROM and non-volatile RAM (NVRAM) for games
+ which used this type of hardware. This data is read at startup and
+ written when MAME exits. The default is 'nvram' (that is, a directory
+ "nvram" in the same directory as the MAME executable). If this
+ directory does not exist, it will be automatically created.
+
+-memcard_directory <path>
+
+ Specifies a single directory where memory card files are stored.
+ Memory card files store the contents of removable memory cards for
+ games which used this type of hardware. This data is read and written
+ under control of the user via the "Memory Card" menu in the user
+ interface. The default is 'memcard' (that is, a directory "memcard"
+ in the same directory as the MAME executable). If this directory does
+ not exist, it will be automatically created.
+
+-input_directory <path>
+
+ Specifies a single directory where input recording files are stored.
+ Input recordings are created via the -record option and played back
+ via the -playback option. The default is 'inp' (that is, a directory
+ "inp" in the same directory as the MAME executable). If this directory
+ does not exist, it will be automatically created.
+
+-state_directory <path>
+
+ Specifies a single directory where save state files are stored. Save
+ state files are read and written either upon user request, or when
+ using the -autosave option. The default is 'sta' (that is, a directory
+ "sta" in the same directory as the MAME executable). If this directory
+ does not exist, it will be automatically created.
+
+-snapshot_directory <path>
+
+ Specifies a single directory where screen snapshots are stored, when
+ requested by the user. The default is 'snap' (that is, a directory
+ "snap" in the same directory as the MAME executable). If this
+ directory does not exist, it will be automatically created.
+
+-diff_directory <path>
+
+ Specifies a single directory where hard drive differencing files are
+ stored. Hard drive differencing files store any data that is written
+ back to a hard disk image, in order to preserve the original image.
+ The differencing files are created at startup when a game with a hard
+ disk image. The default is 'diff' (that is, a directory "diff" in the
+ same directory as the MAME executable). If this directory does not
+ exist, it will be automatically created.
+
+-comment_directory <path>
+
+ Specifies a single directory where debugger comment files are stored.
+ Debugger comment files are written by the debugger when comments are
+ added to the disassembly for a game. The default is 'comments' (that
+ is, a directory "comments" in the same directory as the MAME
+ executable). If this directory does not exist, it will be
+ automatically created.
+
+
+
+Core Filename Options
+---------------------
+
+-cheat_file <filename>
+
+ Specifies the name of the cheat database file. The default is
+ 'cheat.dat'.
+
+
+
+Core state/playback options
+---------------------------
+
+-state <slot>
+
+ Immediately after starting the specified game, will cause the save
+ state in the specified <slot> to be loaded.
+
+-[no]autosave
+
+ When enabled, automatically creates a save state file when exiting
+ MAME and automatically attempts to reload it when later starting MAME
+ with the same game. This only works for games that have explicitly
+ enabled save state support in their driver. The default is OFF
+ (-noautosave).
+
+-playback / -pb <filename>
+
+ Specifies a file from which to play back a series of game inputs. This
+ feature does not work reliably for all games, but can be used to watch
+ a previously recorded game session from start to finish. In order to
+ make things consistent, you should only record and playback with all
+ configuration (.cfg), NVRAM (.nv), and memory card files deleted. The
+ default is NULL (no playback).
+
+-record / -rec <filename>
+
+ Specifies a file to record all input from a game session. This can be
+ used to record a game session for later playback. This feature does
+ not work reliably for all games, but can be used to watch a previously
+ recorded game session from start to finish. In order to make things
+ consistent, you should only record and playback with all configuration
+ (.cfg), NVRAM (.nv), and memory card files deleted. The default is
+ NULL (no recording).
+
+-mngwrite <filename>
+
+ Writes each video frame to the given <filename> in MNG format,
+ producing an animation of the game session. Note that -mngwrite only
+ writes video frames; it does not save any audio data. Use -wavwrite
+ for that, and reassemble the audio/video using offline tools. The
+ default is NULL (no recording).
+
+-wavwrite <filename>
+
+ Writes the final mixer output to the given <filename> in WAV format,
+ producing an audio recording of the game session. The default is
+ NULL (no recording).
+
+
+
+Core performance options
+------------------------
+
+-[no]autoframeskip / -[no]afs
+
+ Automatically determines the frameskip level while you're playing the
+ game, adjusting it constantly in a frantic attempt to keep the game
+ running at full speed. Turning this on overrides the value you have
+ set for -frameskip below. The default is OFF (-noautoframeskip).
+
+-frameskip / -fs <level>
+
+ Specifies the frameskip value. This is the number of frames out of
+ every 12 to drop when running. For example, if you say -frameskip 2,
+ then MAME will display 10 out of every 12 frames. By skipping those
+ frames, you may be able to get full speed in a game that requires more
+ horsepower than your computer has. The default value is -frameskip 0,
+ which skips no frames.
+
+-seconds_to_run / -str <seconds>
+
+ This option can be used for benchmarking and automated testing. It tells
+ MAME to stop execution after a fixed number of seconds. By combining
+ this with a fixed set of other command line options, you can set up a
+ consistent environment for benchmarking MAME performance. In addition,
+ upon exit, the -str option will write a screenshot called final.png
+ to the game's snapshot directory.
+
+-[no]throttle
+
+ Configures the default thottling setting. When throttling is on, MAME
+ attempts to keep the game running at the game's intended speed. When
+ throttling is off, MAME runs the game as fast as it can. Note that the
+ fastest speed is more often than not limited by your graphics card,
+ especially for older games. The default is ON (-throttle).
+
+-[no]sleep
+
+ Allows MAME to give time back to the system when running with -throttle.
+ This allows other programs to have some CPU time, assuming that the
+ game isn't taxing 100% of your CPU resources. This option can
+ potentially cause hiccups in performance if other demanding programs
+ are running. The default is ON (-sleep).
+
+-speed <factor>
+
+ Changes the way MAME throttles gameplay such that the game runs at some
+ multiplier of the original speed. A <factor> of 1.0 means to run the
+ game at its normal speed. A <factor> of 0.5 means run at half speed,
+ and a <factor> of 2.0 means run at 2x speed. Note that changing this
+ value affects sound playback as well, which will scale in pitch
+ accordingly. The internal resolution of the fraction is two decimal
+ places, so a value of 1.002 is the same as 1.0. The default is 1.0.
+
+-[no]refreshspeed / -[no]rs
+
+ Allows MAME to dynamically adjust the gameplay speed such that it does
+ not exceed the slowest refresh rate for any targeted monitors in your
+ system. Thus, if you have a 60Hz monitor and run a game that is
+ actually designed to run at 60.6Hz, MAME will dynamically change the
+ speed down to 99% in order to prevent sound hiccups or other
+ undesirable side effects of running at a slower refresh rate. The
+ default is OFF (-norefreshspeed).
+
+
+
+Core rotation options
+---------------------
+
+-[no]rotate
+
+ Rotate the game to match its normal state (horizontal/vertical). This
+ ensures that both vertically and horizontally oriented games show up
+ correctly without the need to rotate your monitor. If you want to keep
+ the game displaying 'raw' on the screen the way it would have in the
+ arcade, turn this option OFF. The default is ON (-rotate).
+
+-[no]ror
+-[no]rol
+
+ Rotate the game screen to the right (clockwise) or left (counter-
+ clockwise) relative to either its normal state (if -rotate is
+ specified) or its native state (if -norotate is specified). The
+ default for both of these options is OFF (-noror -norol).
+
+-[no]flipx
+-[no]flipy
+
+ Flip (mirror) the game screen either horizontally (-flipx) or
+ vertically (-flipy). The flips are applied after the -rotate and
+ -ror/-rol options are applied. The default for both of these options
+ is OFF (-noflipx -noflipy).
+
+-[no]autoror
+-[no]autorol
+
+ These options are designed for use with pivoting screens that only
+ pivot in a single direction. If your screen only pivots clockwise,
+ use -autorol to ensure that the game will fill the screen either
+ horizontally or vertically in one of the directions you can handle.
+ If your screen only pivots counter-clockwise, use -autoror.
+
+
+
+Core artwork options
+--------------------
+
+-[no]artwork_crop / -[no]artcrop
+
+ Enable cropping of artwork to the game screen area only. This works
+ best with -video gdi or -video d3d, and means that vertically oriented
+ games running full screen can display their artwork to the left and
+ right sides of the screen. This does not work with -video ddraw
+ because of the way the game screens are rendered and scaled after the
+ fact. This option can also be controlled via the Video Options menu in
+ the user interface. The default is OFF (-noartwork_crop).
+
+-[no]use_backdrops / -[no]backdrop
+
+ Enables/disables the display of backdrops. The default is ON
+ (-use_backdrops).
+
+-[no]use_overlays / -[no]overlay
+
+ Enables/disables the display of overlays. The default is ON
+ (-use_overlays).
+
+-[no]use_bezels / -[no]bezel
+
+ Enables/disables the display of bezels. The default is ON
+ (-use_bezels).
+
+
+
+Core screen options
+-------------------
+
+-brightness <value>
+
+ Controls the default brightness, or black level, of the game screens.
+ This option does not affect the artwork or other parts of the display.
+ Using the MAME UI, you can individually set the brightness for each
+ game screen; this option controls the initial value for all visible
+ game screens. The standard value is 1.0. Selecting lower values (down
+ to 0.1) will produce a darkened display, while selecting higher values
+ (up to 2.0) will give a brighter display. The default is 1.0.
+
+-contrast <value>
+
+ Controls the contrast, or white level, of the game screens. This
+ option does not affect the artwork or other parts of the display.
+ Using the MAME UI, you can individually set the contrast for each
+ game screen; this option controls the initial value for all visible
+ game screens. The standard value is 1.0. Selecting lower values (down
+ to 0.1) will produce a dimmer display, while selecting higher values
+ (up to 2.0) will give a more saturated display. The default is 1.0.
+
+-gamma <value>
+
+ Controls the gamma, which produces a potentially nonlinear black to
+ white ramp, for the game screens. This option does not affect the
+ artwork or other parts of the display. Using the MAME UI, you can
+ individually set the gamma for each game screen; this option controls
+ the initial value for all visible game screens. The standard value is
+ 1.0, which gives a linear ramp from black to white. Selecting lower
+ values (down to 0.1) will increase the nonlinearity toward black,
+ while selecting higher values (up to 3.0) will push the nonlinearity
+ toward white. The default is 1.0.
+
+-pause_brightness <value>
+
+ This controls the brightness level when MAME is paused. The default
+ value is 0.65.
+
+
+
+Core vector options
+-------------------
+
+-[no]antialias / -[no]aa
+
+ Enables antialiased line rendering for vector games. The default is ON
+ (-antialias).
+
+-beam <width>
+
+ Sets the width of the vectors. This is a scaling factor against the
+ standard vector width. A value of 1.0 will keep the default vector
+ line width. Smaller values will reduce the width, and larger values
+ will increase the width. The default is 1.0.
+
+-flicker <value>
+
+ Simulates a vector "flicker" effect, similar to a vector monitor that
+ needs adjustment. This option requires a float argument in the range
+ of 0.00 - 100.00 (0=none, 100=maximum). The default is 0.
+
+
+
+Core sound options
+------------------
+
+-[no]sound
+
+ Enable or disable sound altogether. The default is ON (-sound).
+
+-samplerate <value> / -sr <value>
+
+ Sets the audio sample rate. Smaller values (e.g. 11025) cause lower
+ audio quality but faster emulation speed. Higher values (e.g. 48000)
+ cause higher audio quality but slower emulation speed. The default is
+ 48000.
+
+-[no]samples
+
+ Use samples if available. The default is ON (-samples).
+
+-volume / -vol <value>
+
+ Sets the startup volume. It can later be changed with the user
+ interface (see Keys section). The volume is an attenuation in dB:
+ e.g., "-volume -12" will start with -12dB attenuation. The default
+ is 0.
+
+
+
+Core input options
+------------------
+
+-ctrlr <controller>
+
+ Enables support for special controllers. Configuration files are
+ loaded from the ctrlrpath. They are in the same format as the .cfg
+ files that are saved, but only control configuration data is read
+ from the file. The default is NULL (no controller file).
+
+-[no]mouse
+
+ Controls whether or not MAME makes use of mouse controllers. When
+ this is enabled, you will likely be unable to use your mouse for other
+ purposes until you exit or pause the game. The default is OFF
+ (-nomouse).
+
+-[no]joystick / -[no]joy
+
+ Controls whether or not MAME makes use of joystick/gamepad controllers.
+ When this is enabled, MAME will ask DirectInput about which
+ controllers are connected. The default is OFF (-nojoystick).
+
+-[no]lightgun / -[no]gun
+
+ Controls whether or not MAME makes use of lightgun controllers.
+ Note that most lightguns map to the mouse, so using -lightgun and
+ -mouse together may produce strange results. The default is OFF
+ (-nolightgun).
+
+-[no]multikeyboard / -[no]multikey
+
+ Determines whether MAME differentiates between multiple keyboards.
+ Some systems may report more than one keyboard; by default, the data
+ from all of these keyboards is combined so that it looks like a single
+ keyboard. Turning this option on will enable MAME to report keypresses
+ on different keyboards independently. The default is OFF
+ (-nomultikeyboard).
+
+-[no]multimouse
+
+ Determines whether MAME differentiates between multiple mice. Some
+ systems may report more than one mouse device; by default, the data
+ from all of these mice is combined so that it looks like a single
+ mouse. Turning this option on will enable MAME to report mouse
+ movement and button presses on different mice independently. The
+ default is OFF (-nomultimouse).
+
+-[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 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. The
+ default is OFF (-nosteadykey)
+
+-[no]offscreen_reload / -[no]reload
+
+ Controls whether or not MAME treats a second button input from a
+ lightgun as a reload signal. In this case, MAME will report the gun's
+ position as (0,MAX) with the trigger held, which is equivalent to an
+ offscreen reload. This is only needed for games that required you to
+ shoot offscreen to reload, and then only if your gun does not support
+ off screen reloads. The default is OFF (-nooffscreen_reload).
+
+-joystick_map <map> / -joymap <map>
+
+ Controls how joystick values map to digital joystick controls. MAME
+ accepts all joystick input from the system as analog data. For true
+ analog joysticks, this needs to be mapped down to the usual 4-way or
+ 8-way digital joystick values. To do this, MAME divides the analog
+ range into a 9x9 grid. It then takes the joystick axis position (for
+ X and Y axes only), maps it to this grid, and then looks up a
+ translation from a joystick map. This parameter allows you to specify
+ the map. The default is 'auto', which means that a standard 8-way,
+ 4-way, or 4-way diagonal map is selected automatically based on the
+ input port configuration of the current game.
+
+ Maps are defined as a string of numbers and characters. Since the grid
+ is 9x9, there are a total of 81 characters necessary to define a
+ complete map. Below is an example map for an 8-way joystick:
+
+ 777888999 Note that the numeric digits correspond to the keys
+ 777888999 on a numeric keypad. So '7' maps to up+left, '4' maps
+ 777888999 to left, '5' maps to neutral, etc. In addition to the
+ 444555666 numeric values, you can specify the character 's',
+ 444555666 which means "sticky". In this case, the value of the
+ 444555666 map is the same as it was the last time a non-sticky
+ 111222333 value was read.
+ 111222333
+ 111222333
+
+ To specify the map for this parameter, you can specify a string of
+ rows separated by a '.' (which indicates the end of a row), like so:
+
+ 777888999.777888999.777888999.444555666.444555666.444555666.
+ 111222333.111222333.111222333
+
+ However, this can be reduced using several shorthands supported by the
+ <map> parameter. If information about a row is missing, then it is
+ assumed that any missing data in columns 5-9 are left/right symmetric
+ with data in columns 0-4; and any missing data in colums 0-4 is
+ assumed to be copies of the previous data. The same logic applies to
+ missing rows, except that up/down symmetry is assumed.
+
+ By using these shorthands, the 81 character map can be simply
+ specified by this 11 character string: 7778...4445
+
+ Looking at the first row, 7778 is only 4 characters long. The 5th
+ entry can't use symmetry, so it is assumed to be equal to the previous
+ character '8'. The 6th character is left/right symmetric with the 4th
+ character, giving an '8'. The 7th character is left/right symmetric
+ with the 3rd character, giving a '9' (which is '7' with left/right
+ flipped). Eventually this gives the full 777888999 string of the row.
+
+ The second and third rows are missing, so they are assumed to be
+ identical to the first row. The fourth row decodes similarly to the
+ first row, producing 444555666. The fifth row is missing so it is
+ assumed to be the same as the fourth.
+
+ The remaining three rows are also missing, so they are assumed to be
+ the up/down mirrors of the first three rows, giving three final rows
+ of 111222333.
+
+-joystick_deadzone <value> / -joy_deadzone <value> / -jdz <value>
+
+ If you play with an analog joystick, the center can drift a little.
+ joystick_deadzone tells how far along an axis you must move before the
+ axis starts to change. This option expects a float in the range of
+ 0.0 to 1.0. Where 0 is the center of the joystick and 1 is the outer
+ limit. The default is 0.3.
+
+-joystick_saturation <value> / joy_saturation <value> / -jsat <value>
+
+ If you play with an analog joystick, the ends can drift a little,
+ and may not match in the +/- directions. joystick_saturation tells how
+ far along an axis movement change will be accepted before it reaches
+ the maximum range. This option expects a float in the range of 0.0 to
+ 1.0, where 0 is the center of the joystick and 1 is the outer limit.
+ The default is 0.85.
+
+
+
+Core input automatic enable options
+-----------------------------------
+
+-paddle_device <keyboard|mouse|joystick|lightgun|none> / -paddle
+-adstick_device <keyboard|mouse|joystick|lightgun|none> / -adstick
+-pedal_device <keyboard|mouse|joystick|lightgun|none> / -pedal
+-dial_device <keyboard|mouse|joystick|lightgun|none> / -dial
+-trackball_device <keyboard|mouse|joystick|lightgun|none> / -trackball
+-lightgun_device <keyboard|mouse|joystick|lightgun|none>
+-positional_device <keyboard|mouse|joystick|lightgun|none>
+
+ Each of these options controls autoenabling the mouse, joystick, or
+ lightgun depending on the presence of a particular class of analog
+ control for a particular game. For example, if you specify the option
+ -paddle mouse, then any game that has a paddle control will
+ automatically enable mouse controls just as if you had explicitly
+ specified -mouse. Note that these controls override the values of
+ -[no]mouse, -[no]joystick, etc.
+
+
+
+Debugging options
+-----------------
+
+-[no]log
+
+ Creates a file called error.log which contains all of the internal
+ log messages generated by the MAME core and game drivers. The default
+ is OFF (-nolog).
+
+-[no]verbose / -[no]v
+
+ Displays internal diagnostic information. This information is very
+ useful for debugging problems with your configuration. IMPORTANT: when
+ reporting bugs, please run with mame -verbose and include the
+ resulting information. The default is OFF (-noverbose).
+
+-[no]debug
+
+ Activates the integrated debugger. This is available only if the
+ program is compiled with MAME_DEBUG defined. By default, the debugger
+ is entered by pressing the tilde (~) key during emulation. It is also
+ entered immediately at startup. The default is ON (-debug).
+
+-debugscript <filename>
+
+ Specifies a file that contains a list of debugger commands to execute
+ immediately upon startup. The default is NULL (no commands).
+
+
+
+Core misc options
+-----------------
+
+-bios <biosname>
+
+ Specifies the specific BIOS to use with the current game, for game
+ systems that make use of a BIOS. The -listxml output will list all of
+ the possible BIOS names for a game. The default is 'default'.
+
+-[no]cheat / -[no]c
+
+ Enables the reading of the cheat database, if present, and the Cheat
+ menu in the user interface. The default is OFF (-nocheat).
+
+-[no]skip_gameinfo
+
+ Forces MAME to skip displaying the game info screen. The default is
+ OFF (-noskip_gameinfo).