Address Description
6100
Deal with Sam while he's transfixed by Lana
6152
Prepare for the next game mode
615D
Reset a gangster's location and restart the command list
6177
'J' pressed - joystick
61CF
Add a random number of bucks to Sam's total
61F2
Check whether a gangster is close enough to Sam to pick him up
61F9
Make the gangster at no. 15 lie in wait for Sam
6200
Make a sound effect
621E
Control the sniper while active
62DB
Control the sniper
6329
Make a gangster chase Sam
634C
Control a banknote
63C3
Check whether Sam has somersaulted onto a banknote
6400
Copy source sprite tiles over target sprite tiles
6412
Prepare sprite tiles used by Sam when somersaulting or rolling
64B8
'R' pressed - forward roll
64BD
'S' pressed - somersault
653E
Check whether Sam can roll or somersault from his current location
6558
Determine Sam's location
6592
Check whether Sam has been hit by a bullet
65DB
Move and draw the bullets
6670
Update the sniper's sprite tile references
66D8
Check whether Sam is within firing range of the sniper
66F0
Make the sound effect of Sam being hit by a bullet
6CF4
Check whether Sam is at the right place to pick up a telephone
6DF6
Set A=1
6E00
Print a message
6E1A
Print a number
6E87
Adjust Sam's cash supply and print the new amount
6EB1
Increment the score and decrement Sam's cash supply
6EC5
Add a message to the message queue
6FC8
Randomly select a message number
6FDB
'M' pressed - toggle message speed
6FE6
Make the sound effect of a sniper firing
6FF4
Update the telephone icon
701F
Show or hide an icon in the icon panel
7058
Initialise the icon panel, score box and message line
7083
Check whether a character is on a roof with edges on each side
70AA
Check whether a policeman can spot Sam
70D6
Check whether a character is visible to passers-by
710E
Check whether a character is close enough to Sam to pick him up
714C
Check whether a character is immobilised by a blown fuse
717C
Make a policeman switch a light on if possible
7190
Set a character's destination to Sam's current location
71A0
Set a policeman's destination to Sam's current location
71AC
Send a policeman to Sam's last known whereabouts
71DD
Make a gangster or policeman pick Sam up
7222
Make a policeman start chasing Sam if appropriate
7294
Check whether Sam's disguise is known to the police
72AA
Control a policeman (1)
72B1
Control a policeman (2)
7377
Make a policeman chase Sam or go to his last known whereabouts if appropriate
738A
Check whether Sam or a gangster is inside a region
739D
Check whether a gangster should start chasing Sam
73E4
Show or hide the fuse, door, light bulb or phone in the icon panel (1)
7414
Clear the message line and display the first aid kits
7425
Show or hide the fuse, door, light bulb or phone in the icon panel (2)
749E
Check whether Sam is standing next to a telephone
74AA
'F' pressed - fuse
74D8
Deal with Sam
7500
Process the event table
7541
Initialise the events and objects for a new game
755B
Initialise an event or object for a new game
7565
Make the cash bonus/key sound effect
7576
'L' pressed - light on/off
758C
'B' pressed - raise/lower blind
75A4
Check whether Sam is standing next to a fuse that has not been blown yet
75C2
Deal with Sam when his arm is raised or his knees are bent
75CA
Add an urgent message to the message queue
75D0
Determine the interval between the last message and the next
75F6
Ask Sam 'WHO'S THERE?' when he takes or makes a phone call
7603
Check whether Sam has found something and update the icon panel
76BC
Deal with a character who is at the entrance to a building
76DD
Check whether Sam is standing next to a ringing telephone
76FA
'T' pressed - telephone
772F
Check whether a character can answer the telephone that Sam is calling
776F
Deal with Sam when he's on the phone and has been asked 'WHO'S THERE?'
77A3
Check whether there is a telephone message for Sam
77D3
Deal with Sam when he's on the phone
7866
Prepare for a cutscene
78FC
Check whether a message is in the message queue
790D
Display a cutscene
7996
Collect a keypress during the game (or simulate one in demo mode)
79E4
'G' pressed - get object
7A04
Send the police after Sam
7A0C
Place a telephone call
7A17
Check whether Sam has dialled a valid telephone number
7A34
Queue the message 'I HUNG UP' (unused)
7A39
Check whether Sam has entered a house through the front door without a key
7A57
Make a gangster walk up or down until Sam arrives
7A6A
Make a gangster walk up and down while watching for Sam
7A82
Make a gangster chase and pick up Sam
7AB6
Increment the score and decrement Sam's cash supply at regular intervals
7AE2
Prepare the phone messages, events and objects for a new game
7AF4
Deal with Sam when he's being carried by a gangster or policeman
7B5C
Deal with a character who is standing next to the jail cell door
7B6A
Let Sam out of jail if necessary
7B9A
Make a policeman arrest Sam, and end the game if he cannot pay his bail
7BB6
Control the hook while it's flying
7BE1
'C' pressed - use hook
7C40
Check whether a character will soon be entering or leaving the hotel
7CC8
Collect a character's destination coordinates from a command list
7CD8
Take the hook and budgie from Sam
7CFE
Check whether Sam should be chased by the police
7D09
Set the attribute bytes for Sam's current disguise
E700
Copy a play area tile into the back buffer
E70C
Print a tile
E7E8
Move a row of the screen left, right, up or down
E80E
Scroll the screen left 8 columns
E845
Scroll the screen right 8 columns
E87C
Scroll the screen up 6 rows
E8B7
Scroll the screen down 6 rows
E8F3
Superimpose sprite tiles onto a tile of the play area
E9C8
Update the SRB for a character's current animatory state and location
E9D5
Update a character's animatory state and location and update the SRB
EA80
Update the display
EAB2
Get the keypress offset of the last key pressed (1)
EAD9
Get the ASCII code of the last key pressed
EAF2
Get the keypress offset of the last key pressed (2)
EAF8
Check whether a character is on the sidewalk or road
EB13
Obtain descriptors for a character's current location
EB85
Make a character stand up if he's lying down
EB9B
Make a character move up
EBA0
Make a character move down
EBAE
Make a character move right
EBBB
Make a character move left
EC5A
Move a character from the midstride or mid-action position and update the SRB
EC69
Make a sound effect
EC7B
Move Sam from the midstride or mid-action position and scroll the screen if necessary
ECD2
'Q' pressed - up
ECD7
'A' pressed - down
ECDC
'P' pressed - right
ECE1
'O' pressed - left
ED30
Obtain location descriptors for a character standing next to a closed door
ED36
Obtain an identifier for a character's current location
ED8C
Determine the next move a character should make to reach his destination
F000
Perform various main loop tasks
F02B
Main loop
F080
Update the icon panel, draw the bullets, and scan the event table
F0A0
Start (continued)
F0A3
Populate addresses 7E00-7FFF (unused)
F0AC
Start the game (unused)
F0B2
Return to BASIC (unused)
F0BE
End a cutscene
F100
Open or close a door and update the screen refresh buffer
F144
Close any doors that need closing
F15F
Collect one byte from a command list
F171
Copy two bytes from a command list into a character's buffer
F17F
Get a random number
F18E
Cycle a character buffer group forwards and scroll the screen right 8 columns
F1BA
Cycle a character buffer group backwards and scroll the screen left 8 columns
F1E3
Check for keypresses when Sam is on the phone
F1FC
Move the characters
F280
Terminate a command
F293
Check whether the door that a character is standing next to is closed
F2A8
Check whether a character can open a door
F2F0
'K' pressed - knock on or open a door
F304
Make Sam raise his arm
F308
Deal with Sam when he has knocked on or is opening a door
F338
Make a character knock on a door or open it with a key
F346
Control a character who is knocking on or opening a door (1)
F359
Control a character who has knocked on a door and is waiting for an answer
F375
Control a character who is knocking on or opening a door (2)
F383
Control a character who is knocking on or opening a door (3)
F3A0
Update the SRB for a window
F404
Decrement and check the blown fuse delay counters
F436
Check whether a character is standing next to a light switch
F485
Make a character flip a light switch off or on occasionally
F4E6
Make a character flip a light switch on or off occasionally
F5A0
Make a character flip a light switch off occasionally
F5AC
Guide a character up or down staircases
F5CE
Guide a character across a floor to his destination
F5F6
Make a character consider switching a light off (unused)
F5FB
Guide a character from one spot on the sidewalk or road to another
F600
Make a character go to a location
F686
Make a character stop running and restart the command list
F68E
Check whether a gangster is midstride or has his arm raised
F698
Check whether a character is midstride
F6A2
Calculate the x-coordinate of the front column of a character's sprite
F6B0
Check whether a character is standing next to a light switch or window blind
F6DE
Restart the command list
F6E9
Make a character walk up or down
F731
Make a character drop Sam
F748
Make a character walk up and down until somebody knocks on a door
F79A
Initialise a cat's interruptible subcommand
F7AB
Initialise and execute an interruptible subcommand
F7B1
Change the primary command routine address
F7BF
Make a character open a door that has been knocked on
F7CD
Open a door
F7DA
Collect the window flags for a play area location
F7F0
Initialise the character buffers for character groups 0xD7-0xDD
F820
Make a character walk up and down for a while
F82A
Control a cat
F846
Make a cat run up or down
F87E
Initialise the character buffers for characters 0xDE-0xE6
F8AE
Prepare for demo mode or a new game
F905
Check whether a character is in the correct spot to enter a building
F91E
Check whether a character should enter a building or knock first
F928
Prepare the sprite tiles used by a character when lying down
F95E
Change Sam's disguise
F9D2
Knock a character over
F9ED
Initialise an uninterruptible subcommand if possible
F9FA
Initialise an uninterruptible subcommand
FA05
Deal with a character who has been knocked over
FA79
Check whether there are any messages remaining in the message queue
FA83
Deal with a character who has nearly recovered from being knocked over
FAA2
Check whether a falling character has hit anyone on the head
FADA
'D' pressed - change disguise
FAE3
Move a falling character to the next point in his descent
FB4B
Control a character who has stepped off the roof of a building
FB52
Deal with a character who is about to step off the roof of a building
FC00
Deal with a character who is stepping onto or over the roof of no. 19
FC25
Add or remove the rope above the roof of no. 19
FC46
Generate the table of mirrored values of 0x00-0xFF
FC57
Hide the play area
FC6A
Scroll the screen up and down 7 times
FCE4
Make a sound effect