diff options
-rw-r--r-- | games/stella/stella.6 | 1536 | ||||
-rw-r--r-- | games/stella/stella.SlackBuild | 19 | ||||
-rw-r--r-- | games/stella/stella.info | 6 | ||||
-rw-r--r-- | games/stella/stella.pod | 1379 |
4 files changed, 2396 insertions, 544 deletions
diff --git a/games/stella/stella.6 b/games/stella/stella.6 index 56b883d087..f63fc1cf88 100644 --- a/games/stella/stella.6 +++ b/games/stella/stella.6 @@ -1,633 +1,1101 @@ -.TH stella 6 "June 14, 2011" stella -.SH NAME -stella \- Atari 2600 emulator -.SH SYNOPSIS -.B stella -[\fIoptions\fP] <\fIROM file\fP> -.SH DESCRIPTION -.B stella -is a comprehensive emulator of the old Atari 2600 video-game +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "STELLA 6" +.TH STELLA 6 "2015-03-22" "4.6" "SlackBuilds.org" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +stella \- an Atari 2600 emulator +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBstella\fR \fIoptions\fR \fI\s-1ROM\s0 file\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBstella\fR is a comprehensive emulator of the old Atari 2600 video-game console. It support most Atari 2600 games and many peripherals. .PP -.SH OPTIONS -.B stella -accepts the following options: -.TP -.BR \-video " <" opengl | opengles2 | opengles | software > -Use OpenGL, OpenGLES or SDL software rendering mode. -.TP -.BR \-vsync " <" 1 | 0 > +If you start Stella and do not specify a \s-1ROM\s0 image, it will start in +\&'\s-1ROM\s0 Launcher' mode. If this is your first time starting Stella, you +will be asked to select the default \s-1ROM\s0 directory to use. +.PP +This man page only documents the command-line options and default +keybindings. The complete documentation is in \fIindex.html\fR and +\&\fIdebugger.html\fR, usually installed in \fI/usr/share/doc/stella/\fR or +\&\fI/usr/doc/stella\-4.6/\fR. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-video\fR <direct3d|opengl|opengles2|opengles|software>" 4 +.IX Item "-video <direct3d|opengl|opengles2|opengles|software>" +Use the given rendering backend (where applicable); default is the best +available mode detected. +.IP "\fB\-vsync\fR <1|0>" 4 +.IX Item "-vsync <1|0>" Synchronize screen updates to the vertical blank period. This can result in smoother updates, and eliminate tearing. -.TP -.BR \-fullscreen " <" 1 | 0 > -Play the game in fullscreen mode (\fB1\fP) or in a window (\fB0\fP). -.TP -.BR \-center " <" 1 | 0 > +.IP "\fB\-fullscreen\fR <1|0>" 4 +.IX Item "-fullscreen <1|0>" +Enable fullscreen mode. +.IP "\fB\-center\fR <1|0>" 4 +.IX Item "-center <1|0>" Centers game window (if possible). -.TP -.BR \-palette " <" standard | z26 | user > -Sets the palette to either normal Stella, the one used in the \fBz26\fP +.IP "\fB\-palette\fR <standard|z26|user>" 4 +.IX Item "-palette <standard|z26|user>" +Set the palette to either normal Stella, the one used in the z26 emulator, or a user-defined palette. -.TP -.BR \-colorloss " <" 1 | 0 > -Enable/disable the PAL color-loss effect. -.TP -.BR \-framerate " <\fInumber\fP>" +.IP "\fB\-colorloss\fR <1|0>" 4 +.IX Item "-colorloss <1|0>" +Enable/disable the \s-1PAL\s0 color-loss effect. +.IP "\fB\-framerate\fR <number>" 4 +.IX Item "-framerate <number>" Display the given number of frames per second. Normally, Stella will -determine framerate based on number of scanlines. Setting this to -\fB0\fP automatically enables auto-frame calculation (ie, framerate -based on scanlines). -.TP -.BR \-timing " <" sleep | busy > +determine framerate based on number of scanlines. Setting this to 0 +automatically enables auto-frame calculation (ie, framerate based on +scanlines). +.IP "\fB\-timing\fR <sleep|busy>" 4 +.IX Item "-timing <sleep|busy>" Determines type of wait to perform between processing frames. Sleep -will release the CPU as much as possible, and is the preferred method -on laptops (and other low-powered devices) and when using GL -VSync. Busy will emulate \fBz26\fP busy-wait behaviour, and use all -possible CPU time, but may eliminate graphical 'tearing' in software -mode. -.TP -.BR \-uimessages " <" 1 | 0 > -Enable or disablEnable or disable display of message in the UI. Note -that messages indicating serious errors override this setting, and are -always shown. -.TP -.BR \-sound " <" 1 | 0 > +will release the \s-1CPU\s0 as much as possible, and is the preferred method +on laptops (and other low-powered devices) and when using VSync. Busy +will emulate z26 busy-wait behaviour, and use all possible \s-1CPU\s0 time, +but may eliminate graphical 'tearing' in software mode. +.IP "\fB\-uimessages\fR <1|0>" 4 +.IX Item "-uimessages <1|0>" +Enable or disable display of message in the \s-1UI.\s0 Note that messages +indicating serious errors override this setting, and are always shown. +.IP "\fB\-sound\fR <1|0>" 4 +.IX Item "-sound <1|0>" Enable or disable sound generation. -.TP -.BR \-fragsize " <\fInumber\fP>" -Specify the sound fragment size to use. Under Debian the recommended -value is 512. -.TP -.BR \-freq " <\fInumber\fP>" -Set sound sample output frequency (0 - 48000). Default is 31400. Do -not change unless you experience sound issues. -.TP -.BR \-volume " <\fInumber\fP>" -Set the volume (0 - 100). -.TP -.BR \-tia.zoom " <\fInumber\fP>" +.IP "\fB\-fragsize\fR <number>" 4 +.IX Item "-fragsize <number>" +Specify the sound fragment size to use. Linux/Mac seems to work with +512, Windows usually needs 1024. +.IP "\fB\-freq\fR <number>" 4 +.IX Item "-freq <number>" +Set sound sample output frequency (11025,22050,31400,44100,48000) +Default is 31400. Do not change unless you experience sound issues. +.IP "\fB\-volume\fR <number>" 4 +.IX Item "-volume <number>" +Set the volume (0 \- 100). +.IP "\fB\-tia.zoom\fR <zoom>" 4 +.IX Item "-tia.zoom <zoom>" Use the specified zoom level (integer) while in TIA/emulation mode. -.TP -.BR \-tia.inter " <" 1 | 0 > -Use interpolation for the TIA image (results in blending/smoothing of +.IP "\fB\-tia.inter\fR <1|0>" 4 +.IX Item "-tia.inter <1|0>" +Use interpolation for the \s-1TIA\s0 image (results in blending/smoothing of the image). -.TP -.BR \-tia.aspectn " <\fInumber\fP>" -.BR \-tia.aspectp " <\fInumber\fP>" -Specify the amount (as a percentage) to scale the TIA image width in -NTSC and PAL mode. Since many video modes do not use square pixels, -you can reduce width until the pixels appear square. Allowable values -are 80\-120; the author finds 85\-90 gives the mos authentic look for -NTSC, and 105\-110 for PAL. -.TP -.BR \-tia.fsfill " <" 1 | 0 > -Stretch TIA image completely while in fullscreen mode (vs. an integral +.IP "\fB\-tia.aspectn\fR <number>" 4 +.IX Item "-tia.aspectn <number>" +.PD 0 +.IP "\fB\-tia.aspectp\fR <number>" 4 +.IX Item "-tia.aspectp <number>" +.PD +Specify the amount (as a percentage) to scale the \s-1TIA\s0 image width in +\&\s-1NTSC\s0 and \s-1PAL\s0 mode. Since many video modes do not use square pixels, you +can reduce width until the pixels appear square. Allowable values are +80 \- 120; I find 85 \- 90 gives the most authentic look for \s-1NTSC,\s0 and +105 \- 110 for \s-1PAL.\s0 +.IP "\fB\-tia.fsfill\fR <1|0>" 4 +.IX Item "-tia.fsfill <1|0>" +Stretch \s-1TIA\s0 image completely while in fullscreen mode (vs. an integral stretch which won't necessarily completely fill the screen). -.TP -.BR \-tv.filter " <" 1 \- 6 > -Blargg TV effects, 0 is disabled, next numbers in sequence represent -presets for "Composite", "S-Video", "RGB", "Bad Adjust" and "Custom" +.IP "\fB\-tv.filter\fR <1 \- 6>" 4 +.IX Item "-tv.filter <1 - 6>" +Blargg \s-1TV\s0 effects, 0 is disabled, next numbers in sequence represent +presets for 'Composite', 'S\-Video', '\s-1RGB\s0', 'Bad Adjust', and 'Custom' modes. -.TP -.BR \-tv.scanlines " <" 0 \- 100 > -Blargg TV effects scanline intensity, where 0 means completely off. -.TP -.BR \-tv.scaninter " <" 1 | 0 > -Blargg TV effects scanline interpolation, resulting in +.IP "\fB\-tv.scanlines\fR <0 \- 100>" 4 +.IX Item "-tv.scanlines <0 - 100>" +Blargg \s-1TV\s0 effects scanline intensity, where 0 means completely off. +.IP "\fB\-tv.scaninter\fR <1|0>" 4 +.IX Item "-tv.scaninter <1|0>" +Blargg \s-1TV\s0 effects scanline interpolation, resulting in blending/smoothing of the scanlines. -.TP -.BR \-tv.contrast " <\fInumber\fP>" -Blargg TV effects 'contrast' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.brightness " <\fInumber\fP>" -Blargg TV effects 'brightness' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.hue " <\fInumber\fP>" -Blargg TV effects 'hue' (only available in custom mode, range \-1.0 to -1.0). -.TP -.BR \-tv.saturation " <\fInumber\fP>" -Blargg TV effects 'saturation' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.gamma " <\fInumber\fP>" -Blargg TV effects 'gamma' (only available in custom mode, range \-1.0 +.IP "\fB\-tv.contrast\fR <number>" 4 +.IX Item "-tv.contrast <number>" +Blargg \s-1TV\s0 effects 'contrast' (only available in custom mode, range \-1.0 to 1.0). -.TP -.BR \-tv.sharpness " <\fInumber\fP>" -Blargg TV effects 'sharpness' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.resolution " <\fInumber\fP>" -Blargg TV effects 'resolution' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.artifacts " <\fInumber\fP>" -Blargg TV effects 'artifacts' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.fringing " <\fInumber\fP>" -Blargg TV effects 'fringing' (only available in custom mode, range -\-1.0 to 1.0). -.TP -.BR \-tv.bleed " <\fInumber\fP>" -Blargg TV effects 'bleed' (only available in custom mode, range \-1.0 +.IP "\fB\-tv.brightness\fR <number>" 4 +.IX Item "-tv.brightness <number>" +Blargg \s-1TV\s0 effects 'brightness' (only available in custom mode, range +\&\-1.0 to 1.0). +.IP "\fB\-tv.hue\fR <number>" 4 +.IX Item "-tv.hue <number>" +Blargg \s-1TV\s0 effects 'hue' (only available in custom mode, range \-1.0 to +1.0). +.IP "\fB\-tv.saturation\fR <number>" 4 +.IX Item "-tv.saturation <number>" +Blargg \s-1TV\s0 effects 'saturation' (only available in custom mode, range +\&\-1.0 to 1.0). +.IP "\fB\-tv.gamma\fR <number>" 4 +.IX Item "-tv.gamma <number>" +Blargg \s-1TV\s0 effects 'gamma' (only available in custom mode, range \-1.0 to +1.0). +.IP "\fB\-tv.sharpness\fR <number>" 4 +.IX Item "-tv.sharpness <number>" +Blargg \s-1TV\s0 effects 'sharpness' (only available in custom mode, range +\&\-1.0 to 1.0). +.IP "\fB\-tv.resolution\fR <number>" 4 +.IX Item "-tv.resolution <number>" +Blargg \s-1TV\s0 effects 'resolution' (only available in custom mode, range +\&\-1.0 to 1.0). +.IP "\fB\-tv.artifacts\fR <number>" 4 +.IX Item "-tv.artifacts <number>" +Blargg \s-1TV\s0 effects 'artifacts' (only available in custom mode, range +\&\-1.0 to 1.0). +.IP "\fB\-tv.fringing\fR <number>" 4 +.IX Item "-tv.fringing <number>" +Blargg \s-1TV\s0 effects 'fringing' (only available in custom mode, range \-1.0 to 1.0). -.TP -.BR \-cheat " <\fIcode\fP>" -Use the specified cheatcode (see the \fICheat\fP section in the -provided documentation for a description of cheatcodes). -.TP -.BR \-loglevel " <" 0 | 1 | 2 > -Indicates level of logging to perform while the application is -running. Zero completely disables logging (except for serious errors), -while the remaining numbers show increasingly more detail. -.TP -.BR \-logtoconsole " <" 1 | 0 > +.IP "\fB\-tv.bleed\fR <number>" 4 +.IX Item "-tv.bleed <number>" +Blargg \s-1TV\s0 effects 'bleed' (only available in custom mode, range \-1.0 to +1.0). +.IP "\fB\-cheat\fR <code>" 4 +.IX Item "-cheat <code>" +Use the specified cheatcode (see Cheat section for description). +.IP "\fB\-loglevel\fR <0|1|2>" 4 +.IX Item "-loglevel <0|1|2>" +Indicates level of logging to perform while the application is running. +Zero completely disables logging (except for serious errors), while the +remaining numbers show increasingly more detail. +.IP "\fB\-logtoconsole\fR <1|0>" 4 +.IX Item "-logtoconsole <1|0>" Indicates that logged output should be printed to the -console/commandline as it's being collected. An internal log will -still be kept, and the amount of logging is still controlled -by \fBloglevel\fP. -.TP -.BR \-joydeadzone " <\fInumber\fP>" -Sets the joystick deadzone area for analog joysticks. Accepts a number -from 0 - 29, and uses the formula 3200 + \fInumber\fP * 1000. So the -possible deadzone values range from 3200 to 32200. -.TP -.BR \-joyallow4 " <" 1 | 0 > -Allow all 4 directions on a joystick to be pressed -simultaneously. Bumper Bash ignores this setting, and always allows -all 4 directions. -.TP -.BR \-usemouse " <" always | analog | never > -Use mouse as a controller as specified by ROM properties in specific -case. \fBalways\fP and \fBnever\fP are self-explanatory, \fBanalog\fP -means only for analog-type devices (paddles, trackball, etc.). -.TP -.BR \-grabmouse " <" 1 | 0 > -Keeps the mouse in the game window in emulation mode. -.TP -.BR \-hidecursor " <" 1 | 0 > -Always hide the cursor, or show it when appropriate. -.TP -.BR \-dsense " <\fInumber\fP>" -Sensitivity for emulation of paddles when using a digital device -(joystick digital axis or button, keyboard key, etc.). \fInumber\fP -may range from 1 to 10, with larger numbers causing faster movement. -.TP -.BR \-msense " <\fInumber\fP>" -Sensitivity for emulation of paddles when using a mouse. \fInumber\fP -may range from 1 to 15, with larger numbers causing faster movement. -.TP -.BR \-saport " <" lr | rl > -Determines how to enumerate the Stelladaptor/2600-daptor devices in -the order they are found: 'lr' means first is left port, second is -right port, 'rl' means the opposite. -.TP -.BR \-ctrlcombo " <" 1 | 0 > +console/commandline as it's being collected. An internal log will still +be kept, and the amount of logging is still controlled by 'loglevel'. +.IP "\fB\-joydeadzone\fR <number>" 4 +.IX Item "-joydeadzone <number>" +Sets the joystick axis deadzone area for joysticks/gamepads. All values +within the deadzone are treated as zero-axis values, while only those +values outside are registered as valid input. Accepts a number from 0 \- +29, and uses the formula 3200 + number * 1000. So the possible deadzone +values range from 3200 to 32200. +.IP "\fB\-joyallow4\fR <1|0>" 4 +.IX Item "-joyallow4 <1|0>" +Allow all 4 directions on a joystick to be pressed simultaneously. +Bumper Bash ignores this setting, and always allows all 4 directions. +.IP "\fB\-usemouse\fR <always|analog|never>" 4 +.IX Item "-usemouse <always|analog|never>" +Use mouse as a controller as specified by \s-1ROM\s0 properties in specific +case. Always and never are self-explanatory, analog means only for +analog-type devices (paddles, trackball, etc). +.IP "\fB\-grabmouse\fR <1|0>" 4 +.IX Item "-grabmouse <1|0>" +Locks the mouse cursor in the game window in emulation mode. +.IP "\fB\-hidecursor\fR <1|0>" 4 +.IX Item "-hidecursor <1|0>" +Always hide the mouse cursor, or show it when appropriate. +.IP "\fB\-dsense\fR <number>" 4 +.IX Item "-dsense <number>" +Sensitivity for emulation of paddles when using a digital device (ie, +joystick digital axis or button, keyboard key, etc). Valid range of +values is from 1 to 10, with larger numbers causing faster movement. +.IP "\fB\-msense\fR <number>" 4 +.IX Item "-msense <number>" +Sensitivity for emulation of paddles when using a mouse. Valid range of +values is from 1 to 15, with larger numbers causing faster movement. +.IP "\fB\-saport\fR <lr|rl>" 4 +.IX Item "-saport <lr|rl>" +Determines how to enumerate the Stelladaptor/2600\-daptor devices in the +order they are found: 'lr' means first is left port, second is right +port, 'rl' means the opposite. +.IP "\fB\-ctrlcombo\fR <1|0>" 4 +.IX Item "-ctrlcombo <1|0>" Use control-x key combos. This is normally enabled, since the Quit -command is tied to 'Control-q'. However, there are times when a -2-player game is using either the 'f' or 'r' keys for movement, and +command is tied to 'Control\-q'. However, there are times when a +2\-player game is using either the 'f' or 'r' keys for movement, and pressing Control (for Fire) will perform an unwanted action associated with Control-r or Control-f. -.TP -.BR \-autoslot " <" 1 | 0 > -Automatically switch to the next available save state slot after -saving a ROM state file. -.TP -.BR \-stats " <" 1 | 0 > -Overlay console info on the TIA image during emulation. -.TP -.BR \-fastscbios " <" 1 | 0 > -Disable Supercharger BIOS progress loading bars. -.TP -.BR \-snapsavedir " <\fIpath\fP>" +.IP "\fB\-autoslot\fR <1|0>" 4 +.IX Item "-autoslot <1|0>" +Automatically switch to the next available save state slot after saving +a \s-1ROM\s0 state file. +.IP "\fB\-stats\fR <1|0>" 4 +.IX Item "-stats <1|0>" +Overlay console info on the \s-1TIA\s0 image during emulation. +.IP "\fB\-fastscbios\fR <1|0>" 4 +.IX Item "-fastscbios <1|0>" +Disable Supercharger \s-1BIOS\s0 progress loading bars. +.IP "\fB\-snapsavedir\fR <path>" 4 +.IX Item "-snapsavedir <path>" The directory to save snapshot files to. -.TP -.BR \-snaploaddir " <\fIpath\fP>" +.IP "\fB\-snaploaddir\fR <path>" 4 +.IX Item "-snaploaddir <path>" The directory to load snapshot files from. -.TP -.BR \-snapname " <" int | rom > +.IP "\fB\-snapname\fR <int|rom>" 4 +.IX Item "-snapname <int|rom>" When saving snapshots, use either the internal database name or the -actual ROM filename. -.TP -.BR \-sssingle " <" 1 | 0 > +actual \s-1ROM\s0 filename. +.IP "\fB\-sssingle\fR <1|0>" 4 +.IX Item "-sssingle <1|0>" Generate single snapshot instead of many, overwriting any previous snapshots. -.TP -.BR \-ss1x " <" 1 | 0 > -Ignore any scaling applied to the TIA image, and save snapshot in +.IP "\fB\-ss1x\fR <1|0>" 4 +.IX Item "-ss1x <1|0>" +Ignore any scaling applied to the \s-1TIA\s0 image, and save snapshot in unscaled (1x) mode. -.TP -.BR \-ssinterval " <\fInumber\fP>" +.IP "\fB\-ssinterval\fR <number>" 4 +.IX Item "-ssinterval <number>" Set the interval in seconds between taking snapshots in continuous -snapshot mode (currently, 1 - 10). -.TP -.BR \-rominfo " <\fIrom\fP>" -Display detailed information about the given ROM, and then exit -Stella. -.TP -.BR \-listrominfo -Prints relevant contents of the Stella ROM database, one ROM per line, +snapshot mode (currently, 1 \- 10). +.IP "\fB\-rominfo\fR <rom>" 4 +.IX Item "-rominfo <rom>" +Display detailed information about the given \s-1ROM,\s0 and then exit Stella. +.IP "\fB\-listrominfo\fR" 4 +.IX Item "-listrominfo" +Prints relevant contents of the Stella \s-1ROM\s0 database, one \s-1ROM\s0 per line, and then exit Stella. This can be used for external frontends. -.TP -.BR \-exitlauncher " <" 1 | 0 > -Always exit to ROM launcher when exiting a ROM (normally, an exit to +.IP "\fB\-exitlauncher\fR <1|0>" 4 +.IX Item "-exitlauncher <1|0>" +Always exit to \s-1ROM\s0 launcher when exiting a \s-1ROM \s0(normally, an exit to launcher only happens when started with the launcher). -.TP -.BR \-launcherres " <\fIW\fP" x \fIH\fP> -Set the size of the ROM launcher. -.TP -.BR \-launcherfont " <" small | medium | large > -Set the size of the font in the ROM launcher. -.TP -.BR \-launcherexts " <" allfiles | allroms | \fIlist\fP > -Specifies which files to show in the ROM launcher (\fBallfiles\fP is -self-explanatory, \fBallroms\fP is all files with valid ROM extensions -(currently: a26, bin, rom, gz, zip), \fIlist\fP is a ':' separated -list of valid ROM extensions. -.TP -.BR \-romviewer " <" 0 | 1 | 2 > -Hide ROM info viewer in ROM launcher mode (0), or use the given zoom +.IP "\fB\-launcherres\fR <WxH>" 4 +.IX Item "-launcherres <WxH>" +Set the size of the \s-1ROM\s0 launcher. +.IP "\fB\-launcherfont\fR <small|medium|large>" 4 +.IX Item "-launcherfont <small|medium|large>" +Set the size of the font in the \s-1ROM\s0 launcher. +.IP "\fB\-launcherexts\fR <allfiles|allroms|LIST>" 4 +.IX Item "-launcherexts <allfiles|allroms|LIST>" +Specifies which files to show in the \s-1ROM\s0 launcher ('allfiles' is +self-explanatory, 'allroms' is all files with valid rom extensions +(currently: a26, bin, rom, gz, zip), '\s-1LIST\s0' is a ':' separated list of +valid rom extensions. +.IP "\fB\-romviewer\fR <0|1|2>" 4 +.IX Item "-romviewer <0|1|2>" +Hide \s-1ROM\s0 info viewer in \s-1ROM\s0 launcher mode (0), or use the given zoom level (1 or 2). -.TP -.BR \-listdelay " <\fIdelay\fP>" +.IP "\fB\-uipalette\fR <standard|classic>" 4 +.IX Item "-uipalette <standard|classic>" +Use the specified palette for \s-1UI\s0 elements. +.IP "\fB\-listdelay\fR <delay>" 4 +.IX Item "-listdelay <delay>" Set the amount of time to wait between treating successive keypresses -as a single word in list widgets (value can range from 300-1000). -.TP -.BR \-mwheel " <\fIlines\fP>" -Set the number of lines a mousewheel will scroll in the UI. -.TP -.BR \-romdir " <\fIdir\fP>" -Set the directory where the ROM launcher will start. -.TP -.BR \-statedir " <\fIdir\fP>" -Set the directory in which to save state files. -.TP -.BR \-cheatfile " <\fIfile\fP>" +as a single word in list widgets (value can range from 300\-1000). Use +\&'0' to disable list-skipping completely, +.IP "\fB\-mwheel\fR <lines>" 4 +.IX Item "-mwheel <lines>" +Set the number of lines a mousewheel will scroll in the \s-1UI.\s0 +.IP "\fB\-romdir\fR <dir>" 4 +.IX Item "-romdir <dir>" +Set the directory where the \s-1ROM\s0 launcher will start. +.IP "\fB\-statedir\fR <dir>" 4 +.IX Item "-statedir <dir>" +Set the directory in which to access state files. +.IP "\fB\-cheatfile\fR <file>" 4 +.IX Item "-cheatfile <file>" Set the full pathname of the cheatfile database. -.TP -.BR \-palettefile " <\fIfile\fP>" +.IP "\fB\-palettefile\fR <file>" 4 +.IX Item "-palettefile <file>" Set the full pathname of the user-defined palette file. -.TP -.BR \-propsfile " <\fIfile\fP>" -Set the full pathname of the ROM properties file. -.TP -.BR \-nvramdir " <\fIdir\fP>" -Set the directory in which to save EEPROM files. -.TP -.BR \-cfgdir " <\fIdir\fP>" +.IP "\fB\-propsfile\fR <file>" 4 +.IX Item "-propsfile <file>" +Set the full pathname of the \s-1ROM\s0 properties file. +.IP "\fB\-nvramdir\fR <dir>" 4 +.IX Item "-nvramdir <dir>" +Set the directory in which to access non-volatile (flash/EEPROM) files. +.IP "\fB\-cfgdir\fR <dir>" 4 +.IX Item "-cfgdir <dir>" Set the directory in which to access Distella config files. -.TP -.BR \-avoxport " <\fIname\fP>" +.IP "\fB\-avoxport\fR <name>" 4 +.IX Item "-avoxport <name>" Set the name of the serial port where an AtariVox is connected. -.TP -.BR \-maxres " <\fIW\fP" x \fIH\fP> -Useful for developers, this sets the maximum size of window that can -be created, allowing to simulate testing on 'smaller' systems. -.TP -.BR \-help -Print a help message describing these options, and then exit Stella. - -.P -The following are useful to developers. Only use them if you know what -you're doing! Note that in all cases, the values supplied to the -arguments are \fBnot\fP case sensitive. -.TP -.BR \-dis.resolve " <" 1 | 0 > +.IP "\fB\-maxres\fR <WxH>" 4 +.IX Item "-maxres <WxH>" +Useful for developers, this sets the maximum size of window that can be +created, allowing to simulate testing on 'smaller' systems. +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Prints a help message describing these options, and then exit Stella. +.Sp +The following are useful to developers. Only use them if you know +what you're doing! Note that in all cases, the values supplied to +the arguments are not case sensitive. +.Sp +Argument Description +.IP "\fB\-dis.resolve\fR <1|0>" 4 +.IX Item "-dis.resolve <1|0>" Try to differentiate between code vs. data sections in the -disassembler. See the \fIDebugger\fP section in the provided -documentation for more information. -.TP -.BR \-dis.gfxformat " <" 2 | 16 > -Sets the base to use for displaying GFX sections in the disassembler. -.TP -.BR \-dis.showaddr " <" 1 | 0 > +disassembler. See the Debugger section for more information. +.IP "\fB\-dis.gfxformat\fR <2|16>" 4 +.IX Item "-dis.gfxformat <2|16>" +Sets the base to use for displaying \s-1GFX\s0 sections in the disassembler. +.IP "\fB\-dis.showaddr\fR <1|0>" 4 +.IX Item "-dis.showaddr <1|0>" Shows/hides opcode addresses in the disassembler. -.TP -.BR \-dis.relocate " <" 1 | 0 > +.IP "\fB\-dis.relocate\fR <1|0>" 4 +.IX Item "-dis.relocate <1|0>" Relocate calls out of address range in the disassembler. -.TP -.BR \-dbg.res " <\fIW\fP" x \fIH\fP> +.IP "\fB\-dbg.res\fR <WxH>" 4 +.IX Item "-dbg.res <WxH>" Set the size of the debugger window. -.TP -.BR \-dbg.fontstyle " <" 0 | 1 | 2 | 3 > -How to use bold fonts in the debugger window. \fB0\fP means all normal -font, \fB1\fP is bold labels only, \fB2\fP is bold non-labels only, -\fB3\fP is all bold font. -.TP -.BR \-break " <\fIaddress\fP>" -Set a breakpoint at a specified address. -.TP -.BR \-debug +.IP "\fB\-dbg.fontstyle\fR <0|1|2|3>" 4 +.IX Item "-dbg.fontstyle <0|1|2|3>" +How to use bold fonts in the debugger window. '0' means all normal +font, '1' is bold labels only, '2' is bold non-labels only, '3' is all +bold font. +.IP "\fB\-break\fR <address>" 4 +.IX Item "-break <address>" +Set a breakpoint at specified address. +.IP "\fB\-debug\fR" 4 +.IX Item "-debug" Immediately jump to debugger mode when starting Stella. -.TP -.BR \-holdjoy0 " [" UDLRF ] -Start the emulator with the specified left joystick direction and -button held down (\fBUF\fP for up and fire). -.TP -.BR \-holdjoy1 " [" UDLRF ] -Start the emulator with the specified right joystick direction and -button held down (\fBUF\fP for up and fire). -.TP -.BR \-holdreset -Start the emulator with the Game Reset switch held down. -.TP -.BR \-holdselect +.IP "\fB\-holdjoy0\fR <U,D,L,R,F>" 4 +.IX Item "-holdjoy0 <U,D,L,R,F>" +Start the emulator with the left joystick direction/button held down +(ie, use '\s-1UF\s0' for up and fire). +.IP "\fB\-holdjoy1\fR <U,D,L,R,F>" 4 +.IX Item "-holdjoy1 <U,D,L,R,F>" +Start the emulator with the right joystick direction/button held down +(ie, use '\s-1UF\s0' for up and fire). +.IP "\fB\-holdselect\fR" 4 +.IX Item "-holdselect" Start the emulator with the Game Select switch held down. -.TP -.BR \-tiadriven " <" 1 | 0 > -Set unused TIA pins to be randomly driven high or low on a read/peek. -.TP -.BR \-ramrandom " <" 1 | 0 > -On reset, either randomize all RAM content, or zero it out instead. -.TP -.BR \-bs " <\fItype\fP>, " \-type " <\fItype\fP>" -Set "Cartridge.Type" property. See the \fIGame Properties\fP section -in the provided documentation for valid types. -.TP -.BR \-channels " <" Mono | Stereo > -Set "Cartridge.Sound" property. -.TP -.BR \-ld " <" A | B > -Set "Console.LeftDifficulty" property. -.TP -.BR \-rd " <" A | B > -Set "Console.RightDifficulty" property. -.TP -.BR \-tv " <" Color | BlackAndWhite > -Set "Console.TelevitionType" property. -.TP -.BR \-sp " <" Yes | No > -Set "Console.SwapPorts" property. -.TP -.BR \-lc " <\fItype\fP>" -Set "Controller.Left" property. See the \fIGame Properties\fP section -in the provided documentation for valid types. -.TP -.BR \-rc " <\fItype\fP>" -Set "Controller.Right" property. See the \fIGame Properties\fP section -in the provided documentation for valid types. -.TP -.BR \-bc " <\fItype\fP>" -Sets both "Controller.Left" and "Controller.Right" properties. See the -\fIGame Properties\fP section in the provided documentation for valid -types. -.TP -.BR \-cp " <" Yes | No > -Set "Controller.SwapPaddles" property. See the \fIGame Properties\fP -section in the provided documentation for valid types. -.TP -.BR \-ma " <" Auto | XY > -Set "Controller.MouseAxis" property. See the \fIGame Properties\fP -section in the provided documentation for valid types. -.TP -.BR \-format " <\fIformat\fP>" -Set "Display.Format" property. See the \fIGame Properties\fP section -in the provided documentation for valid formats. -.TP -.BR \-ystart " <\fInumber\fP>" -Set "Display.YStart" property (0 - 64). -.TP -.BR \-height " <\fInumber\fP>" -Set "Display.Height" property (210 - 256). -.TP -.BR \-pp " <" Yes | No > -Set "Display.Phosphor" property. -.TP -.BR \-ppblend " <\fInumber\fI>" -Set "Display.PPBlend" property, used for phosphor effect -(0-100). Default is 77. -.TP -.BR \-thumb.trapfatal " <" true | false > -The default of \fBtrue\fP allows the Thumb ARM emulation to throw an +.IP "\fB\-holdreset\fR" 4 +.IX Item "-holdreset" +Start the emulator with the Game Reset switch held down. +.IP "\fB\-tiadriven\fR <1|0>" 4 +.IX Item "-tiadriven <1|0>" +Set unused \s-1TIA\s0 pins to be randomly driven high or low on a read/peek. +If disabled, use the last databus value for those pins instead. +.IP "\fB\-cpurandom\fR <S,A,X,Y,P>" 4 +.IX Item "-cpurandom <S,A,X,Y,P>" +On reset, randomize the content of the specified \s-1CPU\s0 registers. +.IP "\fB\-ramrandom\fR <1|0>" 4 +.IX Item "-ramrandom <1|0>" +On reset, either randomize all \s-1RAM\s0 content, or zero it out instead. +.IP "\fB\-bs\fR <type>" 4 +.IX Item "-bs <type>" +Set \*(L"Cartridge.Type\*(R" property. See the Game Properties section for +valid types. +.IP "\fB\-type\fR <type>" 4 +.IX Item "-type <type>" +Same as using \-bs. +.IP "\fB\-channels\fR <Mono|Stereo>" 4 +.IX Item "-channels <Mono|Stereo>" +Set \*(L"Cartridge.Sound\*(R" property. +.IP "\fB\-ld\fR <A|B>" 4 +.IX Item "-ld <A|B>" +Set \*(L"Console.LeftDifficulty\*(R" property. +.IP "\fB\-rd\fR <A|B>" 4 +.IX Item "-rd <A|B>" +Set \*(L"Console.RightDifficulty\*(R" property. +.IP "\fB\-tv\fR <Color|BW>" 4 +.IX Item "-tv <Color|BW>" +Set \*(L"Console.TelevisionType\*(R" property. +.IP "\fB\-sp\fR <Yes|No>" 4 +.IX Item "-sp <Yes|No>" +Set \*(L"Console.SwapPorts\*(R" property. +.IP "\fB\-lc\fR <type>" 4 +.IX Item "-lc <type>" +Set \*(L"Controller.Left\*(R" property. See the Game Properties section for +valid types. +.IP "\fB\-rc\fR <type>" 4 +.IX Item "-rc <type>" +Set \*(L"Controller.Right\*(R" property. See the Game Properties section for +valid types. +.IP "\fB\-bc\fR <type>" 4 +.IX Item "-bc <type>" +Sets both \*(L"Controller.Left\*(R" and \*(L"Controller.Right\*(R" properties. See the +Game Properties section for valid types. +.IP "\fB\-cp\fR <Yes|No>" 4 +.IX Item "-cp <Yes|No>" +Set \*(L"Controller.SwapPaddles\*(R" property. +.IP "\fB\-ma\fR <Auto|XY>" 4 +.IX Item "-ma <Auto|XY>" +Set \*(L"Controller.MouseAxis\*(R" property. See the Game Properties section +for valid types. +.IP "\fB\-format\fR <format>" 4 +.IX Item "-format <format>" +Set \*(L"Display.Format\*(R" property. See the Game Properties section for +valid formats. +.IP "\fB\-ystart\fR <number>" 4 +.IX Item "-ystart <number>" +Set \*(L"Display.YStart\*(R" property (0 \- 64). +.IP "\fB\-height\fR <number>" 4 +.IX Item "-height <number>" +Set \*(L"Display.Height\*(R" property (210 \- 256). +.IP "\fB\-pp\fR <Yes|No>" 4 +.IX Item "-pp <Yes|No>" +Set \*(L"Display.Phosphor\*(R" property. +.IP "\fB\-ppblend\fR <number>" 4 +.IX Item "-ppblend <number>" +Set \*(L"Display.PPBlend\*(R" property, used for phosphor effect (0\-100). +Default is 77. +.IP "\fB\-thumb.trapfatal\fR <1|0>" 4 +.IX Item "-thumb.trapfatal <1|0>" +The default of true allows the Thumb \s-1ARM\s0 emulation to throw an exception and enter the debugger on fatal errors. When disabled, such fatal errors are simply logged, and emulation continues. Do not use this unless you know exactly what you're doing, as it changes the behaviour as compared to real hardware. - -.SH KEYBOARD CONTROLS +.SH "KEYBOARD" +.IX Header "KEYBOARD" The Atari 2600 console controls and controllers are mapped to the -computer's keyboard as shown in the following sections. However, most of +computer's keyboard as shown in the following tables. However, most of these events can be remapped to other keys on your keyboard or buttons -on your joystick. - -.SS Console controls (can be remapped) -.IP "Control + q" +on your joystick (see \fBAdvanced Configuration \- Event Remapping\fR in +the \s-1HTML\s0 documentation). The tables below show the default settings. +.SS "Console Controls (can be remapped)" +.IX Subsection "Console Controls (can be remapped)" +.IP "\fBControl + q\fR" 4 +.IX Item "Control + q" Exit emulator -.IP Escape +.IP "\fBEscape\fR" 4 +.IX Item "Escape" Exit game mode/enter launcher mode -.IP Tab +.IP "\fBTab\fR" 4 +.IX Item "Tab" Enter/exit options mode -.IP "Backslash (\e)" +.IP "\fBBackslash (\e)\fR" 4 +.IX Item "Backslash ()" Enter/exit command mode -.IP "Backquote (`)" +.IP "\fBBackquote (`)\fR" 4 +.IX Item "Backquote (`)" Enter/exit debugger -.IP F1 +.IP "\fBF1\fR" 4 +.IX Item "F1" Select Game -.IP F2 +.IP "\fBF2\fR" 4 +.IX Item "F2" Reset Game -.IP F3 -Color TV -.IP F4 -Black/White TV -.IP F5 +.IP "\fBF3\fR" 4 +.IX Item "F3" +Color \s-1TV\s0 +.IP "\fBF4\fR" 4 +.IX Item "F4" +Black/White \s-1TV\s0 +.IP "\fBF5\fR" 4 +.IX Item "F5" Left Player Difficulty A -.IP F6 +.IP "\fBF6\fR" 4 +.IX Item "F6" Left Player Difficulty B -.IP F7 +.IP "\fBF7\fR" 4 +.IX Item "F7" Right Player Difficulty A -.IP F8 +.IP "\fBF8\fR" 4 +.IX Item "F8" Right Player Difficulty B -.IP F9 +.IP "\fBF9\fR" 4 +.IX Item "F9" Save state to current slot -.IP F10 +.IP "\fBF10\fR" 4 +.IX Item "F10" Change current state slot -.IP F11 +.IP "\fBF11\fR" 4 +.IX Item "F11" Load state from current slot -.IP F12 -Save PNG snapshot -.IP Pause +.IP "\fBF12\fR" 4 +.IX Item "F12" +Save \s-1PNG\s0 snapshot +.IP "\fBPause\fR" 4 +.IX Item "Pause" Pause/resume emulation - -.SS Joystick / BoosterGrip Controller (can be remapped) -.P -Left joystick: -.IP "Up arrow" -Joystick up -.IP "Down arrow" -Joystick down -.IP "Left arrow" -Joystick left -.IP "Right arrow" -Joystick right -.IP Space -Fire button -.IP 4 -Trigger button -.IP 5 -Booster button -.P -Right joystick: -.IP Y -Joystick up -.IP H -Joystick down -.IP G -Joystick left -.IP J -Joystick right -.IP F -Fire button -.IP 6 -Trigger button -.IP 7 -Booster button - -.SS Paddle Controller digital emulation (can be remapped independently of joystick controller) -.P -By default the left paddles are mapped to the left joystick as follows: -.IP Left +.SS "Joystick / BoosterGrip Controller (can be remapped)" +.IX Subsection "Joystick / BoosterGrip Controller (can be remapped)" +\fILeft Joystick (Joy0)\fR +.IX Subsection "Left Joystick (Joy0)" +.IP "\fBUp arrow\fR" 4 +.IX Item "Up arrow" +Joystick Up +.IP "\fBDown arrow\fR" 4 +.IX Item "Down arrow" +Joystick Down +.IP "\fBLeft arrow\fR" 4 +.IX Item "Left arrow" +Joystick Left +.IP "\fBRight arrow\fR" 4 +.IX Item "Right arrow" +Joystick Right +.IP "\fBSpace\fR" 4 +.IX Item "Space" +Fire Button +.IP "\fB4\fR" 4 +.IX Item "4" +Trigger Button +.IP "\fB5\fR" 4 +.IX Item "5" +Booster Button +.PP +\fIRight Joystick (Joy1)\fR +.IX Subsection "Right Joystick (Joy1)" +.IP "\fBY\fR" 4 +.IX Item "Y" +Joystick Up +.IP "\fBH\fR" 4 +.IX Item "H" +Joystick Down +.IP "\fBG\fR" 4 +.IX Item "G" +Joystick Left +.IP "\fBJ\fR" 4 +.IX Item "J" +Joystick Right +.IP "\fBF\fR" 4 +.IX Item "F" +Fire Button +.IP "\fB6\fR" 4 +.IX Item "6" +Trigger Button +.IP "\fB7\fR" 4 +.IX Item "7" +Booster Button +.SS "Paddle Controller digital emulation (can be remapped independently of joystick controller)" +.IX Subsection "Paddle Controller digital emulation (can be remapped independently of joystick controller)" +\fILeft Paddles\fR +.IX Subsection "Left Paddles" +.IP "\fBSame as 'Joy0 Left'\fR" 4 +.IX Item "Same as 'Joy0 Left'" Paddle 0 decrease -.IP Right +.IP "\fBSame as 'Joy0 Right'\fR" 4 +.IX Item "Same as 'Joy0 Right'" Paddle 0 increase -.IP Fire -Paddle 0 fire -.IP Up +.IP "\fBSame as 'Joy0 Fire'\fR" 4 +.IX Item "Same as 'Joy0 Fire'" +Paddle 0 Fire +.IP "\fBSame as 'Joy0 Up'\fR" 4 +.IX Item "Same as 'Joy0 Up'" Paddle 1 decrease -.IP Down +.IP "\fBSame as 'Joy0 Down'\fR" 4 +.IX Item "Same as 'Joy0 Down'" Paddle 1 increase -.IP Booster -Paddle 1 fire -.P -The same mappings on the right joystick correspond to the right -paddles (paddles 2 and 3 respectively). - -.SS Driving Controller (cannot be remapped, always associated with joystick controllers) -Each driving controller is mapped to the corresponding joystick, using -the left, right and fire controls. - -.SS Sega Genesis Controller (cannot be remapped, always associated with joystick and booster-grip controllers) -Each pad is mapped to the correspondig joystick as follows: -.IP Up -Up -.IP Down -Down -.IP Left -Left -.IP Right -Right -.IP Fire +.IP "\fBSame as 'Joy0 Booster'\fR" 4 +.IX Item "Same as 'Joy0 Booster'" +Paddle 1 Fire +.PP +\fIRight Paddles\fR +.IX Subsection "Right Paddles" +.IP "\fBSame as 'Joy1 Left'\fR" 4 +.IX Item "Same as 'Joy1 Left'" +Paddle 2 decrease +.IP "\fBSame as 'Joy1 Right'\fR" 4 +.IX Item "Same as 'Joy1 Right'" +Paddle 2 increase +.IP "\fBSame as 'Joy1 Fire'\fR" 4 +.IX Item "Same as 'Joy1 Fire'" +Paddle 2 Fire +.IP "\fBSame as 'Joy1 Up'\fR" 4 +.IX Item "Same as 'Joy1 Up'" +Paddle 3 decrease +.IP "\fBSame as 'Joy1 Down'\fR" 4 +.IX Item "Same as 'Joy1 Down'" +Paddle 3 increase +.IP "\fBSame as 'Joy1 Booster'\fR" 4 +.IX Item "Same as 'Joy1 Booster'" +Paddle 3 Fire +.SS "Driving Controller (cannot be remapped, always associated with joystick controller)" +.IX Subsection "Driving Controller (cannot be remapped, always associated with joystick controller)" +\fILeft Driving\fR +.IX Subsection "Left Driving" +.IP "\fBSame as 'Joy0 Left'\fR" 4 +.IX Item "Same as 'Joy0 Left'" +Left Direction +.IP "\fBSame as 'Joy0 Right'\fR" 4 +.IX Item "Same as 'Joy0 Right'" +Right Direction +.IP "\fBSame as 'Joy0 Fire'\fR" 4 +.IX Item "Same as 'Joy0 Fire'" +Fire Button +.PP +\fIRight Driving\fR +.IX Subsection "Right Driving" +.IP "\fBSame as 'Joy1 Left'\fR" 4 +.IX Item "Same as 'Joy1 Left'" +Left Direction +.IP "\fBSame as 'Joy1 Right'\fR" 4 +.IX Item "Same as 'Joy1 Right'" +Right Direction +.IP "\fBSame as 'Joy1 Fire'\fR" 4 +.IX Item "Same as 'Joy1 Fire'" +Fire Button +.SS "Sega Genesis Controller (cannot be remapped, always associated with joystick and booster-grip controllers)" +.IX Subsection "Sega Genesis Controller (cannot be remapped, always associated with joystick and booster-grip controllers)" +\fILeft Pad\fR +.IX Subsection "Left Pad" +.IP "\fBSame as 'Joy0 Up'\fR" 4 +.IX Item "Same as 'Joy0 Up'" +Pad Up +.IP "\fBSame as 'Joy0 Down'\fR" 4 +.IX Item "Same as 'Joy0 Down'" +Pad Down +.IP "\fBSame as 'Joy0 Left'\fR" 4 +.IX Item "Same as 'Joy0 Left'" +Pad Left +.IP "\fBSame as 'Joy0 Right'\fR" 4 +.IX Item "Same as 'Joy0 Right'" +Pad Right +.IP "\fBSame as 'Joy0 Fire'\fR" 4 +.IX Item "Same as 'Joy0 Fire'" Button 'B' -.IP Booster +.IP "\fBSame as 'Joy0 Booster'\fR" 4 +.IX Item "Same as 'Joy0 Booster'" Button 'C' - -.SS Keypad Controller (can be remapped) -.P -Left keypad (press the key on the left to emulate the key on the -right): -.IP 1 +.PP +\fIRight Pad\fR +.IX Subsection "Right Pad" +.IP "\fBSame as 'Joy1 Up'\fR" 4 +.IX Item "Same as 'Joy1 Up'" +Pad Up +.IP "\fBSame as 'Joy1 Down'\fR" 4 +.IX Item "Same as 'Joy1 Down'" +Pad Down +.IP "\fBSame as 'Joy1 Left'\fR" 4 +.IX Item "Same as 'Joy1 Left'" +Pad Left +.IP "\fBSame as 'Joy1 Right'\fR" 4 +.IX Item "Same as 'Joy1 Right'" +Pad Right +.IP "\fBSame as 'Joy1 Fire'\fR" 4 +.IX Item "Same as 'Joy1 Fire'" +Button 'B' +.IP "\fBSame as 'Joy1 Booster'\fR" 4 +.IX Item "Same as 'Joy1 Booster'" +Button 'C' +.SS "Keypad Controller (can be remapped)" +.IX Subsection "Keypad Controller (can be remapped)" +\fILeft Keypad\fR +.IX Subsection "Left Keypad" +.IP "\fB1\fR" 4 +.IX Item "1" 1 -.IP 2 +.IP "\fB2\fR" 4 +.IX Item "2" 2 -.IP 3 +.IP "\fB3\fR" 4 +.IX Item "3" 3 -.IP Q +.IP "\fBQ\fR" 4 +.IX Item "Q" 4 -.IP W +.IP "\fBW\fR" 4 +.IX Item "W" 5 -.IP E +.IP "\fBE\fR" 4 +.IX Item "E" 6 -.IP A +.IP "\fBA\fR" 4 +.IX Item "A" 7 -.IP S +.IP "\fBS\fR" 4 +.IX Item "S" 8 -.IP D +.IP "\fBD\fR" 4 +.IX Item "D" 9 -.IP Z +.IP "\fBZ\fR" 4 +.IX Item "Z" \&. -.IP X +.IP "\fBX\fR" 4 +.IX Item "X" 0 -.IP C +.IP "\fBC\fR" 4 +.IX Item "C" # - -.P -Right keypad: -.IP 8 +.PP +\fIRight Keypad\fR +.IX Subsection "Right Keypad" +.IP "\fB8\fR" 4 +.IX Item "8" 1 -.IP 9 +.IP "\fB9\fR" 4 +.IX Item "9" 2 -.IP "0 (the digit)" +.IP "\fB0\fR" 4 +.IX Item "0" 3 -.IP I +.IP "\fBI\fR" 4 +.IX Item "I" 4 -.IP "O (the letter)" +.IP "\fBO\fR" 4 +.IX Item "O" 5 -.IP P +.IP "\fBP\fR" 4 +.IX Item "P" 6 -.IP K +.IP "\fBK\fR" 4 +.IX Item "K" 7 -.IP L +.IP "\fBL\fR" 4 +.IX Item "L" 8 -.IP ; +.IP "\fB;\fR" 4 +.IX Item ";" 9 -.IP , +.IP "\fB,\fR" 4 +.IX Item "," \&. -.IP . +.IP "\fB.\fR" 4 +.IX Item "." 0 -.IP / +.IP "\fB/\fR" 4 +.IX Item "/" # - -.SS CompuMate Controller (cannot be remapped) -.P -.IP 0-9 -0-9 -.IP A-Z -A-Z -.IP Comma +.SS "CompuMate Controller (cannot be remapped)" +.IX Subsection "CompuMate Controller (cannot be remapped)" +.IP "\fB 0 \- 9\fR" 4 +.IX Item " 0 - 9" +0 \- 9 +.IP "\fB A \- Z\fR" 4 +.IX Item " A - Z" +A \- Z +.IP "\fB Comma\fR" 4 +.IX Item " Comma" Comma -.IP Period +.IP "\fB Period\fR" 4 +.IX Item " Period" Period -.IP Control +.IP "\fB Control (left or right)\fR" 4 +.IX Item " Control (left or right)" Func -.IP Shift +.IP "\fB Shift (left or right)\fR" 4 +.IX Item " Shift (left or right)" Shift -.IP "; or Return/Enter" +.IP "\fB Return/Enter\fR" 4 +.IX Item " Return/Enter" Enter -.IP "/ or Space" +.IP "\fB Space\fR" 4 +.IX Item " Space" Space -.IP Backspace +.IP "\fB Backspace\fR" 4 +.IX Item " Backspace" Func-Space - -.SH FILES -.IP ~/.stella/stellarc -Default options (command line options override these). Lines starting -with ';' are considered comments and are ignored. Any other line must -be of the form <\fIcommand\fP> \fB=\fP <\fIvalue\fP>, where -\fIcommand\fP is the same as that specified on the command line, -without the '-' character, and \fIvalue\fP is the value given to the -setting. -.IP ~/.stella/atarivox_eeprom.dat -Default storage for the emulated EEPROM portion of an attached -AtariVox device. -.IP ~/.stella/savekey_eeprom.dat -Default storage for the emulated EEPROM portion of an attached SaveKey -device. -.IP ~/.stella/stella.cht -Default location of the cheat database file. - -.SH SEE ALSO -\fB/usr/share/doc/stella/index.html\fP, -\fB/usr/share/doc/stella/debugger.html\fP. - -.SH AUTHORS -\fBstella\fP was written by Bradford W. Mott, Stephen Anthony and the -Stella Team. - -This manual page was adapted from the provided documentation by -Stephen Kitt <skitt@debian.org>, for the Debian GNU/Linux system (but -may be used by others). It was last modified for \fBstella\fP version -3.8. +.IP "\fB + or Shift\-1\fR" 4 +.IX Item " + or Shift-1" ++ +.IP "\fB \- or Shift\-2\fR" 4 +.IX Item " - or Shift-2" +\&\- +.IP "\fB Shift\-3\fR" 4 +.IX Item " Shift-3" +* +.IP "\fB / or Shift\-4\fR" 4 +.IX Item " / or Shift-4" +/ +.IP "\fB = or Shift\-5\fR" 4 +.IX Item " = or Shift-5" += +.IP "\fB ? (Shift\-/) or Shift\-6\fR" 4 +.IX Item " ? (Shift-/) or Shift-6" +? +.IP "\fB Shift\-7\fR" 4 +.IX Item " Shift-7" +$ +.IP "\fB [ or Shift\-8\fR" 4 +.IX Item " [ or Shift-8" +[ +.IP "\fB ] or Shift\-9\fR" 4 +.IX Item " ] or Shift-9" +] +.IP "\fB "" (Shift\-') or Shift\-0\fR" 4 +.IX Item " "" (Shift-') or Shift-0" +" +.SS "\s-1TV\s0 effects (cannot be remapped, only active in \s-1TIA\s0 mode)" +.IX Subsection "TV effects (cannot be remapped, only active in TIA mode)" +.IP "\fBAlt + 1\fR" 4 +.IX Item "Alt + 1" +Disable \s-1TV\s0 effects +.IP "\fBAlt + 2\fR" 4 +.IX Item "Alt + 2" +Select 'Composite' preset +.IP "\fBAlt + 3\fR" 4 +.IX Item "Alt + 3" +Select 'S\-video' preset +.IP "\fBAlt + 4\fR" 4 +.IX Item "Alt + 4" +Select '\s-1RGB\s0' preset +.IP "\fBAlt + 5\fR" 4 +.IX Item "Alt + 5" +Select 'Badly adjusted' preset +.IP "\fBAlt + 6\fR" 4 +.IX Item "Alt + 6" +Select 'Custom' preset +.IP "\fBShift-Alt + 7\fR" 4 +.IX Item "Shift-Alt + 7" +Decrease scanline intensity +.IP "\fBAlt + 7\fR" 4 +.IX Item "Alt + 7" +Increase scanline intensity +.IP "\fBShift-Alt + 8\fR" 4 +.IX Item "Shift-Alt + 8" +Disable scanline interpolation +.IP "\fBAlt + 8\fR" 4 +.IX Item "Alt + 8" +Enable scanline interpolation +.IP "\fBShift-Alt + 9\fR" 4 +.IX Item "Shift-Alt + 9" +Select previous 'Custom' mode attribute (*) +.IP "\fBAlt + 9\fR" 4 +.IX Item "Alt + 9" +Select next 'Custom' mode attribute (*) +.IP "\fBShift-Alt + 0\fR" 4 +.IX Item "Shift-Alt + 0" +Decrease 'Custom' selected attribute value (*) +.IP "\fBAlt + 0\fR" 4 +.IX Item "Alt + 0" +Increase 'Custom' selected attribute value (*) +.PP +Items marked as (*) are only available in 'Custom' preset mode +.SS "Developer Keys in \s-1TIA\s0 mode (cannot be remapped)" +.IX Subsection "Developer Keys in TIA mode (cannot be remapped)" +.IP "\fBAlt + PageUp\fR" 4 +.IX Item "Alt + PageUp" +Set \*(L"Display.YStart\*(R" to next larger value +.IP "\fBAlt + PageDown\fR" 4 +.IX Item "Alt + PageDown" +Set \*(L"Display.YStart\*(R" to next smaller value +.IP "\fBControl + PageUp\fR" 4 +.IX Item "Control + PageUp" +Set \*(L"Display.Height\*(R" to next larger value +.IP "\fBControl + PageDown\fR" 4 +.IX Item "Control + PageDown" +Set \*(L"Display.Height\*(R" to next smaller value +.IP "\fBAlt + l\fR" 4 +.IX Item "Alt + l" +Toggle frame stats (scanline count/fps/bs type/etc) +.IP "\fBAlt + z\fR" 4 +.IX Item "Alt + z" +Toggle \s-1TIA\s0 Player0 object +.IP "\fBAlt + x\fR" 4 +.IX Item "Alt + x" +Toggle \s-1TIA\s0 Player1 object +.IP "\fBAlt + c\fR" 4 +.IX Item "Alt + c" +Toggle \s-1TIA\s0 Missile0 object +.IP "\fBAlt + v\fR" 4 +.IX Item "Alt + v" +Toggle \s-1TIA\s0 Missile1 object +.IP "\fBAlt + b\fR" 4 +.IX Item "Alt + b" +Toggle \s-1TIA\s0 Ball object +.IP "\fBAlt + n\fR" 4 +.IX Item "Alt + n" +Toggle \s-1TIA\s0 Playfield object +.IP "\fBShift-Alt + z\fR" 4 +.IX Item "Shift-Alt + z" +Toggle \s-1TIA\s0 Player0 collisions +.IP "\fBShift-Alt + x\fR" 4 +.IX Item "Shift-Alt + x" +Toggle \s-1TIA\s0 Player1 collisions +.IP "\fBShift-Alt + c\fR" 4 +.IX Item "Shift-Alt + c" +Toggle \s-1TIA\s0 Missile0 collisions +.IP "\fBShift-Alt + v\fR" 4 +.IX Item "Shift-Alt + v" +Toggle \s-1TIA\s0 Missile1 collisions +.IP "\fBShift-Alt + b\fR" 4 +.IX Item "Shift-Alt + b" +Toggle \s-1TIA\s0 Ball collisions +.IP "\fBShift-Alt + n\fR" 4 +.IX Item "Shift-Alt + n" +Toggle \s-1TIA\s0 Playfield collisions +.IP "\fBAlt + m\fR" 4 +.IX Item "Alt + m" +Toggle \s-1TIA HMOVE\s0 blanks +.IP "\fBAlt + Comma\fR" 4 +.IX Item "Alt + Comma" +Toggle \s-1TIA \s0'Fixed Debug Colors' mode +.IP "\fBAlt + .\fR" 4 +.IX Item "Alt + ." +Toggle all \s-1TIA\s0 objects +.IP "\fBShift-Alt + .\fR" 4 +.IX Item "Shift-Alt + ." +Toggle all \s-1TIA\s0 collisions +.SS "Other Keys (cannot be remapped, except those marked with '*')" +.IX Subsection "Other Keys (cannot be remapped, except those marked with '*')" +.IP "\fBAlt + =\fR" 4 +.IX Item "Alt + =" +Switch to next larger zoom level +.IP "\fBAlt + \-\fR" 4 +.IX Item "Alt + -" +Switch to next smaller zoom level +.IP "\fBAlt + Enter\fR" 4 +.IX Item "Alt + Enter" +Toggle fullscreen/windowed mode +.IP "\fBAlt + [\fR" 4 +.IX Item "Alt + [" +Decrease volume (*) +.IP "\fBAlt + ]\fR" 4 +.IX Item "Alt + ]" +Increase volume (*) +.IP "\fBControl + f\fR" 4 +.IX Item "Control + f" +Toggle console type in increasing order (\s-1NTSC/PAL/SECAM,\s0 etc)) +.IP "\fBShift-Control + f\fR" 4 +.IX Item "Shift-Control + f" +Toggle console type in decreasing order (\s-1NTSC/PAL/SECAM,\s0 etc)) +.IP "\fBControl + s\fR" 4 +.IX Item "Control + s" +Save current properties to a new properties file +.IP "\fBControl + 0\fR" 4 +.IX Item "Control + 0" +Switch mouse between controller emulation modes +.IP "\fBControl + 1\fR" 4 +.IX Item "Control + 1" +Swap Stelladaptor/2600\-daptor port ordering +.IP "\fBControl + r\fR" 4 +.IX Item "Control + r" +Reload current \s-1ROM \s0(singlecart \s-1ROM, TIA\s0 mode) or Load next game in \s-1ROM \s0(multicart \s-1ROM, TIA\s0 mode) +.IP "\fBControl + r\fR" 4 +.IX Item "Control + r" +Reload \s-1ROM\s0 listing (\s-1ROM\s0 launcher mode) +.IP "\fBBackspace\fR" 4 +.IX Item "Backspace" +Emulate 'frying' effect (\s-1TIA\s0 mode) (*), Go to parent directory (\s-1UI\s0 mode) (*) +=item \fBAlt + p\fR +.Sp +Toggle 'phosphor' effect +.IP "\fBControl + p\fR" 4 +.IX Item "Control + p" +Toggle palette +.IP "\fBControl + l\fR" 4 +.IX Item "Control + l" +Toggle \s-1PAL\s0 color-loss effect +.IP "\fBAlt + s\fR" 4 +.IX Item "Alt + s" +Save continuous \s-1PNG\s0 snapshots (per interval) +.IP "\fBShift-Alt + s\fR" 4 +.IX Item "Shift-Alt + s" +Save continuous \s-1PNG\s0 snapshots (every frame) +.SS "\s-1UI\s0 keys in Text Editing areas (cannot be remapped)" +.IX Subsection "UI keys in Text Editing areas (cannot be remapped)" +.IP "\fBHome\fR" 4 +.IX Item "Home" +Move cursor to beginning of line +.IP "\fBEnd\fR" 4 +.IX Item "End" +Move cursor to end of line +.IP "\fBDelete\fR" 4 +.IX Item "Delete" +Remove character to right of cursor +.IP "\fBBackspace\fR" 4 +.IX Item "Backspace" +Remove character to left of cursor +.IP "\fBControl-a\fR" 4 +.IX Item "Control-a" +Same function as 'Home' +.IP "\fBControl-e\fR" 4 +.IX Item "Control-e" +Same function as 'End' +.IP "\fBControl-d\fR" 4 +.IX Item "Control-d" +Same function as 'Delete' +.IP "\fBControl-k\fR" 4 +.IX Item "Control-k" +Remove all characters from cursor to end of line +.IP "\fBControl-u\fR" 4 +.IX Item "Control-u" +Remove all characters from cursor to beginning of line +.IP "\fBControl-w\fR" 4 +.IX Item "Control-w" +Remove entire word to left of cursor +.IP "\fBControl-Left\fR" 4 +.IX Item "Control-Left" +Move cursor to beginning of word to the left +.IP "\fBControl-Right\fR" 4 +.IX Item "Control-Right" +Move cursor to beginning of word to the right +.IP "\fBControl-c\fR" 4 +.IX Item "Control-c" +Copy entire line to clipboard (not complete) +.IP "\fBControl-v\fR" 4 +.IX Item "Control-v" +Paste clipboard contents (not complete) +.SH "FILES" +.IX Header "FILES" +\&\fB\f(CB$HOME\fB/.stella/\fR contains the following: +.IP "\fBstellarc\fR" 4 +.IX Item "stellarc" +The Stella config file, created by \fBstella\fR. May be hand-edited, but +normally the built-in \s-1GUI\s0 is used to set these options. +.IP "\fBcfg/\fR" 4 +.IX Item "cfg/" +Directory for DiStella config files, used only by the debugger. +.IP "\fBnvram/\fR" 4 +.IX Item "nvram/" +Directory used to store the contents of non-volatile cartridge memory. +.IP "\fBstate/\fR" 4 +.IX Item "state/" +Directory used to store save-states (see \fBF9\fR key). +.SH "AUTHORS" +.IX Header "AUTHORS" +Stella was originally developed for Linux by Bradford W. Mott +<bwmott@users.sourceforge.net>, and is currently maintained by Stephen +Anthony <stephena@users.sourceforge.net>. Other contributors include +Eckhard Stolberg <estolberg@users.sourceforge.net> and Brian Watson +<yalhcru@gmail.com>. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +Stella web site: \fIhttp://stella.sourceforge.net/\fR. diff --git a/games/stella/stella.SlackBuild b/games/stella/stella.SlackBuild index e1743fd7de..8c3aa52467 100644 --- a/games/stella/stella.SlackBuild +++ b/games/stella/stella.SlackBuild @@ -4,6 +4,8 @@ # Written by Luis Henrique <lmello.009@gmail.com> +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + # Modified by B. Watson <yalhcru@gmail.com> # 20140915 bkw: # - took over maintenance @@ -15,11 +17,14 @@ # - add MIME type for .a26 # - StartupNotify=false in .desktop -# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20150322 bkw: +# - update for 4.6 +# - replace stale stella 3.8 man page from Debian with updated one for 4.6. +# - get rid of unused --libdir configure option PRGNAM=stella -VERSION=${VERSION:-4.1.1} -BUILD=${BUILD:-2} +VERSION=${VERSION:-4.6} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -68,7 +73,6 @@ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --datadir=/usr/share \ --disable-static \ @@ -82,10 +86,11 @@ ln -s \ ../icons/hicolor/128x128/apps/$PRGNAM.png \ $PKG/usr/share/pixmaps/$PRGNAM.png -# man page borrowed from Debian +# Man page written for this build. +# Upstream will be shipping a man page starting with 4.7, so I can +# soon quit including one here. mkdir -p $PKG/usr/man/man6 -sed "s,/usr/share/doc/stella/,/usr/doc/$PRGNAM-$VERSION/," $CWD/$PRGNAM.6 \ - | gzip -9c > $PKG/usr/man/man6/$PRGNAM.6.gz +gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz # MIME type for .a26 extension. Not going to add stuff like .bin or .rom, # since they could be anything. diff --git a/games/stella/stella.info b/games/stella/stella.info index 763335bad4..321a8b79cc 100644 --- a/games/stella/stella.info +++ b/games/stella/stella.info @@ -1,8 +1,8 @@ PRGNAM="stella" -VERSION="4.1.1" +VERSION="4.6" HOMEPAGE="http://stella.sourceforge.net" -DOWNLOAD="http://downloads.sourceforge.net/project/stella/stella/4.1.1/stella-4.1.1-src.tar.gz" -MD5SUM="7657378ea7a9fe7e0aa2e5eb759e9067" +DOWNLOAD="http://downloads.sourceforge.net/project/stella/stella/4.6/stella-4.6-src.tar.gz" +MD5SUM="bf9d8d411ca0fc300fcbab9ae84aac0b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="SDL2" diff --git a/games/stella/stella.pod b/games/stella/stella.pod new file mode 100644 index 0000000000..5f1162760b --- /dev/null +++ b/games/stella/stella.pod @@ -0,0 +1,1379 @@ +# pod source for stella man page. Convert with: +# pod2man --stderr -s6 -cSlackBuilds.org -r4.6 -u stella.pod > stella.6 + +=pod + +=head1 NAME + +stella - an Atari 2600 emulator + +=head1 SYNOPSIS + +B<stella> I<options> I<ROM file> + +=head1 DESCRIPTION + +B<stella> is a comprehensive emulator of the old Atari 2600 video-game +console. It support most Atari 2600 games and many peripherals. + +If you start Stella and do not specify a ROM image, it will start in +'ROM Launcher' mode. If this is your first time starting Stella, you +will be asked to select the default ROM directory to use. + +This man page only documents the command-line options and default +keybindings. The complete documentation is in I<index.html> and +I<debugger.html>, usually installed in I</usr/share/doc/stella/> or +I</usr/doc/stella-4.6/>. + +=head1 OPTIONS + +=over 4 + +=item B<-video> <direct3d|opengl|opengles2|opengles|software> + +Use the given rendering backend (where applicable); default is the best +available mode detected. + +=item B<-vsync> <1|0> + +Synchronize screen updates to the vertical blank period. This can +result in smoother updates, and eliminate tearing. + +=item B<-fullscreen> <1|0> + +Enable fullscreen mode. + +=item B<-center> <1|0> + +Centers game window (if possible). + +=item B<-palette> <standard|z26|user> + +Set the palette to either normal Stella, the one used in the z26 +emulator, or a user-defined palette. + +=item B<-colorloss> <1|0> + +Enable/disable the PAL color-loss effect. + +=item B<-framerate> <number> + +Display the given number of frames per second. Normally, Stella will +determine framerate based on number of scanlines. Setting this to 0 +automatically enables auto-frame calculation (ie, framerate based on +scanlines). + +=item B<-timing> <sleep|busy> + +Determines type of wait to perform between processing frames. Sleep +will release the CPU as much as possible, and is the preferred method +on laptops (and other low-powered devices) and when using VSync. Busy +will emulate z26 busy-wait behaviour, and use all possible CPU time, +but may eliminate graphical 'tearing' in software mode. + +=item B<-uimessages> <1|0> + +Enable or disable display of message in the UI. Note that messages +indicating serious errors override this setting, and are always shown. + +=item B<-sound> <1|0> + +Enable or disable sound generation. + +=item B<-fragsize> <number> + +Specify the sound fragment size to use. Linux/Mac seems to work with +512, Windows usually needs 1024. + +=item B<-freq> <number> + +Set sound sample output frequency (11025,22050,31400,44100,48000) +Default is 31400. Do not change unless you experience sound issues. + +=item B<-volume> <number> + +Set the volume (0 - 100). + +=item B<-tia.zoom> <zoom> + +Use the specified zoom level (integer) while in TIA/emulation mode. + +=item B<-tia.inter> <1|0> + +Use interpolation for the TIA image (results in blending/smoothing of +the image). + +=item B<-tia.aspectn> <number> + +=item B<-tia.aspectp> <number> + +Specify the amount (as a percentage) to scale the TIA image width in +NTSC and PAL mode. Since many video modes do not use square pixels, you +can reduce width until the pixels appear square. Allowable values are +80 - 120; I find 85 - 90 gives the most authentic look for NTSC, and +105 - 110 for PAL. + +=item B<-tia.fsfill> <1|0> + +Stretch TIA image completely while in fullscreen mode (vs. an integral +stretch which won't necessarily completely fill the screen). + +=item B<-tv.filter> <1 - 6> + +Blargg TV effects, 0 is disabled, next numbers in sequence represent +presets for 'Composite', 'S-Video', 'RGB', 'Bad Adjust', and 'Custom' +modes. + +=item B<-tv.scanlines> <0 - 100> + +Blargg TV effects scanline intensity, where 0 means completely off. + +=item B<-tv.scaninter> <1|0> + +Blargg TV effects scanline interpolation, resulting in +blending/smoothing of the scanlines. + +=item B<-tv.contrast> <number> + +Blargg TV effects 'contrast' (only available in custom mode, range -1.0 +to 1.0). + +=item B<-tv.brightness> <number> + +Blargg TV effects 'brightness' (only available in custom mode, range +-1.0 to 1.0). + +=item B<-tv.hue> <number> + +Blargg TV effects 'hue' (only available in custom mode, range -1.0 to +1.0). + +=item B<-tv.saturation> <number> + +Blargg TV effects 'saturation' (only available in custom mode, range +-1.0 to 1.0). + +=item B<-tv.gamma> <number> + +Blargg TV effects 'gamma' (only available in custom mode, range -1.0 to +1.0). + +=item B<-tv.sharpness> <number> + +Blargg TV effects 'sharpness' (only available in custom mode, range +-1.0 to 1.0). + +=item B<-tv.resolution> <number> + +Blargg TV effects 'resolution' (only available in custom mode, range +-1.0 to 1.0). + +=item B<-tv.artifacts> <number> + +Blargg TV effects 'artifacts' (only available in custom mode, range +-1.0 to 1.0). + +=item B<-tv.fringing> <number> + +Blargg TV effects 'fringing' (only available in custom mode, range -1.0 +to 1.0). + +=item B<-tv.bleed> <number> + +Blargg TV effects 'bleed' (only available in custom mode, range -1.0 to +1.0). + +=item B<-cheat> <code> + +Use the specified cheatcode (see Cheat section for description). + +=item B<-loglevel> <0|1|2> + +Indicates level of logging to perform while the application is running. +Zero completely disables logging (except for serious errors), while the +remaining numbers show increasingly more detail. + +=item B<-logtoconsole> <1|0> + +Indicates that logged output should be printed to the +console/commandline as it's being collected. An internal log will still +be kept, and the amount of logging is still controlled by 'loglevel'. + +=item B<-joydeadzone> <number> + +Sets the joystick axis deadzone area for joysticks/gamepads. All values +within the deadzone are treated as zero-axis values, while only those +values outside are registered as valid input. Accepts a number from 0 - +29, and uses the formula 3200 + number * 1000. So the possible deadzone +values range from 3200 to 32200. + +=item B<-joyallow4> <1|0> + +Allow all 4 directions on a joystick to be pressed simultaneously. +Bumper Bash ignores this setting, and always allows all 4 directions. + +=item B<-usemouse> <always|analog|never> + +Use mouse as a controller as specified by ROM properties in specific +case. Always and never are self-explanatory, analog means only for +analog-type devices (paddles, trackball, etc). + +=item B<-grabmouse> <1|0> + +Locks the mouse cursor in the game window in emulation mode. + +=item B<-hidecursor> <1|0> + +Always hide the mouse cursor, or show it when appropriate. + +=item B<-dsense> <number> + +Sensitivity for emulation of paddles when using a digital device (ie, +joystick digital axis or button, keyboard key, etc). Valid range of +values is from 1 to 10, with larger numbers causing faster movement. + +=item B<-msense> <number> + +Sensitivity for emulation of paddles when using a mouse. Valid range of +values is from 1 to 15, with larger numbers causing faster movement. + +=item B<-saport> <lr|rl> + +Determines how to enumerate the Stelladaptor/2600-daptor devices in the +order they are found: 'lr' means first is left port, second is right +port, 'rl' means the opposite. + +=item B<-ctrlcombo> <1|0> + +Use control-x key combos. This is normally enabled, since the Quit +command is tied to 'Control-q'. However, there are times when a +2-player game is using either the 'f' or 'r' keys for movement, and +pressing Control (for Fire) will perform an unwanted action associated +with Control-r or Control-f. + +=item B<-autoslot> <1|0> + +Automatically switch to the next available save state slot after saving +a ROM state file. + +=item B<-stats> <1|0> + +Overlay console info on the TIA image during emulation. + +=item B<-fastscbios> <1|0> + +Disable Supercharger BIOS progress loading bars. + +=item B<-snapsavedir> <path> + +The directory to save snapshot files to. + +=item B<-snaploaddir> <path> + +The directory to load snapshot files from. + +=item B<-snapname> <int|rom> + +When saving snapshots, use either the internal database name or the +actual ROM filename. + +=item B<-sssingle> <1|0> + +Generate single snapshot instead of many, overwriting any previous +snapshots. + +=item B<-ss1x> <1|0> + +Ignore any scaling applied to the TIA image, and save snapshot in +unscaled (1x) mode. + +=item B<-ssinterval> <number> + +Set the interval in seconds between taking snapshots in continuous +snapshot mode (currently, 1 - 10). + +=item B<-rominfo> <rom> + +Display detailed information about the given ROM, and then exit Stella. + +=item B<-listrominfo> + +Prints relevant contents of the Stella ROM database, one ROM per line, +and then exit Stella. This can be used for external frontends. + +=item B<-exitlauncher> <1|0> + +Always exit to ROM launcher when exiting a ROM (normally, an exit to +launcher only happens when started with the launcher). + +=item B<-launcherres> <WxH> + +Set the size of the ROM launcher. + +=item B<-launcherfont> <small|medium|large> + +Set the size of the font in the ROM launcher. + +=item B<-launcherexts> <allfiles|allroms|LIST> + +Specifies which files to show in the ROM launcher ('allfiles' is +self-explanatory, 'allroms' is all files with valid rom extensions +(currently: a26, bin, rom, gz, zip), 'LIST' is a ':' separated list of +valid rom extensions. + +=item B<-romviewer> <0|1|2> + +Hide ROM info viewer in ROM launcher mode (0), or use the given zoom +level (1 or 2). + +=item B<-uipalette> <standard|classic> + +Use the specified palette for UI elements. + +=item B<-listdelay> <delay> + +Set the amount of time to wait between treating successive keypresses +as a single word in list widgets (value can range from 300-1000). Use +'0' to disable list-skipping completely, + +=item B<-mwheel> <lines> + +Set the number of lines a mousewheel will scroll in the UI. + +=item B<-romdir> <dir> + +Set the directory where the ROM launcher will start. + +=item B<-statedir> <dir> + +Set the directory in which to access state files. + +=item B<-cheatfile> <file> + +Set the full pathname of the cheatfile database. + +=item B<-palettefile> <file> + +Set the full pathname of the user-defined palette file. + +=item B<-propsfile> <file> + +Set the full pathname of the ROM properties file. + +=item B<-nvramdir> <dir> + +Set the directory in which to access non-volatile (flash/EEPROM) files. + +=item B<-cfgdir> <dir> + +Set the directory in which to access Distella config files. + +=item B<-avoxport> <name> + +Set the name of the serial port where an AtariVox is connected. + +=item B<-maxres> <WxH> + +Useful for developers, this sets the maximum size of window that can be +created, allowing to simulate testing on 'smaller' systems. + +=item B<-help> + +Prints a help message describing these options, and then exit Stella. + +The following are useful to developers. Only use them if you know +what you're doing! Note that in all cases, the values supplied to +the arguments are not case sensitive. + +Argument Description + +=item B<-dis.resolve> <1|0> + +Try to differentiate between code vs. data sections in the +disassembler. See the Debugger section for more information. + +=item B<-dis.gfxformat> <2|16> + +Sets the base to use for displaying GFX sections in the disassembler. + +=item B<-dis.showaddr> <1|0> + +Shows/hides opcode addresses in the disassembler. + +=item B<-dis.relocate> <1|0> + +Relocate calls out of address range in the disassembler. + +=item B<-dbg.res> <WxH> + +Set the size of the debugger window. + +=item B<-dbg.fontstyle> <0|1|2|3> + +How to use bold fonts in the debugger window. '0' means all normal +font, '1' is bold labels only, '2' is bold non-labels only, '3' is all +bold font. + +=item B<-break> <address> + +Set a breakpoint at specified address. + +=item B<-debug> + +Immediately jump to debugger mode when starting Stella. + +=item B<-holdjoy0> <U,D,L,R,F> + +Start the emulator with the left joystick direction/button held down +(ie, use 'UF' for up and fire). + +=item B<-holdjoy1> <U,D,L,R,F> + +Start the emulator with the right joystick direction/button held down +(ie, use 'UF' for up and fire). + +=item B<-holdselect> + +Start the emulator with the Game Select switch held down. + +=item B<-holdreset> + +Start the emulator with the Game Reset switch held down. + +=item B<-tiadriven> <1|0> + +Set unused TIA pins to be randomly driven high or low on a read/peek. +If disabled, use the last databus value for those pins instead. + +=item B<-cpurandom> <S,A,X,Y,P> + +On reset, randomize the content of the specified CPU registers. + +=item B<-ramrandom> <1|0> + +On reset, either randomize all RAM content, or zero it out instead. + +=item B<-bs> <type> + +Set "Cartridge.Type" property. See the Game Properties section for +valid types. + +=item B<-type> <type> + +Same as using -bs. + +=item B<-channels> <Mono|Stereo> + +Set "Cartridge.Sound" property. + +=item B<-ld> <A|B> + +Set "Console.LeftDifficulty" property. + +=item B<-rd> <A|B> + +Set "Console.RightDifficulty" property. + +=item B<-tv> <Color|BW> + +Set "Console.TelevisionType" property. + +=item B<-sp> <Yes|No> + +Set "Console.SwapPorts" property. + +=item B<-lc> <type> + +Set "Controller.Left" property. See the Game Properties section for +valid types. + +=item B<-rc> <type> + +Set "Controller.Right" property. See the Game Properties section for +valid types. + +=item B<-bc> <type> + +Sets both "Controller.Left" and "Controller.Right" properties. See the +Game Properties section for valid types. + +=item B<-cp> <Yes|No> + +Set "Controller.SwapPaddles" property. + +=item B<-ma> <Auto|XY> + +Set "Controller.MouseAxis" property. See the Game Properties section +for valid types. + +=item B<-format> <format> + +Set "Display.Format" property. See the Game Properties section for +valid formats. + +=item B<-ystart> <number> + +Set "Display.YStart" property (0 - 64). + +=item B<-height> <number> + +Set "Display.Height" property (210 - 256). + +=item B<-pp> <Yes|No> + +Set "Display.Phosphor" property. + +=item B<-ppblend> <number> + +Set "Display.PPBlend" property, used for phosphor effect (0-100). +Default is 77. + +=item B<-thumb.trapfatal> <1|0> + +The default of true allows the Thumb ARM emulation to throw an +exception and enter the debugger on fatal errors. When disabled, such +fatal errors are simply logged, and emulation continues. Do not use +this unless you know exactly what you're doing, as it changes the +behaviour as compared to real hardware. + +=back + +=head1 KEYBOARD + +The Atari 2600 console controls and controllers are mapped to the +computer's keyboard as shown in the following tables. However, most of +these events can be remapped to other keys on your keyboard or buttons +on your joystick (see B<Advanced Configuration - Event Remapping> in +the HTML documentation). The tables below show the default settings. + +=head2 Console Controls (can be remapped) + +=over 4 + +=item B<Control + q> + +Exit emulator + +=item B<Escape> + +Exit game mode/enter launcher mode + +=item B<Tab> + +Enter/exit options mode + +=item B<Backslash (\)> + +Enter/exit command mode + +=item B<Backquote (`)> + +Enter/exit debugger + +=item B<F1> + +Select Game + +=item B<F2> + +Reset Game + +=item B<F3> + +Color TV + +=item B<F4> + +Black/White TV + +=item B<F5> + +Left Player Difficulty A + +=item B<F6> + +Left Player Difficulty B + +=item B<F7> + +Right Player Difficulty A + +=item B<F8> + +Right Player Difficulty B + +=item B<F9> + +Save state to current slot + +=item B<F10> + +Change current state slot + +=item B<F11> + +Load state from current slot + +=item B<F12> + +Save PNG snapshot + +=item B<Pause> + +Pause/resume emulation + +=back + +=head2 Joystick / BoosterGrip Controller (can be remapped) + +=head3 Left Joystick (Joy0) + +=over 4 + +=item B<Up arrow> + +Joystick Up + +=item B<Down arrow> + +Joystick Down + +=item B<Left arrow> + +Joystick Left + +=item B<Right arrow> + +Joystick Right + +=item B<Space> + +Fire Button + +=item B<4> + +Trigger Button + +=item B<5> + +Booster Button + +=back + +=head3 Right Joystick (Joy1) + +=over 4 + +=item B<Y> + +Joystick Up + +=item B<H> + +Joystick Down + +=item B<G> + +Joystick Left + +=item B<J> + +Joystick Right + +=item B<F> + +Fire Button + +=item B<6> + +Trigger Button + +=item B<7> + +Booster Button + +=back + +=head2 Paddle Controller digital emulation (can be remapped independently of joystick controller) + +=head3 Left Paddles + +=over 4 + +=item B<Same as 'Joy0 Left'> + +Paddle 0 decrease + +=item B<Same as 'Joy0 Right'> + +Paddle 0 increase + +=item B<Same as 'Joy0 Fire'> + +Paddle 0 Fire + +=item B<Same as 'Joy0 Up'> + +Paddle 1 decrease + +=item B<Same as 'Joy0 Down'> + +Paddle 1 increase + +=item B<Same as 'Joy0 Booster'> + +Paddle 1 Fire + +=back + +=head3 Right Paddles + +=over 4 + +=item B<Same as 'Joy1 Left'> + +Paddle 2 decrease + +=item B<Same as 'Joy1 Right'> + +Paddle 2 increase + +=item B<Same as 'Joy1 Fire'> + +Paddle 2 Fire + +=item B<Same as 'Joy1 Up'> + +Paddle 3 decrease + +=item B<Same as 'Joy1 Down'> + +Paddle 3 increase + +=item B<Same as 'Joy1 Booster'> + +Paddle 3 Fire + +=back + +=head2 Driving Controller (cannot be remapped, always associated with joystick controller) + +=head3 Left Driving + +=over 4 + +=item B<Same as 'Joy0 Left'> + +Left Direction + +=item B<Same as 'Joy0 Right'> + +Right Direction + +=item B<Same as 'Joy0 Fire'> + +Fire Button + +=back + +=head3 Right Driving + +=over 4 + +=item B<Same as 'Joy1 Left'> + +Left Direction + +=item B<Same as 'Joy1 Right'> + +Right Direction + +=item B<Same as 'Joy1 Fire'> + +Fire Button + +=back + +=head2 Sega Genesis Controller (cannot be remapped, always associated with joystick and booster-grip controllers) + +=head3 Left Pad + +=over 4 + +=item B<Same as 'Joy0 Up'> + +Pad Up + +=item B<Same as 'Joy0 Down'> + +Pad Down + +=item B<Same as 'Joy0 Left'> + +Pad Left + +=item B<Same as 'Joy0 Right'> + +Pad Right + +=item B<Same as 'Joy0 Fire'> + +Button 'B' + +=item B<Same as 'Joy0 Booster'> + +Button 'C' + +=back + +=head3 Right Pad + +=over 4 + +=item B<Same as 'Joy1 Up'> + +Pad Up + +=item B<Same as 'Joy1 Down'> + +Pad Down + +=item B<Same as 'Joy1 Left'> + +Pad Left + +=item B<Same as 'Joy1 Right'> + +Pad Right + +=item B<Same as 'Joy1 Fire'> + +Button 'B' + +=item B<Same as 'Joy1 Booster'> + +Button 'C' + +=back + +=head2 Keypad Controller (can be remapped) + +=head3 Left Keypad + +=over 4 + +=item B<1> + +1 + +=item B<2> + +2 + +=item B<3> + +3 + +=item B<Q> + +4 + +=item B<W> + +5 + +=item B<E> + +6 + +=item B<A> + +7 + +=item B<S> + +8 + +=item B<D> + +9 + +=item B<Z> + +. + +=item B<X> + +0 + +=item B<C> + +# + +=back + +=head3 Right Keypad + +=over 4 + +=item B<8> + +1 + +=item B<9> + +2 + +=item B<0> + +3 + +=item B<I> + +4 + +=item B<O> + +5 + +=item B<P> + +6 + +=item B<K> + +7 + +=item B<L> + +8 + +=item B<;> + +9 + +=item B<,> + +. + +=item B<.> + +0 + +=item B</> + +# + +=back + +=head2 CompuMate Controller (cannot be remapped) + +=over 4 + +=item B< 0 - 9> + +0 - 9 + +=item B< A - Z> + +A - Z + +=item B< Comma> + +Comma + +=item B< Period> + +Period + +=item B< Control (left or right)> + +Func + +=item B< Shift (left or right)> + +Shift + +=item B< Return/Enter> + +Enter + +=item B< Space> + +Space + +=item B< Backspace> + +Func-Space + +=item B< + or Shift-1> + ++ + +=item B< - or Shift-2> + +- + +=item B< Shift-3> + +* + +=item B< / or Shift-4> + +/ + +=item B< = or Shift-5> + += + +=item B< ? (Shift-/) or Shift-6> + +? + +=item B< Shift-7> + +$ + +=item B< [ or Shift-8> + +[ + +=item B< ] or Shift-9> + +] + +=item B< " (Shift-') or Shift-0> + +" + +=back + +=head2 TV effects (cannot be remapped, only active in TIA mode) + +=over 4 + +=item B<Alt + 1> + +Disable TV effects + +=item B<Alt + 2> + +Select 'Composite' preset + +=item B<Alt + 3> + +Select 'S-video' preset + +=item B<Alt + 4> + +Select 'RGB' preset + +=item B<Alt + 5> + +Select 'Badly adjusted' preset + +=item B<Alt + 6> + +Select 'Custom' preset + +=item B<Shift-Alt + 7> + +Decrease scanline intensity + +=item B<Alt + 7> + +Increase scanline intensity + +=item B<Shift-Alt + 8> + +Disable scanline interpolation + +=item B<Alt + 8> + +Enable scanline interpolation + +=item B<Shift-Alt + 9> + +Select previous 'Custom' mode attribute (*) + +=item B<Alt + 9> + +Select next 'Custom' mode attribute (*) + +=item B<Shift-Alt + 0> + +Decrease 'Custom' selected attribute value (*) + +=item B<Alt + 0> + +Increase 'Custom' selected attribute value (*) + +=back + +Items marked as (*) are only available in 'Custom' preset mode + +=head2 Developer Keys in TIA mode (cannot be remapped) + +=over + +=item B<Alt + PageUp> + +Set "Display.YStart" to next larger value + +=item B<Alt + PageDown> + +Set "Display.YStart" to next smaller value + +=item B<Control + PageUp> + +Set "Display.Height" to next larger value + +=item B<Control + PageDown> + +Set "Display.Height" to next smaller value + +=item B<Alt + l> + +Toggle frame stats (scanline count/fps/bs type/etc) + +=item B<Alt + z> + +Toggle TIA Player0 object + +=item B<Alt + x> + +Toggle TIA Player1 object + +=item B<Alt + c> + +Toggle TIA Missile0 object + +=item B<Alt + v> + +Toggle TIA Missile1 object + +=item B<Alt + b> + +Toggle TIA Ball object + +=item B<Alt + n> + +Toggle TIA Playfield object + +=item B<Shift-Alt + z> + +Toggle TIA Player0 collisions + +=item B<Shift-Alt + x> + +Toggle TIA Player1 collisions + +=item B<Shift-Alt + c> + +Toggle TIA Missile0 collisions + +=item B<Shift-Alt + v> + +Toggle TIA Missile1 collisions + +=item B<Shift-Alt + b> + +Toggle TIA Ball collisions + +=item B<Shift-Alt + n> + +Toggle TIA Playfield collisions + +=item B<Alt + m> + +Toggle TIA HMOVE blanks + +=item B<Alt + Comma> + +Toggle TIA 'Fixed Debug Colors' mode + +=item B<Alt + .> + +Toggle all TIA objects + +=item B<Shift-Alt + .> + +Toggle all TIA collisions + +=back + +=head2 Other Keys (cannot be remapped, except those marked with '*') + +=over 4 + +=item B<Alt + => + +Switch to next larger zoom level + +=item B<Alt + -> + +Switch to next smaller zoom level + +=item B<Alt + Enter> + +Toggle fullscreen/windowed mode + +=item B<Alt + [> + +Decrease volume (*) + +=item B<Alt + ]> + +Increase volume (*) + +=item B<Control + f> + +Toggle console type in increasing order (NTSC/PAL/SECAM, etc)) + +=item B<Shift-Control + f> + +Toggle console type in decreasing order (NTSC/PAL/SECAM, etc)) + +=item B<Control + s> + +Save current properties to a new properties file + +=item B<Control + 0> + +Switch mouse between controller emulation modes + +=item B<Control + 1> + +Swap Stelladaptor/2600-daptor port ordering + +=item B<Control + r> + +Reload current ROM (singlecart ROM, TIA mode) or Load next game in ROM (multicart ROM, TIA mode) + +=item B<Control + r> + +Reload ROM listing (ROM launcher mode) + +=item B<Backspace> + +Emulate 'frying' effect (TIA mode) (*), Go to parent directory (UI mode) (*) +=item B<Alt + p> + +Toggle 'phosphor' effect + +=item B<Control + p> + +Toggle palette + +=item B<Control + l> + +Toggle PAL color-loss effect + +=item B<Alt + s> + +Save continuous PNG snapshots (per interval) + +=item B<Shift-Alt + s> + +Save continuous PNG snapshots (every frame) + +=back + +=head2 UI keys in Text Editing areas (cannot be remapped) + +=over 4 + +=item B<Home> + +Move cursor to beginning of line + +=item B<End> + +Move cursor to end of line + +=item B<Delete> + +Remove character to right of cursor + +=item B<Backspace> + +Remove character to left of cursor + +=item B<Control-a> + +Same function as 'Home' + +=item B<Control-e> + +Same function as 'End' + +=item B<Control-d> + +Same function as 'Delete' + +=item B<Control-k> + +Remove all characters from cursor to end of line + +=item B<Control-u> + +Remove all characters from cursor to beginning of line + +=item B<Control-w> + +Remove entire word to left of cursor + +=item B<Control-Left> + +Move cursor to beginning of word to the left + +=item B<Control-Right> + +Move cursor to beginning of word to the right + +=item B<Control-c> + +Copy entire line to clipboard (not complete) + +=item B<Control-v> + +Paste clipboard contents (not complete) + +=back + +=head1 FILES + +B<$HOME/.stella/> contains the following: + +=over 4 + +=item B<stellarc> + +The Stella config file, created by B<stella>. May be hand-edited, but +normally the built-in GUI is used to set these options. + +=item B<cfg/> + +Directory for DiStella config files, used only by the debugger. + +=item B<nvram/> + +Directory used to store the contents of non-volatile cartridge memory. + +=item B<state/> + +Directory used to store save-states (see B<F9> key). + +=back + +=head1 AUTHORS + +Stella was originally developed for Linux by Bradford W. Mott +<bwmott@users.sourceforge.net>, and is currently maintained by Stephen +Anthony <stephena@users.sourceforge.net>. Other contributors include +Eckhard Stolberg <estolberg@users.sourceforge.net> and Brian Watson +<yalhcru@gmail.com>. + +=head1 SEE ALSO + +Stella web site: I<http://stella.sourceforge.net/>. |