Project: The Z-machine Preservation Project
Author: Wei-ju Wu (2005-2006)
License: GNU public license

About
-----

The Z-machine Preservation Project is an attempt to capture and document the
Z-machine's architecture and design principles and to provide a modern Java
implementation that can be easily maintained and extended. Its goal is to be a reference
Java implementation of the Z-machine specification.

Features:

- written from scratch using Java 5
- supports all story file versions
- can be run as a Java applet within the web browser
- saves and reads games in Quetzal 1.4 format
- reads media in Blorb format
- reads Z code embedded in Blorb files
- shows Inform 7 meta data in application mode
- input stream 0 and 1 (keyboard, mouse and file)
- output streams 1, 2 and 3 (screen, transcript, memory with nesting)
- split subwindows (paging, buffering, scrolling)
- multiple font styles and colors (console Frotz color scheme)
- sound effects (AIFF)
- accented characters and unicode
- timed input, preinitialized input
- game-defined dictionaries, alphabet tables and accent tables
- user defined default colors and font sizes
- command history
- multiple undo

For remarks and suggestions for improvements, please contact
me using the ZMPP project homepage:

http://sourceforge.net/projects/zmpp

TODO:

- character graphics
- save/restore regions


Operating systems tested on:
-------------------------

- Linux
- Windows XP
- Mac OS X

**************************
Acknowledgements
**************************

This project would not have been possible without my dear wife encouraging
and supporting me to work on software that lets me combine my hobby
computer games and history and my strive to improve my skills.

Big thanks go to the Interactive Fiction community:

- the rec.arts.int-fiction group and their representatives for providing
well written specifications
- Fredrik Ramsberg for contributing his thoughts, suggestions and time towards
better language support in ZMPP
- Richard Vivian for selling me his copy "Masterpieces of Infocom"
- Stefan Jokisch, David Kinder and Andrew Hunter for their interpreter
that implementations served and still serve as a reference to ZMPP
- Pichuneke and the spanish "CAAD" forum for their feedback
- Matthias Schmidt for his suggestions that will hopefully lead to a more
accessible ZMPP
