Page Byte Address Length Description
97 0 24832 82
Deal with Sam while he's transfixed by Lana
97 82 24914 10
Prepare for the next game mode
97 93 24925 26
Reset a gangster's location and restart the command list
97 119 24951 68
'J' pressed - joystick
97 207 25039 27
Add a random number of bucks to Sam's total
97 242 25074 7
Check whether a gangster is close enough to Sam to pick him up
97 249 25081 7
Make the gangster at no. 15 lie in wait for Sam
98 0 25088 17
Make a sound effect
98 30 25118 188
Control the sniper while active
98 219 25307 78
Control the sniper
99 41 25385 9
Make a gangster chase Sam
99 76 25420 119
Control a banknote
99 195 25539 61
Check whether Sam has somersaulted onto a banknote
100 0 25600 18
Copy source sprite tiles over target sprite tiles
100 18 25618 105
Prepare sprite tiles used by Sam when somersaulting or rolling
100 184 25784 5
'R' pressed - forward roll
100 189 25789 129
'S' pressed - somersault
101 62 25918 26
Check whether Sam can roll or somersault from his current location
101 88 25944 45
Determine Sam's location
101 146 26002 73
Check whether Sam has been hit by a bullet
101 219 26075 147
Move and draw the bullets
102 112 26224 104
Update the sniper's sprite tile references
102 216 26328 24
Check whether Sam is within firing range of the sniper
102 240 26352 8
Make the sound effect of Sam being hit by a bullet
108 244 27892 12
Check whether Sam is at the right place to pick up a telephone
109 246 28150 9
Set A=1
110 0 28160 26
Print a message
110 26 28186 106
Print a number
110 135 28295 39
Adjust Sam's cash supply and print the new amount
110 177 28337 18
Increment the score and decrement Sam's cash supply
110 197 28357 254
Add a message to the message queue
111 200 28616 19
Randomly select a message number
111 219 28635 11
'M' pressed - toggle message speed
111 230 28646 10
Make the sound effect of a sniper firing
111 244 28660 42
Update the telephone icon
112 31 28703 19
Show or hide an icon in the icon panel
112 88 28760 43
Initialise the icon panel, score box and message line
112 131 28803 38
Check whether a character is on a roof with edges on each side
112 170 28842 43
Check whether a policeman can spot Sam
112 214 28886 54
Check whether a character is visible to passers-by
113 14 28942 61
Check whether a character is close enough to Sam to pick him up
113 76 29004 47
Check whether a character is immobilised by a blown fuse
113 124 29052 16
Make a policeman switch a light on if possible
113 144 29072 16
Set a character's destination to Sam's current location
113 160 29088 12
Set a policeman's destination to Sam's current location
113 172 29100 49
Send a policeman to Sam's last known whereabouts
113 221 29149 45
Make a gangster or policeman pick Sam up
114 34 29218 114
Make a policeman start chasing Sam if appropriate
114 148 29332 22
Check whether Sam's disguise is known to the police
114 170 29354 7
Control a policeman (1)
114 177 29361 197
Control a policeman (2)
115 119 29559 19
Make a policeman chase Sam or go to his last known whereabouts if appropriate
115 138 29578 19
Check whether Sam or a gangster is inside a region
115 157 29597 35
Check whether a gangster should start chasing Sam
115 228 29668 48
Show or hide the fuse, door, light bulb or phone in the icon panel (1)
116 20 29716 15
Clear the message line and display the first aid kits
116 37 29733 118
Show or hide the fuse, door, light bulb or phone in the icon panel (2)
116 158 29854 12
Check whether Sam is standing next to a telephone
116 170 29866 28
'F' pressed - fuse
116 216 29912 40
Deal with Sam
117 0 29952 65
Process the event table
117 65 30017 26
Initialise the events and objects for a new game
117 91 30043 9
Initialise an event or object for a new game
117 101 30053 17
Make the cash bonus/key sound effect
117 118 30070 22
'L' pressed - light on/off
117 140 30092 23
'B' pressed - raise/lower blind
117 164 30116 30
Check whether Sam is standing next to a fuse that has not been blown yet
117 194 30146 7
Deal with Sam when his arm is raised or his knees are bent
117 202 30154 6
Add an urgent message to the message queue
117 208 30160 38
Determine the interval between the last message and the next
117 246 30198 13
Ask Sam 'WHO'S THERE?' when he takes or makes a phone call
118 3 30211 185
Check whether Sam has found something and update the icon panel
118 188 30396 33
Deal with a character who is at the entrance to a building
118 221 30429 28
Check whether Sam is standing next to a ringing telephone
118 250 30458 53
'T' pressed - telephone
119 47 30511 63
Check whether a character can answer the telephone that Sam is calling
119 111 30575 51
Deal with Sam when he's on the phone and has been asked 'WHO'S THERE?'
119 163 30627 48
Check whether there is a telephone message for Sam
119 211 30675 147
Deal with Sam when he's on the phone
120 102 30822 147
Prepare for a cutscene
120 252 30972 17
Check whether a message is in the message queue
121 13 30989 111
Display a cutscene
121 150 31126 78
Collect a keypress during the game (or simulate one in demo mode)
121 228 31204 32
'G' pressed - get object
122 4 31236 8
Send the police after Sam
122 12 31244 11
Place a telephone call
122 23 31255 29
Check whether Sam has dialled a valid telephone number
122 52 31284 5
Queue the message 'I HUNG UP' (unused)
122 57 31289 30
Check whether Sam has entered a house through the front door without a key
122 87 31319 19
Make a gangster walk up or down until Sam arrives
122 106 31338 24
Make a gangster walk up and down while watching for Sam
122 130 31362 51
Make a gangster chase and pick up Sam
122 182 31414 44
Increment the score and decrement Sam's cash supply at regular intervals
122 226 31458 18
Prepare the phone messages, events and objects for a new game
122 244 31476 102
Deal with Sam when he's being carried by a gangster or policeman
123 92 31580 14
Deal with a character who is standing next to the jail cell door
123 106 31594 48
Let Sam out of jail if necessary
123 154 31642 28
Make a policeman arrest Sam, and end the game if he cannot pay his bail
123 182 31670 43
Control the hook while it's flying
123 225 31713 94
'C' pressed - use hook
124 64 31808 135
Check whether a character will soon be entering or leaving the hotel
124 200 31944 16
Collect a character's destination coordinates from a command list
124 216 31960 38
Take the hook and budgie from Sam
124 254 31998 11
Check whether Sam should be chased by the police
125 9 32009 19
Set the attribute bytes for Sam's current disguise
231 0 59136 12
Copy a play area tile into the back buffer
231 12 59148 218
Print a tile
231 232 59368 37
Move a row of the screen left, right, up or down
232 14 59406 52
Scroll the screen left 8 columns
232 69 59461 52
Scroll the screen right 8 columns
232 124 59516 56
Scroll the screen up 6 rows
232 183 59575 57
Scroll the screen down 6 rows
232 243 59635 204
Superimpose sprite tiles onto a tile of the play area
233 200 59848 13
Update the SRB for a character's current animatory state and location
233 213 59861 171
Update a character's animatory state and location and update the SRB
234 128 60032 50
Update the display
234 178 60082 38
Get the keypress offset of the last key pressed (1)
234 217 60121 20
Get the ASCII code of the last key pressed
234 242 60146 6
Get the keypress offset of the last key pressed (2)
234 248 60152 27
Check whether a character is on the sidewalk or road
235 19 60179 112
Obtain descriptors for a character's current location
235 133 60293 22
Make a character stand up if he's lying down
235 155 60315 5
Make a character move up
235 160 60320 14
Make a character move down
235 174 60334 13
Make a character move right
235 187 60347 157
Make a character move left
236 90 60506 15
Move a character from the midstride or mid-action position and update the SRB
236 105 60521 18
Make a sound effect
236 123 60539 85
Move Sam from the midstride or mid-action position and scroll the screen if necessary
236 210 60626 5
'Q' pressed - up
236 215 60631 5
'A' pressed - down
236 220 60636 5
'P' pressed - right
236 225 60641 28
'O' pressed - left
237 48 60720 6
Obtain location descriptors for a character standing next to a closed door
237 54 60726 84
Obtain an identifier for a character's current location
237 140 60812 374
Determine the next move a character should make to reach his destination
240 0 61440 26
Perform various main loop tasks
240 43 61483 84
Main loop
240 128 61568 29
Update the icon panel, draw the bullets, and scan the event table
240 160 61600 3
Start (continued)
240 163 61603 9
Populate addresses 32256-32767 (unused)
240 172 61612 6
Start the game (unused)
240 178 61618 12
Return to BASIC (unused)
240 190 61630 59
End a cutscene
241 0 61696 68
Open or close a door and update the screen refresh buffer
241 68 61764 26
Close any doors that need closing
241 95 61791 18
Collect one byte from a command list
241 113 61809 14
Copy two bytes from a command list into a character's buffer
241 127 61823 15
Get a random number
241 142 61838 44
Cycle a character buffer group forwards and scroll the screen right 8 columns
241 186 61882 41
Cycle a character buffer group backwards and scroll the screen left 8 columns
241 227 61923 25
Check for keypresses when Sam is on the phone
241 252 61948 132
Move the characters
242 128 62080 19
Terminate a command
242 147 62099 20
Check whether the door that a character is standing next to is closed
242 168 62120 53
Check whether a character can open a door
242 240 62192 20
'K' pressed - knock on or open a door
243 4 62212 4
Make Sam raise his arm
243 8 62216 46
Deal with Sam when he has knocked on or is opening a door
243 56 62264 14
Make a character knock on a door or open it with a key
243 70 62278 19
Control a character who is knocking on or opening a door (1)
243 89 62297 28
Control a character who has knocked on a door and is waiting for an answer
243 117 62325 14
Control a character who is knocking on or opening a door (2)
243 131 62339 24
Control a character who is knocking on or opening a door (3)
243 160 62368 97
Update the SRB for a window
244 4 62468 50
Decrement and check the blown fuse delay counters
244 54 62518 79
Check whether a character is standing next to a light switch
244 133 62597 97
Make a character flip a light switch off or on occasionally
244 230 62694 21
Make a character flip a light switch on or off occasionally
245 160 62880 12
Make a character flip a light switch off occasionally
245 172 62892 33
Guide a character up or down staircases
245 206 62926 40
Guide a character across a floor to his destination
245 246 62966 5
Make a character consider switching a light off (unused)
245 251 62971 5
Guide a character from one spot on the sidewalk or road to another
246 0 62976 134
Make a character go to a location
246 134 63110 7
Make a character stop running and restart the command list
246 142 63118 10
Check whether a gangster is midstride or has his arm raised
246 152 63128 9
Check whether a character is midstride
246 162 63138 14
Calculate the x-coordinate of the front column of a character's sprite
246 176 63152 44
Check whether a character is standing next to a light switch or window blind
246 222 63198 7
Restart the command list
246 233 63209 72
Make a character walk up or down
247 49 63281 23
Make a character drop Sam
247 72 63304 82
Make a character walk up and down until somebody knocks on a door
247 154 63386 17
Initialise a cat's interruptible subcommand
247 171 63403 5
Initialise and execute an interruptible subcommand
247 177 63409 14
Change the primary command routine address
247 191 63423 14
Make a character open a door that has been knocked on
247 205 63437 13
Open a door
247 218 63450 22
Collect the window flags for a play area location
247 240 63472 47
Initialise the character buffers for character groups 215-221
248 32 63520 10
Make a character walk up and down for a while
248 42 63530 28
Control a cat
248 70 63558 56
Make a cat run up or down
248 126 63614 48
Initialise the character buffers for characters 222-230
248 174 63662 87
Prepare for demo mode or a new game
249 5 63749 25
Check whether a character is in the correct spot to enter a building
249 30 63774 10
Check whether a character should enter a building or knock first
249 40 63784 53
Prepare the sprite tiles used by a character when lying down
249 94 63838 115
Change Sam's disguise
249 210 63954 27
Knock a character over
249 237 63981 13
Initialise an uninterruptible subcommand if possible
249 250 63994 10
Initialise an uninterruptible subcommand
250 5 64005 116
Deal with a character who has been knocked over
250 121 64121 9
Check whether there are any messages remaining in the message queue
250 131 64131 31
Deal with a character who has nearly recovered from being knocked over
250 162 64162 54
Check whether a falling character has hit anyone on the head
250 218 64218 9
'D' pressed - change disguise
250 227 64227 96
Move a falling character to the next point in his descent
251 75 64331 7
Control a character who has stepped off the roof of a building
251 82 64338 174
Deal with a character who is about to step off the roof of a building
252 0 64512 37
Deal with a character who is stepping onto or over the roof of no. 19
252 37 64549 30
Add or remove the rope above the roof of no. 19
252 70 64582 17
Generate the table of mirrored values of 0-255
252 87 64599 19
Hide the play area
252 106 64618 120
Scroll the screen up and down 7 times
252 228 64740 14
Make a sound effect