| From: nelson@vax.oxford.ac.uk (Mathematical Institute, (01865) 2-73525) | |
| Newsgroups: rec.arts.int-fiction | |
| Subject: Z-Machine Specification: Standard 0.2 | |
| Date: 16 Nov 95 12:57:57 GMT | |
| The Specification of the Z-Machine: A New Standard | |
| ================================================== | |
| (The Z-Machine is the imaginary computer invented by Infocom on which their | |
| games run, and is also the run-time system used by the Inform compiler: thus | |
| this document describes the format of Infocom and Inform "story files".) | |
| Since its first appearance over a year ago, a great deal of work by many | |
| hands has gone into rewriting the Specification, which is now almost | |
| unrecognisable as the original document. The material is more precise, | |
| corrects numerous errors and is systematically organised: in cases of doubt, | |
| original Infocom interpreters have been disassembled and referred to. A lot | |
| of niggling questions have been asked and answered. There have already been | |
| two consultation rounds among interested parties. | |
| The aim is to *exactly* describe what an interpreter should do. That | |
| being so, we propose it as a Standard. Each future edition of the document | |
| will be numbered: the one released today is 0.2. It is intended as | |
| provisional, during a last round of consultation between now and the New | |
| Year. Early in January, when further comments, corrections or requests for | |
| clarification have been acted on, it will finally become the definition of | |
| Standard 1.0. (Do please get in touch with me if you have such comments, | |
| corrections or requests.) | |
| A new location in the header has been allocated so that interpreters can | |
| tell the game being played what level of the Standard they implement (for | |
| existing interpreters this will be 0.0). A game will therefore know whether | |
| or not it is safe to use "dangerous" features of the Z-Machine (saving files | |
| of arbitrary data, for instance, or printing boldface German accents in | |
| colour at the bottom right character position of the upper window). | |
| Another intention is that the existence of this Standard will get the | |
| often rather old cores of present interpreters up to date with current | |
| knowledge. (Many new interpreter programs today are actually new front ends | |
| for obsolete cores, which have been only partially repaired.) | |
| In order for this Standard to be worth the name, interpreter writers are | |
| urged *not* to declare their interpreters as Standard unless they really | |
| believe that they are. But once they are, it would be helpful if | |
| interpreters lodged at ftp.gmd.de could include their Standard numbers (e.g. | |
| 1.0) somewhere in their filenames, so that users will know what they are | |
| getting. | |
| The new Standard introduces hardly any new features to the Z-Machine: the | |
| aim has been to describe accurately the status quo. However, in the process | |
| of working out exactly what the `ASCII' character set is for the ZM, we have | |
| filled out the set of accented letters to include the "common" European | |
| accents to be found in ISO Latin 1 (umlauts; grave and acute; cedilla; | |
| circumflex; tilde; ring; slash; thorn and eth; ligatures; and, for good | |
| measure, continental European quotation marks and a pound sign). | |
| The document is presently in TeX format (which is fairly legible as plain | |
| text after the first few pages of macro definitions): other formats will | |
| follow in due course. At the bottom of the file, after the \end command | |
| (which tells TeX to stop typesetting) are six small Inform programs: | |
| fonts.inf, accents.inf, inputcodes.inf, | |
| colours.inf, timedinput.inf, header.inf | |
| which may be helpful for testing the accuracy of a given interpreter. | |
| Suggestions for other test programs, which might be added to this suite, | |
| would be welcomed. | |
| In parallel to all this activity, Stefan Jokisch is compiling a list of | |
| all known bugs in the Zip interpreter: it is hoped in future to try to get | |
| Zip-based interpreters back to a common release of the Zip source code | |
| which will obey the Standard. Please do get in touch with Stefan if you | |
| find or suspect a bug in Zip: or write to me, and I'll forward the | |
| correspondence to Stefan. | |
| The expert on the InfoTaskForce interpreter (which has not been maintained | |
| in a very long time) is probably now Bryan Scattergood, whose Psion | |
| interpreter is a highly advanced modification of ITF. He may be a good | |
| person to consult on how to improve ITF, should anyone want to do this | |
| (please!). | |
| The document can at present be found at ftp.gmd.de, in the directory | |
| incoming/if-archive: after a few days it should end up in | |
| if-archive/infocom/interpreters. | |
| Graham Nelson | |
| November 16th, 1995 | |
| (with extensive contributions from | |
| Paul David Doherty, | |
| Mark Howell, | |
| Stefan Jokisch, | |
| Marnix Klooster | |
| and many others during previous rounds of consultation: although I | |
| drafted the text, I do not regard myself as its sole author.) | |
Xet Storage Details
- Size:
- 4.95 kB
- Xet hash:
- 4e47a3f25d8d012cb1eeeb4e3523018f9b56b09de3d8507fe08c2d23f42f546d
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.