Prev: B180 Up: Map Next: B450
B420: Game variables
BASIC sets most of these at the start of each level (lines 200-220, and 750 for the time). The two-byte counts are big-endian, for the ROM's OUT-NUM-2, and the code only ever touches their low bytes.
VIEW_ORIGIN B420 DEFB $00,$00 The x and y the view is drawn from
VIEW B422 DEFB $00 Which of the four views, 0-3
B423 DEFB $00,$00,$00,$00,$00 Set to 1 by BASIC; not used by the machine code
RANDOM_BITS B428 DEFB $00,$00,$00 The random number generator, 32 bits big-endian: the first byte is left in SEED for BASIC...
RANDOM_LOW B42B DEFB $00 ...and this is where RANDOM shifts in the new bit
BORDER B42C DEFB $00 The border colour, for the sound routines
GRENADE_EVENTS B42D DEFB $00 What the grenade did, for GRENADE_SOUNDS
THROW_TIME B42E DEFB $00 Frames of flight left
AMMO B42F DEFB $00 Grenades left: the high byte, always 0...
AMMO_LOW B430 DEFB $00 ...and the low
PLAYER_ENERGY B431 DEFB $00 The player's energy: the high byte, always 0...
PLAYER_ENERGY_LOW B432 DEFB $00 ...and the low
RESCUEE_ENERGY B433 DEFB $00 The rescued person's energy: the high byte, always 0...
RESCUEE_ENERGY_LOW B434 DEFB $00 ...and the low
TIME_TICKS B435 DEFB $00 Frames to the next tick of the clock
TIME B436 DEFB $00,$00 The time
FRAMES_LEFT B438 DEFB $00 Frames to run; $FF, until the game says stop (see PLAY)
B439 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Unused
B441 DEFB $00,$00,$00,$00,$00,$00,$00,$00
B449 DEFB $00,$00,$00,$00,$00,$00
CLEAR_PHASE B44F DEFB $00 Which rows CLEAR_BUFFER_ROWS clears next
Prev: B180 Up: Map Next: B450