home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / games / zmach101.lha / doc / zmachine.doc < prev    next >
Encoding:
Text File  |  1992-05-27  |  9.4 KB  |  295 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                          ZMachine   1.0.1
  11.  
  12.             A ZIL Interpreter for the Commodore Amiga
  13.  
  14.                             Kent Dalton
  15.  
  16.            Ported from the original UNIX version written by
  17.                           leo@marco.UUCP  
  18.  
  19.                 Amiga Port Copyright 1992 by Kent Dalton
  20.  
  21.   Read "Copying" section of this manual for redistribution information.
  22.  
  23.  
  24.  
  25.  
  26.  
  27. 1.    Introduction
  28.  
  29. ZMachine is a program which can interpret "Zork Implementation
  30. Language" (ZIL) data files.  ZIL is the language used by the
  31. interactive fiction series of games from Infocom, Inc.  (a subsidiary
  32. of Activision/MediaGenic).  Interactive Fiction and Interactive This
  33. program does not incorporate any code from Infocom software and is not
  34. associated with or a product of Infocom, Inc.  All game names mentioned
  35. in this document are trademarks of Infocom.  ZMachine can interpret
  36. normal interactive fiction data files.  It is not compatible with
  37. interactive fiction plus (games with graphics, i.e.  Beyond Zork, Zork
  38. Zero,etc).
  39.  
  40. This version of ZMachine was ported from a UNIX version.  It was ported
  41. using a PD termcap library and GCC 2.1 (Many thanks to Markus Wild for
  42. porting GCC to the Amiga!).  It has some customizations for the Amiga
  43. environment which are detailed for this enviroment.
  44.  
  45. This program comes with no warranty express or implied.  Use at your
  46. own risk.
  47.  
  48.  
  49. 2.    Copying
  50.  
  51. The Amiga version of this program is Copyright \copyright 1992 by
  52. Kent Dalton.  Non-commercial redistribution of the program is allowed
  53. provided all files are included in the distribution in unmodified
  54. form. Public Domain and Freely Distributable libraries may change
  55. handling, shipping, and copying fee charges to distribute the program
  56. provided the above condition is met. I will consider honoring E--Mail
  57. requests (see ``Bug Reports'' section for E--Mail address) for source
  58. code for this Amiga version. Requestors who add new functionality or
  59. do bug fixes to ZMachine are required to return those changes to me.
  60. I think it will be best for the user base, in general, to have a
  61. single most robust and featureful version available via one source.
  62. Contributors to ZMachine development will be fully credited.
  63.  
  64. I will only distribute source to the the Amiga version, however.  The
  65. original UNIX version is available via anonymous FTP (If you don't
  66. know how to find things available for ftp, please learn about the
  67. archie archive search server, I'm getting far too much ZMachine
  68. related mail as is, I do have a day job ya know! :^))
  69.  
  70. 3.    Features
  71.  
  72. This program provides a number of features not available in the Infocom
  73. ZIL interpreter:
  74.  
  75.  
  76.       o  Support for workbench screens larger than the default NTSC
  77.          (or PAL) hires (640x200) via the termcap enviroment variable.
  78.  
  79.       o  Command history via the arrow keys.
  80.  
  81.       o  Function Key support.
  82.  
  83.       o  Emacs-like command line editing.
  84.  
  85.       o  Support of the Amiga clip board for cutting and pasting text.
  86.  
  87.       o  Support for automatic location of game files for hard disk users
  88.  
  89.       o  Ability to use Interactive Fiction files from other computers.
  90.          (i.e. IBM, Atari ST, etc).
  91.  
  92.  
  93. 4.    System  Requirements
  94.  
  95. ZMachine was ported using an Amiga 3000 with 6Mb RAM and AmigaOS
  96. 2.04.  I do not know if it works with AmigaOS 1.3.  If it does not,
  97. no effort will be made to port it to 1.3 (see "Copying" section for
  98. info on how to obtain source code.). The ixemul.library definitely
  99. requires the 2.04 mathieeesingbas.library, ZMachine does not use
  100. floats though, so you might be able to get away with copying over
  101. another library in its place (or you could get the library from
  102. someone who has 2.04, although I'm not sure if this is legal or not.)
  103.  
  104. NTSC and PAL displays and all Motorola 680x0 CPU's are supported.
  105.  
  106. The amount of memory used is detrmined by the game being played.  The
  107. average seems to be on the order of 256K.
  108.  
  109.  
  110. 5.    Installation
  111.  
  112.      1.  Copy termcap file to S: directory.
  113.  
  114.  
  115.      2.  Set TERM environment variable for proper screen type i.e.  
  116.          setenv  TERM  amigalace.
  117.          You'll probably want to add this to your user-startup 
  118.          (or startup-sequence) file.
  119.  
  120.      3.  Copy ixemul.library from the libs directory to LIBS:
  121.  
  122.      4.  If  you  are  using  a  68000  or  68010  CPU  you'll  probably
  123.          want  to  copy  zmachine.68k over zmachine since `zmachine' is
  124.          the 68020+ version.
  125.  
  126.      5.  If your termcap entry is smaller than 640x400 (amigalace) you'll
  127.          also want to edit the dimensions of the WINDOW= tool type for the
  128.          zmachine.info file
  129.          (this controls the size of the window popped by zmachine (and the
  130.          `iconified' window size also.))
  131.  
  132.       Hard  Disk  Users  Note:
  133.  
  134. If you are using a hard disk you may want to assign LTOI: to the
  135. directory where
  136.  
  137. your infocom games are located.
  138.  
  139.       ZMachine assumes a directory structure of:
  140.  
  141.                  LTOI:  ->GameName1->Story.Data
  142.                         ->GameName2->Story.Data
  143.                             .
  144.  
  145.                             .
  146.  
  147.                             .
  148.  
  149.                          ->GameNameN->Story.Data
  150.  
  151.       when using this directory structure, ZMachine will be able to
  152. automatically locate the main data file for the game you wish to play
  153. and automatically place and retrieve game save files from the directory
  154. of that specific game as well.
  155.  
  156.       You'll probably want to rename the Zork 1-3 data files to
  157. Story.Data as well. They work properly with ZMachine, Infocom just
  158. named them differently.
  159.  
  160.       I recommend copying zmachine and zmachine.info to LTOI: as well.
  161.  
  162.  
  163. 6.    Running  ZMachine
  164.  
  165.  
  166. 6.1.    From  Workbench
  167.  
  168. An icon will be opened and zmachine will prompt you for a game name.
  169. If you have not assigned LTOI: to adirectory, you must type in the full
  170. name of the file you wish to run.  If you are you using zmachine with
  171. the LTOI: assign and directory structure mentioned in the Hard Disk
  172. Installation notes above, you can just type the name of the games
  173. directory that you wish to play.  For example: if you type `moonmist',
  174. ZMachine will attempt to open: LTOI:moonmist/Story.Data as the game
  175. file.  From then on, the default SAVE/RESTORE path will
  176. be LTOI:moonmist, this way, you don't get a whole bunch of files mixed
  177. up in your LTOI: directory.
  178.  
  179.  
  180.  
  181. 6.2.    From  CLI
  182.  
  183. This startup works just like the UNIX version.  Here is the usage
  184. information from that version straight from the doc file:
  185.  
  186.  
  187. Usage:  zmachine  [-p  protocolfile]  [-w  protocol  linewith]
  188.         [-s  storyfile]  [-r  restorefile]  [<storyfile>.dat]
  189.         [<restorefile>.sav] [-cli] [-nowrap]
  190.  
  191. -p protocolfile     : send output after script command to protocolfile
  192. -w protocol linewith: set protocol linewith to linewith
  193. -s storyfile        : use storyfile (only necessary if storyfile ends
  194.                       not with .dat)
  195. -r restorefile      : restore savefile restorefile before starting game
  196.                       (only necessary if restorefile ends not with .sav)
  197. <storyfile>.dat     : use storyfile.dat
  198. <restorefile>.sav   : restore restorefile.dat
  199. -cli                : ZMachine will not prompt user to hit return on exit.
  200. -nowrap             : Do not handle long lines the "amiga" way. May be
  201.                       necessary for running on some non-amiga terminals
  202.                       over serial connection.
  203.  
  204. If you call zmachine without arguments, it trys to open the file
  205. Story.Data on the current working directory. 
  206.  
  207.       Notice the default file extensions.  Zmachine checks and enforces
  208. these (case-sensitively) when started from CLI.  If lots of people are
  209. bothered by this, I can change it.
  210.  
  211.  
  212. 7.    Command  Editing
  213.  
  214.  
  215. Editing Keys:
  216.  
  217. Cursor left        :    ^B (also Left-Arrow on Amiga)
  218. Cursor right        :    ^F (also Right-Arrow on Amiga)
  219. Up in history        :    ^P (also Up-Arrow on Amiga)
  220. Down in history        :    ^N (also Down-Arrow on Amiga)
  221. Delete left        :    0x7f, 0x08
  222. Delete right         :    ^D (also BackSpace and Del on Amiga)
  223. Start of line        :    ^A
  224. End of line        :    ^E
  225. Kill to end of line    :    ^K
  226. Kill to start of line    :    ^X
  227. Program function key    :    ^I (TAB)
  228. Undo            :    ^Y
  229. Function key 0-9    :    F1-F10
  230.  
  231.  
  232. Using the Clipboard:
  233.  
  234.  
  235.      1.  Select text with mouse
  236.  
  237.      2.  Hit Amiga-C to Cut text
  238.  
  239.      3.  Hit Amiga-V to paste text at cursor position
  240.  
  241.  
  242.  
  243.  
  244. 8.    Caveats  and  Known  Bugs
  245.  
  246. Lurking Horror will hang when it tries to do the Amiga sound stuff.  Do
  247. not use this program with the Amiga version of Lurking Horror (you can
  248. use it with versions of Lurking Horror from other computers' versions
  249. which do not do sound, I've used it with the Atari ST version for
  250. example.)
  251.  
  252. ZMachine save game files are incompatible with game save files created
  253. by the Infocom ZIL interpreter and vice versa.
  254.  
  255.  
  256. 9.    Reporting  Bugs,  Comments,  and  Questions
  257.  
  258. I have tested this program with most of the non-plus interactive
  259. fiction games from Lost Treasures and several others from other
  260. computers and they have all worked great so far.  Let me know if you
  261. find any that do not.
  262.  
  263. Feel free to send Bug reports, comments, or questions to me via
  264. E-Mail:
  265.  
  266.  
  267. Kent.Dalton@FtCollinsCO.NCR.com
  268.  
  269.  
  270. I will try to respond as time allows.
  271.  
  272. I hope you enjoy this program!  I use it for all of my interactive
  273. fiction now!
  274.  
  275.  
  276. 10. Revision History
  277.  
  278. Version 1.0.0
  279.  
  280.    o Original release
  281.  
  282. Version 1.0.1
  283.  
  284.    o ZMachine now resets terminal characteristics on exit.
  285.  
  286.    o Fixed "character wrap" bug on Amiga terminals.
  287.  
  288.    o Added cli switch for no prompt on exit.
  289.  
  290.    o Added nowrap switch that handles line wrap old way. (May be
  291.      necessary for some non-Amiga terminals or running over serial
  292.      line, experiment both ways to see which works best.)
  293.  
  294.    o Tested Function Key support (works).
  295.