![]() |
Game status buffer |
| Address | Length | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5CB1 | 79 |
The game's stack. The stack pointer is set to 5D00 by Game_Restart and MainLoop_NewPass and the stack grows downwards from there. The bytes held here in the snapshot are left over from the BASIC loader.
|
||||||||||||||||||
| 5E00 | 3 |
3-byte representation of the score.
|
||||||||||||||||||
| 5E03 | 1 |
Holds the number of players and the chosen control method.
|
||||||||||||||||||
| 5E04 | 1 | |||||||||||||||||||
| 5E05 | 3 |
3-byte representation of the score.
|
||||||||||||||||||
| 5E08 | 3 |
3-byte representation of the score.
|
||||||||||||||||||
| 5E0B | 8 |
The saved position and state of the object which is being drawn, and the details of the sprites being drawn. The object position and state are saved by StoreEntity and the sprite details are set by SetUpPreviousSprite and SetUpSprite_Address. NewSprite_Width is also used as a dummy object when drawing the items in the cubby holes, so that ColouriseSprite can fetch the colour from 5E12.
|
||||||||||||||||||
| 5E13 | 1 | |||||||||||||||||||
| 5E15 | 1 |
Used to grow the leaves of the flower (see GrowLeaf and UpdateFlower).
|
||||||||||||||||||
| 5E16 | 1 |
The number of bugs found in the current pass through the objects. It is set to 00 at the start of each pass (6358), added to by every bug that is updated (UpdateBugCommon) and used by SpawnBug to decide whether a new bug should be added. The most there can be is 06.
|
||||||||||||||||||
| 5E17 | 2 |
A 16-bit counter which is increased by one at the end of every full pass through the objects (see Pause_Loop). It is used for timing, such as when leaves grow and when the bonus item flashes. It goes back to 00 after FFFF.
|
||||||||||||||||||
| 5E19 | 1 | |||||||||||||||||||
| 5E1A | 2 |
The position of the sprite most recently set up by SetUpSprite_Address (X in L, Y in H), after the horizontal offset from the sprite data has been added.
|
||||||||||||||||||
| 5E1C | 2 |
The address of the first free weapon object, which is either State_Weapon_1 or State_Weapon_2 (each 08 bytes), set by FireWeapon.
|
||||||||||||||||||
| 5E1E | 1 |
Either 00 for 1UP or FF for 2UP.
|
||||||||||||||||||
| 5E1F | 1 |
Holds a copy of the last FRAMES counter.
|
||||||||||||||||||
| 5E20 | 1 |
Has the frame been updated? 00=No 01=Yes.
|
||||||||||||||||||
| 5E21 | 1 |
Current menu item colour attribute.
|
||||||||||||||||||
| 5E22 | 1 |
Counts down while Robbie waits at the start of a turn (set by PlayerInit_WriteDelay, to 80 for a 1UP game and FF for a 2UP game), during which the label of the active player flashes and no bugs are added.
|
||||||||||||||||||
| 5E23 | 10 |
The contents of the ten cubby holes of the active player. Holes 00 to 04 are on the left (X position 08) and holes 05 to 09 are on the right (X position E8), each going down the screen from the top.
An empty hole is 00. For a spray can, bits 0-2 are the colour and bit 3 is set. A hole is FF when a bonus item is waiting there (see SpawnBonusItem) and is set to 80 when Robbie collects it.
|
||||||||||||||||||
| 5E2D | 10 |
The cubby holes of the player who is not active in a two player game. They are swapped with the holes at CubbyHoles when the active player changes (see 6146).
|
||||||||||||||||||
| 5E37 | 1 |
Note that level 1 is 00.
|
||||||||||||||||||
| 5E38 | 1 |
The currently active players remaining lives.
|
||||||||||||||||||
| 5E39 | 1 |
Note that level 1 is 00.
|
||||||||||||||||||
| 5E3A | 1 |
The inactive players remaining lives.
|
||||||||||||||||||
| 5E3B | 1 |
The number of bugs which have been eating the flower during the current pass through the objects. Each bug that is eating adds one (EatFlower), and the flower uses the total and then resets it to 00 (UpdateFlower_Finish).
|
||||||||||||||||||
| 5E3C | 8 |
The bonus item, which sits in a cubby hole until Robbie collects it (see SpawnBonusItem and UpdateBonusItem). It is an object which is not in the main table.
|
||||||||||||||||||
| 5E44 | 40 |
The flower and the four leaves of the player who is not active in a two player game. They are swapped with the objects at State_Flower when the active player changes (see 6151).
|
||||||||||||||||||
| 5E6C | 8 |
Robbie is the first of the objects which are updated in each pass.
|
||||||||||||||||||
| 5E74 | 8 |
The spray can which Robbie is carrying (see UpdateSprayCan).
|
||||||||||||||||||
| 5E7C | 8 |
The first of the two weapons that Robbie can fire at once (see FireWeapon).
|
||||||||||||||||||
| 5E84 | 8 |
The second of the two weapons that Robbie can fire at once. It has the same fields as State_Weapon_1.
|
||||||||||||||||||
| 5E8C | 8 |
The flower (see UpdateFlower).
|
||||||||||||||||||
| 5E94 | 32 |
The four leaves of the flower (see UpdateLeaf). Each leaf is an object of eight bytes. Bit 6 of the state is set when the leaf is on the left of the flower. The other fields are the position, the colour, a flag which is set while the leaf is animating, a flag which is set once it is being eaten, and the frame.
|
||||||||||||||||||
| 5EB4 | 48 |
The six bugs, each an object of eight bytes. A bug is inactive (state 00) or is a slug (07), a swarm of midges (09) or a leech (0A). The fields of a bug are:
|
||||||||||||||||||
| 5EE4 | 8 |
The explosion, which is the last of the objects (see AnimateExplosion). It is state 15 (which does nothing) until an object explodes.
|
||||||||||||||||||
| 5F16 | 8 |
Copied into a bug when it is created (see CreateBug), which then changes its type and colour.
|
||||||||||||||||||
| 5F1E | 8 |
Copied into Robbie at the start of a turn (see PlayerInit).
|
||||||||||||||||||
| 5F26 | 8 |
Copied into the flower at the start of a level (see ResetFlowerLeaf).
|
||||||||||||||||||
| 5F2E | 10 |
Copied into the cubby holes at the start of a level (see ResetCubbyHoles). Three of the holes hold a spray can: cyan in hole 00 yellow in hole 03 and red in hole 06.
|
||||||||||||||||||
| 5F38 | 8 |
Copied into a leaf when it starts to grow (see GrowLeaf).
|