============================ Zorkmachine 1.15 =============================
===========================================================================
`Zorkmachine' is a replacement for Infocom's virtual machine code (ZCode-3)
interpreter.   The  implementation differs from the original implementation
both  in  the  design  of  the  user interface and the number of additional
features  supported.   This  `Zorkmachine'  port requires Kickstart 2.04 or
higher to run.
   Up  to  this  day,  the  interpreter will only run the old-style Infocom
games, such as `The witness', `Hollywood Hijinx' and the like.  Interactive
Fiction  Plus games such as `Trinity' or `A mind forever voyaging' will not
work at all.

================================== Usage ==================================
===========================================================================
`Zorkmachine'  can  be  started  both  from  Workbench and from Shell.  The
following  options,  which  are both available as calling parameters and as
icon tooltypes, are supported:

Protocol....... If using the `script' and `unscript' commands, a transcript
                of  the story will be sent to a protocol device or protocol
                file.   By default, this device will be `PRT:', sending the
                transcript  to  the  printer.   This  output  device can be
                overridden  by using the `Protocol <Output device or file>'
                option or from within the program.

Width.......... In  order  to  correctly  layout  the  transcript text, the
                program  has to know how many characters will fit into each
                single  printer  line.   By  default  the program assumes a
                value of 80 characters per line.

Story.......... The name of the story file to be used for playing.  Infocom
                usually  assigns  the name `Story.Data' to it which is also
                the default name `Zorkmachine' will use.

Restore........ If  you  wish  to  start  the game using a previously saved
                game,  use  this option to give the name of the file.  Note
                that  the  saved  game  file  has to match the story it was
                saved with.
                   Workbench  users:   in  order  to restore a game, either
                double-click  on  a  saved game icon or drop the saved game
                icon to restore into the `Zorkmachine' window.

Customscreen... By  default,  `Zorkmachine'  will  open  a  window  on  the
                Workbench  screen.   If  the  `customscreen'  option  is in
                effect,  a custom screen will be used.  The screen will use
                the  same  display modes the same colours and the same font
                as the Workbench screen.

Colour0........ If  using  a  custom screen, these two options will set the
Colour1........ text (colour 1) and the background (colour 0) colours.  The
                colour values to be used have to be provided in hexadecimal
                notation  (e.g.   `colour0  000  colour1  ddd'  would  make
                `Zorkmachine'  use  a  black  background  colour  with grey
                text).

============================= User interface ==============================
===========================================================================
Unlike  the  original  Infocom  interpreter,  `Zorkmachine'  supports  line
editing  and  command  history  just  like the AmigaShell does.  If you are
familiar  with the Shell, you will be able to use `Zorkmachine' right away.
Even the cut & paste feature is supported.  Not supported are the ^S and ^Q
key  codes  to  stop  and  restart  terminal  output.

Cursor up ................... Go back in history
Cursor down ................. Go forward in history
Cursor left ................. Move cursor one character left
Cursor right ................ Move cursor one character right
CTRL-A, Shift cursor left ... Start of line
CTRL-Z, Shift cursor right .. End of line
CTRL-L ...................... Restore line
CTRL-X ...................... Delete whole line
CTRL-I ...................... Toggle insert/overwrite mode
CTRL-H, Backspace ........... Delete character left of cursor
CTRL-D, Del ................. Delete character under cursor
CTRL-P, Help ................ Program function key F1-F10, shift F1-F10
F1-F10, Shift F1-F10 ........ Recall function key

   Pull-down  menus  are  supported  as  well,  most  will simply invoke an
interpreter  function  (such as `time', `score', `brief', etc.).  Only five
menu entries are special:

Protocol....... A  requester  will  be  opened  which  allows to select the
                `script'  output  device/file.   If  scripting  is  already
                active it will be turned off.  Enter the output file/device
                and  page width (see options) or click on the `select file'
                button  which  will  open  a  file  requester to select the
                output file.

Palette........ Just  as  the name says, a requester will be opened to edit
                the current screen palette.  Note that this menu entry will
                be  available  only if `Zorkmachine' is running on a custom
                screen.

About.......... Guess and try ;-)

Narrate story.. If this switch is active, the text displayed on screen will
                be spoken by the Amiga speech synthesizer.

Debug mode..... This switch has been provided for diagnostic purposes only.
                Use   it   with   caution  since  the  whole  `Zorkmachine'
                interpreter run will be displayed on screen.

   `Zorkmachine'  will  create  icons with file it saves only if it was run
form Workbench.  If started from Shell, no icons will be created.

============================= The source code =============================
===========================================================================
I  have  tried  to  remain faithful both to the original code and Infocom's
interpreter program.  It may still prove difficult to recompile the program
code  for  other platforms (Minix, Atari ST, etc.) since the changes I made
may be irreversible.
   A  Makefile  (for  Aztec  `C') and an LMkFile (for Lattice `C' or SAS/C)
have been provided.  Note that Aztec `C' 5.0a or higher and Lattice/SAS `C'
5.04 or higher are required to recompile the program.

============================ Credits & Authors ============================
===========================================================================
`Zorkmachine'  was  created by Matthias Pfaller (EMail:  leo@marco.de) from
the  original Z-machine interpreter as running on the Atari ST.  I received
the fragments of an Amiga port created by martin@deepth.ulm.sub.org (I have
failed  to identify the full name of the author) and built this port on it.
Paul  David  Doherty beta-tested this port and suggested a couple of useful
features which can now be found in `Zorkmachine'.

         The present keeper of the sources to this Amiga port is:

                           Olaf `Olsen' Barthel
                             Brabeckstrasse 35
                            D-3000 Hannover 71

                        Federal Republic of Germany

                                  Email:

                       o.barthel@a-link-h.comlink.de

============================ Revision history =============================
===========================================================================
1.15    Script/unscript works again and so does `restore' by dropping icons
        on the `Zorkmachine' window.

1.14    AppWindow  support  works  once  again,  custom  screen and palette
        support  added,  speech  support  reworked, debug mode added, sound
        support  added  (`The  lurking  horror'  finally works!), the input
        routine  converts  all characters entered to lower case in order to
        avoid  trouble  with  the  parser  (which would choke on upper case
        characters).

1.11    First public release.
