This codebase originally began as an Android Activity constructed
around a heavily-hacked port of 'zplet', an early lightweight
z-machine interpreter written for Java 1.0.
*** This project is now undergoing a huge rewrite! ***
We are now attempting to use Android's Native Development Kit (NDK) to
make JNI calls to various VM-interpreters running as C libraries.
This should give us a 7x speed improvement, and also allow us to
support a wider range of z-machines (via 'nitfol'), glulx games (via
'glulxe') and perhaps even TADS or other interpreters.
Specifically, we're using the GlkJNI project
(http://code.google.com/p/glkjni) to provide an abstract UI to the
various C interpreters. GLK is a UI "abstraction layer" created by
Andrew Plotkin which can be implemented in any GUI toolkit, and GlkJNI
ports this abstraction to JNI via a set of java interfaces. It then
provides an Android-specific implementation of those interfaces. The
best C interpreters out there expect to use GLK for I/O, so this
allows us our pick of C interpreters.