ZVM Code
Status: Alpha
Brought to you by:
rcr
File | Date | Author | Commit |
---|---|---|---|
docs | 2008-12-11 | rcr | [r3] Adds base files for Blorb support. Adds Wiki & ... |
stories | 2008-12-11 | rcr | [r3] Adds base files for Blorb support. Adds Wiki & ... |
tests | 2008-12-11 | rcr | [r3] Adds base files for Blorb support. Adds Wiki & ... |
zvm | 2008-12-11 | rcr | [r3] Adds base files for Blorb support. Adds Wiki & ... |
AUTHORS | 2008-12-11 | rcr | [r1] Initial commit of zvm code (based on the Google... |
LICENSE | 2008-12-11 | rcr | [r1] Initial commit of zvm code (based on the Google... |
README | 2008-12-11 | rcr | [r3] Adds base files for Blorb support. Adds Wiki & ... |
run_story.py | 2008-12-11 | rcr | [r1] Initial commit of zvm code (based on the Google... |
run_tests.py | 2008-12-11 | rcr | [r1] Initial commit of zvm code (based on the Google... |
Welcome to ZVM =============== This project is a work-in-progress. It is a continuation of the original ZVM project. The main differences between the current and the previous versions of ZVM are that support for Z-code versions 7 and 8 has been added, along with support for the Blorb specification, and that the dependence on the Glk library has been dropped (so it is a pure Python project). More information about the current follow-up project can be found at http://sourceforge.net/projects/zvm/ The original ZVM project (and its description) can be found at http://code.google.com/p/zvm What is ZVM? ============ The goal of the ZVM project is to write a pure-python implementation of a Z-machine, a virtual computer architecture that executes interactive fiction stories written in a special language, called Z-code. The current goals of the project include: * No user interface: ZVM implements only the actual Z-machine. It is meant to be used as the backend in other programs that provide a user interface. (Except maybe for a basic console/ terminal UI.) As a consequence it will also not provide any support to play sound files or display images. * Compatibility: ZVM will implement a Z-Machine architecture according to the official specification. * Coverage: Over the years, the Z-machine architecture was revised and refined: 8 versions are known to exist. ZVM currently aims to support Z-machine versions 1 through 5 and 7 through 8 (so version 6 is not in scope). * Programming language: ZVM is written exclusively in the Python programming language, as an importable code module. * Readability: speed is not an issue when emulating a 28-year old virtual machine on a modern computer, so we always shoot for readable code over clever optimizations. Code ==== All code is covered by the BSD license, found in the LICENSE file. You can check out the latest code from Subversion here: http://zvm.svn.sourceforge.net/svnroot/zvm You can check out the code for the previous version from Subversion here: http://zvm.googlecode.com/svn/trunk Project contents ================ README this file LICENSE the BSD license run_tests.py script to run automated tests run_story.py script to execute a story file tests/ automated tests for the module stories/ some sample stories to interpret zvm/ the actual ZVM python module docs/ notes, diagrams, instructions Wiki ==== The original ZVM project has two wiki pages showing the conceptualized general design and user interface design: http://code.google.com/p/zvm/w/list Note that the current project has dropped the support for Glk. Viola ===== For a similar project (a Z-Machine interpreter written in Python), have a look at Viola (not updated anymore after version 0.7.2): http://sourceforge.net/projects/viola/ http://www.ifarchive.org/indexes/if-archiveXinfocomXinterpretersXviola.html