Address Description
6000
PC starts here, after game load.
6064
Reset the screen to its default state.
6083
Initialises a new level.
6094
Initialise the level.
60a7
Reset all rocket module states to their defaults.
60b7
End of turn for the current player.
6144
Swap current/inactive player/rocket states.
6174
Initialise player for new turn.
6197
Flash 1UP or 2UP score label for active player.
61a0
Set flash state for the 3-attributes of the score label.
61ad
Turn off flashing of 1UP or 2UP score label for active player.
61ba
Flash 2UP score label.
61bf
Game initialisation for first run.
61c9
Reset system and show menu screen.
61d5
Show menu screen and handle menu selection.
6234
Display the main menu items to the screen.
62ca
Write a single line of text on the main menu screen.
62da
Reset current and inactive player data on new game.
62fe
Start a new game.
6310
Reset stack pointer and enable interrupts before running main loop.
631c
The main game loop.
6334
Performs a main loop update jump.
6361
Update the high score.
63a3
Update Jet Fighter.
6456
Alien SFX when killed by collision.
6461
Jetman collects a collectible item.
648b
Drop a new collectible item.
64a0
Drop a gold bar collectible item.
64a4
Display a collectible sprite.
64ae
Sprite offset using colour attribute.
64b1
Get address for collectible sprite.
64bc
Drop a Plutonium collectible item.
64c2
Drop a chemical based item, flashing items radiation and plutonium.
64d7
Drop a random coloured collectible item.
64e8
Collision detection for collectible items / rocket modules.
6508
Increment Y position and draw sprite.
650e
Redraw a sprite.
6514
Gets collectible ID based on the current user level.
6523
Collect Rocket module or fuel pod.
6541
Carry a collected rocket module/fuel pod.
6565
Pick up and carry a rocket module/fuel pod.
65a8
Release new collectible item.
65db
Calculate column on which to drop a new collectible item/fuel pod.
65f9
Drop a new fuel pod collectible.
6624
Reset the Rocket modules state data ready for next level.
6629
Set objects as inactive.
6632
Animate the rocket flame sprites.
6690
Rocket ship is taking off.
66b4
Rocket ship is landing.
66d0
Update the rocket ship.
66fc
Update Rocket ship colour.
67b6
Rocket thruster SFX, and Jet Fighter explosions.
67c6
SFX for ship building.
67cc
SFX for collecting a fuel cell.
67d2
SFX for collecting an item, and when Jetman appears on-screen.
67d6
Play square wave sound.
67db
Play square wave sound, starting with silence.
67e7
SFX for Laser Fire.
67fd
Set the default explosion SFX params.
6814
Play Jetman death SFX.
681d
Play enemy death SFX.
6828
Plays the explosion sound effect.
6839
Sound has finished playing.
683e
Animate explosion after killing an alien.
685d
Enable animation, state false.
6868
Enable animation and reset frame count.
6874
Enable animation, state true.
687a
Animates the explosion sprites.
68e4
Frame rate limiter.
68f2
Copy the two sprites for an alien to the buffers.
692e
Frame update and disabled item drop.
6954
New actor: reset the modified code to original values.
6966
Reset the modified code within the current frame.
6971
Generate new game actor: alien, fuel, or collectible item.
6a35
Update Squidgy Alien.
6ab8
Update UFO alien -- this alien is a chaser!
6beb
Add points for UFO kill.
6bf1
When alien was killed by laser fire, reset anim state, set explosion SFX params. Used by the routine at 6a35.
6bf8
Update Sphere alien.
6cb0
Update Actor direction.
6cbe
Update crossed space ship.
6d43
Draw an alien sprite to the screen.
6d59
Add score for crossed space ship kill.
6d5c
Alien Killed SFX #2.
6d67
Change alien direction flag to up, and other updates.
6d9c
Update the meteor.
6de9
Alien Collision.
6e1b
Fire a laser beam.
6e66
Reads 2 bytes of pixel data from a sprite.
6e7c
Reverse all bits in Accumulator.
6e87
Flip byte pair of an alien sprite so it faces opposite direction.
6ea5
Write all sprite pixel bytes to buffer.
6ec2
Copy Rocket sprites for current level to the buffers.
6eef
Initialise rocket build state for new level.
6f0b
Copy Rocket sprite pixel data to the buffer.
6f16
Set the rocket building state on Jetman.
6f20
Set rocket module state that Jetman was carrying.
6f23
Get address to sprite pixel data then copy to the buffer.
6f2a
Copies the sprite pixel data to a buffer.
6f5a
Create new laser beam.
6f70
Initialise laser beam slot, and draw graphics.
6f86
Draw laser beam.
6fb6
Shoots a laser beam to the right.
6fc5
Animate a laser beam.
706d
Display the remaining player lives in the status bar.
70ac
Gets the remaining lives for player 1.
70b2
Reads the current player lives.
70b6
Reads inactive player lives.
70ba
Gets the remaining lives for player 2.
70c2
Add points to the active player's score.
70e5
Updates display to show player 1 score.
70ed
Updates display to show player 2 score.
70f5
Updates display to show high score.
70fb
Display a score.
7115
Display an ASCII character from the Font.
7124
Characters are 8 rows of pixels.
7126
Draw the pixels for an ASCII character on screen
7134
Display string (with colour) on the screen.
7140
Write a list of ASCII characters to the screen.
7151
Write an EOL character to the screen.
715a
Displays score labels at top of screen.
7180
Clears the entire ZX Spectrum display file.
7185
Clear memory block with null.
7187
Fill a memory block with a byte value.
718e
Clears the entire ZX Spectrum attribute file.
7197
Colourize a sprite.
71d6
Convert a Y,X pixel coordinate to an ATTRIBUTE_FILE address.
71ec
Generic jump routine for finding actor pos/dir.
71ef
Get location of Actor.
71f2
Get sprite position and dimensions.
7200
Increment DE to beginning of next sprite header.
7204
Find actor sprite address and update actor.
7207
Update actor state.
7226
Update Actor X/Y positions.
7232
Now update and erase the actor.
7239
Erase an actor sprite - after an it's been moved.
7263
Find animation sprite position and erase its pixels.
7268
Find Actor position, then erase its sprite.
726d
Find an Actor and destroy it.
7270
Erase a destroyed Actor.
727d
Unused?
7280
Erase an animation sprite.
7289
Find position and direction of an Actor.
7292
Get actor sprite address.
72ab
Move an actor's sprite to it's current position.
72b6
Calculate screen address one pixel above current position.
72d0
Convert a Y,X pixel coordinate to a DISPLAY_FILE address.
72ef
Copy actor position/direction values to Actor.
7302
Joystick Input (Interface 2)
7309
Read input from the keyboard port.
733f
Check if fire button is pressed.
735e
Check if thrust (up) button is pressed.
737d
Game play starts, or prepare new turn, or check Jetman thrust input.
739e
Airborne Jetman update.
73c3
Increase Jetman horizontal speed.
73d1
Update Jetman X speed with new value.
73d6
Set Jetman X speed to the max flying speed.
73da
Fly Jetman horizontally.
73f1
Apply gravity to Jetman if no thrust button detected.
7412
Check if Jetman is moving falling downward.
7425
Increase Jetman vertical speed.
7433
Update Jetman vertical speed with new value.
7438
Set Jetman vertical speed to zero.
743e
Check joystick input for FIRE or THRUST.
7448
Set Jetman vertical speed to maximum.
744c
Fly Jetman vertically.
7463
Check vertical position while in mid-flight.
7473
Jetman flight collision detection.
7492
Redraw Jetman sprite on the screen.
74a1
Jetman hits the underneath of a platform.
74a7
Jetman lands on a platform.
74bf
Reset Jetman movement direction.
74c5
Jetman hits the top of the screen.
74d5
Jetman is falling.
74e0
Flip vertical direction Jetman is flying.
74fa
Decrease Jetman X position.
7501
Jetman THRUST-LEFT input.
750c
Flip Jetman left/right flying direction.
7526
Move Jetman up: decrease Y position.
752d
Calculate new Jetman horizontal speed.
753c
Jetman walking.
75d1
Related to horizontal platform collision detection - possibly flipping between sprite X position collision and Jetman direction collision...needs more work!
75e8
Jetman/platform collision detection.
75ed
Horizontal platform collision detection for Jetman/Alien.
75fc
Vertical platform collision detection for Jetman/Aliens.
7638
Displays platforms on screen.
76a6
Draws the pixels for a platform sprite to the screen.
7705
Erase sprite pixels when actor/sprite moves.
7747
EXX then update Actor.
7748
Update Actor height related values.
775b
Update Actor sprite height, then mask the sprite.