Page Byte Address Description
92 203 5ccb
Stack: 37 bytes of memory allocated for use as the system stack.
92 240 5cf0
High score for current game session.
92 243 5cf3
Game options.
92 244 5cf4
Player one score.
92 247 5cf7
Player two score.
92 250 5cfa
Padding to make block from hi_score to here 16 bytes in length.
93 0 5d00
Jetman direction.
93 1 5d01
Jetman X position.
93 2 5d02
Jetman Y position.
93 3 5d03
Jetman sprite colour attribute.
93 4 5d04
Jetman moving direction.
93 5 5d05
Jetman Speed: Horizontal.
93 6 5d06
Jetman Speed: Vertical.
93 7 5d07
Jetman sprite height, which is always $24, as set by the defaults.
93 8 5d08
Laser beams
93 40 5d28
Sound type parameters for explosions.
93 42 5d2a
Explosion params padding, making 8 bytes total. Unused.
93 48 5d30
Rocket object attributes.
93 56 5d38
Rocket module state (fuel/part).
93 64 5d40
Current Collectible object.
93 72 5d48
Thruster/Explosion animation sprite state.
93 80 5d50
Alien state objects.
93 128 5d80
Jetman exploding animation object.
93 136 5d88
Jetman object backup for the inactive player.
93 144 5d90
Unused padding.
93 152 5d98
Rocket/collectible object backup for the inactive player.
93 176 5db0
Unused padding.
93 184 5db8
Unused padding.
93 192 5dc0
Temporary actor state.
93 200 5dc8
Value only changes while Jetman is moving up/down - has no obvious pattern.
93 201 5dc9
Alien direction update flag for: Squidgy, UFO, Sphere, Crossed Ship.
93 202 5dca
Jetman speed modifier.
93 203 5dcb
Current alien ID being updated?
93 204 5dcc
Game timer.
93 206 5dce
Random Number.
93 207 5dcf
Temporary actor coordinates.
93 209 5dd1
Current active player.
93 210 5dd2
Jetman Rocket module attached success.
93 211 5dd3
Rocket modules attached.
93 212 5dd4
Holds a copy of the last SYSVAR_FRAMES counter.
93 213 5dd5
Has a frame ticked over.
93 214 5dd6
Current menu item colour attribute.
93 215 5dd7
"Get Ready" delay timer.
93 216 5dd8
Unused padding.
93 240 5df0
Game level for current player.
93 241 5df1
Current player lives remaining.
93 242 5df2
Unused padding for player level/lives object (8 bytes total).
93 248 5df8
Game level for inactive player.
93 249 5df9
Inactive player lives remaining.
93 250 5dfa
Unused padding for inactive player level/lives object (8 bytes total).
94 0 5e00
Buffers for Alien sprites.
94 204 5ecc
Buffers for Collectible/Rocket sprites.
95 152 5f98
Unused padding.
96 0 6000
PC starts here, after game load.
96 3 6003
Platform GFX location and size.
96 19 6013
Default player object state.
96 27 601b
Default Rocket and module objects state.
96 51 6033
Default Rocket module state is a Fuel Pod.
96 59 603b
Default collectible item state.
96 67 6043
Main menu copyright message.
96 100 6064
Reset the screen to its default state.
96 131 6083
Initialises a new level.
96 148 6094
Initialise the level.
96 167 60a7
Reset all rocket module states to their defaults.
96 183 60b7
End of turn for the current player.
97 68 6144
Swap current/inactive player/rocket states.
97 97 6161
Text for game over message.
97 116 6174
Initialise player for new turn.
97 151 6197
Flash 1UP or 2UP score label for active player.
97 160 61a0
Set flash state for the 3-attributes of the score label.
97 173 61ad
Turn off flashing of 1UP or 2UP score label for active player.
97 186 61ba
Flash 2UP score label.
97 191 61bf
Game initialisation for first run.
97 201 61c9
Reset system and show menu screen.
97 213 61d5
Show menu screen and handle menu selection.
98 52 6234
Display the main menu items to the screen.
98 97 6261
Colour attributes for main menu.
98 103 6267
Vertical position of each line of text in the main menu.
98 109 626d
Text displayed on the main menu screen
98 202 62ca
Write a single line of text on the main menu screen.
98 218 62da
Reset current and inactive player data on new game.
98 254 62fe
Start a new game.
99 16 6310
Reset stack pointer and enable interrupts before running main loop.
99 28 631c
The main game loop.
99 52 6334
Performs a main loop update jump.
99 61 633d
Main game loop jump table.
99 97 6361
Update the high score.
99 163 63a3
Update Jet Fighter.
100 86 6456
Alien SFX when killed by collision.
100 97 6461
Jetman collects a collectible item.
100 139 648b
Drop a new collectible item.
100 150 6496
Item drop jump table.
100 160 64a0
Drop a gold bar collectible item.
100 164 64a4
Display a collectible sprite.
100 174 64ae
Sprite offset using colour attribute.
100 177 64b1
Get address for collectible sprite.
100 188 64bc
Drop a Plutonium collectible item.
100 194 64c2
Drop a chemical based item, flashing items radiation and plutonium.
100 215 64d7
Drop a random coloured collectible item.
100 232 64e8
Collision detection for collectible items / rocket modules.
101 8 6508
Increment Y position and draw sprite.
101 14 650e
Redraw a sprite.
101 20 6514
Gets collectible ID based on the current user level.
101 35 6523
Collect Rocket module or fuel pod.
101 65 6541
Carry a collected rocket module/fuel pod.
101 101 6565
Pick up and carry a rocket module/fuel pod.
101 168 65a8
Release new collectible item.
101 219 65db
Calculate column on which to drop a new collectible item/fuel pod.
101 233 65e9
Horizontal column positions for dropping collectibles.
101 249 65f9
Drop a new fuel pod collectible.
102 36 6624
Reset the Rocket modules state data ready for next level.
102 41 6629
Set objects as inactive.
102 50 6632
Animate the rocket flame sprites.
102 144 6690
Rocket ship is taking off.
102 180 66b4
Rocket ship is landing.
102 208 66d0
Update the rocket ship.
102 252 66fc
Update Rocket ship colour.
103 140 678c
Rocket and collectible sprite address lookup table.
103 182 67b6
Rocket thruster SFX, and Jet Fighter explosions.
103 198 67c6
SFX for ship building.
103 204 67cc
SFX for collecting a fuel cell.
103 210 67d2
SFX for collecting an item, and when Jetman appears on-screen.
103 214 67d6
Play square wave sound.
103 219 67db
Play square wave sound, starting with silence.
103 231 67e7
SFX for Laser Fire.
103 253 67fd
Set the default explosion SFX params.
104 16 6810
Default explosion SFX parameters.
104 20 6814
Play Jetman death SFX.
104 29 681d
Play enemy death SFX.
104 40 6828
Plays the explosion sound effect.
104 57 6839
Sound has finished playing.
104 62 683e
Animate explosion after killing an alien.
104 93 685d
Enable animation, state false.
104 104 6868
Enable animation and reset frame count.
104 116 6874
Enable animation, state true.
104 122 687a
Animates the explosion sprites.
104 216 68d8
Explosion sprites lookup table.
104 228 68e4
Frame rate limiter.
104 242 68f2
Copy the two sprites for an alien to the buffers.
105 14 690e
Alien sprite lookup table.
105 46 692e
Frame update and disabled item drop.
105 84 6954
New actor: reset the modified code to original values.
105 102 6966
Reset the modified code within the current frame.
105 113 6971
Generate new game actor: alien, fuel, or collectible item.
106 45 6a2d
New item object types for each level - 8 bytes for 8 levels.
106 53 6a35
Update Squidgy Alien.
106 184 6ab8
Update UFO alien -- this alien is a chaser!
107 235 6beb
Add points for UFO kill.
107 241 6bf1
When alien was killed by laser fire, reset anim state, set explosion SFX params. Used by the routine at 6a35.
107 248 6bf8
Update Sphere alien.
108 176 6cb0
Update Actor direction.
108 190 6cbe
Update crossed space ship.
109 67 6d43
Draw an alien sprite to the screen.
109 89 6d59
Add score for crossed space ship kill.
109 92 6d5c
Alien Killed SFX #2.
109 103 6d67
Change alien direction flag to up, and other updates.
109 148 6d94
Default alien state.
109 156 6d9c
Update the meteor.
109 233 6de9
Alien Collision.
110 27 6e1b
Fire a laser beam.
110 102 6e66
Reads 2 bytes of pixel data from a sprite.
110 124 6e7c
Reverse all bits in Accumulator.
110 135 6e87
Flip byte pair of an alien sprite so it faces opposite direction.
110 165 6ea5
Write all sprite pixel bytes to buffer.
110 194 6ec2
Copy Rocket sprites for current level to the buffers.
110 239 6eef
Initialise rocket build state for new level.
111 11 6f0b
Copy Rocket sprite pixel data to the buffer.
111 22 6f16
Set the rocket building state on Jetman.
111 32 6f20
Set rocket module state that Jetman was carrying.
111 35 6f23
Get address to sprite pixel data then copy to the buffer.
111 42 6f2a
Copies the sprite pixel data to a buffer.
111 90 6f5a
Create new laser beam.
111 112 6f70
Initialise laser beam slot, and draw graphics.
111 134 6f86
Draw laser beam.
111 178 6fb2
Laser beam colour attribute table.
111 182 6fb6
Shoots a laser beam to the right.
111 197 6fc5
Animate a laser beam.
112 109 706d
Display the remaining player lives in the status bar.
112 164 70a4
Icon sprite of the little person shown next to number of lives.
112 172 70ac
Gets the remaining lives for player 1.
112 178 70b2
Reads the current player lives.
112 182 70b6
Reads inactive player lives.
112 186 70ba
Gets the remaining lives for player 2.
112 194 70c2
Add points to the active player's score.
112 229 70e5
Updates display to show player 1 score.
112 237 70ed
Updates display to show player 2 score.
112 245 70f5
Updates display to show high score.
112 251 70fb
Display a score.
113 21 7115
Display an ASCII character from the Font.
113 36 7124
Characters are 8 rows of pixels.
113 38 7126
Draw the pixels for an ASCII character on screen
113 52 7134
Display string (with colour) on the screen.
113 64 7140
Write a list of ASCII characters to the screen.
113 81 7151
Write an EOL character to the screen.
113 90 715a
Displays score labels at top of screen.
113 117 7175
GFX score labels.
113 121 7179
Data block at 7179
113 125 717d
Data block at 717d
113 128 7180
Clears the entire ZX Spectrum display file.
113 133 7185
Clear memory block with null.
113 135 7187
Fill a memory block with a byte value.
113 142 718e
Clears the entire ZX Spectrum attribute file.
113 151 7197
Colourize a sprite.
113 214 71d6
Convert a Y,X pixel coordinate to an ATTRIBUTE_FILE address.
113 236 71ec
Generic jump routine for finding actor pos/dir.
113 239 71ef
Get location of Actor.
113 242 71f2
Get sprite position and dimensions.
114 0 7200
Increment DE to beginning of next sprite header.
114 4 7204
Find actor sprite address and update actor.
114 7 7207
Update actor state.
114 38 7226
Update Actor X/Y positions.
114 50 7232
Now update and erase the actor.
114 57 7239
Erase an actor sprite - after an it's been moved.
114 99 7263
Find animation sprite position and erase its pixels.
114 104 7268
Find Actor position, then erase its sprite.
114 109 726d
Find an Actor and destroy it.
114 112 7270
Erase a destroyed Actor.
114 125 727d
Unused?
114 128 7280
Erase an animation sprite.
114 137 7289
Find position and direction of an Actor.
114 146 7292
Get actor sprite address.
114 171 72ab
Move an actor's sprite to it's current position.
114 182 72b6
Calculate screen address one pixel above current position.
114 208 72d0
Convert a Y,X pixel coordinate to a DISPLAY_FILE address.
114 239 72ef
Copy actor position/direction values to Actor.
115 2 7302
Joystick Input (Interface 2)
115 9 7309
Read input from the keyboard port.
115 63 733f
Check if fire button is pressed.
115 94 735e
Check if thrust (up) button is pressed.
115 125 737d
Game play starts, or prepare new turn, or check Jetman thrust input.
115 158 739e
Airborne Jetman update.
115 195 73c3
Increase Jetman horizontal speed.
115 209 73d1
Update Jetman X speed with new value.
115 214 73d6
Set Jetman X speed to the max flying speed.
115 218 73da
Fly Jetman horizontally.
115 241 73f1
Apply gravity to Jetman if no thrust button detected.
116 18 7412
Check if Jetman is moving falling downward.
116 37 7425
Increase Jetman vertical speed.
116 51 7433
Update Jetman vertical speed with new value.
116 56 7438
Set Jetman vertical speed to zero.
116 62 743e
Check joystick input for FIRE or THRUST.
116 72 7448
Set Jetman vertical speed to maximum.
116 76 744c
Fly Jetman vertically.
116 99 7463
Check vertical position while in mid-flight.
116 115 7473
Jetman flight collision detection.
116 146 7492
Redraw Jetman sprite on the screen.
116 161 74a1
Jetman hits the underneath of a platform.
116 167 74a7
Jetman lands on a platform.
116 191 74bf
Reset Jetman movement direction.
116 197 74c5
Jetman hits the top of the screen.
116 213 74d5
Jetman is falling.
116 224 74e0
Flip vertical direction Jetman is flying.
116 250 74fa
Decrease Jetman X position.
117 1 7501
Jetman THRUST-LEFT input.
117 12 750c
Flip Jetman left/right flying direction.
117 38 7526
Move Jetman up: decrease Y position.
117 45 752d
Calculate new Jetman horizontal speed.
117 60 753c
Jetman walking.
117 209 75d1
Related to horizontal platform collision detection - possibly flipping between sprite X position collision and Jetman direction collision...needs more work!
117 232 75e8
Jetman/platform collision detection.
117 237 75ed
Horizontal platform collision detection for Jetman/Alien.
117 252 75fc
Vertical platform collision detection for Jetman/Aliens.
118 56 7638
Displays platforms on screen.
118 166 76a6
Draws the pixels for a platform sprite to the screen.
118 173 76ad
Platform sprite: left.
118 181 76b5
Platform sprite: middle (repeated for width).
118 189 76bd
Platform sprite: right.
118 197 76c5
Sprite/Buffer lookup tables.
118 229 76e5
Lookup table for the alien sprites buffer addresses.
119 5 7705
Erase sprite pixels when actor/sprite moves.
119 71 7747
EXX then update Actor.
119 72 7748
Update Actor height related values.
119 91 775b
Update Actor sprite height, then mask the sprite.
119 97 7761
Jetman sprite for flying right #1.
119 148 7794
Jetman sprite for flying right #2.
119 223 77df
Jetman sprite for flying right #3.
120 42 782a
Jetman sprite for flying right #4.
120 117 7875
Jetman sprite for flying left #1.
120 168 78a8
Jetman sprite for flying left #2.
120 219 78db
Jetman sprite for flying left #3.
121 38 7926
Jetman sprite for flying left #4.
121 113 7971
Jetman sprite for walking left #1.
121 164 79a4
Jetman sprite for walking left #2.
121 215 79d7
Jetman sprite for walking left #3.
122 34 7a22
Jetman sprite for walking left #4.
122 109 7a6d
Jetman sprite for walking right #1.
122 160 7aa0
Jetman sprite for walking right #2.
122 211 7ad3
Jetman sprite for walking right #3.
123 30 7b1e
Jetman sprite for walking right #4.
123 105 7b69
Meteor sprite #1.
123 128 7b80
Meteor sprite #2.
123 151 7b97
Explosion sprite: BIG.
123 202 7bca
Explosion sprite: MEDIUM.
123 253 7bfd
Explosion sprite: SMALL.
124 48 7c30
U3 Rocket ship sprite: bottom.
124 83 7c53
U3 Rocket ship sprite: middle.
124 118 7c76
U3 Rocket ship sprite: top.
124 153 7c99
U1 Rocket ship sprite: bottom.
124 188 7cbc
U1 Rocket ship sprite: middle.
124 223 7cdf
U1 Rocket ship sprite: top.
125 2 7d02
U5 Rocket ship sprite: bottom.
125 37 7d25
U5 Rocket ship sprite: middle.
125 72 7d48
U5 Rocket ship sprite: top.
125 107 7d6b
U4 Rocket ship sprite: bottom.
125 142 7d8e
U4 Rocket ship sprite: middle.
125 177 7db1
U4 Rocket ship sprite: top.
125 212 7dd4
Gold bar collectible sprite.
125 231 7de7
Fuel pod sprite.
126 0 7e00
Radiation collectible sprite.
126 25 7e19
Chemical weapon collectible sprite.
126 54 7e36
Plutonium collectible sprite.
126 75 7e4b
Diamond collectible sprite.
126 102 7e66
Squidgy Alien sprite #1.
126 131 7e83
Squidgy Alien sprite #2.
126 160 7ea0
Jet Plane sprite.
126 175 7eaf
Flying Saucer sprite.
126 192 7ec0
Sphere alien sprite #1.
126 225 7ee1
Sphere alien sprite #2.
126 254 7efe
Crossed Space craft sprite.
127 29 7f1d
Space craft sprite.
127 58 7f3a
Frog Alien sprite.
127 87 7f57
Rocket Flame sprite #1.
127 122 7f7a
Rocket Flame sprite #2.
127 179 7fb3
Jetpac loading screen image
154 179 9ab3
ZX Spectrum font sprites.