Z-machine
Z-machine | |
---|---|
Storyfile format | |
Author | Joel Berez, Marc Blank |
Home page | https://www.inform-fiction.org/zmac... |
Development website | https://github.com/iftechfoundation... |
Formally specified | Yes |
Version | 1.1 |
Date | 2014/02/24 |
File extension | .z3, .z4, .z5, .z6, .z8, .zblorb, .zlb |
MIME type | application/x-zmachine |
Browse the architecture database | |
Edit this infobox |
This virtual machine was developed in 1979 by Infocom. Games were written in ZIL (Zork Implementation Language, Zork I being Infocom's first game). They were then compiled using Zilch to "story files" which contained Z-machine instructions. Z-code is the byte code and data file format used by the Z-machine, so the story files are often called "Z-code files". These files could be run on any platform for which a Z-machine/Z-code interpreter existed. Zilch was never released but documentation for ZIL does exist.
Infocom produced six Z-machine versions, with later versions having greater capabilities. The release of the Inform authoring system by Graham Nelson in May 1993 led to many more games being in Z-code format, and also led to the specification of two further Z-machine versions. The file extensions used now are .z1, .z2, .z3, .z4, .z5, .z6, .z7 and .z8. The demands of larger Inform games eventually led to the Glulx virtual machine being designed.
Assorted Z-machine interpreters
Interpreters for Z-code files are available on a wide variety of platforms. In fact, since interpreters are available for a wide range of platforms - for example, on various old machines (such as the Apple II, TRS-80 and Sinclair), portable machines (such as Palm OS devices and the Nintendo Game Boy) and most modern platforms - it can be claimed that Z-code is one of the most portable computer languages ever invented.
The following is a list of various Z-Machine interpreters, but not all of these should be recommended for use now. For recommendations, see the FAQ.
- Aimfiz (SDL, cross-platform)
- Bocfel (various)
- Flashonate (Flash)
- Flaxo (Flash)
- Frobnitz (PalmOS)
- Frotz (various)
- GLUZMA (Glulx)
- Gnusto (Javascript)
- Infuse (Unix)
- JSZM (JavaScript)
- Jzip (UNIX/DOS)
- Leaflet (Flash, proprietary)
- M4ZVM (Trs-80)
- MaxZip (OS9)
- Muttonate (Javascript)
- Nitfol (various)
- Ozmoo (Commodore 64)
- Parchment (HTML, includes Gnusto)
- Rezrov (Perl)
- Vezza (CP/M)
- XZip (*nix/X-Windows)
- Zax (Java/application only)
- Zip (various)
- ZLR (.NET)
- ZMPP (Java/application or applet)
- ZORKMID (Unix, with debugging)
- Zplet (Java/application or applet)
- ZXZVM (Spectrum)
Compilers targeting the Z-machine
See also
- Z-machine versions
- For works of interactive fiction using Z-code, see Z-code works.