![]() |
Game status buffer |
| Address | Length | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 24064 | 1 |
Holds the number of players and the chosen control method. Bit 0 is the player count, bits 1-2 are the control method.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24068 | 2 |
Holds a pointer to the currently used font data.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24070 | 3 |
3-byte representation of the score.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24073 | 23 |
Remaining 3-byte scores which follow High_Score. SetDefaults copies Default_High_Score over this whole table on initialisation.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24096 | 21 |
Eight 3-letter names. SetDefaults copies Default_HallOfFame_Names here; HallOfFame prints them beside the scores at High_Score. The eighth name occupies HallOfFame_LastName.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24117 | 3 |
Eighth name slot. InsertHighScore uses it as the LDDR source when opening a gap in the name table.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24120 | 8 |
Byte after the name table. InsertHighScore uses it as the LDDR destination.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24128 | 2 |
Updated each game loop by adding a ROM byte, addressed by the low byte of GameTimer, to itself.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24130 | 14 |
Incremented once per game loop. The low byte indexes ROM when refreshing RandomNumber.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24144 | 2 |
Start of the in-play object RAM that StartGame clears up to Laser_Parameter_1.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24146 | 1 |
Has the frame been updated?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24147 | 3 |
Holds a copy of the last FRAMES counter.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24150 | 1 |
Working copy of the actor's cached Y position (*IX+11), compared with the new Y when a sprite is redrawn. LoadSpritePointers uses it to hold the high byte of the cached screen address instead.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24151 | 1 |
Width in character columns of the sprite being drawn. ColouriseSprite uses it as the column count when colouring the sprite.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24152 | 1 |
Height in pixel rows of the sprite being drawn, kept so ColouriseSprite can work out how many attribute rows to colour.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24153 | 1 |
Rows of the new sprite image still to be drawn.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24154 | 3 |
Rows of the old (cached) sprite image still to be erased. It is copied from *IX+10 and counted down while a sprite is redrawn.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24157 | 1 |
Set to 1 by TestSpaceKey when SPACE is first pressed, so holding the key only counts once. Cleared again when SPACE is released.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24158 | 1 |
Number of live aliens this frame. 33415 asks SpawnAlien to spawn another while this is less than 7.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24159 | 3 |
3-byte representation of the score.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24162 | 3 |
3-byte representation of the score.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24165 | 1 |
Which player is currently active.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24166 | 1 |
Attribute of the menu line currently being printed. MenuWriteText fetches it when printing a line.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24167 | 1 |
At the beginning of each player turn there is a delay to allow the player to be ready for play.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24168 | 1 |
Set to 1 once a teleport has been set up. StartGame_ReadyStack then calls FinishTeleport to finish it with a debris burst, clearing the flag.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24169 | 1 |
Number of explosion particles still moving. The debris handlers loop until this returns to 0.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24170 | 2 |
Working Y used when filling explosion particles.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24172 | 1 |
Non-zero while Jetman is dying, teleporting or otherwise not in play. Handlers return early and the game loop restarts at StartGame_ReadyStack.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24173 | 2 |
Countdown used by the hall of fame input loop.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24175 | 1 |
Current character position while entering a name.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24176 | 1 |
Set after fire accepts a letter so the same press cannot advance again.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24177 | 1 |
Which player's score is being ranked: 1 for 1UP, 2 for 2UP.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24178 | 1 |
Non-zero while the other player's score still needs to be ranked after this insert.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24179 | 1 |
Set to 1 when name entry starts for the first-ranked player and cleared by ReturnToRestart. Nothing reads it.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24180 | 1 |
Insert flag for CompareHighScores. Non-zero (set from HighScore_Player) makes it also insert the score into the table; 0 only returns the rank.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24181 | 2 |
Screen address where the letter being edited is printed. It advances by two columns after each letter is accepted.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24183 | 1 |
Used when calculating the player's position in the high score table.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24184 | 3 |
Three-letter name being entered. PrepareNameEntry seeds it as "AAA"; InsertHighScore copies it into the name table.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24187 | 1 |
Working pitch. SoundsDebris plays three clicks from this byte; the debris handlers increment or decrement it.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24188 | 36 |
Copy of GameOptions from the last menu pass, used to notice when the selection has changed.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24224 | 1 |
Level of the active player. A value of 255 is treated as level 0 when Calculate_ActivePlayer_Level converts it to two digits. Swapped with InactivePlayer_Level by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24225 | 1 |
Lives the active player has left. Swapped with InactivePlayer_Lives by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24226 | 1 |
Bit 0 of the current level. FetchSprite and FetchActorSprite test it to decide whether to remap the sprite ID with MapSpriteBand.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24227 | 1 |
0 when the rover is empty, 1 when an object is attached to it.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24228 | 1 |
Level of the inactive player. A value of 255 is treated as level 0 when Calculate_InactivePlayer_Level converts it to two digits. Swapped with ActivePlayer_Level by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24229 | 1 |
Lives the inactive player has left. Swapped with ActivePlayer_Lives by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24230 | 1 |
Copy of LevelParity swapped in by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24231 | 1 |
Copy of RoverCargoFlag swapped in by ChangePlayer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24576 | 96 |
Four 24-byte actor slots for the laser beams, in the same field order as Jetman_Slot. They are the first of the 24 actor slots, which run up to Actor_List_End. Every slot is laid out the same way:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24672 | 24 |
24-byte actor slot. InitialiseExplosion copies explosion templates here.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24696 | 22 |
24-byte actor slot for Jetman. The last two bytes are the fuel pair at FuelLevel_1.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24718 | 2 |
16-bit fuel remaining. InitialiseJetman initialises it to 36864.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24720 | 24 |
24-byte actor slot for the moon rover.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24744 | 96 |
Four 24-byte actor slots before Object_Slot_1. The fields follow the same order as Jetman_Slot. FillDebrisSlots fills debris from here.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24840 | 120 |
Five 24-byte slots. ScanObjectSlots starts its scan here.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24960 | 24 |
24-byte actor slot for the alien base, before the bomb slot. AlienBase_WorldX is its world X position and 24964 its Y position.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24984 | 24 |
24-byte actor slot for the thrown bomb. Handler_Bombs copies the bomb template here when the slot is empty.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25008 | 144 |
There are a maximum of 6 aliens on the screen at one time. Each slot is 24 bytes and uses the same field order as Jetman_Slot.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25152 | 1 |
First address after the last actor slot, where object walks stop. It also starts the 0288 bytes where ChangePlayer stores the inactive player's actor slots.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43595 | 80 |
Sixteen 5-byte particle records used by AnimateDebris.
|