Difference between revisions of "Z-machine versions"

From IFWiki
Jump to: navigation, search
(There's also a draft for Z-machine 1.2 out there)
(Glulx generated with same toolchain that makes most Z-machine adventures)
Line 3: Line 3:
 
* Versions 1-6 Created by [[Infocom]] in the 1980s.
 
* 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#Assorted_Z-machine_interpreters|Z machine interpreters]] support z7 and z8 story files.
 
* [[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#Assorted_Z-machine_interpreters|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).
+
* Adventures which are too big for even z8 can use Andrew Plotkin's [[Glulx]] virtual machine, which is generated using the same toolchain used to make most Z-machine adventures.  Glulx 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 [http://mirror.ifarchive.org/indexes/if-archiveXinfocomXinterpretersXspecification.html Z-machine specification] 1.0, nor in the 2006 [http://mirror.ifarchive.org/if-archive/infocom/interpreters/specification/ZSpec11.txt Z-machine specification v1.1] (the most recent version), nor in the draft [http://curiousdannii.github.io/if/zspec12.html Z-machine specification v1.2]; the only known [[Z-machine#Assorted_Z-machine_interpreters|Z machine interpreters]] that support these versions are Zzo38's own [[Aimfiz]] and [[Fweep]].
 
* 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 [http://mirror.ifarchive.org/indexes/if-archiveXinfocomXinterpretersXspecification.html Z-machine specification] 1.0, nor in the 2006 [http://mirror.ifarchive.org/if-archive/infocom/interpreters/specification/ZSpec11.txt Z-machine specification v1.1] (the most recent version), nor in the draft [http://curiousdannii.github.io/if/zspec12.html Z-machine specification v1.2]; the only known [[Z-machine#Assorted_Z-machine_interpreters|Z machine interpreters]] that support these versions are Zzo38's own [[Aimfiz]] and [[Fweep]].
  

Revision as of 18:26, 14 January 2014

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 is generated using the same toolchain used to make most Z-machine adventures. Glulx 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 v1.1 (the most recent version), nor in the draft Z-machine specification v1.2; 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).

Links