The Z-machine Preservation Project is a Java implementation of the Z-machine.
Z-machine Preservation Project is to provide a Z-code interpreter in Java that conforms to the standard and is easy to comprehend, maintain, and extend.
Architecturally, it consists of a Z-machine core system that is independent of a particular user interface technology. The core system's behaviour is documented and verified through its test cases.
Here are some key features of "Z machine Preservation Project":
· written from scratch using Java 5
· supports all story file versions (V6 deactivated in 1.5)
· 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 fonts
· command history (deactivated in this preview)
· multiple undo
Requirements:
· Java Runtime Environment 5 or later
What's New in 1.02 Stable Release:
· This release adds a French translation, WebStart support, URL load improvement, a reworked home page, as well as minor bugfixes and changes.
What's New in 1.5 Preview 1 Development Release:
· core execution is now a pause-resume
· timed input is now controlled by user interface
· New screen model based on standard Swing components
· Spanish user interface translation by Pichuneke
· All tests are using JUnit 4 and JMock 2.5
· Memory, stack and variables are now all unsigned 16 or 8 bit values
· better NetBeans integration
· replaced ZsciiString and ZsciiStringBuilder and ZsciiStringTokenizer with the J2SE versions
· changed decoding scheme to resemble the one from the Erlang implementation
· Open function added
· Standard and fixed fonts can be specified
· postponed V6 support to the 1.6 release
Product's homepage