Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions docs/SDL.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Debugging options

-[no]oslog

Outputs the error.log data to the stderr TTY channel (usually the
Outputs the error.log data to the stderr TTY channel (usually the
command line window MAME was started in). This can be used at
the same time as -log to output the log data to both targets as well.
Default is OFF (-nooslog).
Expand All @@ -34,20 +34,19 @@ Performance options

-[no]multithreading / -[no]mt

Enables multithreading for the final drawing operation. This can help
Enables multithreading for the final drawing operation. This can help
performance on multicore/hyperthreaded systems with slow video cards,
but may cause undesired behavior in some games.
Note that some drivers in MAME and MESS will use multiple threads even
when this is set to OFF, assuming -numprocessors allows it.
The default is OFF (-nomultithreading).


-numprocessors <auto|value> / -np <auto|value>

Specify the number of processors to use for work queues. Specifying
"auto" will use the value reported by the system or environment
"auto" will use the value reported by the system or environment
variable OSDPROCESSORS. To avoid abuse, this value is internally limited
to 4 times the number of processors reported by the system.
to 4 times the number of processors reported by the system.
The default is "auto".

-sdlvideofps
Expand All @@ -68,8 +67,8 @@ Video options

-video <soft|opengl|none>

Specifies which video subsystem to use for drawing. The default for
Mac OS X is 'opengl' because OS X is guaranteed to have a compliant
Specifies which video subsystem to use for drawing. 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'.

-numscreens <count>
Expand Down Expand Up @@ -188,7 +187,7 @@ Video OpenGL-specific options
-[no]gl_pbo Enable OpenGL PBO, if available (default on)

These 4 options are for compatibility in -video opengl. If you report
rendering artifacts you may be asked to try messing with them by the
rendering artifacts you may be asked to try messing with them by the
devs, but normally they should be left at their defaults which results
in the best possible video performance.

Expand Down Expand Up @@ -363,7 +362,7 @@ SDL Joystick Mapping
-joy_idx6 Name of joystick mapped to joystick #6, default is auto.
-joy_idx7 Name of joystick mapped to joystick #7, default is auto.
-joy_idx8 Name of joystick mapped to joystick #8, default is auto.
-sixaxis Use special handling for PS3 Sixaxis controllers.
-sixaxis Use special handling for PS3 Sixaxis controllers.
Default is OFF (-nosixaxis)


Expand Down
56 changes: 28 additions & 28 deletions docs/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -294,21 +294,21 @@ of your command:
Displays a list of all devices known to be hooked up to a game. The ":"
is considered the game itself with the devices list being attached to give
the user a better understanding of what the emulation is using.

-listslots [<gamename|wildcard>]

Show available slots and options for each slot (if available). Primarily
used for MESS to allow control over internal plug-in cards, much like PC's
needing video, sound and other cards.

-listmedia / -lm [<gamename|wildcard>]

List available media that the chosen game or system allows to be used. This
includes media types (cartridge, cassette, diskette and more) as well as
common file extentions which are supported.

-listsoftware [<gamename|wildcard>]

Posts to screen all software lists which can be used by the entered gamename
or system. Notice, this is simply a copy/paste of the .XML file which reside
in the HASH folder which are allowed to be used.
Expand All @@ -331,12 +331,12 @@ of your command:
softwarelistname. 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
specific softwarelistname (without .XML) after the -verifysoftlist command.

-listmidi

Create a list of list available MIDI I/O devices for use with emulation.



Configuration options
---------------------
Expand Down Expand Up @@ -570,14 +570,14 @@ Core state/playback options
find the next empty value for %i and use that for a filename. The
default is %g/%i, which creates a separate folder for each game,
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 %d_[media]
from there. In addition to the above, for drivers using different
media, like carts or floppy disks, you can also use the %d_[media]
indicator. Replace [media] with the media switch you want to use.
A few examples: if you use 'mame robby -snapname foo/%g%i' snapshots
A few examples: if you use 'mame robby -snapname foo/%g%i' snapshots
will be saved as 'snaps\foo\robby0000.png' , 'snaps\foo\robby0001.png'
and so on ; if you use 'mess nes -cart robby -snapname %g/%d_cart'
snapshots will be saved as 'snaps\nes\robby.png' ; if you use
'mess c64 -flop1 robby -snapname %g/%d_flop1/%i' snapshots will be
and so on ; if you use 'mess nes -cart robby -snapname %g/%d_cart'
snapshots will be saved as 'snaps\nes\robby.png' ; if you use
'mess c64 -flop1 robby -snapname %g/%d_flop1/%i' snapshots will be
saved as 'snaps\c64\robby\0000.png'.

-snapsize <width>x<height>
Expand Down Expand Up @@ -607,30 +607,30 @@ Core state/playback options
-statename <name>

Describes how MAME should store save state files, relative to the
state_directory path. <name> is a string that provides a template that
is used to generate a relative path. Two simple substitutions are
provided: the / character represents the path separator on any target
platform (even Windows); the string %g represents the driver name of
the current game. The default is %g, which creates a separate folder for
each game. In addition to the above, for drivers using different
media, like carts or floppy disks, you can also use the %d_[media]
state_directory path. <name> is a string that provides a template that
is used to generate a relative path. Two simple substitutions are
provided: the / character represents the path separator on any target
platform (even Windows); the string %g represents the driver name of
the current game. The default is %g, which creates a separate folder for
each game. In addition to the above, for drivers using different
media, like carts or floppy disks, you can also use the %d_[media]
indicator. Replace [media] with the media switch you want to use.
A few examples: if you use 'mame robby -statename foo/%g' save states
will be stored inside 'sta\foo\robby\' ; if you use 'mess nes -cart
robby -statename %g/%d_cart' save states will be stored inside
'sta\nes\robby\' ; if you use 'mess c64 -flop1 robby -statename
A few examples: if you use 'mame robby -statename foo/%g' save states
will be stored inside 'sta\foo\robby\' ; if you use 'mess nes -cart
robby -statename %g/%d_cart' save states will be stored inside
'sta\nes\robby\' ; if you use 'mess c64 -flop1 robby -statename
%g/%d_flop1' save states will be stored inside 'sta\c64\robby\'.

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


Expand Down Expand Up @@ -1122,7 +1122,7 @@ Debugging options

A special 'internal' debugger for debugging. Activated when used along
with -debug. The default if OFF (-nodebug_internal).



Core misc options
Expand All @@ -1149,7 +1149,7 @@ 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 (TTF) instead of a (BDF) font file. The default is 'default' (use
name (TTF) instead of a (BDF) font file. The default is 'default' (use
the OSD-determined default font).

-ramsize [n]
Expand Down
56 changes: 28 additions & 28 deletions docs/floppy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,27 +83,27 @@ is usually behind the term "density".
A sensor detects when the head is on track 0 and the controller is not
supposed to try to go past it. In addition physical blocks prevent
the head from going out of the correct track range. Some systems
(apple 2, some c64) do not take the track 0 sensor into account and
(Apple II, some C64) do not take the track 0 sensor into account and
just wham the head against the track 0 physical block, giving a
well-known crash noise and eventually damaging the head alignment.

Also, some systems (apple 2 and c64 again) have direct access to the
Also, some systems (Apple II and C64 again) have direct access to the
phases of the head positioning motor, allowing to trick the head into
going between tracks, in middle or even quarter positions. That was
not usable to write more tracks, since the head width did not change,
but since reliable reading was only possible with the correct position
it was used for some copy protection systems.

The disk rotates at a fixed speed for a given track. The most usual
speed is 300rpm for every track, with 360rpm found for HD 5.25"
floppies and most 8" ones, and a number of different values like 90rpm
for the earlier floppies or 150rpm for an HD floppy in an amiga.
speed is 300 rpm for every track, with 360 rpm found for HD 5.25"
floppies and most 8" ones, and a number of different values like 90 rpm
for the earlier floppies or 150 rpm for an HD floppy in an Amiga.
Having a fixed rotational speed for the whole disk is called Constant
Angular Velocity (CAV, almost everybody) or Zoned Constant Angular
Velocity (ZCAV, C64) depending on whether the read/write bitrate is
constant or track-dependant. Some systems (apple 2, mac) varies the
rotational speed depending on the track (something like 394rpm up to
590rpm) to end up with a Constant Linear Velocity (CLV). The idea
constant or track-dependant. Some systems (Apple II, Mac) vary the
rotational speed depending on the track (something like 394 rpm up to
590 rpm) to end up with a Constant Linear Velocity (CLV). The idea
behind ZCAV/CLV is to get more bits out of the media by keeping the
minimal spacing between magnetic orientation transitions close to the
best the support can do. It seems that the complexity was not deemed
Expand Down Expand Up @@ -158,10 +158,10 @@ is never known.
2.3 Floppy controller

The task of the floppy controller is to turn the signals to/from the
floppy drive into something the main cpu can digest. The level of
floppy drive into something the main CPU can digest. The level of
support actually done by the controller is extremely variable from one
device to the other, from pretty much nothing (apple2, c64) through
minimal (amiga) to complete (western digital chips, upd765 family).
device to the other, from pretty much nothing (Apple II, C64) through
minimal (Amiga) to complete (Western Digital chips, uPD765 family).
Usual functions include drive selection, motor control, track seeking
and of course reading and writing data. Of these only the last two
need to be described, the rest is obvious.
Expand All @@ -170,21 +170,21 @@ The data is structured at two levels: how individual bits (or nibbles,
or bytes) are encoded on the surface, and how these are grouped in
individually-addressable sectors. Two standards exist for these,
called FM and MFM, and in addition a number of systems use their
home-grown variants. Moreover, some systems such as the amiga use a
standard bit-level encoding (MFM) but an homegrown sector-level
home-grown variants. Moreover, some systems such as the Amiga use a
standard bit-level encoding (MFM) but a homegrown sector-level
organisation.


2.3.1 Bit-level encodings
2.3.1.1 Cell organization

All floppy controllers, even the wonkiest like the apple 2 one, start
All floppy controllers, even the wonkiest like the Apple II one, start
by dividing the track in equally-sized cells. They're angular
sections in the middle of which a magnetic orientation inversion may
be present. From an hardware point of view the cells are seen as
be present. From a hardware point of view the cells are seen as
durations, which combined with the floppy rotation give the section.
For instance the standard MFM cell size for a 3" double-density floppy
is 2us, which combined with the also standard 300rpm rotational speed
is 2us, which combined with the also standard 300 rpm rotational speed
gives an angular size of 1/100000th of a turn. Another way of saying
it is that there are 100K cells in a 3" DD track.

Expand Down Expand Up @@ -234,7 +234,7 @@ Modulation encoding, which can cram exactly twice as much data on the
same surface, hence its other name of "double density". The cell size
is set at slightly over half the physical limit, e.g. 2us usually.
The constraint means that two '1' cells must be separated by at least
one '0' cell. Each bit is once again encoded on two cells:
one '0' cell. Each bit is once again encoded on two cells:

- the first cell, called the clock bit, is '1' if both the previous
and current data bits are 0, '0' otherwise
Expand All @@ -252,7 +252,7 @@ maximum of three zeroes.
Group Coded Recording, or GCR, encodings are a class of encodings
where strings of bits at least nibble-size are encoded into a given
cell stream given by a table. It has been used in particular by the
apple 2, the mac and the c64, and each system has its own table, or
Apple II, the Mac and the C64, and each system has its own table, or
tables.

2.3.1.5 Other encodings
Expand Down Expand Up @@ -342,7 +342,7 @@ usually start at 1 and size code is 0 for 128 bytes, 1 for 256, 2 for
The crc is a cyclic redundancy check of the data bits starting with
the mark just after the pulse train using polynom 0x11021.

The western digital-based controllers usually get rid of everything
The Western Digital-based controllers usually get rid of everything
but some 0xff before the first sector and allow a better use of space
as a result.

Expand All @@ -365,19 +365,19 @@ Then for each sector:
- MFM-encoded 0xfb, sector data followed by two bytes of crc
- A number of MFM-encoded 0x4e (usually 84, very variable)

The the track is finished with a stream of MFM-encoded 0x4e.
The track is finished with a stream of MFM-encoded 0x4e.

The 250KHz pulse trains are used to lock the PLL to the signal
correctly. The cell pattern 4489 does not appear in normal
MFM-encoded data and is used for clock/data separation.
MFM-encoded data and is used for clock/data separation.

As for FM, the western digital-based controllers usually get rid of
As for FM, the Western Digital-based controllers usually get rid of
everything but some 0x4e before the first sector and allow a better
use of space as a result.

2.3.2.3 Formatting and write splices

To be usable a floppy must have the sector headers and default sector
To be usable, a floppy must have the sector headers and default sector
data written on every track before using it. The controller starts
writing at a given place, often the index pulse but on some systems
whenever the command is sent, and writes until a complete turn is
Expand All @@ -392,7 +392,7 @@ Similarly two write splices are created when a sector is written at
the start and end of the data block part. They're not supposed to
happen on a mastered disk though, even if there are some rare
exceptions.


3 The new implementation
3.1 Floppy disk representation
Expand All @@ -417,7 +417,7 @@ position of the start of the cell (not the size), and bits
- 3, MG_D -> Damaged zone, reads as neutral but cannot be changed by writing

The position is in angular units of 1/200,000,000th of a turn. It
corresponds to one nanosecond when the drive rotates at 300rpm.
corresponds to one nanosecond when the drive rotates at 300 rpm.

The last cell implicit end position is of course 200,000,000.

Expand Down Expand Up @@ -523,7 +523,7 @@ extract_sectors_from_bitstream_fm_pc(const UINT8 *cell stream,
int sectdata_size)

Extract standard mfm or fm sectors from a regenerated
cell stream. Sectors must point to an array of 256 desc_xs.
cell stream. Sectors must point to an array of 256 desc_xs.

An existing sector is recognizable by having ->data non-null.
Sector data is written in sectdata up to sectdata_size bytes.
Expand Down Expand Up @@ -563,8 +563,8 @@ the current time is the same for all devices.

3.3.1 Control signals

Due to the way they're usually connected to cpus (e.g. directly on an
i/o port) the controls signals work with physical instead of logical
Due to the way they're usually connected to CPUs (e.g. directly on an
I/O port), the control signals work with physical instead of logical
values. Which means than in general 0 means active, 1 means inactive.
Some signals also have a callback associated called when they change.

Expand Down
4 changes: 2 additions & 2 deletions docs/hlsl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ converge_y [r,g,b] Convergence in screen-relative Y directi
radial_converge_x [r,g,b] Radial convergence in screen-relative X direction.
radial_converge_y [r,g,b] Radial convergence in screen-relative Y direction.
Allowed values for convergence: -150 to 150 for each color.
red_ratio [r,g,b] These parameters define a 3x3 matrix which is multiplied
red_ratio [r,g,b] These parameters define a 3x3 matrix which is multiplied
grn_ratio [r,g,b] by the incoming RGB signal. This can be used for any
blu_ratio [r,g,b] standard matrix convolution, including H/S/V or simply
affecting the TV-style tint.
Expand Down Expand Up @@ -109,4 +109,4 @@ bloom_lvl6_weight 0.13 Bloom level 6 (.) weight. (0.00-1.00)
bloom_lvl7_weight 0.12 Bloom level 7 (.) weight. (0.00-1.00)
bloom_lvl8_weight 0.11 Bloom level 8 (.) weight. (0.00-1.00)
bloom_lvl9_weight 0.10 Bloom level 9 (.) weight. (0.00-1.00)
bloom_lvl10_weight 0.09 Bloom level 10 (1x1 target) weight. (0.00-1.00)
bloom_lvl10_weight 0.09 Bloom level 10 (1x1 target) weight. (0.00-1.00)
Loading