Man Linux: Main Page and Category List

NAME

       frotz - interpreter for Infocom and other Z-Machine games

SYNOPSIS

       frotz [options] file

DESCRIPTION

       Frotz  is  a Z-Machine interpreter.  The Z-machine is a virtual machine
       designed by Infocom to run all  of  their  text  adventures.   It  went
       through  multiple revisions during the lifetime of the company, and two
       further revisions (V7 and V8) were created by Graham Nelson  after  the
       company’s demise.  The specification is now quite well documented; this
       version of Frotz supports version 1.0.

       This version of Frotz fully supports  all  these  versions  of  the  Z-
       Machine   except  for  version  6.   Version  6  is  semi-supported  by
       displaying the outlines of V6 graphics with the picture number  in  the
       bottom-right corner.

       This  port  supports  old-style  sound  effects  through  the OSS sound
       driver.

OPTIONS

       -a     Watch attribute setting.  Setting and clearing of attributes  on
              objects will be noted in debugging messages.

       -A     Watch  attribute  testing.   Every  time  the z-machine tests an
              attribute value, the test and the result will be reported.

       -b <colorname>
              Sets the default background color.  <colorname>  corresponds  to
              one of the Z-machine colors, which are as follows:
              black red green yellow blue magenta cyan white
              If  color support is disabled or not available on your terminal,
              this option does nothing.

       -c N   Sets the number of context lines  used.   By  default,  after  a
              ‘‘[MORE]’’  prompt, and assuming there is enough output pending,
              Frotz will allow all the currently visible lines to  scroll  off
              the  screen  before  prompting again.  This switch specifies how
              many lines of text Frotz will hold over and display at  the  top
              of the next screen.

       -d     Disable color.

       -e     Enable  sound.   If  you’ve  disabled sound in a config file and
              want to hear sound effects, use this.

       -f <colorname>
              Sets the default foreground color.  <colorname>  corresponds  to
              one of the Z-machine colors, which are as follows
              black red green yellow blue magenta cyan white
              If  color  support  is  disabled  or  is  not  available on your
              terminal, this option does nothing.

       -F     Force color mode.  If you’ve disabled color in a config file and
              want to Frotz to display colors, use this.

       -h N   Manually  sets  the screen height.  Though most curses libraries
              are intelligent enough to determine the current width  from  the
              terminal,  it  may  sometimes be necessary to use this option to
              override the default.

       -i     Ignore fatal errors.  If a Z-Machine  interpreter  encounters  a
              zcode  error  such  as division-by-zero or addressing an illegal
              object, the proper response is to abort execution.  This is done
              because  the  zcode program doesn’t have a clear idea of what is
              going on.  There are some  games  out  there  that  cause  fatal
              errors because the authors were careless and used 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.

       -l N   Sets  the  left  margin,  for  those  who  might  have  specific
              formatting needs.

       -o     Watch  object  movement.  This option enables debugging messages
              from the interpreter which describe the moving of objects in the
              object tree.

       -O     Watch  object  location.   These  debugging  messages detail the
              locations of objects in the object tree.

       -p     Plain ASCII output only.  This inhibits the output  of  accented
              letters  and  other  characters  from the Latin-1 character set,
              replacing  them  with  reasonable  alternatives.   This  may  be
              necessary on devices lacking these characters.

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

       -q     Quiet.  Turns off sound effects.  Useful when running Frotz on a
              remote machine and you don’t want to bother whoever’s  near  the
              console with weird noises.

       -Q     No  Quetzal.  By default, Frotz uses the new Quetzal save format
              when you save your game.  If for some reason you  want  to  save
              and restore using the old Frotz format, use this flag.

       -r N   Sets the right margin.

       -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 Curses which make random decisions before the
              first input (such that the hot key Alt-S does not really  help).

       -S N   Set the transcript width.  By default your transscript files are
              formatted to a width of 80 columns per line, regardless  of  the
              current  screen  width.   This  switch allows you to change this
              setting. In particular, use -S 0 to  deactivate  automatic  line
              splitting in transscript files.

       -t     Sets the z-machine’s Tandy bit, 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.

       -u N   Sets  the  number  of  slots available for Frotz’s multiple undo
              hotkey (see below).  This defaults to twenty,  which  should  be
              sufficient  for  most  purposes.  Setting too high a number here
              may be dangerous on machines with limited memory.

       -w N   Manually sets the screen  width.   Again,  this  should  not  be
              necessary except in special circumstances.

       -x     Expand   the   abbreviations  "g",  "x",  and  "z"  to  "again",
              "examine", and "wait".  This switch is for use iwth 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.

       -Z N   Error checking mode.
              0 = don’t report errors.
              1 = report first instance of an error.
              2 = report all errors.
              3 = exit after any error.
              Default is 1 (report first instance of an error).

CONFIGURATION FILES

       On  startup,  frotz  will  first  check  the  system’s  frotz.conf then
       $HOME/.frotzrc for configuration information.  The  configuration  file
       uses a simple
       <variable> <whitespace> <value> syntax.

       Color names may be any of the following:
       black | red | green | blue | magenta | cyan | white

       ascii   on | off
       Use plain ASCII only.  Default is "off".

       background   <colorname>
       Set  background color.  Default is terminal’s default background color.

       color   yes | no
       Use color text.  Default is "yes" if supported.

       errormode   never | once | always | fatal
       Set error reporting mode.
       never Don’t report any errors except for fatal ones.
       once Report only the first instance of an error.
       always Report every instance of an error.
       fatal Abort on any error, even non-fatal ones.
       Default is "once".

       expand_abb   on | off
       Expand abbreviations.  Default is off.  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
       the "g", "x", or "z" for different purposes.

       foreground   <colorname>
       Set foreground color.  Default is terminal’s default forground color.

       ignore_fatal   on | off
       Ignore fatal errors.  If a Z-Machine  interpreter  encounters  a  zcode
       error  such  as  division-by-zero  or addressing an illegal object, the
       proper response is to abort execution.  This is done because the  zcode
       program  doesn’t have a clear idea of what is going on.  There are some
       games out there that  cause  fatal  errors  because  the  authors  were
       careless and used 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.
       Default is "off"

       piracy   on | off
       Alter  the piracy opcode.  Default is off.  The piracy opcode was never
       used by Infocom. This option is only useful for those who like  to  toy
       around with Z-code.

       quetzal   on | off
       Use  Quetzal  save format.  Default is on.  If for some reason you want
       to save or restore using the old Frotz format, set this to "off".

       randseed   <integer>
       Set random number seed.  Default comes from the Unix epoch.

       sound   on | off
       Turn sound effects on or off.  Default is "on".

       tandy   on | off
       Set the machine’s Tandy bit.  This may affect the behavior  of  certain
       Infocom  games.   For example, Zork I pretends not to have sequels, and
       Witness has its language toned down.  Default is "off".

       undo_slots   <integer>
       Set number of undo slots.  Default is 500.

       zcode_path   /path/to/zcode/files:/another/path
       Set path to search for zcode game files.  This is just like  the  $PATH
       environmental   variable   except  that  you  can’t  put  environmental
       variables  in  the  path  or  use  other   shortcuts.    For   example,
       "$HOME/games/zcode"  is  illegal because the shell can’t interpret that
       $HOME variable.

       The following options are really only useful for weird terminals, weird
       curses  libraries  or if you want to force a certain look (like play in
       40-column mode).

       context_lines   <integer>
       Set the number of context lines used.  By default, after  a  ‘‘[MORE]’’
       prompt,  and  assuming there is enough output pending, frotz will allow
       all the currently  visible  lines  to  scroll  off  the  screen  before
       prompting  again.   This  switch specifies how many lines of text frotz
       will hold over and display at the top of the next screen.   Default  is
       "0".

       left_margin   <integer>
       Set  the  left  margin.   This  is  for  those  who  might have special
       formatting needs.

       right_margin   <integer>
       Set the right margin.   This  is  for  those  who  might  have  special
       formatting needs.

       screen_height   <integer>
       Manually  set  screen  height.   Most  curses libraries are intelligent
       enough to determine the current width of the terminal.  You may need to
       use this option to override the default.

       screen_width   <integer>
       Manually  set screen width.  Again, this should not be necessary except
       in special circumstances.

       script_width   <integer>
       Set the transcript width.  Default is 80 columns per  line,  regardless
       of  the  current  screen  width.  This switch allows you to change this
       setting.  You may  set  this  to  "0"  to  deactivate  automatic  line-
       splitting in transcript files.

       The following options are mainly useful for debugging or cheating.

       attrib_set   on | off
       Watch attribute setting.  Setting and clearing of attributes on objects
       will be noted in debugging messages.  Default is "off"

       attrib_test   on | off
       Watch attribute testing.  Every time the z-machine tests  an  attribute
       value, the test and the result will be reported.  Default is "off".

       obj_loc   on | off
       Watch  object  location.  These debugging messages detail the locations
       of objects in the object tree.  Default is "off".

       obj_move   on | off
       Watch object movement.  This option enables debugging messages from the
       interpreter  which describe the movement of objects in the object tree.
       Default is "off".

ENVIRONMENT

       If the ZCODE_PATH environmental variable is defined, frotz will  search
       that  path for game files.  If that doesn’t exist, INFOCOM_PATH will be
       searched.

       Latest information on Unix Frotz is here:
       http://www.cs.csubak.edu/~dgriffi/proj/frotz/

       The latest release of Unix Frotz is here:
       ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/frotz/

       See this website for a list of mirrors:
       http://www.ifarchive.org

       See this website for more information on  Infocom  past,  present,  and
       future;  and  where  to  get  new  Z-Machine  games and the old ones by
       Infocom:
       http://www.csd.uwo.ca/Infocom/

       Frotz for other platforms:
       http://www.geocities.com/SiliconValley/Heights/3222/frotz.html

GAME-STATE SAVE FILES

       In this Debian version, Frotz creates the directory  $HOME/.infocom  to
       place   saved  games  into.   The  default  name  for  saved  games  is
       $HOME/.infocom/<gamename>.sav, where <gamename> is the stem of the name
       of the game file.

CAVEATS

       The  Z  Machine  itself  has  trouble  with  the  concept of resizing a
       terminal.  It assumes that once the screen height and  width  are  set,
       they  will never change; even across saves.  This made sense when 24x80
       terminals were the norm  and  graphical  user  interfaces  were  mostly
       unknown.   I’m  fairly  sure there’s a way around this problem, but for
       now, don’t resize an xterm in which frotz 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.

       You can  use  a  path  like  "/usr/local/games/zcode:$HOME/zcode"  with
       $ZCODE_PATH  or  $INFOCOM_PATH because the shell will digest that $HOME
       variable  for  you  before  setting   $ZCODE_PATH.   While   processing
       frotz.conf  and  $HOME/.frotzrc,  a  shell  is  not used. Therefore you
       cannot use environmental variables in the "zcodepath" option within the
       config files.

       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
       documentation or visit one of the following sites:
       http://www.csd.uwo.ca/Infocom/faq.html
       http://www.cs.csubak.edu/~dgriffi/proj/frotz/HOW_TO_PLAY
       http://www.ifarchive.org

BUGS

       This program has no bugs.  no bugs.  no bugs.  no *WHAP* thank you.

AUTHORS

       Frotz was written by Stefan Jokisch in 1995-7.
       The Unix port was done by Galen Hazelwood.
       Currently the Unix port is maintained by David Griffith.

SEE ALSO

       dfrotz(6) nitfol(6) rezrov(6) jzip(6) xzip(6) inform(1)

                                     2.43