![]() |
Game status buffer |
| Address | Length | Description |
|---|---|---|
| 23417 | 1 |
Set when a bytecode line's verb and noun matched. The next line is skipped until this is cleared.
|
| 23418 | 1 |
Set when a movement or an object list finds what it is looking for.
|
| 23423 | 1 |
Token of the first word. Directions are 1 to 10, inventory is 11, GET is 12, DROP is 13, WEAR is 14 and QUIT is 16.
|
| 23424 | 1 |
Token of the second word. IT and THEM reuse the previous noun.
|
| 23425 | 1 |
Bytecode counter compared by condition 17.
|
| 23426 | 1 |
Bytecode counter compared by condition 18.
|
| 23427 | 1 |
Bytecode counter compared by condition 19.
|
| 23428 | 1 |
The current room plus 128, which is how that room is keyed in the exit table.
|
| 23429 | 1 |
Non-zero when a comma left more of the command line for the next turn.
|
| 23430 | 1 |
How many words of this command have been stored. The script runner clears it after the first matched line.
|
| 23431 | 2 |
Spectrum display address where the next glyph is plotted.
|
| 23433 | 1 |
Character row of the cursor. It is saved and restored as a pair with the column.
|
| 23434 | 1 |
Character column of the cursor. The text window is 43 columns wide.
|
| 23435 | 1 |
How many vocabulary words the parser kept from the current line.
|
| 23436 | 2 |
Where to resume after a comma, and the pointer the vocabulary scan restores.
|
| 23438 | 1 |
Characters currently in the command buffer. DELETE is ignored when this is zero.
|
| 23439 | 1 |
Which terminated message to print, counted from the start of the chosen table.
|
| 23440 | 2 |
Address of the message byte just printed.
|
| 23442 | 2 |
Two unused bytes between the message pointer and the subtraction scratch.
|
| 23444 | 1 |
Holds the amount being subtracted from a flag byte.
|
| 23445 | 1 |
Set when a script or a movement changes the room, so the loop describes it again.
|
| 23446 | 1 |
255 while the high-priority scripts run, and zero for the ordinary command scripts.
|
| 23447 | 1 |
Last character row the text window may use before it scrolls.
|
| 23448 | 1 |
Characters collected for the word that is about to be flushed.
|
| 23449 | 2 |
Next free byte in the word buffer.
|
| 23451 | 1 |
The character just expanded. A full stop here makes the next letter a capital.
|
| 23452 | 1 |
The glyph just plotted, so a second space in a row can be rubbed out.
|
| 23453 | 1 |
The noun IT and THEM refer to.
|
| 23940 | 3 |
The stack pointer installed at the start of the game loop. Two bytes sit under the room byte.
|
| 23943 | 1 |
The room the player is in. Its short text at TokenisedLocations is used for rooms 102 and above, and for every room while pictures are on. Otherwise the long description comes from bank 6.
|
| 23944 | 1 |
Non-zero when the location is dark and must be described as such.
|
| 23945 | 1 |
Object in the hands. 253 means the hands are empty.
|
| 23946 | 1 |
Object being worn. 254 means nothing is worn.
|
| 23947 | 1 |
Copied from the initial state as flag byte 4. The bytecode addresses it through FlagAddress.
|
| 23948 | 1 |
How many objects are currently carried. GET increments it and DROP decrements it.
|
| 23949 | 1 |
How many object slots to scan when listing what is here. It starts at 150.
|
| 23950 | 1 |
While this is non-zero the game loop reruns the scripts and redraws, then decrements it.
|
| 24266 | 1 |
Set when a bytecode condition fails or an action wants the rest of the line skipped.
|
| 24341 | 1 |
The room-change scan compares a picture record with this byte. Nothing in the game writes it, so the comparison is against zero.
|
| 24965 | 1 |
The room whose illustration is already on screen. A different room is drawn.
|
| 24966 | 1 |
While a location is being described, reaching row 19 waits for a key and scrolls.
|
| 26326 | 1 |
Non-zero when illustrations are drawn. EDIT toggles it. It starts on.
|
| 26327 | 1 |
The last value passed to RememberBank. It starts at 16, so the resting window is bank 0 with the 48K ROM bit already set. PageBank sets that bit again before the port write.
|
| 27265 | 2 |
Two bytes overwritten when a restore is offered. They are not read back.
|
| 28398 | 1 |
Cleared before each shape is plotted. A later test uses it to skip a shape that should not be drawn.
|