By the way, portability was only a side effect of the Z-machine. The main purpose was code size. A text adventure compiled down to the Z-machine would take up less space than the same program compiled to machine code. They were written in the Zork Implementation Language (ZIL), which is similar to Lisp.