Glulx -- specification change log 3.1.3: (Jun 25, 2022) Added support for double-precision floating point. (32 double opcodes, and a gestalt selector for them.) Added the @hasundo and @discardundo opcodes, along with a gestalt selector. Updated license to CC BY-NC-SA 4.0. ADDITION (Oct 2022): Added double-precision opcodes to the selector table. (Thanks Teh-Bobo.) 3.1.2: (Aug 17, 2010) Added support for floating-point. (29 float opcodes, and a gestalt selector for them.) Deprecated 8-bit and 16-bit locals. Also deprecated the use of the copyb and copys opcodes with a local-variable operand. Noted that opcodes 0x1000 to 0x10FF are reserved for FyreVM; also gestalt selectors 0x1000 to 0x10FF, and I/O system 20. Clarified that you may not use @setmemsize when the memory heap is active. Clarified that glk_put_string() cannot accept encoded Glulx strings. More accelerated functions (late update: March 27, 2014) 3.1.1: (Mar 11, 2009) Added support for accelerated function calls. This adds @accelfunc and @accelparam opcodes, and selectors to go along with them. Admitted that branching from one function to another is legal. (Interpreters have always permitted it.) 3.1.0: (Feb 11, 2007) Added support for block operations and heap memory allocation. This adds @mcopy, @mzero, @malloc, and @mfree opcodes, and selectors to go along with them. 3.0.0: (Aug 13, 2006) Added Unicode support. This means a new selector; a @streamunichar opcode; an E2 (Unicode) string type; a couple of new Unicode compression node types; and a type-14 call stub, for printing said node types. Note that a Glulx 3.0 interpreter can execute Glulx 2.0 game files. 2.0.0: (Mar 29, 2000) Added modular I/O system system; setiosys, getiosys opcodes to support it. The default I/O system is no longer Glk, which makes this an incompatible change. (Previous versions were all called "1.0.0") * : (Feb 15, 2000) Added search opcodes; jumpabs; callf opcodes; defined gestalt selectors * : (Aug 17, 1999) Added support for compressed strings. * : (Apr 1, 1999) Initial draft