.SH SYNOPSIS
.B sfrotz
.RI [ options "] " "file " [ blorb_file "]"
-
+.P
At least one file must be specified on the command line. This can be
either a plain Z-code file or a Blorb file. A Z-code file is a compiled
executable for the Z-Machine. A Blorb file contains audio, graphics,
or
.B .zblorb
and load it if found.
-
+.P
If the file supplied on the command line is a Blorb file, then
.B Frotz
will check to see if a Z-code file is contained within. If not found, then
.B Frotz
will complain and exit.
-
+.P
An alternatively-named Blorb file can be supplied as the optional second
parameter to the command line invocatio
-
.SH DESCRIPTION
.B Frotz
is a Z-Machine interpreter. The Z-machine is a virtual machine designed
(V7 and V8) were created by Graham Nelson after the company's demise.
The specification is now quite well documented; this version of
.B Frotz
-supports version 1.0.
-.P
+supports version 1.1. See
+.B Z-MACHINE STANDARDS
+below..P
This version of
.B Frotz
fully supports all these versions of the Z-Machine including the
are supported when packaged in Blorb container files or optionally from
individual files.
-
.SH STANDARD OPTIONS
.TP
.B \-a
Watch attribute setting. Setting and clearing of attributes on objects
will be noted in debugging messages.
-
.TP
.B \-A
Watch attribute testing. Every time the Z-machine tests an attribute
value, the test and the result will be reported.
-
.TP
.B \-b <colorname>
Sets the default background color. <colorname> corresponds to one of the
.br
If color support is disabled or not available on your terminal, this
option does nothing.
-
.TP
.B \-c N
Sets the number of context lines used. By default, after a ``[MORE]''
before prompting again. This switch specifies how many lines of text
.B Frotz
will hold over and display at the top of the next screen.
-
.TP
.B \-C <filename>
Load this configuration file instead of $HOME/.sfrotzrc.
-
.TP
.B \-d
Disable color.
-
.TP
.B \-f <colorname>
Sets the default foreground color. <colorname> corresponds to one of the
Z-machine colors, which are as follows
.br
-.I black red green yellow blue magenta cyan white
+.I \ \ \ \ black red green yellow blue magenta cyan white
.br
If color support is disabled or is not available on your terminal, this
option does nothing.
-
.TP
.B \-h N
Manually sets the text height.
-
.TP
.B \-i
Ignore fatal errors. If a Z-Machine interpreter encounters a zcode error
an interpreter that didn't properly check for errors. This option is
intended to get around such bugs, but be warned that Strange Things may
happen if fatal errors are not caught.
-
.TP
.B \-I N
Set the interpreter number. Infocom designed the Z-machine such that a
game could tell on what kind of machine the interpreter was running.
-See INTERPRETER NUMBER below.
-
+See
+.B INTERPRETER NUMBER
+below.
.TP
.B \-l N
Sets the left margin, for those who might have specific formatting needs.
-
.TP
.B \-L <filename>
When the game starts, load this saved game file.
-
.TP
.B \-o
Watch object movement. This option enables debugging messages from the
interpreter which describe the moving of objects in the object tree.
-
.TP
.B \-O
Watch object location. These debugging messages detail the locations of
objects in the object tree.
-
.TP
.B \-P
-Alter the piracy opcode. The piracy opcode was never used by Infocom.
-This switch is really only useful for those who like to toy around with
-Z-code.
-
+Alter the
+.I @piracy
+opcode. The
+.I @piracy
+opcode was never used by Infocom. This switch is really only useful for
+those who like to toy around with Z-code.
.TP
.B \-r N
Sets the right margin.
-
-
.TP
.B \-s N
-Set the random number seed value. The given seed value is used as the initial
-seed value on every restart. This is helpful for testing games like
+Set the random number seed value. The given seed value is used as the
+initial seed value on every restart. By default, the random number
+generator is initialized based on the system clock; this allows you to
+make the random number generator predictable, for use in recorded
+scripts or debugging. For instance,
.B Curses
-which make random decisions before the first input (such that the hot
-key Alt\-S does not really help).
-
+makes random decisions before the first input (such that the hot key
+Alt\-S does not really help).
.TP
.B \-S N
Set the transcript width. By default your transcript files are formatted
to a width of 80 columns per line, regardless of the current text width.
This switch allows you to change this setting. In particular, use \-S 0
to deactivate automatic line splitting in transcript files.
-
.TP
.B \-t
Sets the Z-machine's
which may affect the behavior of certain Infocom games. For example,
Zork I pretends not to have sequels, and Witness has its language
toned down.
-
.TP
.B \-u N
Sets the number of slots available for
.B Frotz's
-multiple undo hotkey (see below). This defaults to twenty, which should
+multiple undo hotkey (see below). This defaults to 25, which should
be sufficient for most purposes. Setting too high a number here may be
dangerous on machines with limited memory.
-
.TP
.B \-w N
Manually sets the text width.
-
.TP
.B \-x
Expand the abbreviations "g", "x", and "z" to "again", "examine", and
"wait". This switch is for use with old Infocom games that lack these
common abbreviations which were introduced in later games. Use it with
caution: A few games might use "g", "x" or "z" for different purposes.
-
.TP
.B \-Z N
Error checking mode.
.br
-0 = don't report errors.
+ 0 = don't report errors.
.br
-1 = report first instance of an error.
+ 1 = report first instance of an error.
.br
-2 = report all errors.
+ 2 = report all errors.
.br
-3 = exit after any error.
+ 3 = exit after any error.
.br
Default is 1 (report first instance of an error).
.SH EXTENDED OPTIONS
-
.TP
.B \-@ <listfile>
Use resource files listed in <listfile> (see NON BLORB RESOURCES).
-
.TP
.B \-%
Use local resource files.
-
.TP
.B \-F
Run in fullscreen mode (see NOTES).
-
.TP
.B \-m <msecs>
Set the timer interrupt cycle to <msecs> milliseconds, instead of the
default 100 (1/10 sec).
-
.TP
.B \-N <mode>
Set the mode (date or name) for creating default file names for
a four-digit number beginning with
.I 0000
is prepended to the filename extension.
-
.TP
.B \-T
Use traditional in-game requests for file names, instead of on-screen
dialogs.
-
.TP
.B \-v
Show version information and exit. This will display the version of
Frotz, some information about what's enabled and what's not, the commit
-date of the source code, and a git(1) hash of that commit.
-
+date of the source code, and a
+.BR git (1)
+hash of that commit.
.TP
.B \-V
Force the use of default monospaced VGA font.
-
.SH HOT KEYS
.B Sfrotz
supports the same hot keys as standard
.B Frotz,
plus the Ctl-Alt-X combination for immediate exit, which may be used in
case of emergency. Note that these hot keys are enabled only when the
-Z-machine is waiting for line input (for Z-machine experts: @read
+Z-machine is waiting for line input (for Z-machine experts:
+.I @read
opcode), with the exception of Ctl-Alt-X which also works in single
-character input mode (@read_char opcode).
-
+character input mode
+.RI ( @read_char
+opcode).
.TP
.B Alt-D
Set debugging options.
-
.TP
.B Alt-H
Help (print the list of hot keys).
-
.TP
.B Alt-N
New game (restart).
-
.TP
.B Alt-P
Playback on.
-
.TP
.B Alt-R
Recording on/off.
-
.TP
.B Alt-S
Set random number seed.
-
.TP
.B Alt-U
Undo one turn.
-
.TP
.B Alt-X
Exit game (after confirmation).
-
.TP
.B Ctl-Alt-X
Exit game immediately (no confirmation).
-
.SH WINDOW
.B Sfrotz
has a hardwired default screen size of 640x400. The screen size can be
.B Sfrotz
shall refuse to set a screen width less than 640 and/or a height less
than 400. NOTE: for normal (windowed) usage, the screen size should
-obviously be less than the PC screen resolution (taking into account
+obviously be less than the physical screen resolution (taking into account
also window decorations, taskbars etc.) For fullscreen usage, the size
should preferably be one of those supported by the PC video driver;
otherwise, SDL shall try to use the next higher available resolution,
request, but the screen goes blank... In such a case, you may shut down
the program by pressing Ctrl-Alt-X.
-
.SH INTERPRETER NUMBER
The interpreter number is a setting in the Z-machine header which is
used to tell the game on what sort of machine the interpreter is
Infocom-produced game. Should you want to override the number, the
.B \-I
option is available.
-
+.P
An interpreter should choose the interpreter number most suitable for
the machine it will run on. In Versions up to 5, the main consideration
is that the behaviour of 'Beyond Zork' depends on the interpreter
expect to be run only on the interpreters for a particular machine.
There are, for instance, specifically Amiga versions. The DECSystem-20
was Infocom's own in-house mainframe.
-
+.P
For Infocom's four V6 games, the interpreter number will be
automatically chosen based on the title and release number. Of course,
this can be overridden at the command line.
-
+.P
Infocom used the following interpreter numbers:
-
-.PP
-.BR 1
-.BR \ \ DECSystem\ 20
-
-.PP
-.BR 2
-.BR \ \ Apple\ IIe
-
-.PP
-.BR 3
-.BR \ \ Macintosh
-
-.PP
-.BR 4
-.BR \ \ Amiga
-
-.PP
-.BR 5
-.BR \ \ Atari\ ST
-
-.PP
-.BR 6
-.BR \ \ IBM\ PC
-
-.PP
-.BR 7
-.BR \ \ Commodore 128
-
-.PP
-.BR 8
-.BR \ \ Commodore 64
-
-.PP
-.BR 9
-.BR \ \ Apple\ IIc
-
-.PP
-.BR 10
-.BR \ \ Apple\ IIgs
-
-.PP
-.BR 11
-.BR \ \ Tandy\ Color
-
+.IP
+.B 1 \ DECSystem\ 20
+.br
+.B 2 \ Apple\ IIe
+.br
+.B 3 \ Macintosh
+.br
+.B 4 \ Amiga
+.br
+.B 5 \ Atari\ ST
+.br
+.B 6 \ IBM\ PC
+.br
+.B 7 \ Commodore 128
+.br
+.B 8 \ Commodore 64
+.br
+.B 9 \ Apple\ IIc
+.br
+.B 10 Apple\ IIgs
+.br
+.B 11 Tandy\ Color
.SH NON BLORB RESOURCES
Besides Blorb-packaged resources,
latter are either suitably named (e.g a common root with a numeric field
specifying the resource number), or listed in a suitably formatted text
file.
-
-Note that this feature is not automatic, but must be enabled by the -%
-or -@ command line options. When the feature is enabled, resources found
-this way override those in the Blorb file, if present.
-
+.P
+Note that this feature is not automatic, but must be enabled by the
+.B \-%
+or
+.B \-@
+command line options. When the feature is enabled, resources found this
+way override those in the Blorb file, if present.
+.P
This feature can be useful to game designers, as it eases changing and
adding resources without having to re-compile the Blorb file each time.
-The format of the list file used with the -@ option (see EXAMPLE BLC
-FILE) is identical to that of the BLC control file used by L. Ross
-Raszewski's iblorb package, so one can use the same list for compiling
-the final Blorb file for distribution.
+The format of the list file used with the
+.B \-@
+option (see
+.BR "EXAMPLE BLC FILE" )
+is identical to that of the BLC control file used by L. Ross Raszewski's
+iblorb package, so one can use the same list for compiling the final
+Blorb file for distribution.
.SH TRUETYPE FONTS
-
.B Sfrotz
can display text with Truetype or Type1 fonts, using the FreeType2
rendering library. The location of the necessary font files must be
.B experimental,
so don't expect too much (e.g., kerning is not supported).
-
.SH DEFAULT FONTS
.B Sfrotz
does not need Truetype fonts to work; in fact it has a default
not very nice) modifications for the various styles. Even if Truetype
fonts are specified in the setup file,
.B Sfrotz
-can be forced to use the VGA font by the -V command line switch.
-
+can be forced to use the VGA font by the
+.B \-V
+command line switch.
.SH UNICODE
.B Sfrotz
https://www.gnu.org/software/freefont/ (Truetype fonts). Logographic
glyphs (Kanji and Chinese are not currently supported.
-
.SH Z-MACHINE STANDARDS
-.B Frotz
+.B Sfrotz
complies with the Z-Machine Standard 1.1 of May 2006, revised February
2014. The authoritative version is found here:
.br
http://inform-fiction.org/zmachine/standards/z1point1/index.html
.P
-As of 1.1, an additional optional parameter
+As of 1.1, an additional optional
.B prompt
-is allowed on Version 5 extended save/restore. This parameter allows
-a game to read or write an auxiliary (aux) file without prompting the
-player. See section 15 of the Standard for details.
+parameter is allowed on Version 5 extended save/restore. This parameter
+allows a game to read or write an auxiliary (aux) file without prompting
+the player. See section 15 of the Standard for details.
.B Frotz
-restricts such files to having an ".aux" filename extension. When the
-.B -R
-(restricted read/write) option is active, reads and writes through this
-mechanism are restricted to the provided path the same as all other file
-accesses.
-
+restricts such files to having an ".aux" filename extension.
.SH ENVIRONMENT
-If the ZCODE_PATH environmental variable is defined,
-.B Sfrotz
-will search that path for game files. If that doesn't exist,
-INFOCOM_PATH will be searched.
-
+If the
+.B ZCODE_PATH
+environmental variable is defined, frotz will search that path for game
+files. If that doesn't exist,
+.B INFOCOM_PATH
+will be searched. Any additional files required, such as graphics
+files, sounds directory, auxilary, or blorb files must be in the same
+directory as
+.B sfrotz
+finds the story file.
.SH SETUP FILE
On startup,
.B sfrotz
will check $HOME/.sfrotzrc for setup information. The setup file has
four sections: Interpreter, Display, Fonts, and Resources.
-
+.P
The
.B Interpreter
section deals with options having to do with how the
.B Frotz
core works.
-
+.P
The
.B Window
section deals with screen display.
.B sfrotz
shall refuse to set a screen width less than 640 and/or a height less
than 400.
-
+.P
.BR NOTE :
for normal (windowed) usage, the screen size should obviously be less
than the PC screen resolution (taking into account also window
happen that for some strange resolutions SDL accepts the request, but
the screen goes blank... In such a case, you may shut down the program
by pressing Ctrl-Alt-X.
-
+.P
The
.B Display
section is reserved for future developments.
-
+.P
The
.B Fonts
section is for defining the font directory, font files, and if
antialiasing is enabled (which is currently not supported).
-
+.P
The following eight statements: textroman, textbold, textitalic,
textbolditalic, fixedroman, fixedbold, fixeditalic, and fixedbolditalic;
specify the eight font faces used by the z-machine (not counting the
shall use the first one it finds (see the example in EXAMPLE SETUP
FILE). This feature allows e.g. to use the same setup file on different
systems.
-
+.P
The
.B Resources
section is for configuring graphics and sound resources. Each template
must contain exactly one C-style decimal format specifier (e.g. Pict%d)
to be substituted by the resource number.
-
.SH SETUP FILE GRAMMAR
.B [Interpreter]
.HP 2
.I number
.br
Set the interpreter number (default is 4, i.e. Amiga Interpreter)
-
+.P
.HP 2
Error Reporting =
.I level
.br
Set the error reporting level (same as the -Z option)
-
.HP 2
Ignore Errors =
.I 0/1
.br
Ignore (1) or not (0) non-fatal runtime errors.
-
.HP 2
Expand Abbreviations =
.I 0/1
Set/reset expansion of g/x/z abbreviations. Expansion is useful for old
v1 games which do not understand such abbreviations. Default: 0 (the
-xoption can set this switch.)
-
.HP 2
Tandy Bit =
.I 0/1
.br
Set/reset the Tandy bit. Default: 0 (the -t option can set this switch.)
-
.HP 2
Wrap Script Lines =
.I nc
.br
Set the width (number of columns) of the transcript to nc. Same as -S option.
-
.HP 2
SaveNames =
.I date/name
a four-digit number beginning with
.I 0000
is prepended to the filename extension.
-
.P
.B [Window]
.HP 2
.I width
.br
Set the screen width in pixels (default: 640)
-
.HP 2
AcHeight =
.I height
.br
Set the screen height in pixels (default: 400)
-
.P
.B [Display]
.HP 2
(This section reserved for future developments)
-
.P
.B [Fonts]
.HP 2
.br
Set antialiased rendering of Truetype fonts off (0) or on (nonzero).
Note that this option cannot be overridden by a command line switch.
-
.HP 2
fontdir =
.I folder
Specify the directory containing the Truetype fonts. If this does not
begin with a slash, then the directory is assumed to be relative to the
user's home directory.
-
.HP 2
textroman =
.I fontspec
.br
Set the font file for TEXT_FONT, roman style.
-
.HP 2
textbold =
.I fontspec
.br
Set the font file for TEXT_FONT, bold style.
-
.HP 2
textitalic =
.I fontspec
.br
Set the font file for TEXT_FONT, italic style.
-
.HP 2
textbolditalic =
.I fontspec
.br Set the font file for TEXT_FONT, bold and italic style.
-
.HP 2
fixedroman =
.I fontspec
.br
Set the font file for FIXED_FONT, roman style.
-
.HP 2
fixedbold =
.I fontspec
.br
Set the font file for FIXED_FONT, bold style.
-
.HP 2
fixeditalic =
.I fontspec
.br
Set the font file for FIXED_FONT, italic style.
-
.HP 2
fixedbolditalic =
.I fontspec
.br
Set the font file for FIXED_FONT, bold and italic style
-
.P
.B [Resources]
-
.HP 2
Dir =
.I folder
.br
Specify the folder for individual graphics/sound resource files.
-
.HP 2
Pict =
.I template
.br
Template for picture resource files.
-
.HP 2
Snd =
.I template
.br
Template for sound resource files.
-
.SH EXAMPLE SETUP FILE
-
# The # denotes the start of a comment
.br
# Everything after the # is ignored, up to the end of the line
homepage is at https://661.org/proj/if/frotz/.
.PP
A
-.BR git(1)
-repository of all versions of Unix Frotz back to 2.32 is available
-for public perusal here:
+.BR git (1)
+repository of all versions of Unix Frotz from 2.32 to the bleeding edge
+is available for public perusal at
.br
-https://gitlab.com/DavidGriffith/frotz/.
+.B https://gitlab.com/DavidGriffith/frotz/.
.PP
-The bleeding edge of
-.B Frotz
-development may be followed there.
-.PP
-The Interactive Fiction Archive is a good place to find games to play
-with
-.B Frotz.
-Various ports and builds for Frotz may also be found here. Here is its URL:
-.br
-http://www.ifarchive.org/
+The Interactive Fiction Archive, at
+.BR https://www.ifarchive.org/ ,
+is a good place to find games to play with Frotz. Various ports and
+builds for Frotz may also be found there.
.PP
Most distributions of Linux and BSD include
.B Frotz
to do something it doesn't currently do, please visit the above Gitlab
website and report your concerns.
-
.SH CAVEATS
.PP
The Z Machine itself has trouble with the concept of resizing a terminal.
is running. Also, you should try to make sure the terminal on which you
restore a saved game has the same dimensions as the one on which you
saved the game.
-
.PP
Audio latency might be unreasonably long depending on the settings of
your operating system. Linux generally has things right. The BSDs may
-need some sysctl(8) settings adjusted. See the sound(4) or audio(4)
+need some
+.BR sysctl (8)
+settings adjusted. See the
+.BR sound (4)
+or
+.BR audio (4)
manpages for more information.
-
.PP
This manpage is not intended to tell users HOW to play interactive
fiction. Refer to the file HOW_TO_PLAY included in the Unix Frotz
.br
http://ifarchive.org/
-
.SH BUGS
This program has no bugs. no bugs. no bugs. no *WHAP* thank you. If
you find one, please report it to the Gitlab site referenced above in
-.B
-FURTHER INFORMATION.
-
+.B FURTHER INFORMATION.
.SH AUTHORS
.B frotz
The SDL port was done in 2009 by Aldo Cumani and is currently maintained by
David Griffith <dave@661.org>.
-
.SH "SEE ALSO"
.BR frotz (6)
.BR dfrotz (6)