Z-machine versions: Difference between revisions

From IFWiki

(Glulx generated with same toolchain that makes most Z-machine adventures)
No edit summary
Line 4: Line 4:
* [[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 is generated using the same toolchain used to make most Z-machine adventures.  Glulx 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 the early 2000s, there was a great deal of discussion about new version 9 and 10 extensions, but these were never resolved.
 
* In 2013, Zzo38 created (another) version 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]].
==XOR support==
 
v9 and v10 story files give Z-machines XOR support by defining the [http://www.gnelson.demon.co.uk/zspec/sect14.html#2OP 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 ([http://www.eblong.com/zarf/glulx/glulx-spec_2.html via the "bitxor" operation]).


==Links==
==Links==
Line 14: Line 11:
* [http://www.gnelson.demon.co.uk/zspec/sect01.html This describes the non-Infocom extensions for versions 7 and 8 of the Z-machine]
* [http://www.gnelson.demon.co.uk/zspec/sect01.html This describes the non-Infocom extensions for versions 7 and 8 of the Z-machine]
* [http://hansprestige.com/inform/zmachine_versions.html This compares versions 1-8]
* [http://hansprestige.com/inform/zmachine_versions.html This compares versions 1-8]
* [http://zzo38computer.org/zmachine/z9.txt Spec for version 9 and 10 of Z-machine files]
* [http://zzo38computer.org/zmachine/z9.txt Spec for version 9 and 10 of Z-machine files] (dead link)

Revision as of 05:26, 5 May 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 the early 2000s, there was a great deal of discussion about new version 9 and 10 extensions, but these were never resolved.
  • In 2013, Zzo38 created (another) version 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.

Links