Part IV: T3 Virtual Machine Technical Documentation

This section is for users interested in the internals of the T3 Virtual Machine. This section is part specification, part documentation; it covers the .t3 file format, the byte-code instruction set, type datatype system, and the mechanisms for intrinsic classes and functions.

Authors generally don't need to know any of these internal details in order to write games with TADS 3, since the compiler and other tools expose all of the VM's features through the high-level TADS language. The standard tool-set doesn't even include any low-level tools for assembly-language programming or the like. Even so, some technically-minded authors might be interested in the VM's internals for the sake of their own curiosity, and in rare cases it might even be enlightening in practice to understand exactly what's going on inside the machine.

Design Philosophy
Design Goals
Notation and Conventions
Machine Model
The Metaclasses
Byte-Code Instruction Set
Image File Format
Portable Binary Encoding
Character Mapping
Debug Records
t3vm Function Set
Metaclass Identifier List
Saving and Restoring State
TADS Special Characters