To document the iVM for posterity we have made several independent descriptions of it. Here we discuss two of those descriptions, aimed at contemporary or future developers.
The first description consists of directions to building the iVM, in the form of steps and tests to guide programming. The goal of this description is to assume as little knowledge as possible on the part of developers. In particular,it does not assume knowledge of low-level hardware or contemporary programming languages.
The second description is an an instruction set architecture (ISA) specification of the iVM as if it were a micro-processor. This description is suited for contemporary embedded developers, that is, developers writing programs to be run directly on a processor.
We have also make a glossary of useful terms.