![]() |
Game status buffer |
| Address | Length | Description |
|---|---|---|
| 5B79 | 1 |
Set when a bytecode line's verb and noun matched. The next line is skipped until this is cleared.
|
| 5B7A | 1 |
Set when a movement or an object list finds what it is looking for.
|
| 5B7F | 1 |
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 |
Token of the second word. IT and THEM reuse the previous noun.
|
| 5B81 | 1 |
Bytecode counter compared by condition 11.
|
| 5B82 | 1 |
Bytecode counter compared by condition 12.
|
| 5B83 | 1 |
Bytecode counter compared by condition 13.
|
| 5B84 | 1 |
The current room plus 80, which is how that room is keyed in the exit table.
|
| 5B85 | 1 |
Non-zero when a comma left more of the command line for the next turn.
|
| 5B86 | 1 |
How many words of this command have been stored. The script runner clears it after the first matched line.
|
| 5B87 | 2 |
Spectrum display address where the next glyph is plotted.
|
| 5B89 | 1 |
Character row of the cursor. It is saved and restored as a pair with the column.
|
| 5B8A | 1 |
Character column of the cursor. The text window is 2B columns wide.
|
| 5B8B | 1 |
How many vocabulary words the parser kept from the current line.
|
| 5B8C | 2 |
Where to resume after a comma, and the pointer the vocabulary scan restores.
|
| 5B8E | 1 |
Characters currently in the command buffer. DELETE is ignored when this is zero.
|
| 5B8F | 1 |
Which terminated message to print, counted from the start of the chosen table.
|
| 5B90 | 2 |
Address of the message byte just printed.
|
| 5B92 | 2 |
Two unused bytes between the message pointer and the subtraction scratch.
|
| 5B94 | 1 |
Holds the amount being subtracted from a flag byte.
|
| 5B95 | 1 |
Set when a script or a movement changes the room, so the loop describes it again.
|
| 5B96 | 1 |
FF while the high-priority scripts run, and zero for the ordinary command scripts.
|
| 5B97 | 1 |
Last character row the text window may use before it scrolls.
|
| 5B98 | 1 |
Characters collected for the word that is about to be flushed.
|
| 5B99 | 2 |
Next free byte in the word buffer.
|
| 5B9B | 1 |
The character just expanded. A full stop here makes the next letter a capital.
|
| 5B9C | 1 |
The glyph just plotted, so a second space in a row can be rubbed out.
|
| 5B9D | 1 |
The noun IT and THEM refer to.
|
| 5D84 | 3 |
The stack pointer installed at the start of the game loop. Two bytes sit under the room byte.
|
| 5D87 | 1 |
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 |
Non-zero when the location is dark and must be described as such.
|
| 5D89 | 1 |
Object in the hands. FD means the hands are empty.
|
| 5D8A | 1 |
Object being worn. FE means nothing is worn.
|
| 5D8B | 1 |
Copied from the initial state as flag byte 4. The bytecode addresses it through FlagAddress.
|
| 5D8C | 1 |
How many objects are currently carried. GET increments it and DROP decrements it.
|
| 5D8D | 1 |
How many object slots to scan when listing what is here. It starts at 96.
|
| 5D8E | 1 |
While this is non-zero the game loop reruns the scripts and redraws, then decrements it.
|
| 5ECA | 1 |
Set when a bytecode condition fails or an action wants the rest of the line skipped.
|
| 5F15 | 1 |
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 |
The room whose illustration is already on screen. A different room is drawn.
|
| 6186 | 1 |
While a location is being described, reaching row 13 waits for a key and scrolls.
|
| 66D6 | 1 |
Non-zero when illustrations are drawn. EDIT toggles it. It starts on.
|
| 66D7 | 1 |
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 |
Two bytes overwritten when a restore is offered. They are not read back.
|
| 6EEE | 1 |
Cleared before each shape is plotted. A later test uses it to skip a shape that should not be drawn.
|