home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / zip2000_1 / !Zip2000_!Help < prev    next >
Encoding:
Text File  |  1995-11-28  |  16.5 KB  |  397 lines

  1. Welcome to Zip 2000!
  2. ====================
  3.  
  4. Zip 2000 is a Standard interpreter (Revision 0.2) for Z-code programs.
  5.  
  6. In plain English, that means if you want to play Infocom interactive
  7. fiction, or games written with the Inform compiler, this is the
  8. program for you.
  9.  
  10. Features include:
  11.  
  12.   * Support for Version 1,2,3,4,5,7 & 8 games.
  13.   * Full conformance to Graham Nelson's "Specification of the
  14.     Z-machine", Revision 0.2.
  15.   * Colour support.
  16.   * Timed-input support.
  17.   * Sound support.
  18.   * Mouse support.
  19.   * Full function key/cursor key/keypad support.
  20.   * Full foreign language support (including runes).
  21.   * Easily adjustable screen size.
  22.   * Full use of outline fonts.
  23.   * High speed - the fastest Z-code interpreter for RISC OS
  24.  
  25.  
  26. What's Z-Code?
  27. --------------
  28. In the dim and distant past, when one could buy more than one type
  29. of computer, a certain company that wished to produce interactive
  30. fiction wanted to come up with a portable game file that could be
  31. played on any number of microcomputers. So they invented an imaginary
  32. computer called the Z-machine, which ran an imaginary language called
  33. Z-code. They then compiled their games for this machine, and effectively
  34. wrote a Z-machine emulator for each computer they wished to support.
  35.  
  36. This program is a Z-machine emulator for RISC OS. With it you can
  37. play any Infocom game (except Arthur, Zork Zero, Journey or Shogun),
  38. and games produced with Graham Nelson's Z-Code compiler "Inform".
  39.  
  40.  
  41. How do I play an Infocom/Inform game, then?
  42. -------------------------------------------
  43. First, find your story file. Infocom games are most readily available
  44. in the form of the "Lost Treasures of Infocom" packages. Buy the PC
  45. version, then copy the "XXXXXXXX.DAT" files onto your hard disc
  46. (or a RISC OS floppy). Give them more sensible names, and set their
  47. type to "Z-Code". Then, just double-click on your chosen story file.
  48.  
  49. A number of Inform-produced games can be downloaded over the Internet.
  50. Undoubtedly the best source for all things interactive-fiction related,
  51. is Volker Blasius' IF-archive, at ftp.gmd.de. Two of the best freely-
  52. available games are "Curses" by Graham Nelson, and "Christminster"
  53. by Gareth Rees. Games are generally archived with the extensions ".z5",
  54. ".z8" etc. Download them, and set their type to "Z-Code". Then,
  55. double-click away.
  56.  
  57. Z-Code programs were formerly given (unofficial) filetypes 061-068
  58. (Z-Code1 to Z-Code8) indicating which version they were. The extant
  59. versions are:
  60.  
  61.           Versions 1 & 2: Used by very early Infocom games. You
  62.                           probably won't find any of these. (I never
  63.                           have). Maximum file size of 128K.
  64.           Version 3:      Used by most Infocom games. Only supports
  65.                           simple text displays, with limited split-
  66.                           screen support.
  67.           Version 4:      Full support for split-screen operation,
  68.                           custom status lines and real-time input.
  69.                           Text effects (italic etc.) added.
  70.                           Maximum file size increased to 256K.
  71.           Version 5:      Added support for "undo"ing, colours,
  72.                           character graphics, and mouse input.
  73.           Version 6:      Radically overhauled the screen model,
  74.                           adding multiple windows and graphics. Also
  75.                           increased the maximum file size to 576K.
  76.                           Cannot be interpreted by this version of
  77.                           Zip 2000.
  78.           Versions 7 & 8: These were created by Graham Nelson. They
  79.                           are exactly the same as Version 5, except
  80.                           internal changes allow larger game files.
  81.                           (320K and 512K respectively).
  82.  
  83. This is now deprecated, as an official filetype (11A) has been
  84. allocated for Z-Code programs. You can find out the version of a story
  85. file (regardless of its file-type) from Zip 2000's "About this file"
  86. dialogue box (see below).
  87.  
  88.  
  89. What widgets does Zip 2000 have?
  90. --------------------------------
  91. Well, for starters you can alter the screen size while running. This
  92. might cause some games to get a bit confused though. I would suggest
  93. you find a screen size you like then use the Choices dialogue box
  94. to save it.
  95.  
  96. If you have the registered version, you can also choose which fonts
  97. to use for display. Any text already on the screen may become wrongly
  98. aligned when you change font, but any new text will be OK. The font
  99. you choose as your "fixed-space" font _must be_ fixed space, or
  100. the screen display will go awry. Some odd fonts (such as System.Fixed)
  101. will not produce nice results, as they are somewhat differenly aligned
  102. to most other fonts.
  103.  
  104. The Choices dialogue box contains four options:
  105.      
  106.      Quick loading:    Don't pop up the "The story is loading" message
  107.                        while loading the file.
  108.      Pause on exit:    When a game quits, wait for a keypress before
  109.                        closing the window. You might find some games
  110.                        tend to print lots of text, then quit. Turn this
  111.                        on if you want a chance to read it.
  112.      Show caret...:    Normally the caret is only shown while inputting
  113.                        a line of text. Turn this on to show the
  114.                        caret while waiting for a keypress.
  115.      Confirm quitting: Ask if you really want to quit the game when
  116.                        you close the window.
  117.                     
  118. The Save button saves these options, plus the screen size, and any
  119. options on the Utilities menu.
  120.  
  121. Ah yes, the Utilities menu. This currently contains two options.
  122. "Claim F12" sets whether Zip 2000 claims F12 and passes it to the game,
  123. or ignores it and lets the Wimp bring up the command line.
  124.  
  125. "Line editing" [registered version only] enables the command recall -
  126. use the up and down arrows to recall previous lines of input. This will
  127. disable the use of the cursor keys in games - you may want to turn it off
  128. for Beyond Zork, for example.
  129.  
  130. The "About this file" dialogue box is slightly unorthodox. It shows
  131. the release number and serial number of a game file, plus its Z-code
  132. version. The file size displayed is that reported in the file's header -
  133. not the space it actually occupies on disc.
  134.  
  135. When typing a line of input, Ctrl-U can be used in the normal RISC OS
  136. fashion to delete the line. Escape has the same effect.
  137.  
  138.  
  139. Where do saved files go?
  140. ------------------------
  141. First, saved game files are stored in !Zip2000.Resources.SavedGames,
  142. if you just type a leafname. You can type a full pathname to put it
  143. elsewhere. Future versions will incorporate drag & drop saving, but
  144. personally I think it's easier just to type in a filename while playing
  145. a text adventure. This default location can be altered in Zip 2000's
  146. !Run file.
  147.  
  148. Secondly, transcript and record files are, by default, stored in the
  149. same directory as !Zip2000.
  150.  
  151. Thirdly, auxiliary files saved by games are stored in
  152. !Zip2000.Resources.Files. (If a game wants to save a file PLAYER.AUX
  153. it will be saved as !Zip2000.Resources.AUX.PLAYER).
  154.  
  155.  
  156. You mentioned sound support. How does this work?
  157. ------------------------------------------------
  158. Well, currently there are only two games that support sound: The
  159. Lurking Horror, and Sherlock. Here I will explain how to play
  160. The Lurking Horror with sound.
  161.  
  162. Buy Lost Treasures of Infocom I (PC version), then download Stefan
  163. Jokisch's archive of Lurking Horror sounds from ftp.gmd.de.
  164. Install his sound files (LURKINnn/SND) into the Resources.Sounds
  165. directory inside Zip 2000.
  166.  
  167. Next, you will need to convert your PC release 203 Lurking Horror
  168. into Release 221 (the Amiga version). Stefan supplies a program to do
  169. this, but it's a PC one. I have recompiled it for RISC OS, and you will
  170. find it in the Utilities directory. Use it to update your story file, as
  171. Stefan explains. And that's all there is to it. When you run The
  172. Lurking Horror, you will now be scared out of your wits.
  173.  
  174. The procedure for Sherlock is similar; again the conversion program
  175. is in the Utilities directory.
  176.  
  177. Technical stuff
  178. ~~~~~~~~~~~~~~~
  179. In general, if a game tries to play sound n, Zip 2000 will look in
  180. the Resources.Sounds directory for the file "ssssssnn/SND", where
  181. ssssss is the first six characters of the story file's leafname, and
  182. nn is the number of the sample (padded to 2 digits). So Sherlock's
  183. sounds might be stored as "SHERLO03/SND" upwards. The files
  184. should be Macintosh format ".DAT" files, as archived at ftp.gmd.de
  185. by Stefan Jokisch.
  186.  
  187.  
  188. You mentioned mouse support. How does this work?
  189. ------------------------------------------------
  190. You click on the window. This will only work if a game states
  191. that it wants to use the mouse in its header. The only (pre-V6)
  192. game that I know of that uses this is Beyond Zork - you can click
  193. on the map display to move around.
  194.  
  195.  
  196. I notice that Zip 2000 puts the full title of a
  197. game into it's title bar. How do they do that?
  198. ----------------------------------------------
  199. By cheating. The file !Zip2000.Messages contains a full list of
  200. all known Infocom games, plus some Inform ones, matching
  201. release/version numbers (as shown by the About this File box)
  202. to full names. You may feel free to add new games to this file.
  203.  
  204.  
  205. How much do I pay you for this wondrous program?
  206. ------------------------------------------------
  207. Nothing, unless you particularly want to. Zip 2000 is shareware,
  208. but there is no compulsion to register - you may continue using
  209. this freeware version for as long as you want.
  210.  
  211. If you wish, you can send me £10 to get hold of the registered
  212. version. The registered version features:
  213.  
  214.      * Full command recall and line editing
  215.      * Selectable fonts + sizes
  216.      * Support for Superior Software's "Speech!"
  217.      * Cut & Paste / Drag & Drop of story text
  218.      * Debugging support, including a link to Mark Howell's TXD
  219.        disassembler, RNG re-seeding, and more stuff to come
  220.      * Various other useful PD utilities with DDE frontends
  221.        chucked in.
  222.  
  223. Not all of these have been implemented at the time of writing, but
  224. registered users will be informed of new versions via e-mail, and
  225. will be able to obtain them for free.
  226.  
  227. Plus, if you register, you can ask for one new feature of your choice.
  228. As long as it's sensible, and not more than a few hours work, I will
  229. add it to Zip 2000 before sending you your copy. (If lots of people
  230. ask for a really complicated feature I will put it in).
  231.  
  232. Most new features will only get added to the registered version.
  233. However, any improvements in performance, or in conformance to Graham
  234. Nelson's Standards document, or bug fixes will be added to both versions.
  235.  
  236. When you register you should include either a disc + stamped addressed
  237. envelope, or an e-mail address where I can send your registered copy.
  238. You will be able to get future updates in the same way (but without
  239. the tenner!)
  240.  
  241.  
  242. So, like, what's the history of this thing?
  243. -------------------------------------------
  244.  
  245. Version 1.00 (17-Nov-95)
  246. ~~~~~~~~~~~~~~~~~~~~~~~~
  247. First public release. Conformance to Graham Nelson's proposed
  248. Standard 0.2 (15-Nov-95).
  249.  
  250. Version 1.01 (20-Nov-95)
  251. ~~~~~~~~~~~~~~~~~~~~~~~~
  252. New features:
  253.   File size now extracted from header.
  254. Bugs fixed:
  255.   When the screen size was changed, the game wasn't told.
  256.   When games exited, anything printed since the last new-line
  257.   wasn't displayed.
  258. Conformance improvements:
  259.   random 0 (randomise RNG) was not implemented
  260.   All sorts of screen handling stuff fixed, in particular:
  261.      Buffering in upper window on V4 and earlier.
  262.      Initial cursor position in V4 and earlier.
  263.      Character wrapping when buffering off.
  264.      Style changes in upper window being passed to lower.
  265.      erase_window -1 & -2 sorted out.
  266.   The illegal command @sound_effect (no parameters) caused
  267.   a crash. It now simply beeps.
  268.  
  269. Version 1.02 (22-Nov-95)
  270. ~~~~~~~~~~~~~~~~~~~~~~~~
  271. New features:
  272.   You can now choose whether the caret is displayed while waiting
  273.   for a character.
  274.   Function keys F1-F11 now always claimed - F12 is toggleable.
  275.   Quitting behaviour overhauled.
  276.   [REG] Command recall part of line editing implemented.
  277.   [REG] Smart quotes, ligatures and dashes.
  278. Conformance improvements:
  279.   Accented characters are now correctly lower-cased when put
  280.   into input buffer.
  281.   Backspace now returned from read_char (this was an omission
  282.   from revision 0.2 of the Standard).
  283.   Foreign quotes (« and ») swapped - a mistake in revision 0.2.
  284.   Interrupt routines were being called with the timeout
  285.   as a parameter.
  286.   Return is now passed to the game as code 13, rather than 10 -
  287.   this is required by Bureaucracy.
  288.  
  289. Version 1.03 (23-Nov-95)
  290. ~~~~~~~~~~~~~~~~~~~~~~~~
  291. Bugs fixed:
  292.   Memory was often lost when a game using sound was quit.
  293.   Repeated sounds didn't work properly in V5.
  294. Conformance improvements:
  295.   Sound callback routines implemented - Sherlock's sounds now
  296.   operate correctly.
  297.   Delete input code changed from 8 to 127.
  298.  
  299. Version 1.04 (27-Nov-95)
  300. ~~~~~~~~~~~~~~~~~~~~~~~~
  301. New features:
  302.   Sound data now stored in a dynamic area, rather than the
  303.   module area.
  304.   Official filetype allocated.
  305.   [REG] Selectable fonts.
  306.   Paging system removed to speed up interpretation (it was broken
  307.   anyway). Various other optimisations made.
  308. Bugs fixed:
  309.   The save opcode was not correctly implemented in V4 - it was
  310.   not possible to save on many V4 games.
  311.   Text was often a couple of pixels out of line in upper window.
  312.   Some upper window flicker removed.
  313.   Nasty memory corruption fixed - printing a complicated line of
  314.   text (lots of style changes) would mangle the game's dictionary
  315.   (if you were lucky).
  316.   The size of a Version 7 game was wrongly read from the header
  317.   for the purposes of the verify opcode, and in a number of other
  318.   places (although note that Inform 5.5 also puts the wrong size
  319.   in the header - these bugs would cancel each other out for
  320.   V7 games less than 256K).
  321. Conformance improvements:
  322.   The return value of the read opcode was -1 (rather than 0) if it
  323.   was terminated by a time-out.
  324.   The nop opcode was not implemented (!).
  325.   The get_cursor opcode was not implemented.
  326.   Trapped divide by zero errors nicely.
  327.   Now more rigorous trapping writes outside the dynamic area.
  328.   Tokeniser revised - it was being over-clever.
  329.   [MORE] prompts improved.
  330.   set_font 0 wasn't implemented.
  331.   Alternate alphabets can now be changed at run-time.
  332.   Fourth parameter of print_table was not implemented.
  333.   Characters 0 and 13 in text did not behave as specified.
  334.   Mouse position was only updated on clicks. It should now be
  335.   possible to write a doodling program (!).
  336.  
  337.  
  338. Own up, who helped you with it?
  339. -------------------------------
  340. Well, by far the largest credit goes to Mark Howell, on whose Zip
  341. interpreter core this program is based. Many thanks, Mark.
  342.  
  343. Graham Nelson made lots of encouraging noises as I sent him two new
  344. versions a day during early development. He also suggested all sorts
  345. of features, some of which have actually been implemented already,
  346. and wrote the excellent Specification of the Z-machine to which
  347. Zip 2000 conforms (all 73 pages of it!). He also writes great test
  348. files! (Advert: Download your copy of Jigsaw today).
  349.  
  350. Stefan Jokisch provided help with the sound support, and guided
  351. me through the Zip source. His list of Zip bugs was most helpful.
  352.  
  353. Philip Banks wrote the excellent DataVox module that Zip 2000
  354. uses to play sound effects.
  355.  
  356.  
  357. Are there any bugs^H^H^H^H unexpected features?
  358. -----------------------------------------------
  359. If you play Beyond Zork, with a non-standard colour set (eg white
  360. on blue), on a machine with RISC OS 3.5, in a 32-thousand colour
  361. mode, you will notice that the character graphics' colours don't
  362. match. This is a limitation of RISC OS 3.5. I could work around
  363. it, but it's probably not worth the trouble. RISC OS 3.6 is fine.
  364.  
  365. There's nothing to stop you typing a line wider than the window.
  366. Don't do it. It's not big and its not clever.
  367.  
  368. The game will grab the caret every time a read or read_char happens.
  369. This does not normally matter, unless timed input is going on
  370. (eg Border Zone.)
  371.  
  372.  
  373. And where can I contact you when I find more "features"?
  374. --------------------------------------------------------
  375. My e-mail address is kevin@iota.co.uk.
  376.  
  377. My physical location is:     Kevin Bracey,
  378.                              36 Field View Drive,
  379.                              Downend
  380.                              BRISTOL
  381.                              BS16 2TT
  382.  
  383.  
  384. Please let me know of any bugs you find, or any suggestions you have
  385. for future versions.
  386.  
  387.  
  388. Licence arrangments
  389. -------------------
  390. Zip 2000 is Copyright 1995, Kevin Bracey. The unregistered version
  391. may be freely distributed, providing you distribute the whole application
  392. directory unaltered, including this file.
  393.  
  394. The registered version is licenced to a single user, who may use it on any
  395. machine, but may not give it to others or use it on more than one machine
  396. simultaneously.
  397.