-
Notifications
You must be signed in to change notification settings - Fork 4
/
Glulx-Spec-Changes.txt
56 lines (46 loc) · 2.15 KB
/
Glulx-Spec-Changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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