Man Linux: Main Page and Category List

NAME

       fizmo - Z-Machine Interpreter - “Fimzo interprets Z-machine opcodes”

SYNOPSIS

       fizmo  [  options  ]  [ storyfile [ blorbfile ] | storytitle | quetzal-
       save-file ]

DESCRIPTION

       Fizmo is a Z-Machine interpreter, which means that it runs most of  the
       interactive  fiction  games  aka  text adventures written by Infocom or
       other games which are based on the Z-Machine.  Currently  all  versions
       except  version  6  are  supported. It supports sound via the SDL media
       library (see subsection “Sound Support”)  and  implements  basic  Blorb
       support.

   Starting a new game by providing a filename
       This  is  the  most  direct  way  to  get a game running. Just give the
       filename of the story file at the end of the command line.

   Starting a new game by providing its title
       If the game you want to play is stored in the list of known games,  you
       can  simply  start  it  by  providing  the  title  instead  of the full
       filename.  Example: "fizmo sorcerer" will run the game  “Sorcerer”,  no
       matter if it is stored in the current directory or somewhere else.

   Starting a game from the list of story files
       Without  any  filename  given,  fizmo  will  display  the  list  of the
       currently known story files it has indexed so far. Everytime  fizmo  is
       started  and  no  story-name is provided, fizmo will update the list of
       stories  by  indexing  the  directories   listed   in   ZCODE_PATH   or
       INFOCOM_PATH.

   Restoring a game from the command line
       If  you  give  the  name  of a quetzal save-game file at the end of the
       command line, fizmo will use it’s story file list to locate  the  story
       file the saved game originates from to directly restore the game.

   Sound Support
       Fizmo  supports sound via the SDL multimedia library which is available
       for most unix flavors and Windows. Sound files are either read  from  a
       blorb file, or, old-infocom-style-wise, from separate *.snd files which
       have to be stored in the same  directory  as  the  game  file.  At  the
       moment,  only AIFF sounds can be read from a blorb file.  When the game
       requests a sound, fizmo uses the sound from the current blorb file.  If
       no  blorb file is given or the sound cannot be found in it, fizmo tries
       to  locate  a  file  with  the  format  “GAMFIL00.SND”  where   GAMEFIL
       symbolizes  the game filename shortened to a maximum of six characters,
       the sound number—eventually padded by a leading zero so it has always a
       length of two characters—and a “.SND” suffix. Both upper- and lowercase
       filenames are attempted. That means you can  directly  use  the  sounds
       from the IF-archive at “/if-archive/infocom/media/sound”.

   Story-Metadata / IF Bibliography
       Fizmo  is  able  to  read  metadata-files  as defined in the “Treaty of
       Babel”. It will try to read the metadata from  all  files  ending  with
       .iFiction  which are found in the $HOME/.config/fizmo directory.  Fizmo
       will re-build the story list once the metadata files have been changed.
       For  this  purpose, the timestamps for the metadata-files are stored in
       the file $HOME/.config/fizmo/babel-timestamps.   For  more  information
       about the treaty, see http://babel.ifarchive.org/.

OPTIONS

       -h, --help
              Show help message and exit.

       -b, --background-color <color-name>
              Set  background  color. Valid color names are black, red, green,
              yellow, blue, magenta, cyan and white.

       -bb, --blink-for-bright-background
              Use blink for bright background colors.

       -bf, --bold-for-bright-foreground
              Use bold for bright foreground colors.

       -ds, --disable-sound
              Disable sound alltogether. May be useful when playing on  remote
              machines.

       -ec, --enable-colors
              Force using colors.

       -f, --foreground-color <color-name>
              Set  foreground  color. Valid color names are black, red, green,
              yellow, blue, magenta, cyan and white.

       -if, --input-file
              When the story starts, read input directly from a file.

       -l, --set-locale <locale-code>
              Set locale name for interpreter messages. Currently valid locale
              codes are en_US and de_DE.

       -lm, --left-margin <width>
              Set left margin width, requires a numeric argument.

       -nc, --dont-use-colors
              Don’t use colors.

       -p, --predictable
              Start with random generator in predictable mode.

       -fp, --force-predictable
              Start  with  random  generator  in  predictable mode. The random
              generator will ignore  all  seed  commands  and  always  deliver
              predictable number (which might make games unsolvable).

       -rc, --record-commands
              Activate recording of commands as soon as the game starts.

       -rm, --right-margin <width>
              Set right margin width, requires a numeric argument.

       -rs, --recursively-search <directory-name>
              Search    a    directory    recursively,    meaning    including
              subdirectories, for Z-Machine files.

       -s, --search <directory-name>
              Search a single directory for Z-Machine files.

       -s8, --force-8bit-sound
              Never use  16-bit  resolution,  always  convert  to  8bit  (some
              systems may not be capable of 16-bit sound output).

       -st, --start-transcript
              Start game with scripting already enabled.

       -t, --set-tandy-flag
              Sets  the  tandy  flag,  which emulates a game sold by the Tandy
              Corporation  and  slightly  alters  the  game   behaviour.   See
              http://www.ifarchive.org/if-archive/infocom/info/tandy_bits.html
              for detailed information on what the tandy flag does.

       -um, --umem
              Use UMem instead of CMem for saving.

       -sy, --sync-transcript
              When a transcript is active, write data directly into  the  file
              as soon as possible.

       -x, -enable-xterm-graphics
              Enable  XTerm  graphics.  This  will  make  fizmo try to display
              graphics into an X11-XTerminal using  Gtk  2.0  and  Gdk-Pixbuf.
              Since this represents a rather ugly hack—and may not work at all
              for some installations—it is not enabled by default.

       -xt, --enable-xterm-title
              Use the XTerminal title bar to display the game name.

IN-GAME COMMANDS

       /help  Displays the list of available in-game commands.

       /info  Displays general version about the interpreter and it’s  status,
              such  as  the  version  number, story release and serial number,
              stack, memory and random generator status.

       /predictable
              Switches the random generator  from  “random”  in  “predictable”
              state and vice-versa.

       /recstart
              Records all user input in a command-file.

       /recstop
              Stop recording user input.

       /fileinput
              Start reading commands from a file.

ENVIRONMENT

        ZCODE_PATH
              Default  list of path names—separated by colons—to search for Z-
              Machine games.

        INFOCOM_PATH
              Alternate list of pathnames which is used when ZCODE_PATH is not
              set.

        ZCODE_ROOT_PATH
              List   of  colon-separated  path  names  which  are  recursively
              searched for Z-Machine games.

FILES

   List of files
       $HOME/.config/fizmo/config
              May   contain   user   configuration   parameters.    In    case
              $XDG_CONFIG_HOME  is  defined  and  contains  an  absolute path,
              $XDG_CONFIG_HOME/fizmo/config is used, in  case  of  a  relative
              path $HOME/$XDG_CONFIG_HOME/fizmo/confg is read.

       ($XDG_CONFIG_DIRS)/fizmo/config
              $XDG_CONFIG_DIRS  may  contain  a colon separated list of config
              directories to search. In case $XDG_CONFIG_DIRS is  not  set  or
              empty  /etc/xdg is used instead. Every directory is searched for
              a subdirectory named fizmo containing a file config, which  will
              be searched for configuration parameters.

       /etc/fizmo.conf
              Global configuration parameters.

       $HOME/.config/fizmo/story-list.txt
              Contains  the  current  list  of  story  files  known.  In  case
              $XDG_CONFIG_HOME is set the path is altered as described  above.

       $HOME/.config/fizmo/*.iFiction
              Fizmo  treats  all  files  with  a  suffix  of  .iFiction in the
              $HOME/.config/fizmo directory as sources for story metadata. For
              more info, see section “Story-Metadata / IF Bibliography” above.
              In case $XDG_CONFIG_HOME is defined, see above.

       $HOME/.config/fizmo/babel-timestamps
              A list of .iFiction-files and  their  respective  timestamps  as
              they  were  found when the story list was last built (knowing if
              the babel info  has  changed  speeds  up  the  update  process).
              $XDG_CONFIG_HOME will alter the directory as described before.

   Option names for config files
       The  following  section  lists  the  config-file’s  equivalents for the
       command lines options. For a detailed description of these options, see
       the  “Options”  section.  Options have to start at the beginning of the
       line without any leading whitespace. Comments start with a ’#’  at  the
       beginning of the line.

        background-color = <color-name>
        foreground-color = <color-name>
        transscript-filename = <filename>
        command-filename = <filename>
        langauage = <language-code>
        bold-for-bright-foreground = <any value means yes, empty no>
        blink-for-bright-background = <any value means yes, empty no>
        dont-use-colors = <any value means yes, empty no>
        savegame-path = <directory-name>
        enable-xterm-graphics = <any value means yes, empty no>
        enable-xterm-title = <any value means yes, empty no>
        left-margin = <number-of-columns>
        right-margin = <number-of-columns>
        dont-udpate-story-list = <any value means yes, empty no>

MISCELLANEOUS

   Scrolling back
       You  can  use  the  PageUp and PageDown keys (some terminals require to
       hold down shift) anytime to review text which was  scrolled  above  the
       current window border.

   Refreshing the screen
       CTRL-L will redraw the current display.

   Resizing the screen
       In  general,  resizing  the  screen  works best for game versions 3 and
       before, which is unfortunate since this encompasses only a part of  the
       old Infocom games and none of the modern ones. For all others—including
       Seastalker—the upper window (which means mostly the status bar)  cannot
       be resized and will remain fixed.

   Undocumented Infocom commands
       Here  is  a  list  of  commands  that  some  of Infocom’s games seem to
       support, although I never saw them menitioned in a manual or  reference
       card.

       $verify, $ve, $ver
              Verifies  if  the game file is correct (essentially executes the
              “verify” opcode). “$ve” works in  almost  all  original  Infocom
              games,  “$ver” works in AMFV, Beyond Zork, Bureaucracy, Nord and
              Bert, Sherlock, Trinity and Zork Zero.

       $refre Refreshes the screen. Works in AMFV, Arthur,  Bureaucracy,  Nord
              and Bert, Sherlock, Shogun, Trinity and Zork Zero.

       $id    The “$id” command gives information about the interpreter. Works
              in Border Zone, Bureaucracy and Trinity.

       $credi Shows a credit screen in Trinity and Beyond Zork.

       #comm, #command
              This will read your input from a file. Works in AMFV,  Ballyhoo,
              Bureaucracy,  Enchanter,  Hollywood  Hjinx,  Leather  Goddesses,
              Lurking   Horror,   Plundered    Hearts,    Shogun,    Sorcerer,
              Spellbreaker, Stationfall, Trinity and Zork Zero.

       #rand <int>
              Seeds  the random generator with the given value. May be used in
              AMFV, Ballyhoo, Border Zone, Bureaucracy,  Enchanter,  Hollywood
              Hijinx,  Leather  Goddesses,  Lurking  Horror, Plundered Hearts,
              Shogun, Sorcerer, Spellbreaker, Stationfall and Zork Zero.

       #reco, #record
              This will record your commands  into  a  file.  Works  in  AMFV,
              Ballyhoo,   Bureaucracy,  Enchanter,  Hollywood  Hjinx,  Leather
              Goddesses, Lurking Horror, Plundered Hearts,  Shogun,  Sorcerer,
              Spellbreaker, Stationfall and Zork Zero.

       #unre, #unrecord
              Stops  recording  commands  into a file. Used in AMFV, Ballyhoo,
              Bureaucracy, Enchanter,  Hollywood  Hijinx,  Leather  Goddesses,
              Lurking    Horror,    Plundered    Hearts,   Shogun,   Sorcerer,
              Spellbreaker, Stationfall and Zork Zero.

CREDITS

   ITFThe InfoTaskForce
       All the people who drew up the Z-Machine Specification. In alphabetical
       order  (as  far  as  I  could  find): Chris Tham, David Beazley, George
       Janczuk, Graham Nelson, Mark Howell, Matthias Pfaller, Mike Threepoint,
       Paul David Doherty, Peter Lisle, Russell Hoare and Stefan Jokisch.  See
       http://en.wikipedia.org/wiki/InfoTaskForce for more information.

   The Frotz authors
       When I really got stuck I secretly peeked into the frotz source. Thanks
       to Stefan Jokisch, Galen Hazelwood and David Griffith.

   The w3m-img authors
       Akinori  Ito, Hironori Sakamoto and Fumitoshi Ukai for the w3m-img code
       which I used to get graphics output into an XTerm.

SEE ALSO

       frotz(6), xzip(6), jzip(6), inform(1)

AUTHOR

       Fizmo was written in 2005–2010 by Christoph Ender.

BUGS

       Fizmo is still in beta stage and I couldn’t  test  all  the  games  out
       there, so there will be some for sure. If you find them, please send an
       e-mail to fizmo@spellbreaker.org.