Address Description
24832
Deal with Sam while he's transfixed by Lana
24914
Prepare for the next game mode
24925
Reset a gangster's location and restart the command list
24951
'J' pressed - joystick
25039
Add a random number of bucks to Sam's total
25074
Check whether a gangster is close enough to Sam to pick him up
25081
Make the gangster at no. 15 lie in wait for Sam
25088
Make a sound effect
25118
Control the sniper while active
25307
Control the sniper
25385
Make a gangster chase Sam
25420
Control a banknote
25539
Check whether Sam has somersaulted onto a banknote
25600
Copy source sprite tiles over target sprite tiles
25618
Prepare sprite tiles used by Sam when somersaulting or rolling
25784
'R' pressed - forward roll
25789
'S' pressed - somersault
25918
Check whether Sam can roll or somersault from his current location
25944
Determine Sam's location
26002
Check whether Sam has been hit by a bullet
26075
Move and draw the bullets
26224
Update the sniper's sprite tile references
26328
Check whether Sam is within firing range of the sniper
26352
Make the sound effect of Sam being hit by a bullet
27892
Check whether Sam is at the right place to pick up a telephone
28150
Set A=1
28160
Print a message
28186
Print a number
28295
Adjust Sam's cash supply and print the new amount
28337
Increment the score and decrement Sam's cash supply
28357
Add a message to the message queue
28616
Randomly select a message number
28635
'M' pressed - toggle message speed
28646
Make the sound effect of a sniper firing
28660
Update the telephone icon
28703
Show or hide an icon in the icon panel
28760
Initialise the icon panel, score box and message line
28803
Check whether a character is on a roof with edges on each side
28842
Check whether a policeman can spot Sam
28886
Check whether a character is visible to passers-by
28942
Check whether a character is close enough to Sam to pick him up
29004
Check whether a character is immobilised by a blown fuse
29052
Make a policeman switch a light on if possible
29072
Set a character's destination to Sam's current location
29088
Set a policeman's destination to Sam's current location
29100
Send a policeman to Sam's last known whereabouts
29149
Make a gangster or policeman pick Sam up
29218
Make a policeman start chasing Sam if appropriate
29332
Check whether Sam's disguise is known to the police
29354
Control a policeman (1)
29361
Control a policeman (2)
29559
Make a policeman chase Sam or go to his last known whereabouts if appropriate
29578
Check whether Sam or a gangster is inside a region
29597
Check whether a gangster should start chasing Sam
29668
Show or hide the fuse, door, light bulb or phone in the icon panel (1)
29716
Clear the message line and display the first aid kits
29733
Show or hide the fuse, door, light bulb or phone in the icon panel (2)
29854
Check whether Sam is standing next to a telephone
29866
'F' pressed - fuse
29912
Deal with Sam
29952
Process the event table
30017
Initialise the events and objects for a new game
30043
Initialise an event or object for a new game
30053
Make the cash bonus/key sound effect
30070
'L' pressed - light on/off
30092
'B' pressed - raise/lower blind
30116
Check whether Sam is standing next to a fuse that has not been blown yet
30146
Deal with Sam when his arm is raised or his knees are bent
30154
Add an urgent message to the message queue
30160
Determine the interval between the last message and the next
30198
Ask Sam 'WHO'S THERE?' when he takes or makes a phone call
30211
Check whether Sam has found something and update the icon panel
30396
Deal with a character who is at the entrance to a building
30429
Check whether Sam is standing next to a ringing telephone
30458
'T' pressed - telephone
30511
Check whether a character can answer the telephone that Sam is calling
30575
Deal with Sam when he's on the phone and has been asked 'WHO'S THERE?'
30627
Check whether there is a telephone message for Sam
30675
Deal with Sam when he's on the phone
30822
Prepare for a cutscene
30972
Check whether a message is in the message queue
30989
Display a cutscene
31126
Collect a keypress during the game (or simulate one in demo mode)
31204
'G' pressed - get object
31236
Send the police after Sam
31244
Place a telephone call
31255
Check whether Sam has dialled a valid telephone number
31284
Queue the message 'I HUNG UP' (unused)
31289
Check whether Sam has entered a house through the front door without a key
31319
Make a gangster walk up or down until Sam arrives
31338
Make a gangster walk up and down while watching for Sam
31362
Make a gangster chase and pick up Sam
31414
Increment the score and decrement Sam's cash supply at regular intervals
31458
Prepare the phone messages, events and objects for a new game
31476
Deal with Sam when he's being carried by a gangster or policeman
31580
Deal with a character who is standing next to the jail cell door
31594
Let Sam out of jail if necessary
31642
Make a policeman arrest Sam, and end the game if he cannot pay his bail
31670
Control the hook while it's flying
31713
'C' pressed - use hook
31808
Check whether a character will soon be entering or leaving the hotel
31944
Collect a character's destination coordinates from a command list
31960
Take the hook and budgie from Sam
31998
Check whether Sam should be chased by the police
32009
Set the attribute bytes for Sam's current disguise
59136
Copy a play area tile into the back buffer
59148
Print a tile
59368
Move a row of the screen left, right, up or down
59406
Scroll the screen left 8 columns
59461
Scroll the screen right 8 columns
59516
Scroll the screen up 6 rows
59575
Scroll the screen down 6 rows
59635
Superimpose sprite tiles onto a tile of the play area
59848
Update the SRB for a character's current animatory state and location
59861
Update a character's animatory state and location and update the SRB
60032
Update the display
60082
Get the keypress offset of the last key pressed (1)
60121
Get the ASCII code of the last key pressed
60146
Get the keypress offset of the last key pressed (2)
60152
Check whether a character is on the sidewalk or road
60179
Obtain descriptors for a character's current location
60293
Make a character stand up if he's lying down
60315
Make a character move up
60320
Make a character move down
60334
Make a character move right
60347
Make a character move left
60506
Move a character from the midstride or mid-action position and update the SRB
60521
Make a sound effect
60539
Move Sam from the midstride or mid-action position and scroll the screen if necessary
60626
'Q' pressed - up
60631
'A' pressed - down
60636
'P' pressed - right
60641
'O' pressed - left
60720
Obtain location descriptors for a character standing next to a closed door
60726
Obtain an identifier for a character's current location
60812
Determine the next move a character should make to reach his destination
61440
Perform various main loop tasks
61483
Main loop
61568
Update the icon panel, draw the bullets, and scan the event table
61600
Start (continued)
61603
Populate addresses 32256-32767 (unused)
61612
Start the game (unused)
61618
Return to BASIC (unused)
61630
End a cutscene
61696
Open or close a door and update the screen refresh buffer
61764
Close any doors that need closing
61791
Collect one byte from a command list
61809
Copy two bytes from a command list into a character's buffer
61823
Get a random number
61838
Cycle a character buffer group forwards and scroll the screen right 8 columns
61882
Cycle a character buffer group backwards and scroll the screen left 8 columns
61923
Check for keypresses when Sam is on the phone
61948
Move the characters
62080
Terminate a command
62099
Check whether the door that a character is standing next to is closed
62120
Check whether a character can open a door
62192
'K' pressed - knock on or open a door
62212
Make Sam raise his arm
62216
Deal with Sam when he has knocked on or is opening a door
62264
Make a character knock on a door or open it with a key
62278
Control a character who is knocking on or opening a door (1)
62297
Control a character who has knocked on a door and is waiting for an answer
62325
Control a character who is knocking on or opening a door (2)
62339
Control a character who is knocking on or opening a door (3)
62368
Update the SRB for a window
62468
Decrement and check the blown fuse delay counters
62518
Check whether a character is standing next to a light switch
62597
Make a character flip a light switch off or on occasionally
62694
Make a character flip a light switch on or off occasionally
62880
Make a character flip a light switch off occasionally
62892
Guide a character up or down staircases
62926
Guide a character across a floor to his destination
62966
Make a character consider switching a light off (unused)
62971
Guide a character from one spot on the sidewalk or road to another
62976
Make a character go to a location
63110
Make a character stop running and restart the command list
63118
Check whether a gangster is midstride or has his arm raised
63128
Check whether a character is midstride
63138
Calculate the x-coordinate of the front column of a character's sprite
63152
Check whether a character is standing next to a light switch or window blind
63198
Restart the command list
63209
Make a character walk up or down
63281
Make a character drop Sam
63304
Make a character walk up and down until somebody knocks on a door
63386
Initialise a cat's interruptible subcommand
63403
Initialise and execute an interruptible subcommand
63409
Change the primary command routine address
63423
Make a character open a door that has been knocked on
63437
Open a door
63450
Collect the window flags for a play area location
63472
Initialise the character buffers for character groups 215-221
63520
Make a character walk up and down for a while
63530
Control a cat
63558
Make a cat run up or down
63614
Initialise the character buffers for characters 222-230
63662
Prepare for demo mode or a new game
63749
Check whether a character is in the correct spot to enter a building
63774
Check whether a character should enter a building or knock first
63784
Prepare the sprite tiles used by a character when lying down
63838
Change Sam's disguise
63954
Knock a character over
63981
Initialise an uninterruptible subcommand if possible
63994
Initialise an uninterruptible subcommand
64005
Deal with a character who has been knocked over
64121
Check whether there are any messages remaining in the message queue
64131
Deal with a character who has nearly recovered from being knocked over
64162
Check whether a falling character has hit anyone on the head
64218
'D' pressed - change disguise
64227
Move a falling character to the next point in his descent
64331
Control a character who has stepped off the roof of a building
64338
Deal with a character who is about to step off the roof of a building
64512
Deal with a character who is stepping onto or over the roof of no. 19
64549
Add or remove the rope above the roof of no. 19
64582
Generate the table of mirrored values of 0-255
64599
Hide the play area
64618
Scroll the screen up and down 7 times
64740
Make a sound effect