Address Description
62A3
Blow the safe up
C800
Main entry point
C881
Start the game
C8FF
Copy Dan's graphic into the working buffer.
C92A
Update the main status area
CA5B
Display the intro screen and wait for the game to start
CB8D
Turn a flashing option on the intro screen off
CB9C
Set the zero flag if ENTER or the fire button was pressed
CBBD
Switch to a new room
CC36
Draw the river
CC5F
Animate the river
CC89
Move the lift
CD24
Redraw the lift
CD5C
Update lift's attributes
CD8A
Something bad has happened - set the "lose a life" flag
CD9A
Run a frame in the "lose a life" sequence
CDD3
Display the "game over" sequence
CE76
Draw extra objects in the safe room if relevant
CEAD
Perform special actions
CEDC
Special actions on room 23
CEE1
Special actions on room 1D
CEF0
Move the rainbow lifts
CF77
Special actions on room 1B (safe room)
CFD9
Update Dan's status and check for movement
D079
Increase the height fallen and adjust position
D08A
Move Dan up a rainbow lift
D0DC
Adjust height while on a trampoline
D123
Make Dan jump
D16F
Move Dan on the lift
D1B2
Check if the lift has reached the top or bottom
D1CE
Draw Dan and do any collision detection
D2BF
Remove an object that Dan collided with from the room.
D2F0
Bounce off a trampoline
D378
Print the display area
D3EC
Move Dan left
D4AF
Pause
D4B5
Move Dan right
D550
Copy Dan's sprite back to the working graphic buffer
D567
Move Dan upwards while jumping
D607
Fall through the air, moving onto one screen down if necessary
D61E
Fall through the air one frame
D655
Copy a sprite to a working buffer
D669
Convert a sprite ID to its graphic address
D677
Copy a sprite's data to a graphic buffer
D6BF
Move vertical objects in the room
D732
Move horizontal objects in the room
D7A2
Colour in a sprite horizontally
D7B7
Draw a horizontally moving sprite
D7D6
Colour in a sprite vertically
D7E7
Draw a vertically moving sprite
D815
Copy a sprite's graphic into a working buffer
D895
React to what Dan is standing on
D951
Move into a new 8x8 cell and check what is there.
D9A7
Set the zero flag if D equals E
D9AA
Set the zero flag if B or C equals E
D9B0
Reverse direction of a horizontally moving sprite
D9EC
Update the raft
DA8D
Play a note or a sound effect
DA9E
Play a sound
DAB2
Beep
DAC8
Play a clicking effect while the score is being incremented
DAE5
Start the "lose a life" sound effect
DAFA
Pause for one second
DB01
Select a sound effect to play
DB0B
Select a tune to play
DB17
Play a note of a tune
DB38
Return with the carry flag set if Dan has moved over an object item
DB63
Display the redefine keys instructions
DB83
Draw a horizontally moving sprite
DB9B
Clear area after a horizontal sprite has moved
DBB8
Picked up food
DBEE
Dan has fallen in the river
DC71
Check if Dan is standing by the lift
DCC1
Draw a food item
DCE8
Convert a food item ID to its graphic address
DCF6
Display instructions
DD8D
Wait for the user to press ENTER, then fire a laser ray
DDE0
Display a message and beep
DDF4
Picked up the plans
DE0B
Picked up an oxygen tank
DE1B
Picked up a credit card
DE28
Picked up an aerosol
DE52
Update "aerosol immunity" if it is still active
DE87
Picked up a special item (test tube or dynamite)
E544
Display moving objects
E592
Move all objects in the room
E5E8
See if Dan is in the blimp with the plans, and if so, launch it
E62F
Display the winning game text
E644
Launch the blimp
E663
Update any teleporter in this room
E6DC
See if there is a laser in this room, and if so, update it
E6F6
Update any lasers in the room
E76C
Clear a section of laser when it is retreating
E775
Play a laser sound effect
E782
Move the laser bolt one frame
E801
Clear the screen
E820
Clear the screen to cyan ink / black paper
E84E
Draw a UDG
E87A
Copy a graphic onto screen
E897
Remove an object from screen
E8BA
Fill a number of lines with an attribute
E8D2
Convert a room co-ordinate to a screen address rounded to the nearest 8x8 cell
E8E3
Convert a room co-ordinate to an attribute address
E8F1
Convert a room co-ordinate to a screen address
E909
Convert a screen address to an attribute address
E916
Launch the blimp having got the plans
E93F
Set the colours on any test tubes or dynamite to black
E96B
Draw a moving sprite
E9BC
Execute the current input routine
E9C0
Kempston joystick input routine
E9DB
Sinclair joystick input routine
E9F8
Split a byte in two parts
ECA4
Flash the teleporter
ECDD
Advance the laser by one frame
ECF4
Change colour of the laser being drawn across screen
ED00
Print a set of UDGs indirectly
ED06
Print a set of UDGs
EDA2
Rotate the colours on the title screen's main message
EEF1
Print a string at a location
EF1E
Initialize moving objects in all rooms
EF7C
Draw any glowing objects (dynamite or test tubes)
F021
Animate Dan dying having been shot on the "game over" screen
F271
Keyboard input routine
F2BE
Redfine keys
F2F4
Clear the screen and wait for all keys to be released
F300
Wait for a key to be pressed
F30A
Check all keys and return the first one found pressed
F345
Initialize game data and make all objects visible
F3A4
Put special objects randomly in a room
F3D3
Convert a UDG ID to the address of its data
F3E0
Given a room number, return the location of a bank card
F3EC
Draw any special objects in the room
F470
Fill lines with an attribute using data