summaryrefslogtreecommitdiffstatshomepage
path: root/docs
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-12-25 02:57:15 +1100
committer Vas Crabb <vas@vastheman.com>2018-12-25 02:57:15 +1100
commit0374e6f542cdffa50b7f48e228fb16ef91d0db2c (patch)
treef778b1f6105a00889926439b83cb1c93b1c97017 /docs
parent6bdcef6f1742321b88ad514a29ec0974d19abbcd (diff)
(nw) update some documentation and get the MAME and legacy MESS pages more in sync. sorry if I've busted formatting, I can't currently build sphinx or man on this Windows notebook.
Diffstat (limited to 'docs')
-rw-r--r--docs/man/mame.6107
-rw-r--r--docs/man/mess.6235
-rw-r--r--docs/source/commandline/commandline-all.rst9
3 files changed, 260 insertions, 91 deletions
diff --git a/docs/man/mame.6 b/docs/man/mame.6
index 29e5ea40649..e076e9fff25 100644
--- a/docs/man/mame.6
+++ b/docs/man/mame.6
@@ -119,7 +119,7 @@ Displays a list of samples referenced by the specified game.
.TP
.B \-verifyroms \fR[\fIgamename\fR|\fIwildcard\fR]
Checks for invalid or missing ROM images. By default all drivers that
-have valid ZIP files or directories in the rompath are verified;
+have valid ZIP files or directories in the rom path are verified;
however, you can limit this list by specifying a driver name or
wildcard after the \-verifyroms command.
.TP
@@ -429,7 +429,7 @@ MAME will create snapshots at the game's current resolution in raw
pixels, and will create movies at the game's starting resolution in
raw pixels. If you specify this option, then MAME will create both
snapshots and movies at the size specified, and will bilinear filter
-the result. Note that this size does not automatically rotate if the
+the result. Note that this size does not automatically rotate if the
game is vertically oriented. The default is 'auto'.
.TP
.B \-snapview internal\fR|\fBauto\fR|\fIviewname
@@ -440,8 +440,8 @@ specifying this option, you can override this default behavior and
select a single view that will apply to all snapshots and movies.
Note that \fIviewname\fP does not need to be a perfect match; rather, it
will select the first view whose name matches all the characters
-specified by \fIviewname\fP. For example, \-snapview native will match the
-"Native (15:14)" view even though it is not a perfect match.
+specified by \fIviewname\fP. For example, \-snapview native will match the
+"Native (15:14)" view even though it is not a perfect match.
\fIviewname\fP can also be 'auto', which selects the first view with all
screens present. The default value is 'internal'.
.TP
@@ -458,17 +458,17 @@ platform (even Windows); the literal \fB%g\fP represents the driver name of
the current game. The default is '%g', which creates a separate folder
for each game. Example: if you use
.B mame robby \-statename foo/%g
-save states will be stored inside \fBsta/foo/robby/\fP.
+save states will be stored inside \fBsta/foo/robby/\fP.
.TP
.B \-[no]burnin
-Tracks brightness of the screen during play and at the end of
+Tracks brightness of the screen during play and at the end of
emulation generates a PNG that can be used to simulate burn\-in
effects on other games. The resulting PNG is created such that the
-least used\-areas of the screen are fully white (since burned\-in areas
+least\-used areas of the screen are fully white (since burned\-in areas
are darker, all other areas of the screen must be lightened a touch).
The intention is that this PNG can be loaded via an artwork file with
a low alpha (e.g, 0.1\-0.2 seems to work well) and blended over the
-entire screen. The PNG files are saved in the snap directory under
+entire screen. The PNG files are saved in the snap directory under
the gamename\\burnin\-<screen.name>.png. The default is OFF (\-noburnin).
.\"
.\" *******************************************************
@@ -490,10 +490,10 @@ requires more horsepower than your computer has. The default value is 0,
which skips no frames.
.TP
.B \-seconds_to_run, \-str \fIvalue
-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,
+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.
.TP
@@ -668,7 +668,7 @@ needs adjustment. This option requires a float argument in the range of
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
-.B \-video\fR [\fIsoft\fR|\fIopengl\fR|\fInone\fR]
+.B \-video\fR [\fIsoft\fR|\fIopengl\fR|\fIbgfx\fR|\fInone\fR]
Specifies which video subsystem to use for drawing:
.br
\fBsoft\fR uses software rendering, which is slower but more compatible.
@@ -676,11 +676,13 @@ Specifies which video subsystem to use for drawing:
\fBopengl\fR uses OpenGL and your graphics accelerator to speed up many
aspects of drawing MAME including compositing artwork, overlays, and
bezels, as well as stretching the image to fit your screen.
-output on some cards.
+.br
+\fBbgfx\fR uses the bgfx renderer which supports portable shaders and
+multiple graphics APIs including OpenGL, OpenGL ES and DirectX.
.br
\fBnone\fR does no drawing and is intended for CPU benchmarking.
.br
-Default is 'soft'.
+Default is 'soft' on Linux or 'opengl' on macOS.
.TP
.B \-numscreens \fR[\fI1-4\fR]
Number of screens to create; usually, you want just one. Default is '1'.
@@ -695,7 +697,7 @@ The default is OFF (\-nowindow).
Controls initial window size in windowed mode. If it is set on, the
window will initially be set to the maximum supported size when you
start MAME. If it is turned off, the window will start out at the
-smallest supported size. This option only has an effect when the
+smallest supported size. This option only has an effect when the
\-window option is used. The default is ON (\-maximize).
.TP
.B \-[no]keepaspect, \-[no]ka
@@ -743,7 +745,7 @@ Default is OFF (\-nosyncrefresh).
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.B NOTE:
-All the options in this group are available only with softare video
+All the options in this group are available only with softare video
rendering subsystem, i.e \fB\-video soft\fR.
.TP
.B \-prescale\fR [\fIvalue\fR]
@@ -773,7 +775,7 @@ Default is NONE.
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.B NOTE:
-All the options in this group are available only with OpenGL video
+All the options in this group are available only with OpenGL video
rendering subsystem, i.e \fB\-video opengl\fR.
.TP
.B \-[no]filter, \-[no]glfilter, \-[no]flt
@@ -844,7 +846,7 @@ Preferred view for the first|second|third|fourth screen.
.SS BGFX post\-processing options
.\" *******************************************************
.B NOTE:
-All the options in this group are available only when BGFX video
+All the options in this group are available only when BGFX video
post\-processing is enabled, i.e \fB\-video bgfx\fR. For full info on BGFX
please visit official MAME documentation page:
.br
@@ -905,8 +907,27 @@ Split full screen image across monitors. Default is OFF (\-nouseallheads).
.SS Sound options
.\" *******************************************************
.TP
-.B \-[no]sound
-Enable or disable sound altogether. The default is ON (\-sound).
+.B \-sound\fR [\fIsdl\fR|\fIportaudio\fR|\fIcoreaudio\fR|\fIdsound\fR|\fIxaudio2\fR|\fInone\fR]
+Specifies which sound subsystem to use for audio output:
+.br
+\fBsdl\fR uses the Simple DirectMedia Layer audio output system
+(not available on Windows by default).
+.br
+\fBportaudio\fR uses the PortAudio library which supports low-latency
+output and multiple audio APIs.
+.br
+\fBcoreaudio\fR uses the Core Audio API which supports low-latency
+output and AudioUnit effects (only available on macOS).
+.br
+\fBdsound\fR uses the DirectSound API (only available on Windows).
+.br
+\fBxaudio2\fR uses the XAudio2 API which supports low-latency output
+(only available on Windows).
+.br
+\fBnone\fR produces no audio output.
+.br
+Default is 'dsound' on Windows, 'coreaudio' on macOS or 'sdl' on other
+platforms.
.TP
.B \-samplerate, \-srf \fIvalue
Sets the audio sample rate. Smaller values (e.g. 11025) cause lower
@@ -927,10 +948,11 @@ Sets the startup volume. It can later be changed with the user interface
.TP
.B \-audio_latency \fIvalue
This controls the amount of latency built into the audio streaming.
-The latency parameter controls the lower threshold. The default is 1
-(meaning lower=1/5 and upper=2/5). Set it to 2 (\-audio_latency 2) to keep
-the sound buffer between 2/5 and 3/5 full. If you crank it up to 4,
-you can definitely notice the lag.
+The exact behavior depends on the selected audio output module (see
+the \-sound option). Smaller values provide less audio delay while
+requiring better system performance. Higher values increase audio
+delay but may help avoid buffer under-runs and audio interruptions.
+The default is 1.
.\"
.\" *******************************************************
.SS Input options
@@ -974,15 +996,15 @@ 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
+on different keyboards independently. The default is OFF
(\-nomultikeyboard).
.TP
.B \-[no]multimouse
-Determines whether MAME differentiates between multiple mice. Some
+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
+mouse. Turning this option on will enable MAME to report mouse
+movement and button presses on different mice independently. The
default is OFF (\-nomultimouse).
.TP
.B \-[no]steadykey, \-[no]steady
@@ -996,14 +1018,16 @@ default is OFF (\-nosteadykey).
.TP
.B \-[no]ui_active
Enable MAME user interface on top of emulated keyboard (if present).
+User interface may be toggled during execution by pressing the key
+defined with \-ui_modekey.
Default is OFF (\-noui_active).
.TP
.B \-[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
+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).
.TP
.B \-joystick_map, \-joymap \fImap
@@ -1019,9 +1043,9 @@ limit. The default is 0.3.
.TP
.B \-joystick_saturation, \-joy_saturation, \-jsat \fIvalue
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
+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.
.TP
@@ -1073,7 +1097,7 @@ Specifies the full path to the keymap file to be used. A few
keymap files are available in \fB/usr/share/games/mess/keymaps\fR.
.TP
.B \-joy_idx[0\-8] \fIjoystick
-With these options you can assign a joystick to a
+With these options you can assign a joystick to a
specific index in MAME. Even if the kernel will list the joysticks
in a different order on the next boot, MAME will still see the joystick
as e.g. "Joystick 2". Use mame \-v to see which joysticks are recognized.
@@ -1120,8 +1144,8 @@ Alternative libGL.so to use; 'auto' selects SDL default.
.B \-positional_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR]
.TP
.B \-mouse_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR]
-Each of these options controls autoenabling the mouse, or joystick
-depending on the presence of a particular class of analog
+Each of these options controls automatically enabling the mouse, or
+joystick 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.
@@ -1148,8 +1172,8 @@ useful for debuggin in some scenarios (and gets in the way in others).
Default is OFF (\-noupdate_in_pause).
.TP
.B \-[no]debug, \-[no]d
-Activates the integrated debugger. By default, the debugger is entered
-by pressing the tilde (~) key during emulation. It is also entered
+Activates the integrated debugger. By default, the debugger is entered
+by pressing the tilde (~) key during emulation. It is also entered
immediately at startup. The default is OFF (\-nodebug).
.TP
.B \-debugscript \fIfilename
@@ -1224,7 +1248,7 @@ Forces MAME to skip displaying the game info screen. The default is OFF
Specifies the name of a BDF font file to use for the UI font. If this
font cannot be found or cannot be loaded, the system will fall back
to its built\-in UI font. On some platforms \fIfontname\fP can be a system
-font name instead of a BDF font file. The default is 'default' (use
+font name instead of a BDF font file. The default is 'default' (use
the OSD\-determined default font).
.TP
.B \-ui \fIsimple\fR|\fIcabinet
@@ -1267,9 +1291,6 @@ List of plugins to disable.
.TP
.B \-language, \-lang \fIvalue
Display language. Default is 'English'.
-.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
-.\" SDL specific
-.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
.B \-watchdog \fIvalue
Specifies a number of seconds after which MAME should automatically exit
diff --git a/docs/man/mess.6 b/docs/man/mess.6
index d5fe1e146e0..ec6a16b6ab5 100644
--- a/docs/man/mess.6
+++ b/docs/man/mess.6
@@ -105,27 +105,30 @@ home directory.
List comprehensive details for all of the supported systems. 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 systems are listed; however,
-you can limit this list by specifying a driver name or wildcard.
+you can limit this list by specifying a driver name or wildcard after
+the \-listxml command.
.TP
.B \-listfull, \-ll \fR[\fIsystem\fR|\fIwildcard\fR]
Displays a list of system driver names and descriptions. By default all
systems are listed; however, you can limit this list by specifying a
-driver name or wildcard.
+driver name or wildcard after the \-listfull command.
.TP
.B \-listsource, \-ls \fR[\fIsystem\fR|\fIwildcard\fR]
Displays a list of drivers and the names of the source files their system
drivers live in. Useful for finding which driver a system runs on in
order to fix bugs. By default all systems are listed; however, you can
-limit this list by specifying a driver name or wildcard.
+limit this list by specifying a driver name or wildcard after the
+\-listsource command.
.TP
.B \-listclones, \-lc \fR[\fIsystem\fR|\fIwildcard\fR]
Displays a list of clones. By default all clones are listed; however,
-you can limit this list by specifying a driver name or wildcard.
+you can limit this list by specifying a driver name or wildcard after
+the \-listclones command.
.TP
.B \-listbrothers, \-lb \fR[\fIsystem\fR|\fIwildcard\fR]
Displays a list of "brothers" or other drivers from same sourcefile.
By default all systems are listed; however, you can limit this list by
-specifying a driver name or wildcard.
+specifying a driver name or wildcard after the \-listbrothers command.
.TP
.B \-listcrc
Displays a full list of CRCs of all ROM images referenced by all
@@ -141,12 +144,13 @@ Displays a list of samples referenced by the specified system.
Checks for invalid or missing ROM images. By default all drivers that
have valid ZIP files or directories in the rom path are verified;
however, you can limit this list by specifying a driver name or
-wildcard.
+wildcard after the \-verifyroms command.
.TP
.B \-verifysamples \fR[\fIsystem\fR|\fIwildcard\fR]
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.
+however, you can limit this list by specifying a driver name or
+wildcard after the \-verifyroms command.
.TP
.B \-romident
Attempts to identify ROM files, if they are known to MESS, in the
@@ -211,7 +215,15 @@ the main configuration file
.br
based on the source file name of the system driver
.br
-3. \fI[parent]\fB.ini\fR
+3. \fBdebug.ini\fR, if the debugger is enabled
+.br
+4. \fBvector.ini\fR, for vector games only
+.br
+5. \fI[driver]\fB.ini\fR
+.br
+based on the source filename of the game driver
+.br
+6. \fI[parent]\fB.ini\fR
.br
for clones only, may be called recursively
.br
@@ -287,6 +299,16 @@ the MESS executable). If the Crosshair is set to default in the menu,
MESS will look for system/cross#.png and then cross#.png in the
specified path, where # is the player number. Failing that,
MESS will use built\-in default crosshairs.
+.TP
+.B \-pluginspath \fIpathname
+Specifies a single path within which to find plugins. The default
+is 'plugins' (that is, a directory 'plugins' in the same directory as
+the MESS executable).
+.TP
+.B \-languagepath \fIpathname
+Specifies a single path within which to find language files. The default
+is 'language' (that is, a directory 'language' in the same directory as
+the MESS executable).
.\"
.\" *******************************************************
.SS Output Directory Options
@@ -349,7 +371,7 @@ If this directory does not exist, it will be automatically created.
.TP
.B \-state \fIslot
Immediately after starting the specified system, will cause the save
-state in the specified slot to be loaded.
+state in the specified \fIslot\fP to be loaded.
.TP
.B \-[no]autosave
When enabled, automatically creates a save state file when exiting MESS
@@ -412,7 +434,7 @@ represents the driver name of the current system; and the literal \fB%i\fP
represents an incrementing index. If \fB%i\fP is omitted, then each
snapshot taken will overwrite the previous one; otherwise, MESS will
find the next empty value for \fB%i\fP and use that for a filename. The
-default is '%g/%i', which creates a separate folder for each game,
+default is \fB%g/%i\fP, which creates a separate folder for each system,
and names the snapshots under it starting with 0000 and increasing
from there. In addition to the above, for drivers using different
media, like carts or floppy disks, you can also use the
@@ -521,7 +543,7 @@ Controls the speed of gameplay, relative to realtime; smaller numbers are
slower. Default is 1.00.
.TP
.B \-[no]refreshspeed, \-[no]rs
-Automatically adjusts the \-speed parameter to keep the effective refresh
+Automatically adjusts the \fB\-speed\fR parameter to keep the effective refresh
rate below that of the lowest screen refresh rate.
Default is OFF (\-norefreshspeed).
.\"
@@ -529,10 +551,6 @@ Default is OFF (\-norefreshspeed).
.\" OS specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
-.B \-[no]multithreading, \-[no]mt
-Enable multithreading; this enables rendering and blitting on a separate
-thread. The default is OFF (\-nomultithreading).
-.TP
.B \-numprocessors, \-np \fIvalue
Set number of processors; this overrides the number the system reports.
.TP
@@ -651,15 +669,19 @@ Name of a PNG file to use for visual effects, or 'none'. Default is 'none'.
.SS Vector rendering options
.\" *******************************************************
.TP
-.B \-[no]antialias, \-[no]aa
-Enables antialiased line rendering for vector systems. The default is ON
-(\-antialias).
+.B \-beam_width_min \fIvalue
+.TP
+.B \-beam_width_max \fIvalue
+Sets the minimum and maximum width of the vectors. This is a scaling factor
+against the standard vector width, which is interpolated between minimum and
+maximum according to the beam's intensity. 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.
.TP
-.B \-beam \fIvalue
-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.
+.B \-beam_intensity_weight \fIvalue
+Applies an exponential weight to the minimum and maximum beam width. For
+positive values the interpolated scaling factor will affect lines with higher
+intensity more than lines with lower intensity. The default is 0.0.
.TP
.B \-flicker \fIvalue
Simulates a vector "flicker" effect, similar to a vector monitor that
@@ -673,18 +695,24 @@ needs adjustment. This option requires a float argument in the range of
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
-.B \-video\fR [\fIsoft\fR|\fIopengl\fR|\fInone\fR]
+.B \-video\fR [\fIsoft\fR|\fIopengl\fR|\fIbgfx\fR|\fInone\fR]
Specifies which video subsystem to use for drawing:
.br
\fBsoft\fR uses software rendering, which is slower but more compatible.
.br
\fBopengl\fR uses OpenGL and your graphics accelerator to speed up many
-aspects of drawing MESS including compositing artwork, overlays, and
+aspects of drawing MAME including compositing artwork, overlays, and
bezels, as well as stretching the image to fit your screen.
.br
+\fBbgfx\fR uses the bgfx renderer which supports portable shaders and
+multiple graphics APIs including OpenGL, OpenGL ES and DirectX.
+.br
\fBnone\fR does no drawing and is intended for CPU benchmarking.
.br
-Default is SOFT.
+Default is 'soft' on Linux or 'opengl' on macOS.
+.TP
+.B \-numscreens \fR[\fI1-4\fR]
+Number of screens to create; usually, you want just one. Default is '1'.
.TP
.B \-[no]window, \-[no]w
Run MESS in either full screen or a window. This is a fully\-featured window
@@ -711,6 +739,18 @@ Allow non\-integer stretch factors. Video purists should stay far, far away
from this option, while everyone else will be happy to know that it lets you
fill the screen properly in full\-screen mode. Default is ON (\-unevenstretch).
.TP
+.B \-[no]unevenstretchx, \-[no]uesx
+Act as \-[no]unevenstretch on horizontal basis only.
+.TP
+.B \-[no]intoverscan, \-[no]ios
+Allow overscan on integer scaled targets.
+.TP
+.B \-intscalex, \-sx
+Set horizontal integer scale factor.
+.TP
+.B \-intscaley, \-sy
+Set vertical integer scale factor.
+.TP
.B \-[no]centerh
Center horizontally within the view area. Default is ON (\-centerh).
.TP
@@ -731,8 +771,9 @@ Default is OFF (\-nosyncrefresh).
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+.B NOTE:
All the options in this group are available only with softare video
-rendering subsystem (\-video soft).
+rendering subsystem, i.e \fB\-video soft\fR.
.TP
.B \-prescale\fR [\fIvalue\fR]
Scale screen rendering by this amount in software. Default is 1.
@@ -760,12 +801,16 @@ Default is NONE.
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+.B NOTE:
All the options in this group are available only with OpenGL video
-rendering subsystem (\-video opengl or \-video opengl16).
+rendering subsystem, i.e \fB\-video opengl\fR.
.TP
.B \-[no]filter, \-[no]glfilter, \-[no]flt
Enable bilinear filtering on screen output. Default is ON (\-filter).
.TP
+.B \-prescale\fR [\fIvalue\fR]
+Scale screen rendering by this amount in software. Default is 1.
+.TP
.B \-[no]gl_forcepow2texture
Force power of two textures. Default is OFF (\-nogl_forcepow2texture).
.TP
@@ -829,6 +874,51 @@ format is \fIwidth\fRx\fIheight\fR[@\fIrefreshrate\fR] or 'auto'.
Preferred view for the first|second|third|fourth screen.
.\"
.\" *******************************************************
+.SS BGFX post\-processing options
+.\" *******************************************************
+.B NOTE:
+All the options in this group are available only when BGFX video
+post\-processing is enabled, i.e \fB\-video bgfx\fR. For full info on BGFX
+please visit official MAME documentation page:
+.br
+http://docs.mamedev.org/advanced/bgfx.html
+.TP
+.B \-bgfx_path \fIpathname
+This is where your BGFX shader files are stored.
+The default is 'bgfx' (that is, a directory "bgfx" in the same directory
+as the MESS executable).
+.TP
+.B \-bgfx_backend \fIauto\fR|\fIopengl\fR
+Selects a rendering backend for BGFX to use. The default is 'auto',
+which will let MESS choose the best selection for you.
+.TP
+.B \-bgfx_debug
+Enables BGFX debugging features. Most users will not need to use this.
+.TP
+.B \-bgfx_screen_chains \fIdefault\fR|\fIunfiltered\fR|\fIhlsl\fR[,...]
+This dictates how to handle BGFX rendering on a per\-display basis.
+For each display specify one of the possible choices:
+.br
+\fBdefault\fR default bilinear filterered output
+.br
+\fBunfiltered\fR nearest neighbor unfiltered output
+.br
+\fBhlsl\fR HLSL display simulation through shaders
+.br
+Separate directives for each window with a comma (,) and for each physical
+screen with a colon (:). For example, for an emulated game with 3 displays
+emulated on 3 windows on your monitor,
+.B \-bgfx_screen_chains default,unfiltered,default
+specifies to apply default filter on what is been rendered on the first
+and third window and leave the content of the second window unfiltered.
+.TP
+.B \-bgfx_shadow_mask \fIfilename
+This specifies the shadow mask effect PNG file. Default is 'slot-mask.png'.
+.TP
+.B \-bgfx_avi_name \fIfilename
+This specifies a filename for BGFX output logging.
+.\"
+.\" *******************************************************
.SS Full screen options
.\" *******************************************************
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -836,11 +926,10 @@ Preferred view for the first|second|third|fourth screen.
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
.B \-[no]switchres
-Affects full screen mode only. Chooses if MESS can try to change the
-screen resolution (color depth is normally left alone) when in
-full\-screen mode. If it's off, you always get your desktop resolution
-in full\-screen mode (which can be useful for LCDs).
-Default is OFF (\-noswitchres).
+Affects full screen mode only. Chooses if MESS can try to change the screen
+resolution (color depth is normally left alone) when in full\-screen mode. If
+it's off, you always get your desktop resolution in full\-screen mode (which can
+be useful for LCDs). Default is OFF (\-noswitchres).
.TP
.B \-[no]useallheads
Split full screen image across monitors. Default is OFF (\-nouseallhead).
@@ -849,8 +938,27 @@ Split full screen image across monitors. Default is OFF (\-nouseallhead).
.SS Sound options
.\" *******************************************************
.TP
-.B \-[no]sound
-Enable or disable sound altogether. The default is ON (\-sound).
+.B \-sound\fR [\fIsdl\fR|\fIportaudio\fR|\fIcoreaudio\fR|\fIdsound\fR|\fIxaudio2\fR|\fInone\fR]
+Specifies which sound subsystem to use for audio output:
+.br
+\fBsdl\fR uses the Simple DirectMedia Layer audio output system
+(not available on Windows by default).
+.br
+\fBportaudio\fR uses the PortAudio library which supports low-latency
+output and multiple audio APIs.
+.br
+\fBcoreaudio\fR uses the Core Audio API which supports low-latency
+output and AudioUnit effects (only available on macOS).
+.br
+\fBdsound\fR uses the DirectSound API (only available on Windows).
+.br
+\fBxaudio2\fR uses the XAudio2 API which supports low-latency output
+(only available on Windows).
+.br
+\fBnone\fR produces no audio output.
+.br
+Default is 'dsound' on Windows, 'coreaudio' on macOS or 'sdl' on other
+platforms.
.TP
.B \-samplerate, \-sr \fIvalue
Sets the audio sample rate. Smaller values (e.g. 11025) cause lower
@@ -872,8 +980,11 @@ The default is 0.
.TP
.B \-audio_latency \fIvalue
This controls the amount of latency built into the audio streaming.
-The latency parameter controls the lower threshold. The default is 3;
-increase to reduce glitches, decrease for responsiveness.
+The exact behavior depends on the selected audio output module (see
+the \-sound option). Smaller values provide less audio delay while
+requiring better system performance. Higher values increase audio
+delay but may help avoid buffer under-runs and audio interruptions.
+The default is 1.
.\"
.\" *******************************************************
.SS Input options
@@ -981,15 +1092,34 @@ The default is OFF (\-nonatural).
Enable contradictory direction digital joystick input at the same time.
Default is OFF (\-nojoystick_contradictory).
.TP
-.B \-uimodekey, \-umk
-Specifies the key used to toggle between full and partial UI mode.
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.TP
+.B \-uimodekey, \-umk \fIvalue
+Specifies the key used to toggle between full and partial UI mode.
+.TP
+.B \-uifontprovider \fIauto\fR|\fIsdl\fR|\fInone
+Provider for ui font.
+.TP
+.B \-output \fIconsole\fR|\fInetwork\fR|\fInone
+Provider for output.
+.TP
+.B \-keyboardprovider \fIauto\fR|\fIsdl\fR|\fInone
+Provider for keyboard input.
+.TP
+.B \-mouseprovider \fIauto\fR|\fIsdl\fR|\fInone
+Provider for mouse input.
+.TP
+.B \-lightgunprovider \fIauto\fR|\fInone
+Provider for lightgun input.
+.TP
+.B \-joystickprovider \fIauto\fR|\fIsdl\fR|\fInone
+Provider for joystick input.
+.TP
.B \-[no]keymap
-Enable keymap for non\-QWERTY keyboards. Used in conjunction
-with \fB\-keymap_file\fR. Default is OFF (\-nokeymap).
+Enable keymap for non\-QWERTY keyboards. Used in conjunction with
+\fB\-keymap_file\fR. Default is OFF (\-nokeymap).
.TP
.B \-keymap_file \fIkeymap_file
Specifies the full path to the keymap file to be used. A few
@@ -1037,13 +1167,12 @@ Alternative libGL.so to use; auto selects SDL default.
.B \-positional_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR]
.TP
.B \-mouse_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR]
-Each of these options controls auto\-enabling the mouse, or joystick
-depending on the presence of a particular class of analog
+Each of these options controls automatically enabling the mouse, or
+joystick depending on the presence of a particular class of analog
control for a particular system. For example, if you specify the option
\-paddle mouse, then any system 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.
+Note that these controls override the values of \-[no]mouse, \-[no]joystick, etc.
.\"
.\" *******************************************************
.SS Debugging options
@@ -1073,6 +1202,7 @@ immediately at startup. The default is OFF (\-nodebug).
.B \-debugscript \fIfilename
Specifies a file that contains a list of debugger commands to execute
immediately upon startup. The default is NULL (no commands).
+.\"
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
.\" SDL specific
.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -1128,6 +1258,9 @@ to its built\-in UI font. On some platforms \fIfontname\fP can be a system
font name instead of a BDF font file. The default is 'default' (use
the OSD\-determined default font).
.TP
+.B \-ui \fIsimple\fR|\fIcabinet
+Type of UI.
+.TP
.B \-ramsize, \-ram \fIvalue
Size of RAM (if supported by driver).
.TP
@@ -1163,6 +1296,18 @@ Path to web files. Default is /usr/share/games/mess/web.
.B \-[no]console
Enable emulator LUA console. Default is OFF (\-noconsole).
.TP
+.B \-[no]plugins
+Enable LUA plugin support. Default is ON (\-plugins).
+.TP
+.B \-plugin \fIvalue
+List of plugins to enable.
+.TP
+.B \-noplugin \fIvalue
+List of plugins to disable.
+.TP
+.B \-language, \-lang \fIvalue
+Display language. Default is 'English'.
+.TP
.B \-newui, \-nu
Use the new MESS UI.
.TP
diff --git a/docs/source/commandline/commandline-all.rst b/docs/source/commandline/commandline-all.rst
index 5c5d353901e..b0eadb4903b 100644
--- a/docs/source/commandline/commandline-all.rst
+++ b/docs/source/commandline/commandline-all.rst
@@ -1109,19 +1109,22 @@ Core Sound Options
.. _mame-commandline-sound:
-**-sound** *<dsound|sdl|coreaudio|xaudio|portaudio|none>*
+**-sound** *<dsound|coreaudio|sdl|xaudio2|portaudio|none>*
- Specifies which sound subsystem to use. '*none*' disables sound altogether.
+ Specifies which sound subsystem to use. Selecting *none* disables sound output altogether (sound hardware is still emulated). On Windows, *dsound*, *xaudio2*, *portaudio* and *none* are available. On macOS, *coreaudio*, *sdl*, *portaudio* and *none* are available. On other operating systems, *sdl*, *portaudio* and *none* are available. (Special build options allow *sdl* to be used on Windows, or *portaudio* to be disabled.)
The default is *dsound* on Windows. On Mac, *coreaudio* is the default. On all other platforms, *sdl* is the default.
On Windows and Linux, *portaudio* is likely to give the lowest possible latency, where on Mac *coreaudio* provides the best results.
+ When using the *sdl* sound subsystem, the audio API to use may be selected by setting the *SDL_AUDIODRIVER* environment variable. Available audio APIs depend on the operating system. On Windows, it may be necessary to set *SDL_AUDIODRIVER=directsound* if no sound output is produced by default.
+
.. _mame-commandline-audiolatency:
**-audio_latency** *<value>*
- This controls the amount of latency built into the audio streaming. By default MAME tries to keep the DirectSound audio buffer between 1/5 and 2/5 full. On some systems, this is pushing it too close to the edge, and you get poor sound sometimes. The latency parameter controls the lower threshold. The default is *1* (meaning lower=1/5 and upper=2/5). Set it to 2 (**-audio_latency 2**) to keep the sound buffer between 2/5 and 3/5 full. If you crank it up to 4, you can *definitely* notice audio lag.
+ The exact behavior depends on the selected audio output module. Smaller values provide less audio delay while requiring better system performance. Higher values increase audio delay but may help avoid buffer under-runs and audio interruptions. The default is *1*.
+