Address Description
80E5
Show title screen
813B
Set up initial game data
8155
Demo mode
8184
Main entry point
81AE
Move everything on screen
81C4
Check for the pause key
81D4
Change direction
81E3
Change a sprite to the reverse direction
A83D
Put a static object in the sprite buffer, without a mask
A8A0
Draw a masked object in the sprite buffer
A921
Set the zero flag if the player is the current one
A92C
Move the computer controlled characters
AA30
Swap an item when a character moves over it
AA7F
Generate an "item swapped" sound effect
AA8C
Get address of the item object buffer given its ID
AAB2
Movement routine 0. Check a character can be moved left, and do so if possible
AADD
Movement routine 1. Check a character can be moved right, and do so if possible
AB09
Movement routine 2. Move to 78 , 98
AB26
Movement routine 3. Move to 30 , 98
AB43
Movement routine 4. Move to C0 , 98
AB60
Movement routine 5. Move to 00, 58 (Sewer left)
AB9B
Movement routine 6. Move to F0 , 58 (Sewer right)
ABD7
See if the 'in' key was pressed and set A to 1 if it was
AC06
New room check
AC5F
Get the address for the co-ordinate table of a room
AC69
Get the address of the next room table for this room and put it in HL
AC6C
Search for FF a number of times and return a pointer to the next entry after it
ADBA
Move a computer-controlled character between rooms.
AE30
Get a flag to specify if a room can only be reached via the "in" key
AE5D
Get the new room and co-ordinates for a computer controlled player.
AE8A
Find the address of an item with the specified index
AED7
Get the next room that a computer controlled character should swap items
AF01
Set the next room for the jumping jack or Herbert to appear in
AFC4
See if a player is in mid-air, and drop them on a platform or ground
B00B
Check that 'right' has been pressed, and set A to 1 if it has
B03C
Check that 'left' has been pressed, and set A to 1 if it has
B06D
Check that 'jump' has been pressed, and set A to 1 if it has
B09F
Check for user input and act on it
B0E6
Put a character into the sprite buffer
B197
Drop the current character's height down one notch up to floor level
B1A6
Make the current character jump
B288
Move a character left or right
B2DC
Select Sinclair control
B2E2
Select Kempston control
B2E8
Select Keyboard control
B2F1
Print a breakdown of who earned what
B34C
Print a monetary value on screen
B3AB
Wait for a keypress and return it in A
B3C3
The safe has been cracked! Get everyone together and print earnings.
B451
The game has ended. Print the final score.
B471
Initialize the theme tune data
B482
Play the next note of the theme tune and get a keypress
B4EB
Pause and collect a keypress from 1 - 4
B505
Play a note in the theme tune
B715
Put a character on screen
B77B
Print an inventory graphic
B7BA
Print a graphic on screen
B7F9
Put a room graphic in screen overlaying existing ones
B82B
Overwrite part of the screen buffer with a graphic
B84B
Draw a room graphic
B8C4
Print an FF terminated string, processing control characters
B8ED
Blank the screen
B902
Clear the room's graphics
B931
Clear the top status bar
B952
Draw a room's background graphics
B9AC
Copy the screen to the working buffer
B9D6
Draw any characters that are in this room
B9FB
Put the sprites on screen
BA25
Copy a row of screen or attribute data
BA6E
Print a "{character} is in {room}" message
BAB4
Update the tick counter for the "{character} is in {room}" display
BACE
Get the length of a string
BAD8
Initialize character data
E2FC
Play a footstep sound effect
E329
Check for collision detection
E36D
Update endurance and lives display
E3D3
Generate a sound effect
E3EC
Generate one wave cycle in a sound effect
E3FD
Do a full refresh of the top status bar
E41D
Print a character's inventory
E468
Display an item in the inventory
E77A
Clear the inventory display, so new text can go on
E79B
See if a player wants to swap character, and do so if they can
EABF
Process logic for the current room
EAE3
A condition does not match. Skip to the ENDIF (F6) character.
EAEB
A condition matches. Process any actions in it.
EB01
Action 0 : SWAP. An item can be collected. Swap it for the oldest item.
EB0F
Action 1 : SWAPFOR. An item can be collected. Swap it for a specific item.
EB55
See if the player is touching any collectable item
EB79
Action 6 : WALL. The wall is or can be built. Patch the logic in Wall Street for it.
EB95
Pattern 0 AT OBJ(x) : Match if at an item
EBC4
Pattern 4 AT(x,y) : Match if at co-ordinate x,y
EBE2
Pattern 5 AM(x) : Match if we are a character (bitfield)
EBED
Pattern 1 HAS(x) : Match if item xx held
EBFE
Pattern 6 NOT HAS(x) : Match if item xx NOT held
EC1D
Get a game status flag and return it in A, setting the zero flag appropriately
EC2B
Pattern 3 OBJ(x,y) : Match if room object x is y
EC34
Pattern 7 NOT OBJ(x,y) : Match if room object x is not y
EC3D
Check if the item in a room matches a certain object ID and sets the zero flag if it is
EC4A
Set a game flag to a value
ECBC
Action 5 EARN(x). Pay the current character amount in offset x
ED13
Room logic : The Laboratory
ED2A
See if we've reached a break, and display a message if so
ED8A
Set up moving objects in the Laboratory
EDA3
Action 2 SET(x) : Set flag xx
EDA8
Action 3 RESET(x) : Reset flag xx
EDAC
Action 4 SET(x,y) : Set flag xx to yy
EDB3
Pattern 2 SET(x) : Match if flag x set
EDC6
Action 8 SAFE. The safe has been touched with a combination letter. Process it now.
EDF7
Action 7 SPACE. Play the "asteroids" phone box game
EEA2
Initialise the sprite buffers
EEC1
Refresh the current room
EF35
Update the current position of moving objects
EF91
Set the attributes for the fountain in the town square if it is repaired
EFC7
Action 9 CHASE. Drop down to the "shark chase" game
F047
Flip the shark so it's the right way round.
F057
Chase : Update the shark
F0C0
Chase : Check for player movement
F10E
See if the jumping jack needs to be on screen, and if so, move it
F177
Action A OUT. Go to the "out of town" screen
F202
Print the current miles "out of town"
F233
Print a digit for the miles "out of town"
F24B
Room logic : The Post Office.
F277
Move Herbert
F309
Room logic : The Pub
F334
Room logic : The Zoo
F37D
Room logic : The Docks
F3AB
Room logic : The Sewer
F409
Room logic : The Bakers
F43C
Room logic : Wall Street
F49D
Room logic : The Work Shed
F4D3
Room logic : Motor Way
F503
Room logic : The Super Market
F54F
Room logic : The Cave
F572
Room logic : Town Square
F5F1
Room logic : School Lane
F674
Room logic : The Park
F6EC
Room logic : The Bank
F746
Room logic : Wally's House
F773
Room logic : The School
F814
See if any food is in the current room, and display it if so
F8B9
Asteroids : Check for collision with lightning
F93A
Asteroids : Check for player's movement
F9A4
Asteroids : Get the change values for the current direction
F9C4
Asteroids : Generate a "hit lightning" sound
F9F5
Asteroids : Check for firing missile and animate accordingly
FAE7
Asteroids : Play a note of the "won" sound effect
FAF0
Asteroids : Move the lightning bolts around