Z-machine versions: Difference between revisions

From IFWiki

(Aimfiz has an article here)
(GIve XOR its own section)
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 v7 and v8 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 v7 and v8 story files.
* Zzo38 has more recently 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.  The only known [[Z-machine#Assorted_Z-machine_interpreters|Z machine interpreter]] that supports these versions is [[Aimfiz]]
* Zzo38 has more recently 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.  The only known [[Z-machine#Assorted_Z-machine_interpreters|Z machine interpreter]] that supports these versions is [[Aimfiz]]
==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 ([www.eblong.com/zarf/glulx/glulx-spec_2.html via the "bitxor" operation]).


==Links==
==Links==

Revision as of 21:36, 13 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 v7 and v8 story files.
  • Zzo38 has more recently 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. The only known Z machine interpreter that supports these versions is Aimfiz

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 ([www.eblong.com/zarf/glulx/glulx-spec_2.html via the "bitxor" operation]).

Links