![]() |
Game Status Buffer |
| Address | Length | Description |
|---|---|---|
| 5DCE | 800 |
20 column by 19 row tile buffer. Clear_PlayArea clears it, and the print utilities write through it when drawing a room.
|
| 60EE | 800 |
Attribute bytes matching Buffer_RoomTiles.
|
| 640E | 2 |
|
| 6410 | 1 |
Non-zero while the player is jumping or falling.
|
| 6411 | 1 |
Set when a life is lost so Handler_Player can restart the room.
|
| 6412 | 2 |
Offset into Buffer_RoomTiles calculated by Convert_Coordinate.
|
| 6416 | 1 |
|
| 6417 | 2 |
|
| 6419 | 4 |
Inclusive min/max row and column used by the clipped print routines. Defaults to rows 02-18 and columns 01-21.
|
| 641D | 1 |
|
| 641E | 2 |
|
| 6420 | 2 |
Populated by Unpack_Rooms. See Player_Action for usage.
|
| 6422 | 2 |
Populated by Unpack_Rooms. See Player_Action_DoorLoop for usage.
|
| 6424 | 2 |
Three-byte FF-terminated records. See Handler_Collectibles.
|
| 6426 | 2 |
Two-byte FF-terminated records. See Handler_InventoryItems.
|
| 6428 | 2 |
|
| 642A | 4 |
13-byte records drawn by Handler_MovingObjects.
|
| 642E | 2 |
|
| 6430 | 2 |
0D-byte records handled by Handler_Actors.
|
| 6432 | 2 |
0E-byte records handled by Handler_Enemies.
|
| 6434 | 1 |
03 means the player has touched an actor.
|
| 6435 | 1 |
|
| 6436 | 2 |
|
| 6438 | 1 |
Counts falling frames; a hit starts when it reaches 0A.
|
| 643A | 3 |
Three-byte shifted collision mask from Build_PlayerMask.
|
| 643E | 2 |
|
| 6440 | 8 |
|
| 6448 | 2 |
|
| 644A | 1 |
|
| 644B | 2 |
|
| 644D | 14 |
Used by the room-07 bats and the room-16 special.
|
| 6469 | 2 |
Walks the Data_TuneStream stream. Play_Tune reads one byte at a time.
|
| 646B | 2 |
Walks the Data_TuneStreamCopy stream in step with Pointer_TuneData.
|
| 646D | 1 |
|
| 646E | 1 |
Counts to 05 in Handler_Interrupts before the tune is allowed to play.
|
| 646F | 1 |
00 on the introduction/menu. FF after the intro timeout so Initialise_Game starts a game.
|
| 6470 | 2 |
16-bit countdown used by the introduction and demo timeout.
|
| 6472 | 1 |
|
| 6473 | 1 |
|
| 647C | 1 |
When set, Play_Tune returns through the delay routine instead of playing a note.
|
| 647D | 1 |
Set to FF by Handler_Housekeeping when all four collection slots hold 09.
|
| 647E | 1 |
00 is keyboard. Non-zero selects Kempston (and the define-keys highlight).
|
| 647F | 5 |
Five KEY_SCAN codes copied from Table_DefaultKeys. Order: left, right, up, down, action.
|
| 6484 | 2 |
|
| 6486 | 2 |
Default 01/02 (right/left) written by Unpack_Rooms.
|
| 6488 | 1 |
|
| 6489 | 1 |
|
| 648A | 1 |
|
| 648B | 20 |
Bit 7 set means nothing is being carried. Drawn by Handler_CarriedObject.
|
| 649F | 1 |
Counts down; when it hits 00 Handler_EventTimer fires *PendingEvent.
|
| 64A0 | 1 |
|
| 64A1 | 1 |
|
| 64A2 | 1 |
Room IDs run from 00 to 16.
|
| 64A3 | 1 |
|
| 64A4 | 14 |
Player entity used as IX by Handler_Player.
|
| 64B2 | 2 |
|
| 64B4 | 1 |
Initialised to 04 by Unpack_Rooms.
|
| 64C1 | 4 |
Four digits shown on room 00. 09 in every slot sets GameCompleteFlag.
|
| 64C5 | 50 |
One pointer per room, filled by Unpack_Rooms from Data_Rooms.
|
| 64F7 | 6009 |
Working copy of the 17 packed rooms. See Unpack_Rooms.
|