Z-machine versions

From IFWiki
Revision as of 16:41, 14 January 2014 by Samiam (Talk | contribs) (Add note that people who find Z-machines limiting have been using Glulx)

Jump to: navigation, search

There are at least 10 different versions of the Z machine out there:

  • Versions 1-6 Created by Infocom in the 1980s.
  • Graham Nelson made some minor changes in the 1990s to allow for larger story files, creating versions 7 and 8 of the spec. Most, if not all, modern Z machine interpreters support z7 and z8 story files.
  • Adventures which are too big for even z8 can use Andrew Plotkin's Glulx virtual machine, which has been around since the early oughts (first 2000s decade).
  • In 2013, Zzo38 created versions 9 and 10 of the spec, with a number of extensions allowing even larger story files, finally giving Z-machines XOR support, and many other changes. These versions are not described in the 1997 Z-machine specification 1.0 nor in the 2006 Z-machine specification 1.1 (the most recent version); the only known Z machine interpreters that support these versions are Zzo38's own Aimfiz and Fweep.

XOR support

v9 and v10 story files give Z-machines XOR support by defining the 2OP instruction 29 (1D in hex) as being BXOR, with works like BOR or BAND, but performs a binary exclusive OR operation. Note that Glulx has always had XOR support (via the "bitxor" operation).