
FROTZ V2.01 - an interpreter for all Infocom games. Complies with standard 0.2
for all games except V6 (graphic) games. Written by Stefan Jokisch in 1995-96

    This program evolved from Mark Howell's Zip. Although the source
    code is completely re-written, one can still find traces of Zip.

    Many thanks to Paul D. Doherty for his continuing support of this
    project. Thanks to Alan Sherrod for testing the performance; to
    John Kennedy and Ambat Sasi Nair for helpful hints on PC video
    boards; to Thomas Biskup, Ian Carpenter, Graeme Cree, Jason Dyer,
    Bernhard Fuchs, Joe Hachem, Kirk Klobe, Marnix Klooster and John
    Mackin for their bug reports; to David Kinder for his Amiga port.

    Frotz is freeware: It may be used and distributed freely provided
    no commercial profit is involved. (c) 1995, 1996 Stefan Jokisch.

    Please report bugs to jokisch@ls7.informatik.uni-dortmund.de.

Features:

    - support for V1 to V8 games
    - various text and graphic modes
    - timed input ('Border Zone')
    - built-in graphic font ('Beyond Zork')
    - mouse support ('Beyond Zork' and all V6 games)
    - function key support including number pad keys ('Beyond Zork')
    - command line editing and history
    - small save files (Zip 2.0 format is still understood)
    - switches for colour setting
    - switch for setting the Tandy bit
    - low- and high-pitched beep sounds
    - sound effects via Soundblaster ('Lurking Horror' and 'Sherlock')
    - cheat functions
    - multiple UNDO (via hot key, even for old V1 to V4 games)
    - input line recording and playback (via hot key)
    - support for European characters ('Zork I German')
    - underlined, reverse and boldface text
    - fast performance without virtual memory

Special keys:

    Alt-N             - new game (restart)
    Alt-P             - turn on input line playback
    Alt-R             - toggle input line recording on/off
    Alt-S             - set the random seed
    Alt-U             - multiple UNDO (even for old V1 to V4 games)
    Alt-X             - exit game (quit)

    cursor left       - move one character to the left
    cursor right      - move one character to the right
    ctrl-cursor left  - move to previous word
    ctrl-cursor right - move to next word
    home              - move to beginning of line
    end               - move to end of line
    backspace         - delete character to the left
    delete            - delete character below cursor
    insert            - toggle overwrite mode on/off
    escape            - delete whole input line
    cursor up         - get previous command
    cursor down       - get next command
    page up           - scroll status window up ('Beyond Zork')
    page down         - scroll status window down ('Beyond Zork')

Command line options:

    -d #     set the display mode (0 mono, 1 text, 2 CGA, 3 MCGA, 4 EGA)

    -f #     set the foreground colour
    -b #     set the background colour
    -e #     set the emphasis colour
    -F #     set the foreground colour for reverse mode
    -B #     set the background colour for reverse mode

    -w #     set the screen width
    -h #     set the screen height
    -l #     set the left margin
    -r #     set the right margin
    -c #     set the number of context lines to keep when scrolling

    -u #     set the number of undo slots for multiple undo

    -v #     set the minimum sound level
    -V #     set the maximum sound level

    -o       monitor object movement
    -O       monitor object locating
    -a       monitor attribute assignment
    -A       monitor attribute testing

    -t       set the Tandy bit (see below)

    Colours and sound levels range from 0 to 15.

Questions and answers:

    Q: What is Frotz?
    A: Frotz runs text adventures which come in so-called story files:
       ZORK1.DAT, TRINITY.DAT, CURSES.Z5, JIGSAW.Z8, ARTHUR.ZIP etc.

    Q: Where can I find story files to use with Frotz?
    A: First, you can use the files from your original Infocom games. It
       is possible to play Atari ST, Amiga or Macintosh games on your PC
       once you manage to transfer the story files. Some people even
       extracted story files from old Atari 800, Apple II and C-64 disks!
       Second, there is also an increasing number of new games available
       on the Internet. Check the if-archive at ftp.gmd.de.

    Q: Why does Frotz stop with an error message?
    A: Your story file may be corrupt. Be sure to download story files in
       binary mode.

    Q: Is there a way to exit Frotz in emergency situations?
    A: Try ctrl-break. You may have to add the command "BREAK=ON" to your
       CONFIG.SYS or "BREAK ON" to your AUTOEXEC.BAT file.

    Q: What do I need to play graphic games?
    A: First, you need a story file (preferably the PC version, other
       versions might not work). You will also need appropriate graphics
       files in your current directory:
	 *.cg1 for CGA mode (-d2),
	 *.mg1 for MCGA mode (-d3),
	 *.eg1 (sometimes also *.eg2) for EGA mode (-d4).
       The graphics files for MCGA mode are available at ftp.gmd.de.

    Q: What do I need for sound?
    A: You need the original 'Sherlock' or 'Lurking Horror'. Next get the
       SHSOUND.ZIP or LHSOUND.ZIP package from ftp.gmd.de (directory is
       /if-archive/infocom/missing-files). Each package contains a readme
       file, sound files and a tool to update your old story file. Follow
       the instructions in the readme file.

    Q: When exactly should I hear sound?
    A: Here are two examples: In 'Lurking Horror', you can hear chanting
       during your dream in the terminal pool. In 'Sherlock', you should
       play the violin.

    Q: Why doesn't the sound work?
    A: Be sure to use the correct story files: 'Sherlock' release 26 (not
       release 21) or 'Lurking Horror' release 221 (not release 203). The
       release number is shown at the start of the game. Futhermore, take
       a look at your AUTOEXEC.BAT file: It must set the BLASTER variable
       to the proper values (e.g. "A220 I7 D1" with capital A, I and D).
       Finally, all sound files must be placed in a subdirectory called
       SOUND. When some sounds are played at a very low volume, set the
       minimum volume to level 3 (-v3) or higher. A Soundblaster Pro or
       better is required for volume effects.

    Q: How can I send transscription to the printer?
    A: Type PRN as file name.

    Q: Why does Frotz crash in monochrome mode?
    A: Some systems are configured to use the monochrome video area for
       upper memory blocks. Check your CONFIG.SYS: If EMM386.SYS is set
       with the option -I=B000-B7FF then Frotz will crash in monochrome
       mode. Remove this option or re-configure your system by running
       the MEMMAKER utility.

    Q: Why is it impossible to save or restore?
    A: When your story file is stored on a floppy disk, do not remove the
       disk during save and restore.

    Q: Why doesn't multiple undo work as often as it should?
    A: The number of undo slots is limited by your free memory.

    Q: Why do I get weird characters instead of accented letters?
    A: Activate IBM font 850 (consult your DOS manual). Alternatively,
       the hardware default font 437 displays most important characters
       (e.g. French, German or Spanish letters) properly.

    Q: Why don't the number pad keys work in 'Beyond Zork'?
    A: NumLock must be set.

    Q: How can I scroll the status window in 'Beyond Zork'?
    A: Use page up/down instead of cursor up/down.

    Q: What is this Tandy bit?
    A: Some old Infocom games were sold by the Tandy Corporation. These
       games behave slightly different when this bit is set. For example,
       'The Witness' gets censored: bastards turn into idiots, private
       dicks into private eyes and so on.

List of fatal errors:

    - "Byte swapped story file"
    - "Call to illegal address"
    - "Call to non-routine" [1]
    - "Cannot open story file"
    - "Division by zero"
    - "Error reading save file"
    - "Illegal attribute number"
    - "Illegal object number" [2]
    - "Jump to illegal address"
    - "No such property"
    - "Out of memory"
    - "Print at illegal address"
    - "Stack overflow" [3]
    - "Store out of dynamic memory"
    - "Story file read error"
    - "Text buffer overflow"
    - "Unknown opcode"
    - "Unsupported Z-code version"

    [1] The first byte of a routine must be less than 16.
    [2] In V4 and above, object numbers > 2000 are considered illegal.
    [3] This condition is only checked on every call instruction.

Table of display modes:

  +---+------+---------+-----------------+----------------+--------+--------+
  | # | name | format  | available fonts | text styles    | colour | Europ. |
  +===+======+=========+=================+================+========+========+
  | 0 | MONO | 80x25   | fix 1x1         | bold underline |        | *      |
  +---+------+---------+-----------------+----------------+--------+--------+
  | 1 | TEXT | 80x25   | fix 1x1         | bold           | *      | *      |
  +---+------+---------+-----------------+----------------+--------+--------+
  | 2 | CGA  | 640x200 | fix graphic 8x8 | underline      |        |        |
  +---+------+---------+-----------------+----------------+--------+--------+
  | 3 | MCGA | 320x200 | fix prop 5x8    | underline      | *      |        |
  +---+------+---------+-----------------+----------------+--------+--------+
  | 4 | EGA  | 640x200 | fix graphic 8x8 | underline      | *      | *      |
  +---+------+---------+-----------------+----------------+--------+--------+

  Notes: Text mode makes use of the emphasis colour (-e switch) to emulate
	 underlining. Mono mode can only underline when it prints white on
	 black. MCGA mode does not work for 'Beyond Zork' because of the
	 missing graphic font. CGA / MCGA modes print suitable substitutes
	 for European characters.
