diff options
Diffstat (limited to 'docs/source')
-rw-r--r-- | docs/source/commandline/commandline-all.rst | 144 | ||||
-rw-r--r-- | docs/source/commandline/commandline-index.rst | 31 | ||||
-rw-r--r-- | docs/source/techspecs/nscsi.rst | 40 |
3 files changed, 171 insertions, 44 deletions
diff --git a/docs/source/commandline/commandline-all.rst b/docs/source/commandline/commandline-all.rst index 3fb5fa0a3fb..5c5d353901e 100644 --- a/docs/source/commandline/commandline-all.rst +++ b/docs/source/commandline/commandline-all.rst @@ -349,6 +349,12 @@ Configuration Options Core Search Path Options ------------------------ +.. _mame-commandline-homepath: + +**-homepath** *<path>* + + Specifies a path where the base 'plugins' folder is to be found. The default is '.' (that is, in the current working directory). + .. _mame-commandline-rompath: **-rompath** / **-rp** *<path>* @@ -389,7 +395,7 @@ Core Search Path Options **-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). + 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 current working directory). .. _mame-commandline-cheatpath: @@ -415,7 +421,12 @@ Core Search Path Options Specifies a list of paths within which to find language files for localized UI text. +.. _mame-commandline-swpath: + +**-swpath** *<path>* + Specifies a path within which to find loose software to be used by emulation. + Core Output Directory Options ----------------------------- @@ -712,30 +723,30 @@ Core Video Options **-video** *<bgfx|gdi|d3d|opengl|soft|accel|none>* | -| Specifies which video subsystem to use for drawing. Options here depend on the operating system and whether this is an SDL-compiled version of MAME. +| Specifies which video subsystem to use for drawing. Options here depend on the operating system and whether this is an SDL-compiled version of MAME. | | Generally Available: | | Using '**bgfx**' specifies the new hardware accelerated renderer. -| Using '**opengl**' tells MAME to render video using OpenGL acceleration. -| Using '**none**' displays no windows and does no drawing. This is primarily present for doing CPU benchmarks without the overhead of the video system. +| Using '**opengl**' tells MAME to render video using OpenGL acceleration. +| Using '**none**' displays no windows and does no drawing. This is primarily present for doing CPU benchmarks without the overhead of the video system. | -| On Windows: +| On Windows: | -| Using '**gdi**' here, tells MAME to render video using older standard Windows graphics drawing calls. This is the slowest but most compatible option on older versions of Windows. -| Using '**d3d**' tells MAME to use Direct3D for rendering. This produces the better quality output than gdi and enables additional rendering options. It is recommended if you have a semi-recent (2002+) video card or onboard Intel video of the HD3000 line or better. +| Using '**gdi**' here, tells MAME to render video using older standard Windows graphics drawing calls. This is the slowest but most compatible option on older versions of Windows. +| Using '**d3d**' tells MAME to use Direct3D for rendering. This produces the better quality output than gdi and enables additional rendering options. It is recommended if you have a semi-recent (2002+) video card or onboard Intel video of the HD3000 line or better. | | On other platforms (including SDL on Windows): | | Using '**accel**' tells MAME to render video using SDL's 2D acceleration if possible. -| Using '**soft**' uses software rendering for video output. This isn't as fast or as nice as OpenGL but will work on any platform. +| Using '**soft**' uses software rendering for video output. This isn't as fast or as nice as OpenGL but will work on any platform. | | Defaults: | -| The default on Windows is **d3d**. -| The default for Mac OS X is '*opengl*' because OS X is guaranteed to have a compliant OpenGL stack. -| The default on all other systems is '*soft*'. - +| The default on Windows is **d3d**. +| The default for Mac OS X is '*opengl*' because OS X is guaranteed to have a compliant OpenGL stack. +| The default on all other systems is '*soft*'. +| .. _mame-commandline-numscreens: @@ -915,6 +926,18 @@ Core Artwork Options Enables/disables the display of marquees. The default is ON (*-use_marquees*). +.. _mame-commandline-fallbackartwork: + +**-fallback_artwork** + + Specifies fallback artwork if no external artwork or internal driver layout is defined. + +.. _mame-commandline-overrideartwork: + +**-override_artwork** + + Specifies override artwork for external artwork and internal driver layout. + Core Screen Options @@ -955,17 +978,23 @@ Core Screen Options Core Vector Options ------------------- -.. _mame-commandline-noantialias: +.. _mame-commandline-beamwidthmin: + +**-beam_width_min** *<width>* + + Sets the vector beam minimum width. -**-[no]antialias** / **-[no]aa** +.. _mame-commandline-beamwidthmax: - Enables antialiased line rendering for vector systems. The default is ON (*-antialias*). +**-beam_width_max** *<width>* -.. _mame-commandline-beam: + Sets the vector beam maximum width. -**-beam** *<width>* +.. _mame-commandline-beamintensityweight: - 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*. +**-beam_intensity_weight** *<weight>* + + Sets the vector beam intensity weight. .. _mame-commandline-flicker: @@ -1372,6 +1401,12 @@ Core Communication Options Remote port to connect to. This can be any traditional communications port as an unsigned 16-bit integer (0-65535). The default value is "*15122*". +.. _mame-commandline-commframesync: + +**-[no]comm_framesync** + + Synchronize frames between the communications network. The default is OFF (*-nocomm_framesync*). + Core Misc Options @@ -1424,6 +1459,12 @@ Core Misc Options Specifies the name of a 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 *fontname* can be a system font name instead of a BDF font file. The default is *default* (use the OSD-determined default font). +.. _mame-commandline-ui: + +**-ui** *<type>* + + Specifies the type of UI to use, either 'simple' or 'cabinet'. The default is Cabinet (*-ui cabinet*). + .. _mame-commandline-ramsize: **-ramsize** *[n]* @@ -1442,6 +1483,23 @@ Core Misc Options Displays a mouse cursor when using the built-in UI for MAME. The default is (*-noui_mouse*). +.. _mame-commandline-language: + +**-language** *<language>* + + Specify a localization language found in the *languagepath* tree. + +.. _mame-commandline-nvramsave: + +**-[no]nvram_save** + + Save the NVRAM contents when exiting machine emulation. By turning this off, you can retain your previous NVRAM contents as any current changes made will not be saved. The default of ON (*-nvram_save*). + + + +Scripting Options +----------------- + .. _mame-commandline-autobootcommand: **-autoboot_command** *"<command>"* @@ -1454,16 +1512,56 @@ Core Misc Options **-autoboot_delay** *[n]* - Timer delay (in seconds) to trigger command execution on autoboot. + Timer delay (in seconds) to trigger command execution on autoboot. .. _mame-commandline-autobootscript: **-autoboot_script** / **-script** *[filename.lua]* - File containing scripting to execute after machine boot. + File containing scripting to execute after machine boot. -.. _mame-commandline-language: +.. _mame-commandline-console: -**-language** *<language>* +**-[no]console** - Specify a localization language found in the *languagepath* tree. + Enables emulator Lua Console window. The default of OFF (*-noconsole*). + +.. _mame-commandline-plugins: + +**-plugins** + + Enable the use of Lua Plugins. The default is ON (*-plugins*). + +.. _mame-commandline-plugin: + +**-plugin** *[plugin shortname]* + + A list of Lua Plugins to enable, comma separated. + +.. _mame-commandline-noplugin: + +**-noplugin** *[plugin shortname]* + + A list of Lua Plugins to disable, comma separated. + + + +HTTP Server Options +------------------- +.. _mame-commandline-http: + +**-[no]http** + + Enable HTTP server. The default is OFF (*-nohttp*). + +.. _mame-commandline-httpport: + +**-http_port** *[port]* + + Choose HTTP server port. The default is *8080*. + +.. _mame-commandline-httproot: + +**-http_root** *[rootfolder]* + + Choose HTTP server document root. The default os *web*. diff --git a/docs/source/commandline/commandline-index.rst b/docs/source/commandline/commandline-index.rst index bd80476ac8e..a81c85ef4cc 100644 --- a/docs/source/commandline/commandline-index.rst +++ b/docs/source/commandline/commandline-index.rst @@ -82,6 +82,7 @@ Configuration Options Core Search Path Options ~~~~~~~~~~~~~~~~~~~~~~~~ +| :ref:`homepath <mame-commandline-homepath>` | :ref:`rompath <mame-commandline-rompath>` | :ref:`hashpath <mame-commandline-hashpath>` | :ref:`samplepath <mame-commandline-samplepath>` @@ -93,6 +94,7 @@ Core Search Path Options | :ref:`crosshairpath <mame-commandline-crosshairpath>` | :ref:`pluginspath <mame-commandline-pluginspath>` | :ref:`languagepath <mame-commandline-languagepath>` +| :ref:`swpath <mame-commandline-swpath>` Core Output Directory Options @@ -194,6 +196,8 @@ Core Artwork Options | :ref:`[no]use_bezels <mame-commandline-nousebezels>` | :ref:`[no]use_cpanels <mame-commandline-nousecpanels>` | :ref:`[no]use_marquees <mame-commandline-nousemarquees>` +| :ref:`fallback_artwork <mame-commandline-fallbackartwork>` +| :ref:`override_artwork <mame-commandline-overrideartwork>` Core Screen Options @@ -209,8 +213,9 @@ Core Screen Options Core Vector Options ~~~~~~~~~~~~~~~~~~~ -| :ref:`[no]antialias <mame-commandline-noantialias>` -| :ref:`beam <mame-commandline-beam>` +| :ref:`beam_width_min <mame-commandline-beamwidthmin>` +| :ref:`beam_width_max <mame-commandline-beamwidthmax>` +| :ref:`beam_intensity_weight <mame-commandline-beamintensityweight>` | :ref:`flicker <mame-commandline-flicker>` @@ -299,6 +304,7 @@ Core Communication Options | :ref:`comm_localport <mame-commandline-commlocalport>` | :ref:`comm_remotehost <mame-commandline-commremotehost>` | :ref:`comm_remoteport <mame-commandline-commremoteport>` +| :ref:`[no]comm_framesync <mame-commandline-commframesync>` Core Misc Options @@ -312,13 +318,32 @@ Core Misc Options | :ref:`[no]cheat <mame-commandline-cheat>` | :ref:`[no]skip_gameinfo <mame-commandline-skipgameinfo>` | :ref:`uifont <mame-commandline-uifont>` +| :ref:`ui <mame-commandline-ui>` | :ref:`ramsize <mame-commandline-ramsize>` | :ref:`confirm_quit <mame-commandline-confirmquit>` | :ref:`ui_mouse <mame-commandline-uimouse>` +| :ref:`language <mame-commandline-language>` +| :ref:`[no]nvram_save <mame-commandline-nvramsave>` + + +Scripting Options +----------------- + | :ref:`autoboot_command <mame-commandline-autobootcommand>` | :ref:`autoboot_delay <mame-commandline-autobootdelay>` | :ref:`autoboot_script <mame-commandline-autobootscript>` -| :ref:`language <mame-commandline-language>` +| :ref:`[no]console <mame-commandline-console>` +| :ref:`[no]plugins <mame-commandline-plugins>` +| :ref:`plugin <mame-commandline-plugin>` +| :ref:`noplugin <mame-commandline-noplugin>` + + +HTTP Server Options +------------------- + +| :ref:`http <mame-commandline-http>` +| :ref:`http_port <mame-commandline-httpport>` +| :ref:`http_root <mame-commandline-httproot>` Windows-Specific Commandline Options diff --git a/docs/source/techspecs/nscsi.rst b/docs/source/techspecs/nscsi.rst index ef5c7aacbe6..da3773a30ff 100644 --- a/docs/source/techspecs/nscsi.rst +++ b/docs/source/techspecs/nscsi.rst @@ -1,12 +1,14 @@ The new SCSI subsystem ====================== -1. Introduction +Introduction +------------ The **nscsi** subsystem was created to allow an implementation to be closer to the physical reality, making it easier (hopefully) to implement new controller chips from the documentations. -2. Global structure +Global structure +---------------- Parallel SCSI is built around a symmetric bus to which a number of devices are connected. The bus is composed of 9 control lines (for now, later SCSI versions may have more) and up to 32 data lines (but currently implemented chips only handle 8). All the lines are open @@ -18,7 +20,8 @@ devices. Structurally, the implementation is done around two main classes: **nscsi_bus_devices** represents the bus, and **nscsi_device** represents an individual device. A device only communicate with the bus, and the bus takes care of transparently handling the device discovery and communication. In addition the **nscsi_full_device** class proposes a SCSI device with the SCSI protocol implemented making building generic SCSI devices like hard drives or CD-ROM readers easier. -3. Plugging in a SCSI bus in a driver +Plugging in a SCSI bus in a driver +---------------------------------- The nscsi subsystem leverages the slot interfaces and the device naming to allow for a configurable yet simple bus implementation. @@ -63,7 +66,8 @@ The full device name, for mapping purposes, will be **bus-tag:scsi-id:device-typ controller here. -4. Creating a new SCSI device using nscsi_device +Creating a new SCSI device using nscsi_device +--------------------------------------------- The base class "**nscsi_device**" is to be used for down-to-the-metal devices, i.e. SCSI controller chips. The class provides three variables and one method. The first variable, **scsi_bus**, is a pointer to the **nscsi_bus_device**. The second, **scsi_refid**, is an opaque reference to pass to the bus on some operations. Finally, **scsi_id** gives the SCSI ID as per the device tag. It's written once at startup and never written or read afterwards, the device can do whatever it wants with the value or the variable. @@ -111,7 +115,8 @@ to annoy you. The de-assert is called a disconnect. The **ncr5390** is an example of how to use a two-level state machine to handle all the events. -5. Creating a new SCSI device using **nscsi_full_device** +Creating a new SCSI device using **nscsi_full_device** +------------------------------------------------------ The base class "**nscsi_full_device**" is used to create HLE-d SCSI devices intended for generic uses, like hard drives, CD-ROMs, perhaps scanners, etc. The class provides the SCSI protocol handling, leaving only the command handling and (optionally) the message handling to the implementation. @@ -139,9 +144,9 @@ The **scsi_data_\*** and **scsi_status_complete** commands are queued, the comma *buffer-id* identifies a buffer. 0, aka **SBUF_MAIN**, targets the **scsi_cmdbuf** buffer. Other acceptable values are 2 or more. 2+ ids are handled through the **scsi_get_data** method for read and **scsi_put_data** for write. -**UINT8 device::scsi_get_data(int id, int pos)** must return byte pos of buffer id, upcalling in nscsi_full_device for id < 2. +**UINT8 device::scsi_get_data(int id, int pos)** must return byte pos of buffer id, upcalling in **nscsi_full_device** for id < 2. -**void device::scsi_put_data(int id, int pos, UINT8 data)** must write byte pos in buffer id, upcalling in nscsi_full_device for id < 2. +**void device::scsi_put_data(int id, int pos, UINT8 data)** must write byte pos in buffer id, upcalling in **nscsi_full_device** for id < 2. **scsi_get_data** and **scsi_put_data** should do the external reads/writes when needed. @@ -150,21 +155,20 @@ The device can also override **scsi_message** to handle SCSI messages other than A number of enums are defined to make things easier. The **SS_\*** enum gives status returns (with **SS_GOOD** for all's well). The **SC_\*** enum gives the scsi commands. The **SM_\*** enum gives the SCSI messages, with the exception of identify (which is **80-ff**, doesn't really fit in an enum). -6. What's missing -6.1. What's missing in **scsi_full_device** +What's missing in **scsi_full_device** +-------------------------------------- -Initiator support - we have no initiator device to HLE at that point. +- **Initiator support** We have no initiator device to HLE at that point. -Delays - a scsi_delay command would help giving more realistic timings to the CD-ROM reader in particular. +- **Delays** A scsi_delay command would help giving more realistic timings to the CD-ROM reader in particular. -Disconnected operation - would first require delays and in addition an emulated OS that can handle it. +- **Disconnected operation** Would first require delays and in addition an emulated OS that can handle it. -16-bits wide operation - needs an OS and an initiator that can handle it. +- **16-bits wide operation** needs an OS and an initiator that can handle it. -6.2. What's missing in the ncr5390 (and probably future other controllers) +What's missing in the ncr5390 (and probably future other controllers) +--------------------------------------------------------------------- -Bus free detection. Right now the bus is considered free if the controllers isn't using it, which is true. This may change once -disconnected operation is in. - -Target commands, we don't emulate (vs. HLE) any target yet. +- **Bus free detection** Right now the bus is considered free if the controllers isn't using it, which is true. This may change once disconnected operation is in. +- **Target commands** We don't emulate (vs. HLE) any target yet. |