home *** CD-ROM | disk | FTP | other *** search
- Welcome to Zip 2000!
- ====================
-
- Zip 2000 is a Standard interpreter (Revision 0.2) for Z-code programs.
-
- In plain English, that means if you want to play Infocom interactive
- fiction, or games written with the Inform compiler, this is the
- program for you.
-
- Features include:
-
- * Support for Version 1,2,3,4,5,7 & 8 games.
- * Full conformance to Graham Nelson's "Specification of the
- Z-machine", Revision 0.2.
- * Colour support.
- * Timed-input support.
- * Sound support.
- * Mouse support.
- * Full function key/cursor key/keypad support.
- * Full foreign language support (including runes).
- * Easily adjustable screen size.
- * Full use of outline fonts.
- * High speed - the fastest Z-code interpreter for RISC OS
-
-
- What's Z-Code?
- --------------
- In the dim and distant past, when one could buy more than one type
- of computer, a certain company that wished to produce interactive
- fiction wanted to come up with a portable game file that could be
- played on any number of microcomputers. So they invented an imaginary
- computer called the Z-machine, which ran an imaginary language called
- Z-code. They then compiled their games for this machine, and effectively
- wrote a Z-machine emulator for each computer they wished to support.
-
- This program is a Z-machine emulator for RISC OS. With it you can
- play any Infocom game (except Arthur, Zork Zero, Journey or Shogun),
- and games produced with Graham Nelson's Z-Code compiler "Inform".
-
-
- How do I play an Infocom/Inform game, then?
- -------------------------------------------
- First, find your story file. Infocom games are most readily available
- in the form of the "Lost Treasures of Infocom" packages. Buy the PC
- version, then copy the "XXXXXXXX.DAT" files onto your hard disc
- (or a RISC OS floppy). Give them more sensible names, and set their
- type to "Z-Code". Then, just double-click on your chosen story file.
-
- A number of Inform-produced games can be downloaded over the Internet.
- Undoubtedly the best source for all things interactive-fiction related,
- is Volker Blasius' IF-archive, at ftp.gmd.de. Two of the best freely-
- available games are "Curses" by Graham Nelson, and "Christminster"
- by Gareth Rees. Games are generally archived with the extensions ".z5",
- ".z8" etc. Download them, and set their type to "Z-Code". Then,
- double-click away.
-
- Z-Code programs were formerly given (unofficial) filetypes 061-068
- (Z-Code1 to Z-Code8) indicating which version they were. The extant
- versions are:
-
- Versions 1 & 2: Used by very early Infocom games. You
- probably won't find any of these. (I never
- have). Maximum file size of 128K.
- Version 3: Used by most Infocom games. Only supports
- simple text displays, with limited split-
- screen support.
- Version 4: Full support for split-screen operation,
- custom status lines and real-time input.
- Text effects (italic etc.) added.
- Maximum file size increased to 256K.
- Version 5: Added support for "undo"ing, colours,
- character graphics, and mouse input.
- Version 6: Radically overhauled the screen model,
- adding multiple windows and graphics. Also
- increased the maximum file size to 576K.
- Cannot be interpreted by this version of
- Zip 2000.
- Versions 7 & 8: These were created by Graham Nelson. They
- are exactly the same as Version 5, except
- internal changes allow larger game files.
- (320K and 512K respectively).
-
- This is now deprecated, as an official filetype (11A) has been
- allocated for Z-Code programs. You can find out the version of a story
- file (regardless of its file-type) from Zip 2000's "About this file"
- dialogue box (see below).
-
-
- What widgets does Zip 2000 have?
- --------------------------------
- Well, for starters you can alter the screen size while running. This
- might cause some games to get a bit confused though. I would suggest
- you find a screen size you like then use the Choices dialogue box
- to save it.
-
- If you have the registered version, you can also choose which fonts
- to use for display. Any text already on the screen may become wrongly
- aligned when you change font, but any new text will be OK. The font
- you choose as your "fixed-space" font _must be_ fixed space, or
- the screen display will go awry. Some odd fonts (such as System.Fixed)
- will not produce nice results, as they are somewhat differenly aligned
- to most other fonts.
-
- The Choices dialogue box contains four options:
-
- Quick loading: Don't pop up the "The story is loading" message
- while loading the file.
- Pause on exit: When a game quits, wait for a keypress before
- closing the window. You might find some games
- tend to print lots of text, then quit. Turn this
- on if you want a chance to read it.
- Show caret...: Normally the caret is only shown while inputting
- a line of text. Turn this on to show the
- caret while waiting for a keypress.
- Confirm quitting: Ask if you really want to quit the game when
- you close the window.
-
- The Save button saves these options, plus the screen size, and any
- options on the Utilities menu.
-
- Ah yes, the Utilities menu. This currently contains two options.
- "Claim F12" sets whether Zip 2000 claims F12 and passes it to the game,
- or ignores it and lets the Wimp bring up the command line.
-
- "Line editing" [registered version only] enables the command recall -
- use the up and down arrows to recall previous lines of input. This will
- disable the use of the cursor keys in games - you may want to turn it off
- for Beyond Zork, for example.
-
- The "About this file" dialogue box is slightly unorthodox. It shows
- the release number and serial number of a game file, plus its Z-code
- version. The file size displayed is that reported in the file's header -
- not the space it actually occupies on disc.
-
- When typing a line of input, Ctrl-U can be used in the normal RISC OS
- fashion to delete the line. Escape has the same effect.
-
-
- Where do saved files go?
- ------------------------
- First, saved game files are stored in !Zip2000.Resources.SavedGames,
- if you just type a leafname. You can type a full pathname to put it
- elsewhere. Future versions will incorporate drag & drop saving, but
- personally I think it's easier just to type in a filename while playing
- a text adventure. This default location can be altered in Zip 2000's
- !Run file.
-
- Secondly, transcript and record files are, by default, stored in the
- same directory as !Zip2000.
-
- Thirdly, auxiliary files saved by games are stored in
- !Zip2000.Resources.Files. (If a game wants to save a file PLAYER.AUX
- it will be saved as !Zip2000.Resources.AUX.PLAYER).
-
-
- You mentioned sound support. How does this work?
- ------------------------------------------------
- Well, currently there are only two games that support sound: The
- Lurking Horror, and Sherlock. Here I will explain how to play
- The Lurking Horror with sound.
-
- Buy Lost Treasures of Infocom I (PC version), then download Stefan
- Jokisch's archive of Lurking Horror sounds from ftp.gmd.de.
- Install his sound files (LURKINnn/SND) into the Resources.Sounds
- directory inside Zip 2000.
-
- Next, you will need to convert your PC release 203 Lurking Horror
- into Release 221 (the Amiga version). Stefan supplies a program to do
- this, but it's a PC one. I have recompiled it for RISC OS, and you will
- find it in the Utilities directory. Use it to update your story file, as
- Stefan explains. And that's all there is to it. When you run The
- Lurking Horror, you will now be scared out of your wits.
-
- The procedure for Sherlock is similar; again the conversion program
- is in the Utilities directory.
-
- Technical stuff
- ~~~~~~~~~~~~~~~
- In general, if a game tries to play sound n, Zip 2000 will look in
- the Resources.Sounds directory for the file "ssssssnn/SND", where
- ssssss is the first six characters of the story file's leafname, and
- nn is the number of the sample (padded to 2 digits). So Sherlock's
- sounds might be stored as "SHERLO03/SND" upwards. The files
- should be Macintosh format ".DAT" files, as archived at ftp.gmd.de
- by Stefan Jokisch.
-
-
- You mentioned mouse support. How does this work?
- ------------------------------------------------
- You click on the window. This will only work if a game states
- that it wants to use the mouse in its header. The only (pre-V6)
- game that I know of that uses this is Beyond Zork - you can click
- on the map display to move around.
-
-
- I notice that Zip 2000 puts the full title of a
- game into it's title bar. How do they do that?
- ----------------------------------------------
- By cheating. The file !Zip2000.Messages contains a full list of
- all known Infocom games, plus some Inform ones, matching
- release/version numbers (as shown by the About this File box)
- to full names. You may feel free to add new games to this file.
-
-
- How much do I pay you for this wondrous program?
- ------------------------------------------------
- Nothing, unless you particularly want to. Zip 2000 is shareware,
- but there is no compulsion to register - you may continue using
- this freeware version for as long as you want.
-
- If you wish, you can send me £10 to get hold of the registered
- version. The registered version features:
-
- * Full command recall and line editing
- * Selectable fonts + sizes
- * Support for Superior Software's "Speech!"
- * Cut & Paste / Drag & Drop of story text
- * Debugging support, including a link to Mark Howell's TXD
- disassembler, RNG re-seeding, and more stuff to come
- * Various other useful PD utilities with DDE frontends
- chucked in.
-
- Not all of these have been implemented at the time of writing, but
- registered users will be informed of new versions via e-mail, and
- will be able to obtain them for free.
-
- Plus, if you register, you can ask for one new feature of your choice.
- As long as it's sensible, and not more than a few hours work, I will
- add it to Zip 2000 before sending you your copy. (If lots of people
- ask for a really complicated feature I will put it in).
-
- Most new features will only get added to the registered version.
- However, any improvements in performance, or in conformance to Graham
- Nelson's Standards document, or bug fixes will be added to both versions.
-
- When you register you should include either a disc + stamped addressed
- envelope, or an e-mail address where I can send your registered copy.
- You will be able to get future updates in the same way (but without
- the tenner!)
-
-
- So, like, what's the history of this thing?
- -------------------------------------------
-
- Version 1.00 (17-Nov-95)
- ~~~~~~~~~~~~~~~~~~~~~~~~
- First public release. Conformance to Graham Nelson's proposed
- Standard 0.2 (15-Nov-95).
-
- Version 1.01 (20-Nov-95)
- ~~~~~~~~~~~~~~~~~~~~~~~~
- New features:
- File size now extracted from header.
- Bugs fixed:
- When the screen size was changed, the game wasn't told.
- When games exited, anything printed since the last new-line
- wasn't displayed.
- Conformance improvements:
- random 0 (randomise RNG) was not implemented
- All sorts of screen handling stuff fixed, in particular:
- Buffering in upper window on V4 and earlier.
- Initial cursor position in V4 and earlier.
- Character wrapping when buffering off.
- Style changes in upper window being passed to lower.
- erase_window -1 & -2 sorted out.
- The illegal command @sound_effect (no parameters) caused
- a crash. It now simply beeps.
-
- Version 1.02 (22-Nov-95)
- ~~~~~~~~~~~~~~~~~~~~~~~~
- New features:
- You can now choose whether the caret is displayed while waiting
- for a character.
- Function keys F1-F11 now always claimed - F12 is toggleable.
- Quitting behaviour overhauled.
- [REG] Command recall part of line editing implemented.
- [REG] Smart quotes, ligatures and dashes.
- Conformance improvements:
- Accented characters are now correctly lower-cased when put
- into input buffer.
- Backspace now returned from read_char (this was an omission
- from revision 0.2 of the Standard).
- Foreign quotes (« and ») swapped - a mistake in revision 0.2.
- Interrupt routines were being called with the timeout
- as a parameter.
- Return is now passed to the game as code 13, rather than 10 -
- this is required by Bureaucracy.
-
- Version 1.03 (23-Nov-95)
- ~~~~~~~~~~~~~~~~~~~~~~~~
- Bugs fixed:
- Memory was often lost when a game using sound was quit.
- Repeated sounds didn't work properly in V5.
- Conformance improvements:
- Sound callback routines implemented - Sherlock's sounds now
- operate correctly.
- Delete input code changed from 8 to 127.
-
- Version 1.04 (27-Nov-95)
- ~~~~~~~~~~~~~~~~~~~~~~~~
- New features:
- Sound data now stored in a dynamic area, rather than the
- module area.
- Official filetype allocated.
- [REG] Selectable fonts.
- Paging system removed to speed up interpretation (it was broken
- anyway). Various other optimisations made.
- Bugs fixed:
- The save opcode was not correctly implemented in V4 - it was
- not possible to save on many V4 games.
- Text was often a couple of pixels out of line in upper window.
- Some upper window flicker removed.
- Nasty memory corruption fixed - printing a complicated line of
- text (lots of style changes) would mangle the game's dictionary
- (if you were lucky).
- The size of a Version 7 game was wrongly read from the header
- for the purposes of the verify opcode, and in a number of other
- places (although note that Inform 5.5 also puts the wrong size
- in the header - these bugs would cancel each other out for
- V7 games less than 256K).
- Conformance improvements:
- The return value of the read opcode was -1 (rather than 0) if it
- was terminated by a time-out.
- The nop opcode was not implemented (!).
- The get_cursor opcode was not implemented.
- Trapped divide by zero errors nicely.
- Now more rigorous trapping writes outside the dynamic area.
- Tokeniser revised - it was being over-clever.
- [MORE] prompts improved.
- set_font 0 wasn't implemented.
- Alternate alphabets can now be changed at run-time.
- Fourth parameter of print_table was not implemented.
- Characters 0 and 13 in text did not behave as specified.
- Mouse position was only updated on clicks. It should now be
- possible to write a doodling program (!).
-
-
- Own up, who helped you with it?
- -------------------------------
- Well, by far the largest credit goes to Mark Howell, on whose Zip
- interpreter core this program is based. Many thanks, Mark.
-
- Graham Nelson made lots of encouraging noises as I sent him two new
- versions a day during early development. He also suggested all sorts
- of features, some of which have actually been implemented already,
- and wrote the excellent Specification of the Z-machine to which
- Zip 2000 conforms (all 73 pages of it!). He also writes great test
- files! (Advert: Download your copy of Jigsaw today).
-
- Stefan Jokisch provided help with the sound support, and guided
- me through the Zip source. His list of Zip bugs was most helpful.
-
- Philip Banks wrote the excellent DataVox module that Zip 2000
- uses to play sound effects.
-
-
- Are there any bugs^H^H^H^H unexpected features?
- -----------------------------------------------
- If you play Beyond Zork, with a non-standard colour set (eg white
- on blue), on a machine with RISC OS 3.5, in a 32-thousand colour
- mode, you will notice that the character graphics' colours don't
- match. This is a limitation of RISC OS 3.5. I could work around
- it, but it's probably not worth the trouble. RISC OS 3.6 is fine.
-
- There's nothing to stop you typing a line wider than the window.
- Don't do it. It's not big and its not clever.
-
- The game will grab the caret every time a read or read_char happens.
- This does not normally matter, unless timed input is going on
- (eg Border Zone.)
-
-
- And where can I contact you when I find more "features"?
- --------------------------------------------------------
- My e-mail address is kevin@iota.co.uk.
-
- My physical location is: Kevin Bracey,
- 36 Field View Drive,
- Downend
- BRISTOL
- BS16 2TT
-
-
- Please let me know of any bugs you find, or any suggestions you have
- for future versions.
-
-
- Licence arrangments
- -------------------
- Zip 2000 is Copyright 1995, Kevin Bracey. The unregistered version
- may be freely distributed, providing you distribute the whole application
- directory unaltered, including this file.
-
- The registered version is licenced to a single user, who may use it on any
- machine, but may not give it to others or use it on more than one machine
- simultaneously.
-