Prev: B6CA Up: Map Next: B700
B6DA: The game's variables
The working state, from here to ENDINGS. The part from SAVED_STATE to PICTURES_ON is the game's own -- where things stand, the score, the riddle, the map -- and is what START keeps a copy of for a new game and SAVE writes to tape; the rest is scratch for the parser, the printer and the action in hand. DRUNK, at DRUNK, and ACTOR, at ACTOR, have blocks of their own.
VARIABLES B6DA DEFB $00,$00 Where the last word began in the input, echoed back when a word is not known
TOKEN_POINTER B6DC DEFB $00,$00 The parser's place in TOKENS
LAST_CLASS B6DE DEFB $00 The class of the last word, which the parser and the special words go back to
NAME_FAILED B6DF DEFB $00 Set by NAME_MATCHES; MATCH_PATTERN ends in UNKNOWN_VERB when it is
IT_NAME B6E0 DEFB $00,$00,$00,$00,$00,$00 The last target's name, for IT
PARSED_ACTION B6E6 DEFB $00 The action code, a copy kept by PARSE_ACTION
ACTION B6E7 DEFB $00 The action code being carried out
TARGET B6E8 DEFB $00 Its first object, the target, or $FF
INSTRUMENT B6E9 DEFB $00 Its second object, the instrument, or $FF
ACTING B6EA DEFB $00 Who is acting, and who the sentence is about: 0 for the player
SAVED_STATE B6EB DEFB $00,$00,$00 Scratch: DO_SAVE carries Bard's three script bytes here. From here to PICTURES_ON is what START keeps a copy of and SAVE writes
RIDDLE B6EE DEFB $00,$00 This game's riddle, an entry in RIDDLES
TIMER_FIRED B6F0 DEFB $00 A timer has fired this turn
ROAD_OPEN B6F1 DEFB $00 Meant to say Elrond has put the shut road back, so it is not done twice; cleared for each new game and never set
TO_PRINTER B6F2 DEFB $00 PRINT is on: the story goes to the ZX Printer too
FOREST_ENTRY B6F3 DEFB $00 The forest location the player last arrived at, 2 or 3, for the eyes
ORDER_WAITING B6F4 DEFB $00 The character acting has an order waiting
PLAYER_AT B6F5 DEFB $00 Where the player is
ACTOR_AT B6F6 DEFB $00 Where the character acting is
SCORE B6F7 DEFB $00,$00 The score, in tenths of a per cent
RIDDLE_ASKED B6F9 DEFB $00 Gollum is waiting for the answer to his riddle
DOING_IT B6FA DEFB $00 For real: clear while an action is only being tested, and nothing is printed
SUCCEEDED B6FB DEFB $00 It worked: what a test, or a handler, answers
WEAPON_NAME B6FC DEFB $00,$00 The weapon's name, or FIST, for the fight's messages
TARGET_IS_PLACE B6FE DEFB $00 The action's first object is a place (PATTERN_OPTIONS)
INSTRUMENT_IS_PLACE B6FF DEFB $00 The second object is a place: set by no action
Prev: B6CA Up: Map Next: B700