Inform - ZMachine - Standards

See also Glulx  

In the late 1980s and early 90s many people sought to decode and emulate the Infocom story file format, and these efforts culminated in a set of largely working tools to disassemble story files (txd), extract text from them (Infodump), play them (InfoTaskForce and Zip) and create them (Inform). By the mid-1990s, the format was well understood, but poorly documented, at a time when an increasing number of tools were being written to work with it. In 1996, a committee of interested parties compiled the first draft of a Standard (0.2): the presently accepted Standard is 1.0, dating from May to September 1997.

The format is regarded as being mature and stable, but in need of clarification in its more difficult areas. Proposals for relatively minor improvements, mainly concerning the Version 6 Z-Machine, are now under active consideration. It's generally felt that it would be inappropriate to radically restructure the Z-Machine with, for instance, a 32-bit architecture because (a) there are grave technical difficulties with this, and (b) the Glulx virtual machine is already a solution to this problem.

The Standard is discussed and maintained by the Z-Machine Mailing List, to which all interpreter-writers will probably wish to belong. There is no formal standards committee, and instead all are invited to comment; the person currently acting as secretary is Graham Nelson, but decisions are taken by general consensus as far as possible.

Related to the Standard, but not yet a part of it, are two formats for resources generated and used by the Z-Machine. Interpreter-writers are urged to use these standards, too.

Z-Machine Standards Document 1.0  (May 1997)   Link  
The web edition of the current standard.
Proposed changes for Standard 1.1  (9th Draft or later, September 2004)   Link  
A concrete proposal by Jason Penney and Kevin Bracey, which is still under discussion.
Quetzal  (Version 1.4, 971103)   Link  
A standard for saved game files. Adherence to Quetzal is enormously helpful for players, as it allows games to be saved on one interpreter (say on a person's desktop machine) and resumed on another (say on a personal organiser on the train). Since there is no argument about what information needs to be saved, there is no real reason not to observe this standard.
Blorb     Link  
A standard package to hold resources needed by the story file in play (graphics, sound effects, etc.), one of which can be the story file itself, so that a multimedia work can be distributed as a single Blorb file. Even purely textual interpreters on platforms which could not manage graphics can benefit from supporting Blorb: the only absolute requirement is that an interpreter should be able to extract the Z-code part of a Blorb file and play it (ignoring all the other resources present if it chooses), and this is easily coded up.
Z-machine directory at the IF Archive     Link  
Zipped PDF  (280303)  Peer Schaefer Link (500KB) 
Z-Machine Standard 1.0, with Standard 1.1 version 7, Blorb 1.1 and Quetzal 1.3b appended, in Portable Document Format.


Last updated 10 June 2004. The librarian in charge of this page is Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight. Please email any comments, suggestions or corrections to cedenqs@inform-fiction.org.