Address Length Description
5B79 1
Script Matched
Set when a bytecode line's verb and noun matched. The next line is skipped until this is cleared.
5B7A 1
Search Hit
Set when a movement or an object list finds what it is looking for.
5B7F 1
Verb
Token of the first word. Directions are 01 to 0A, inventory is 0B, GET is 0C, DROP is 0D, WEAR is 0E and QUIT is 10.
5B80 1
Noun
Token of the second word. IT and THEM reuse the previous noun.
5B81 1
Counter 01
Bytecode counter compared by condition 11.
5B82 1
Counter 02
Bytecode counter compared by condition 12.
5B83 1
Counter 03
Bytecode counter compared by condition 13.
5B84 1
Exit Key
The current room plus 80, which is how that room is keyed in the exit table.
5B85 1
Continuation
Non-zero when a comma left more of the command line for the next turn.
5B86 1
Word Slot
How many words of this command have been stored. The script runner clears it after the first matched line.
5B87 2
Print Address
Spectrum display address where the next glyph is plotted.
5B89 1
Print Row
Character row of the cursor. It is saved and restored as a pair with the column.
5B8A 1
Print Column
Character column of the cursor. The text window is 2B columns wide.
5B8B 1
Words Recognised
How many vocabulary words the parser kept from the current line.
5B8C 2
Rest Of The Line
Where to resume after a comma, and the pointer the vocabulary scan restores.
5B8E 1
Input Length
Characters currently in the command buffer. DELETE is ignored when this is zero.
5B8F 1
Message Number
Which terminated message to print, counted from the start of the chosen table.
5B90 2
Message Pointer
Address of the message byte just printed.
5B92 2
Scratch
Two unused bytes between the message pointer and the subtraction scratch.
5B94 1
Subtraction Scratch
Holds the amount being subtracted from a flag byte.
5B95 1
Room Changed
Set when a script or a movement changes the room, so the loop describes it again.
5B96 1
Which Script Table
FF while the high-priority scripts run, and zero for the ordinary command scripts.
5B97 1
Bottom Row
Last character row the text window may use before it scrolls.
5B98 1
Word Length
Characters collected for the word that is about to be flushed.
5B99 2
Word Pointer
Next free byte in the word buffer.
5B9B 1
Last Character
The character just expanded. A full stop here makes the next letter a capital.
5B9C 1
Previous Glyph
The glyph just plotted, so a second space in a row can be rubbed out.
5B9D 1
Previous Noun
The noun IT and THEM refer to.
5D84 3
Stack Top
The stack pointer installed at the start of the game loop. Two bytes sit under the room byte.
5D87 1
Current Room
The room the player is in. Its short text at TokenisedLocations is used for rooms 66 and above, and for every room while pictures are on. Otherwise the long description comes from bank 6.
5D88 1
Darkness
Non-zero when the location is dark and must be described as such.
5D89 1
Carried Object
Object in the hands. FD means the hands are empty.
5D8A 1
Worn Object
Object being worn. FE means nothing is worn.
5D8B 1
State Byte
Copied from the initial state as flag byte 4. The bytecode addresses it through FlagAddress.
5D8C 1
Carried Count
How many objects are currently carried. GET increments it and DROP decrements it.
5D8D 1
Object Total
How many object slots to scan when listing what is here. It starts at 96.
5D8E 1
Repeat Counter
While this is non-zero the game loop reruns the scripts and redraws, then decrements it.
5ECA 1
Condition Failed
Set when a bytecode condition fails or an action wants the rest of the line skipped.
5F15 1
Pictured Object
The room-change scan compares a picture record with this byte. Nothing in the game writes it, so the comparison is against zero.
6185 1
Picture Already Drawn
The room whose illustration is already on screen. A different room is drawn.
6186 1
Pause At The Bottom
While a location is being described, reaching row 13 waits for a key and scrolls.
66D6 1
Pictures On
Non-zero when illustrations are drawn. EDIT toggles it. It starts on.
66D7 1
Bank Paged In
The last value passed to RememberBank. It starts at 10, so the resting window is bank 0 with the 48K ROM bit already set. PageBank sets that bit again before the port write.
6A81 2
Restore Pointer Scratch
Two bytes overwritten when a restore is offered. They are not read back.
6EEE 1
Shape Suppressed
Cleared before each shape is plotted. A later test uses it to skip a shape that should not be drawn.