Das Z-machine Preservation Project ist eine Java-Implementation der Z-Machine (Java Version >= 5 wird benötigt). Ziel des Projekts ist es, einen Z-Code-Interpreter in Java bereitzustellen, der mit dem Standard konform und einfach zu verstehen, zu warten und zu erweitern ist. Die Architektur besteht aus einem Z-Machine-Kernsystem, das von Bedienoberflächen unabhängig ist. Das Verhalten des Kernsystems wird durch seine Testfälle dokumentiert und verifiziert.