![]() |
Game Status Buffer |
| Address | Length | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 23359 | 2 |
|
||||||||||||||||||
| 23500 | 1 | |||||||||||||||||||
| 23501 | 1 | |||||||||||||||||||
| 23503 | 1 | |||||||||||||||||||
| 23504 | 1 |
|
||||||||||||||||||
| 23505 | 1 |
See DrawRoom.
|
||||||||||||||||||
| 23506 | 1 |
See DrawRoomLadders.
|
||||||||||||||||||
| 23507 | 1 |
|
||||||||||||||||||
| 23508 | 1 |
|
||||||||||||||||||
| 23510 | 2 |
|
||||||||||||||||||
| 23512 | 2 |
Populated by PopulateRoomData. See DrawRoom, Handler_LaddersDescending and Handler_LaddersAscending for usage.
|
||||||||||||||||||
| 23514 | 2 |
Populated by PopulateRoomData. See DrawRoom, AnimalsEventTiming, Handler_KeysAndLockedDoors, FindKeyAtPosition and FindMatchingKey for usage.
|
||||||||||||||||||
| 23516 | 2 |
Populated by PopulateRoomData. See Handler_PortHole for usage.
|
||||||||||||||||||
| 23518 | 2 |
Populated by PopulateRoomData. See Handler_Pirates for usage.
|
||||||||||||||||||
| 23520 | 2 |
|
||||||||||||||||||
| 23522 | 2 |
Populated by PopulateRoomData. See DrawRoom for usage.
|
||||||||||||||||||
| 23524 | 2 |
|
||||||||||||||||||
| 23526 | 2 |
Populated by PopulateRoomData. See Handler_DisappearingFloors for usage.
|
||||||||||||||||||
| 23528 | 2 |
Initialised at PopulateRoomData. Always set to BufferCurrentRoomData once populated by UnpackRoom. Used by the routine at DrawRoom.
|
||||||||||||||||||
| 23530 | 1 |
|
||||||||||||||||||
| 23531 | 5 |
|
||||||||||||||||||
| 23536 | 1 |
|
||||||||||||||||||
| 23537 | 1 |
|
||||||||||||||||||
| 23538 | 2 |
|
||||||||||||||||||
| 23540 | 2 |
The count of how much booty the player has collected in the current game.
Initialised to 0000 in InitialiseGame at the start of a new game, unless GameState is set to "Game Looped Mode" (2) in which case the game begins with the previous games value continued (but all the booty is respawned).
|
||||||||||||||||||
| 23546 | 2 |
Frames to skip before decreasing the golden key timer at TimerGoldenKey.
|
||||||||||||||||||
| 23548 | 1 |
|
||||||||||||||||||
| 23549 | 2 |
|
||||||||||||||||||
| 23551 | 1 |
|
||||||||||||||||||
| 41196 | 31 |
Pixel-shift workspace. GoldfishGame_PrintShiftedSprite and PrintShiftedSprite copy the blank tiles from Graphics_MaskSprite here before shifting a sprite.
|
||||||||||||||||||
| 41412 | 800 |
|
||||||||||||||||||
| 42212 | 800 |
|
||||||||||||||||||
| 43990 | 3788 |
|
||||||||||||||||||
| 47778 | 1 |
The sprite ID being written by WriteSpriteBuffer. Starts as one less than the real ID; the print loop increments it.
|
||||||||||||||||||
| 47779 | 2 |
The width of the sprite being written by WriteSpriteBuffer.
|
||||||||||||||||||
| 47781 | 2 |
Used to assist with populating TableRoomData, as this table is blank when the game is first loaded.
|
||||||||||||||||||
| 47785 | 44 |
Note that room ID 22 is never used, and hence is 0000. Room ID 21 is a valid reference (and does have data), but also is not used in the game.
|
||||||||||||||||||
| 47829 | 2 |
See PopulateRoomBuffer for usage.
|
||||||||||||||||||
| 47831 | 500 |
|
||||||||||||||||||
| 48331 | 51 |
Note; although this room is present in code, it's unreachable and fairly "broken". See Room #21.
|
||||||||||||||||||
| 48382 | 192 |
See Room #20.
|
||||||||||||||||||
| 48574 | 212 |
See Room #19.
|
||||||||||||||||||
| 48786 | 212 |
See Room #18.
|
||||||||||||||||||
| 48998 | 247 |
See Room #17.
|
||||||||||||||||||
| 49245 | 208 |
See Room #16.
|
||||||||||||||||||
| 49453 | 215 |
See Room #15.
|
||||||||||||||||||
| 49668 | 185 |
See Room #14.
|
||||||||||||||||||
| 49853 | 186 |
See Room #13.
|
||||||||||||||||||
| 50039 | 210 |
See Room #12.
|
||||||||||||||||||
| 50249 | 171 |
See Room #11.
|
||||||||||||||||||
| 50420 | 174 |
See Room #10.
|
||||||||||||||||||
| 50594 | 143 |
See Room #09.
|
||||||||||||||||||
| 50737 | 165 |
See Room #08.
|
||||||||||||||||||
| 50902 | 172 |
See Room #07.
|
||||||||||||||||||
| 51074 | 138 |
See Room #06.
|
||||||||||||||||||
| 51212 | 158 |
See Room #05.
|
||||||||||||||||||
| 51370 | 199 |
See Room #04.
|
||||||||||||||||||
| 51569 | 162 |
See Room #03.
|
||||||||||||||||||
| 51731 | 198 |
See Room #02.
|
||||||||||||||||||
| 51929 | 188 |
See Room #01.
|
||||||||||||||||||
| 53772 | 1 |
Contains the currently in-focus key position; used for highlighting.
|
||||||||||||||||||
| 53804 | 39 |
See SetDefaultKeyboardInputs for an example of how this is used. Each key is stored as an offset. So a stored value of 5 equates to the "T" key.
|
||||||||||||||||||
| 54078 | 1 |
|
||||||||||||||||||
| 55613 | 1 |
This value is incremented every frame, and every 4th frame will cause the player to rise.
|
||||||||||||||||||
| 56118 | 2 |
Byte width of the source sprite, used when GoldfishGame_PrintShiftedSprite advances to the next pixel row.
|
||||||||||||||||||
| 56120 | 3 |
First holds the bit-rotate count while shifting, then the tile step when printing.
|
||||||||||||||||||
| 56123 | 1 |
|
||||||||||||||||||
| 56124 | 1 |
|
||||||||||||||||||
| 56130 | 1 |
|
||||||||||||||||||
| 56132 | 1 |
The number of fish needed to complete the game; see GoldfishGame_InitialiseFishNeeded.
|
||||||||||||||||||
| 56334 | 20 |
|
||||||||||||||||||
| 56354 | 264 |
Populated by PopulateSandBuffer.
|
||||||||||||||||||
| 56618 | 110 |
|
||||||||||||||||||
| 56728 | 2 |
|
||||||||||||||||||
| 58479 | 11 |
|
||||||||||||||||||
| 59424 | 1 |
Set to 2 when a lift overlaps the player. See Handler_Lifts and Handler_Player.
|
||||||||||||||||||
| 62001 | 20 |
|
||||||||||||||||||
| 62021 | 20 | |||||||||||||||||||
| 62041 | 1 |
This value is incremented every frame, and every 4th frame will animate the port holes (if there are any). See Handler_PortHole.
|
||||||||||||||||||
| 62171 | 30 |
Used by the routines at Handler_Bomb (for creation) and Handler_Explosion for animation.
Initial values are populated from TableDefaultBombSparks.
|
||||||||||||||||||
| 62201 | 30 |
Used by the routine at Handler_Bomb.
These default values are copied to TableBombSparks.
|
||||||||||||||||||
| 62231 | 5 |
Used by the routine at AnimalsEventTiming.
Five vertical character positions. AnimalsEventTiming picks a random index 0-3 uses that byte as the spawn row, and the next byte when matching a ReferenceKeysAndLockedDoors entry.
|
||||||||||||||||||
| 62236 | 16 |
Live animal sprite slot. Cleared by AbortAnimalEvent; populated by AnimalsEventTiming.
|
||||||||||||||||||
| 62252 | 3 |
Three screen-byte masks copied from WalkMaskSources / WalkMaskSources_Middle / WalkMaskSources_Right while the player is walking. Handler_Player ANDs these with the pixels under the player's feet.
|
||||||||||||||||||
| 62255 | 1 |
Used by the routine at Handler_Player.
Set to 1 when a walk step is ready to reprint.
|
||||||||||||||||||
| 62256 | 2 |
Keeps track of the current position in the room buffer being processed.
Used by the routines at ConvertCoordinateToBufferOffset, PrintSpriteUpdateBuffer, PopulateGameRoomBuffer and Handler_Pirates.
|
||||||||||||||||||
| 62258 | 2 |
Working shift count used by PrintShiftedSprite when bit-rotating a sprite.
|
||||||||||||||||||
| 62260 | 1 |
See Handler_Lifts and Handler_Pirates.
|
||||||||||||||||||
| 62261 | 1 |
The width of the sprite actively being printed.
|
||||||||||||||||||
| 62262 | 1 |
The ID of the sprite actively being printed. Note; this starts off as -1 of the real value as it increments to the base sprite ID in the printing loop.
|
||||||||||||||||||
| 62266 | 2 |
Incremented while walking; Handler_Player treats a count higher than 8 as a fall.
|
||||||||||||||||||
| 62268 | 2 |
Pixel width working value used by PrintShiftedSprite.
|
||||||||||||||||||
| 62270 | 1 |
Working row offset used by PrintShiftedSprite.
|
||||||||||||||||||
| 62271 | 1 |
Set when the player has fallen; written to SoundFlag_PlayerCollision.
|
||||||||||||||||||
| 62272 | 1 |
Counts down while demo mode is active. Used by the routine at InitialiseGame.
|
||||||||||||||||||
| 62273 | 1 | |||||||||||||||||||
| 62274 | 1 |
|
||||||||||||||||||
| 62275 | 2 |
Used by the routine at GetRandomNumber. Not random at all!
|
||||||||||||||||||
| 65158 | 2 |
Incremented address which points to ZX Spectrum ROM for the purposes of creating the screeching noice you hear when the bomb is counting down.
|
||||||||||||||||||
| 65160 | 1 |
Increments by one on every generated interrupt.
|
||||||||||||||||||
| 65527 | 1 |
Used by the routines at GameEntryPoint and MusicThemeTune.
MusicThemeTune ANDs this with *InterruptCounter; the theme tune plays only when the result is zero.
|
||||||||||||||||||
| 65528 | 1 |
|
||||||||||||||||||
| 65529 | 2 |
Keep track of the current position of the music data. This is important as the theme tune uses interrupts to play, so it needs to know where to resume playing from.
|
||||||||||||||||||
| 65531 | 1 |
Set to 1 by LoseLife. SoundHandler_LoseLife plays when this and SoundFlag_PlayerCollision are both set.
|
||||||||||||||||||
| 65532 | 1 |
Written by Handler_Player. SoundHandler_LoseLife plays when this and SoundFlag_LoseLife are both set.
|
||||||||||||||||||
| 65533 | 1 |
|
||||||||||||||||||
| 65534 | 1 |
Used by the routines at GameEntryPoint, Handler_Animals, Handler_BadDoor, Handler_Explosion, Handler_Items, Handler_UnlockDoor, Handler_Pirates, Handler_KeysAndLockedDoors, SoundHandler_CollectedKey, SoundHandler_UnlockedDoor, SoundHandler_CaughtByPirate, SoundHandler_BombExplosion, SoundHandler_CollectedItem, SoundHandler_TouchedAnimal and Controller_GeneralSounds.
|
||||||||||||||||||
| 65535 | 1 |
|