Page |
Byte |
Address |
Description |
91 |
0 |
23296 |
Message 55: 'A VOICE SAID 'ED - TELL THE OIL MAN THAT THE KEY TO THE FAT MANS HOUSE IS AT NO 31 AND THAT THE BOSS WANTS TO SEE YOU BOTH AT NO 19'' |
91 |
70 |
23366 |
Message 56: 'DAISY SAID 'LANA RANG - SHE HAD TO GET OUT IN A HURRY - OH AND I HEARD NOISES IN THE CEILING'' |
91 |
126 |
23422 |
Message 57: 'OK ED - THE FAT MAN HAS THE KEY TO NO 27' |
91 |
145 |
23441 |
Message 58: 'DAISY SAID 'LANA RANG - HER NEW NUMBERS 7162. THE POLICE WERE HERE'' |
91 |
187 |
23483 |
Message 70: 'SOMEONE BELOW SAID 'CRUISE WAS DRESSED AS THE OIL MAN. DONT LET ANYONE PAST'' |
91 |
232 |
23528 |
Message 71: 'THERES A SAFE WITH 4 LOCKS' |
93 |
96 |
23904 |
Message 63: 'DAISY SAID 'SAM - A GANGSTER'S WATCHING FOR YOU OUTSIDE THE POLICE STATION'' |
93 |
146 |
23954 |
Message 76: 'DAISY SAID 'LANA RANG - THAT FAT MAN HAS TWO KEYS NOT JUST ONE '' |
93 |
176 |
23984 |
Message 64: 'A VOICE SAID 'OK FATS THE HOOK'S AT NO 74 AND ALS GUARDING IT'' |
93 |
211 |
24019 |
Message 66: 'A VOICE SAID 'OK LANA THE KEY TO 74'S IN THE ROOM PAST THE CATWALK BUT THERE'S A GUARD'' |
94 |
5 |
24069 |
Message 67: 'SOMEONE HIT ME. I PLAYED DEAD. TWO MEN WALKED OFF. ONE SAID 'HEY DON AINT YOU SCARED THAT CRUISE WILL GET UP TO YOUR ROOM WHEN ALS ON THE PHONE ?'' |
94 |
97 |
24161 |
Message 68: 'DAISY SAID 'ALS NUMBER'S 6124'' |
94 |
117 |
24181 |
Message 69: 'TECHNICAL SERVICES HERE. TO USE A HOOK GET TO RIGHT PLACE AND PRESS C' |
94 |
166 |
24230 |
Message 72: 'LANA ANSWERED 'OOH SAM! YOUVE GOT THE BIRD. SEE YOU IN YOUR OFFICE'' |
94 |
199 |
24263 |
Message 73: 'I STARED AT THE LOVELY LANA WAS IT THOSE RUBY LIPS OR THE SLIM AUTOMATIC THAT TRANSFIXED ME? SHE SAID 'THANK YOU FOR THE BUDGIE SAM . ITS PRICELESS. IVE ALREADY KILLED ONCE FOR IT. AND NOW ITS GOODBYE SAM '' |
95 |
105 |
24425 |
Message 74: 'SHE'S IN JAIL NOW. ANOTHER CASE SOLVED. BUT NOW THE MOB KNOWS IVE GOT THE BUDGIE AND THEYRE AFTER ME . .' |
95 |
194 |
24514 |
Message 75: 'SHE FIRED' |
95 |
204 |
24524 |
Message 97: 'JOYSTICK?' |
95 |
214 |
24534 |
Unused (10 bytes) |
95 |
224 |
24544 |
Event table |
96 |
243 |
24819 |
Unused (13 bytes) |
97 |
0 |
24832 |
Deal with Sam while he's transfixed by Lana |
97 |
82 |
24914 |
Prepare for the next game mode |
97 |
92 |
24924 |
Unused (1 byte) |
97 |
93 |
24925 |
Reset a gangster's location and restart the command list |
97 |
119 |
24951 |
'J' pressed - joystick |
97 |
187 |
25019 |
Keypress offset patch table for keys 0-9 (Kempston/Cursor/None) |
97 |
197 |
25029 |
Keypress offset patch table for keys 0-9 (Int2) |
97 |
207 |
25039 |
Add a random number of bucks to Sam's total |
97 |
234 |
25066 |
Command list: Keep guard at no. 15 |
97 |
242 |
25074 |
Check whether a gangster is close enough to Sam to pick him up |
97 |
249 |
25081 |
Make the gangster at no. 15 lie in wait for Sam |
98 |
0 |
25088 |
Make a sound effect |
98 |
17 |
25105 |
Unused (1 byte) |
98 |
18 |
25106 |
Potential x-coordinates for the sniper |
98 |
25 |
25113 |
Unused (5 bytes) |
98 |
30 |
25118 |
Control the sniper while active |
98 |
218 |
25306 |
Unused (1 byte) |
98 |
219 |
25307 |
Control the sniper |
99 |
41 |
25385 |
Make a gangster chase Sam |
99 |
50 |
25394 |
Unused (1 byte) |
99 |
51 |
25395 |
Banknote animation table |
99 |
76 |
25420 |
Control a banknote |
99 |
195 |
25539 |
Check whether Sam has somersaulted onto a banknote |
100 |
0 |
25600 |
Copy source sprite tiles over target sprite tiles |
100 |
18 |
25618 |
Prepare sprite tiles used by Sam when somersaulting or rolling |
100 |
123 |
25723 |
Unused (1 byte) |
100 |
124 |
25724 |
Animation phase table for Sam when rolling |
100 |
148 |
25748 |
Animation phase table for Sam when somersaulting |
100 |
184 |
25784 |
'R' pressed - forward roll |
100 |
189 |
25789 |
'S' pressed - somersault |
101 |
62 |
25918 |
Check whether Sam can roll or somersault from his current location |
101 |
88 |
25944 |
Determine Sam's location |
101 |
133 |
25989 |
Unused (1 byte) |
101 |
134 |
25990 |
Sprite tile references susceptible to bullet impact |
101 |
143 |
25999 |
Unused (3 bytes) |
101 |
146 |
26002 |
Check whether Sam has been hit by a bullet |
101 |
219 |
26075 |
Move and draw the bullets |
102 |
110 |
26222 |
Unused (2 bytes) |
102 |
112 |
26224 |
Update the sniper's sprite tile references |
102 |
216 |
26328 |
Check whether Sam is within firing range of the sniper |
102 |
240 |
26352 |
Make the sound effect of Sam being hit by a bullet |
102 |
248 |
26360 |
Unused (8 bytes) |
103 |
0 |
26368 |
Message 3: 'PRESS' |
103 |
6 |
26374 |
Message 4: 'KEY' |
103 |
10 |
26378 |
Message 5: 'PLAY' |
103 |
15 |
26383 |
Message 6: ' RIGHT ' |
103 |
23 |
26391 |
Message 7: ' WHEN' |
103 |
29 |
26397 |
Message 8: 'RATCATCHER' |
103 |
40 |
26408 |
Message 9: 'POLICE CHIEF' |
103 |
53 |
26421 |
Message 10: 'CHICAGO BEARS' |
103 |
67 |
26435 |
Message 11: 'REVENUE MAN' |
103 |
76 |
26444 |
Message 12: 'VIOLIN CASE MAKER' |
103 |
94 |
26462 |
Message 13: 'GARBAGE MAN' |
103 |
103 |
26471 |
Message 14: 'JAMES GANG' |
103 |
114 |
26482 |
Message 15: 'RENT COLLECTOR' |
103 |
129 |
26497 |
Message 16: 'MAKE COFFEE' |
103 |
141 |
26509 |
Message 17: 'TAPDANCE' |
103 |
150 |
26518 |
Message 18: 'SCUBA DIVE' |
103 |
161 |
26529 |
Message 19: 'PLAY POKER' |
103 |
169 |
26537 |
Message 20: 'TYPE' |
103 |
174 |
26542 |
Message 21: 'ICE-SKATE' |
103 |
184 |
26552 |
Message 22: 'WOLFWHISTLE' |
103 |
196 |
26564 |
Message 23: 'PLAY THE HARMONICA' |
103 |
208 |
26576 |
Message 24: 'JUST ANOTHER DAY AT THE SAM CRUISE DETECTIVE AGENCY/I WAS TEACHING THE ROACHES TO {verb} WHEN' |
103 |
229 |
26597 |
Message 25: ' BEGAN ' |
103 |
237 |
26605 |
Unused (19 bytes) |
104 |
0 |
26624 |
Message 100: ' THE ' |
104 |
6 |
26630 |
Message 101: 'CRUISE ' |
104 |
14 |
26638 |
Message 102: 'NO ' |
104 |
18 |
26642 |
Message 103: 'I ' |
104 |
21 |
26645 |
Message 104: 'AL ' |
104 |
25 |
26649 |
Message 105: 'BUD ' |
104 |
30 |
26654 |
Message 106: 'CHAD ' |
104 |
36 |
26660 |
Message 107: 'DON ' |
104 |
41 |
26665 |
Messages 108 and 109: 'ED ' and 'FRED ' |
104 |
47 |
26671 |
Message 110: 'GUS ' |
104 |
52 |
26676 |
Message 111: 'SAM ' |
104 |
57 |
26681 |
Message 112: 'JUST ANOTHER DAY AT THE SAM CRUISE DETECTIVE AGENCY' |
104 |
95 |
26719 |
Message 113: ' A ' |
104 |
99 |
26723 |
Message 114: 'DAISY ' |
104 |
106 |
26730 |
Message 115: ' MAN' |
104 |
111 |
26735 |
Message 116: ' AND ' |
104 |
117 |
26741 |
Message 117: 'WAS ' |
104 |
122 |
26746 |
Message 118: ' TO ' |
104 |
127 |
26751 |
Message 119: ' AND DAISY RAN OFF WITH THE {person/people}/TAKE MY ADVICE KID/DONT BECOME A PRIVATE EYE/IT'LL ONLY BREAK YOUR HEART' |
104 |
212 |
26836 |
Message 120: ' WHEN I CAME TO ' |
104 |
221 |
26845 |
Messages 121 and 122: ' THE' and 'THE' |
104 |
226 |
26850 |
Message 123: 'ONE ' |
104 |
231 |
26855 |
Message 124: 'SAID ' |
104 |
237 |
26861 |
Message 125: ' A VOICE SAID '' |
104 |
247 |
26871 |
Message 126: ' YOU' |
104 |
252 |
26876 |
Message 127: 'ING' |
105 |
0 |
26880 |
Message 32: 'JUST ANOTHER DAY AT THE SAM CRUISE DETECTIVE AGENCY/I'M WORKING ON A CASE RIGHT NOW BUT IF YOU WANT TO PLAY THEN PRESS A KEY.' |
105 |
45 |
26925 |
Message 33: 'JUST ANOTHER DAY AT THE SAM CRUISE DETECTIVE AGENCY/I WAS TEACHING THE ROACHES TO {verb} WHEN THE PHONE RANG. IT WAS A DAME NAMED LANA. SHE SAID TO MEET HER ON THE TOP FLOOR OF THE HOTEL ROYALE. SO BEGAN / THE CASE OF THE BALI BUDGIE' |
105 |
146 |
27026 |
Message 34: 'I WAS BROKE AGAIN AND DAISY RAN OFF WITH THE {person/people}/TAKE MY ADVICE KID/DONT BECOME A PRIVATE EYE/IT'LL ONLY BREAK YOUR HEART' |
105 |
161 |
27041 |
Message 35: ' WHEN I CAME TO MY WALLET WAS GONE AND DAISY RAN OFF WITH THE {person/people}/TAKE MY ADVICE KID/DONT BECOME A PRIVATE EYE/IT'LL ONLY BREAK YOUR HEART' |
105 |
177 |
27057 |
Message 36: ' WHEN I CAME TO SOMEONE HAD TAKEN ${tens digit}0' |
105 |
197 |
27077 |
Message 37: 'A VOICE SAID 'WHO'S THERE?'' |
105 |
209 |
27089 |
Message 38: 'PRESS A KEY TO PLAY' |
105 |
233 |
27113 |
Message 39: 'I HUNG UP' |
105 |
242 |
27122 |
Message 40: ''{name}' I SAID ' |
105 |
249 |
27129 |
Message 41: 'I LIFTED THE PHONE ' |
106 |
5 |
27141 |
Message 42: 'I DIALLED {number}' |
106 |
14 |
27150 |
Message 43: 'A VOICE SAID 'THERES NOONE HERE'' |
106 |
29 |
27165 |
Message 44: 'A VOICE SAID 'GET LOST - I'M TRYING TO SLEEP'' |
106 |
57 |
27193 |
Message 45: 'A VOICE SAID 'BE RIGHT WITH YOU'' |
106 |
68 |
27204 |
Message 46: 'I DUNNO NO {name}' |
106 |
78 |
27214 |
Message 47: ' THE NUMBER WAS UNOBTAINABLE' |
106 |
100 |
27236 |
Message 48: 'AT THE JAIL THEY THREW THE BOOK AT ME AND DAISY RAN OFF WITH THE {person/people}/TAKE MY ADVICE KID/DONT BECOME A PRIVATE EYE/IT'LL ONLY BREAK YOUR HEART' |
106 |
128 |
27264 |
Message 49: 'IT BEGAN RINGING' |
106 |
135 |
27271 |
Message 50: 'DAISY SAID 'NO MESSAGES SAM '' |
106 |
151 |
27287 |
Message 51: 'A VOICE SAID 'OK CRUISE WE'RE COMING'' |
106 |
168 |
27304 |
Message 52: ' THE BAIL WAS ${tens digit}0' |
106 |
179 |
27315 |
Message 53: 'THERE'S A MAN'S BODY ON THE FLOOR' |
106 |
203 |
27339 |
Message 99: 'I HAD TO GO TO HOSPITAL AND DAISY RAN OFF WITH THE {person/people}/TAKE MY ADVICE KID/DONT BECOME A PRIVATE EYE/IT'LL ONLY BREAK YOUR HEART' |
106 |
220 |
27356 |
Message 26: 'DAISY SAID '' |
106 |
224 |
27360 |
Message 27: 'LANA ANSWERED 'OOH SAM! ' |
106 |
245 |
27381 |
Message 28: 'LANA RANG - ' |
106 |
254 |
27390 |
Unused (2 bytes) |
107 |
0 |
27392 |
Phone numbers |
107 |
75 |
27467 |
Ringing phone messages |
107 |
114 |
27506 |
Phone messages for Sam |
107 |
150 |
27542 |
Unused (2 bytes) |
107 |
152 |
27544 |
Initial ringing phone locations |
107 |
165 |
27557 |
Initial locations of phones with messages for Sam |
107 |
177 |
27569 |
Message 65: 'LANA ANSWERED 'OOH SAM! BUD SAID HE'D MEET ME ALONE IN THE HOTELS RIGHT HAND GREEN ROOM. I'M SCARED - WILL YOU GO INSTEAD?'' |
107 |
253 |
27645 |
Unused (4 bytes) |
108 |
1 |
27649 |
LSBs of addresses of messages 1-76 |
108 |
77 |
27725 |
Unused (20 bytes) |
108 |
97 |
27745 |
LSBs of addresses of messages 97-129 |
108 |
130 |
27778 |
Unused (70 bytes) |
108 |
200 |
27848 |
Message 29: 'LANA ' |
108 |
206 |
27854 |
Message 30: 'ING ' |
108 |
209 |
27857 |
Message 31: 'THAT' |
108 |
214 |
27862 |
Message 128: 'SOMEONE ' |
108 |
220 |
27868 |
Message 129: 'FAT' |
108 |
224 |
27872 |
Unused (20 bytes) |
108 |
244 |
27892 |
Check whether Sam is at the right place to pick up a telephone |
109 |
0 |
27904 |
Unused (1 byte) |
109 |
1 |
27905 |
MSBs of addresses of messages 1-76 |
109 |
77 |
27981 |
Unused (20 bytes) |
109 |
97 |
28001 |
MSBs of addresses of messages 97-129 |
109 |
130 |
28034 |
Unused (116 bytes) |
109 |
246 |
28150 |
Set A=1 |
109 |
255 |
28159 |
Unused (1 byte) |
110 |
0 |
28160 |
Print a message |
110 |
26 |
28186 |
Print a number |
110 |
132 |
28292 |
Unused (3 bytes) |
110 |
135 |
28295 |
Adjust Sam's cash supply and print the new amount |
110 |
174 |
28334 |
Unused (3 bytes) |
110 |
177 |
28337 |
Increment the score and decrement Sam's cash supply |
110 |
195 |
28355 |
Unused (2 bytes) |
110 |
197 |
28357 |
Add a message to the message queue |
111 |
195 |
28611 |
Unused (1 byte) |
111 |
196 |
28612 |
Message display interval |
111 |
197 |
28613 |
Last used random message numbers |
111 |
199 |
28615 |
Unused (1 byte) |
111 |
200 |
28616 |
Randomly select a message number |
111 |
219 |
28635 |
'M' pressed - toggle message speed |
111 |
230 |
28646 |
Make the sound effect of a sniper firing |
111 |
240 |
28656 |
Unused (4 bytes) |
111 |
244 |
28660 |
Update the telephone icon |
112 |
30 |
28702 |
Unused (1 byte) |
112 |
31 |
28703 |
Show or hide an icon in the icon panel |
112 |
50 |
28722 |
Graphic data for the telephone when ringing |
112 |
67 |
28739 |
Unused (2 bytes) |
112 |
69 |
28741 |
Graphic data for the telephone when not ringing |
112 |
86 |
28758 |
Unused (2 bytes) |
112 |
88 |
28760 |
Initialise the icon panel, score box and message line |
112 |
131 |
28803 |
Check whether a character is on a roof with edges on each side |
112 |
169 |
28841 |
Unused (1 byte) |
112 |
170 |
28842 |
Check whether a policeman can spot Sam |
112 |
213 |
28885 |
Unused (1 byte) |
112 |
214 |
28886 |
Check whether a character is visible to passers-by |
113 |
12 |
28940 |
Unused (2 bytes) |
113 |
14 |
28942 |
Check whether a character is close enough to Sam to pick him up |
113 |
75 |
29003 |
Unused (1 byte) |
113 |
76 |
29004 |
Check whether a character is immobilised by a blown fuse |
113 |
123 |
29051 |
Unused (1 byte) |
113 |
124 |
29052 |
Make a policeman switch a light on if possible |
113 |
140 |
29068 |
Unused (4 bytes) |
113 |
144 |
29072 |
Set a character's destination to Sam's current location |
113 |
160 |
29088 |
Set a policeman's destination to Sam's current location |
113 |
172 |
29100 |
Send a policeman to Sam's last known whereabouts |
113 |
221 |
29149 |
Make a gangster or policeman pick Sam up |
114 |
10 |
29194 |
Vertical and horizontal ranges within which Sam can be spotted by a policeman |
114 |
34 |
29218 |
Make a policeman start chasing Sam if appropriate |
114 |
148 |
29332 |
Check whether Sam's disguise is known to the police |
114 |
170 |
29354 |
Control a policeman (1) |
114 |
177 |
29361 |
Control a policeman (2) |
115 |
118 |
29558 |
Unused (1 byte) |
115 |
119 |
29559 |
Make a policeman chase Sam or go to his last known whereabouts if appropriate |
115 |
138 |
29578 |
Check whether Sam or a gangster is inside a region |
115 |
157 |
29597 |
Check whether a gangster should start chasing Sam |
115 |
192 |
29632 |
Unused (3 bytes) |
115 |
195 |
29635 |
Locations of fuses |
115 |
207 |
29647 |
x-coordinates of doors |
115 |
228 |
29668 |
Show or hide the fuse, door, light bulb or phone in the icon panel (1) |
116 |
20 |
29716 |
Clear the message line and display the first aid kits |
116 |
35 |
29731 |
Unused (2 bytes) |
116 |
37 |
29733 |
Show or hide the fuse, door, light bulb or phone in the icon panel (2) |
116 |
155 |
29851 |
Unused (3 bytes) |
116 |
158 |
29854 |
Check whether Sam is standing next to a telephone |
116 |
170 |
29866 |
'F' pressed - fuse |
116 |
198 |
29894 |
Unused (2 bytes) |
116 |
200 |
29896 |
Addresses of Sam-handling routines |
116 |
216 |
29912 |
Deal with Sam |
117 |
0 |
29952 |
Process the event table |
117 |
65 |
30017 |
Initialise the events and objects for a new game |
117 |
91 |
30043 |
Initialise an event or object for a new game |
117 |
100 |
30052 |
Unused (1 byte) |
117 |
101 |
30053 |
Make the cash bonus/key sound effect |
117 |
118 |
30070 |
'L' pressed - light on/off |
117 |
140 |
30092 |
'B' pressed - raise/lower blind |
117 |
163 |
30115 |
Unused (1 byte) |
117 |
164 |
30116 |
Check whether Sam is standing next to a fuse that has not been blown yet |
117 |
194 |
30146 |
Deal with Sam when his arm is raised or his knees are bent |
117 |
201 |
30153 |
Urgent message number |
117 |
202 |
30154 |
Add an urgent message to the message queue |
117 |
208 |
30160 |
Determine the interval between the last message and the next |
117 |
246 |
30198 |
Ask Sam 'WHO'S THERE?' when he takes or makes a phone call |
118 |
3 |
30211 |
Check whether Sam has found something and update the icon panel |
118 |
188 |
30396 |
Deal with a character who is at the entrance to a building |
118 |
221 |
30429 |
Check whether Sam is standing next to a ringing telephone |
118 |
249 |
30457 |
Unused (1 byte) |
118 |
250 |
30458 |
'T' pressed - telephone |
119 |
47 |
30511 |
Check whether a character can answer the telephone that Sam is calling |
119 |
110 |
30574 |
Unused (1 byte) |
119 |
111 |
30575 |
Deal with Sam when he's on the phone and has been asked 'WHO'S THERE?' |
119 |
162 |
30626 |
Unused (1 byte) |
119 |
163 |
30627 |
Check whether there is a telephone message for Sam |
119 |
211 |
30675 |
Deal with Sam when he's on the phone |
120 |
102 |
30822 |
Prepare for a cutscene |
120 |
249 |
30969 |
Unused (3 bytes) |
120 |
252 |
30972 |
Check whether a message is in the message queue |
121 |
13 |
30989 |
Display a cutscene |
121 |
124 |
31100 |
Unused (4 bytes) |
121 |
128 |
31104 |
Keypress offsets to use for Sam in demo mode |
121 |
134 |
31110 |
Locations for Sam to visit in demo mode |
121 |
150 |
31126 |
Collect a keypress during the game (or simulate one in demo mode) |
121 |
228 |
31204 |
'G' pressed - get object |
122 |
4 |
31236 |
Send the police after Sam |
122 |
12 |
31244 |
Place a telephone call |
122 |
23 |
31255 |
Check whether Sam has dialled a valid telephone number |
122 |
52 |
31284 |
Queue the message 'I HUNG UP' (unused) |
122 |
57 |
31289 |
Check whether Sam has entered a house through the front door without a key |
122 |
87 |
31319 |
Make a gangster walk up or down until Sam arrives |
122 |
106 |
31338 |
Make a gangster walk up and down while watching for Sam |
122 |
130 |
31362 |
Make a gangster chase and pick up Sam |
122 |
181 |
31413 |
Unused (1 byte) |
122 |
182 |
31414 |
Increment the score and decrement Sam's cash supply at regular intervals |
122 |
226 |
31458 |
Prepare the phone messages, events and objects for a new game |
122 |
244 |
31476 |
Deal with Sam when he's being carried by a gangster or policeman |
123 |
90 |
31578 |
Unused (2 bytes) |
123 |
92 |
31580 |
Deal with a character who is standing next to the jail cell door |
123 |
106 |
31594 |
Let Sam out of jail if necessary |
123 |
154 |
31642 |
Make a policeman arrest Sam, and end the game if he cannot pay his bail |
123 |
182 |
31670 |
Control the hook while it's flying |
123 |
225 |
31713 |
'C' pressed - use hook |
124 |
63 |
31807 |
Unused (1 byte) |
124 |
64 |
31808 |
Check whether a character will soon be entering or leaving the hotel |
124 |
199 |
31943 |
Unused (1 byte) |
124 |
200 |
31944 |
Collect a character's destination coordinates from a command list |
124 |
216 |
31960 |
Take the hook and budgie from Sam |
124 |
254 |
31998 |
Check whether Sam should be chased by the police |
125 |
9 |
32009 |
Set the attribute bytes for Sam's current disguise |
125 |
28 |
32028 |
Object/key/cash/message location table |
125 |
89 |
32089 |
Message 59: 'LANA ANSWERED 'OOH SAM! THEY KILLED MY FIANCE AND STOLE THE BUDGIE'' |
125 |
122 |
32122 |
Message 60: 'LANA ANSWERED 'OOH SAM! THAT CROOK THE FAT MAN'S JUST MOVED INTO NO 15'' |
125 |
155 |
32155 |
Message 61: 'SOMEONE GROWLED 'NO KEY EH!'' |
125 |
171 |
32171 |
Message 62: 'IT ALL WENT BLACK. AS I FELL SOMEONE FAT PUSHED PAST ME SHOUTING ' YOULL NOT GET THE KEY WHEN I'M STILL STANDING'' |
125 |
255 |
32255 |
Unused (1 byte) |
126 |
0 |
32256 |
Mirrored values of 0-255 |
127 |
0 |
32512 |
Screen refresh buffer |
127 |
96 |
32608 |
Message buffer |
127 |
129 |
32641 |
Submessage indicator and message addresses |
127 |
145 |
32657 |
Unused |
127 |
146 |
32658 |
Message 2: '{number}' |
127 |
151 |
32663 |
Phone table entry address |
127 |
153 |
32665 |
Time that Sam last lifted a ringing telephone |
127 |
154 |
32666 |
ID of the telephone that Sam is calling |
127 |
155 |
32667 |
Telephone call status flags |
127 |
156 |
32668 |
Score |
127 |
158 |
32670 |
Bucks |
127 |
160 |
32672 |
Time the last message was displayed |
127 |
162 |
32674 |
Blown fuse delay counters |
127 |
168 |
32680 |
Icon panel status flags |
127 |
169 |
32681 |
Main loop task timer |
127 |
170 |
32682 |
Door knock status flags |
127 |
180 |
32692 |
Blown fuse indicator |
127 |
181 |
32693 |
Unused |
127 |
182 |
32694 |
Fuse flags |
127 |
183 |
32695 |
Index of the current message in the message queue |
127 |
184 |
32696 |
Message queue |
127 |
192 |
32704 |
Bullet buffer 1 |
127 |
196 |
32708 |
Bullet buffer 2 |
127 |
200 |
32712 |
Last value seen in the system variable FRAMES |
127 |
201 |
32713 |
Current disguise |
127 |
202 |
32714 |
Number string buffer |
127 |
208 |
32720 |
Message 1: '{tens digit}/{name}' |
127 |
210 |
32722 |
Message number to watch in the message queue |
127 |
211 |
32723 |
ID of the telephone Sam is holding |
127 |
212 |
32724 |
Time when the score was last incremented |
127 |
214 |
32726 |
Unused |
127 |
219 |
32731 |
Location the police should head for when looking for Sam |
127 |
222 |
32734 |
Random number seed |
127 |
224 |
32736 |
Unused |
127 |
231 |
32743 |
Bullet timer |
127 |
232 |
32744 |
Disguise status flags |
127 |
233 |
32745 |
Object inventory |
127 |
234 |
32746 |
Key inventory |
127 |
235 |
32747 |
Police flags |
127 |
236 |
32748 |
High score |
127 |
238 |
32750 |
Game mode indicator |
127 |
239 |
32751 |
Lives (first aid kits) |
127 |
240 |
32752 |
Door status flags |
127 |
250 |
32762 |
Input device indicator |
127 |
251 |
32763 |
Number of the character just moved (215-229) |
127 |
252 |
32764 |
Sam's status flags |
127 |
253 |
32765 |
Last key pressed |
127 |
254 |
32766 |
x-coordinate of the leftmost column of the play area on screen |
127 |
255 |
32767 |
y-coordinate of the topmost row of the play area on screen |
128 |
0 |
32768 |
Play area graphic data (tiles 0-255, base page 128) |
136 |
0 |
34816 |
Play area graphic data (tiles 0-255, base page 136) |
144 |
0 |
36864 |
Play area graphic data (tiles 0-255, base page 144) |
152 |
0 |
38912 |
Play area graphic data (tiles 0-255, base page 152) |
160 |
0 |
40960 |
Play area graphic data (tiles 0-20, base page 160, byte 1/8) |
160 |
21 |
40981 |
Mask value 1/8 |
160 |
22 |
40982 |
Special location handler routine address |
160 |
24 |
40984 |
Unused (1 byte) |
160 |
25 |
40985 |
Direction indicators for a character facing left and going left |
160 |
28 |
40988 |
T values (6|y) |
160 |
30 |
40990 |
Play area tile back buffer byte 1/8 |
160 |
31 |
40991 |
T values (6|y) |
161 |
0 |
41216 |
Play area graphic data (tiles 0-20, base page 160, byte 2/8) |
161 |
21 |
41237 |
Mask value 2/8 |
161 |
22 |
41238 |
Special location handler routine address |
161 |
24 |
41240 |
Unused (1 byte) |
161 |
25 |
41241 |
Direction indicators for a character facing right and going right |
161 |
28 |
41244 |
T' values (6|y) |
161 |
30 |
41246 |
Play area tile back buffer byte 2/8 |
161 |
31 |
41247 |
T' values (6|y) |
162 |
0 |
41472 |
Play area graphic data (tiles 0-20, base page 160, byte 3/8) |
162 |
21 |
41493 |
Mask value 3/8 |
162 |
22 |
41494 |
Special location handler routine address |
162 |
24 |
41496 |
Direction indicators for a character facing left and going up |
162 |
28 |
41500 |
T values (6|y-1) |
162 |
30 |
41502 |
Play area tile back buffer byte 3/8 |
162 |
31 |
41503 |
T values (6|y-1) |
163 |
0 |
41728 |
Play area graphic data (tiles 0-20, base page 160, byte 4/8) |
163 |
21 |
41749 |
Mask value 4/8 |
163 |
22 |
41750 |
Special location handler routine address |
163 |
24 |
41752 |
Direction indicators for a character facing right and going up |
163 |
28 |
41756 |
T' values (6|y-1) |
163 |
30 |
41758 |
Play area tile back buffer byte 4/8 |
163 |
31 |
41759 |
T' values (6|y-1) |
164 |
0 |
41984 |
Play area graphic data (tiles 0-20, base page 160, byte 5/8) |
164 |
21 |
42005 |
Mask value 5/8 |
164 |
22 |
42006 |
Special location handler routine address |
164 |
24 |
42008 |
Direction indicators for a character facing left and going down |
164 |
28 |
42012 |
T values (6|y-2) |
164 |
30 |
42014 |
Play area tile back buffer byte 5/8 |
164 |
31 |
42015 |
T values (6|y-2) |
165 |
0 |
42240 |
Play area graphic data (tiles 0-20, base page 160, byte 6/8) |
165 |
21 |
42261 |
Mask value 6/8 |
165 |
22 |
42262 |
Special location handler routine address |
165 |
24 |
42264 |
Direction indicators for a character facing right and going down |
165 |
28 |
42268 |
T' values (6|y-2) |
165 |
30 |
42270 |
Play area tile back buffer byte 6/8 |
165 |
31 |
42271 |
T' values (6|y-2) |
166 |
0 |
42496 |
Play area graphic data (tiles 0-20, base page 160, byte 7/8) |
166 |
21 |
42517 |
Mask value 7/8 |
166 |
22 |
42518 |
Special location handler routine address |
166 |
24 |
42520 |
Unused (4 bytes) |
166 |
28 |
42524 |
T values (6|y-3) |
166 |
30 |
42526 |
Play area tile back buffer byte 7/8 |
166 |
31 |
42527 |
T values (6|y-3) |
167 |
0 |
42752 |
Play area graphic data (tiles 0-20, base page 160, byte 8/8) |
167 |
21 |
42773 |
Mask value 8/8 |
167 |
22 |
42774 |
Unused (6 bytes) |
167 |
28 |
42780 |
T' values (6|y-3) |
167 |
30 |
42782 |
Play area tile back buffer byte 8/8 |
167 |
31 |
42783 |
T' values (6|y-3) |
168 |
0 |
43008 |
Play area attribute data |
168 |
28 |
43036 |
T values (6|y-4) |
168 |
30 |
43038 |
Play area tile back buffer attribute byte |
168 |
31 |
43039 |
T values (6|y-4) |
169 |
0 |
43264 |
Play area attribute data |
169 |
28 |
43292 |
T' values (6|y-4) |
169 |
30 |
43294 |
Unused (1 byte) |
169 |
31 |
43295 |
T' values (6|y-4) |
170 |
0 |
43520 |
Play area attribute data |
170 |
28 |
43548 |
T values (6|y-5) |
170 |
30 |
43550 |
Unused (1 byte) |
170 |
31 |
43551 |
T values (6|y-5) |
171 |
0 |
43776 |
Play area attribute data |
171 |
28 |
43804 |
T' values (6|y-5) |
171 |
30 |
43806 |
Unused (1 byte) |
171 |
31 |
43807 |
T' values (6|y-5) |
172 |
0 |
44032 |
T values (6|y) |
173 |
0 |
44288 |
T' values (6|y) |
174 |
0 |
44544 |
T values (6|y-1) |
175 |
0 |
44800 |
T' values (6|y-1) |
176 |
0 |
45056 |
T values (6|y-2) |
177 |
0 |
45312 |
T' values (6|y-2) |
178 |
0 |
45568 |
T values (6|y-3) |
179 |
0 |
45824 |
T' values (6|y-3) |
180 |
0 |
46080 |
T values (6|y-4) |
181 |
0 |
46336 |
T' values (6|y-4) |
182 |
0 |
46592 |
T values (6|y-5) |
183 |
0 |
46848 |
T' values (6|y-5) |
184 |
0 |
47104 |
Z values (0<=y<=5) |
184 |
32 |
47136 |
Play area tile attribute address LSBs (0<=y<=5) |
184 |
64 |
47168 |
Window flags (0<=y<=5) |
184 |
96 |
47200 |
Location descriptors (x-coordinate 66) |
184 |
101 |
47205 |
Unused (2 bytes) |
184 |
103 |
47207 |
Location descriptors (x-coordinate 67) |
184 |
108 |
47212 |
Unused (4 bytes) |
184 |
112 |
47216 |
Location descriptors (x-coordinate 68) |
184 |
119 |
47223 |
Unused (2 bytes) |
184 |
121 |
47225 |
Location descriptors (x-coordinate 69) |
184 |
126 |
47230 |
Unused (2 bytes) |
184 |
128 |
47232 |
Z'' values (8|x) |
184 |
230 |
47334 |
Location descriptors (x-coordinates 13, 197) |
184 |
247 |
47351 |
Location descriptor (x-coordinate 38) |
184 |
250 |
47354 |
Location descriptors (x-coordinates 40, 112, 208) |
185 |
0 |
47360 |
Z values (6<=y<=11) |
185 |
32 |
47392 |
Play area tile attribute address LSBs (6<=y<=11) |
185 |
64 |
47424 |
5th floor window flags (6<=y<=11) |
185 |
96 |
47456 |
Location descriptors (x-coordinate 91) |
185 |
105 |
47465 |
Unused (2 bytes) |
185 |
107 |
47467 |
Location descriptors (x-coordinate 90) |
185 |
116 |
47476 |
Unused (4 bytes) |
185 |
120 |
47480 |
Location descriptors (x-coordinate 76) |
185 |
126 |
47486 |
Unused (2 bytes) |
185 |
128 |
47488 |
Z'' values (8|x-1) |
185 |
230 |
47590 |
Location descriptors (x-coordinates 22, 149, 205, 222) |
185 |
247 |
47607 |
Location descriptors (x-coordinate 39) |
185 |
254 |
47614 |
Unused (2 bytes) |
186 |
0 |
47616 |
Z values (12<=y<=17) |
186 |
32 |
47648 |
Play area tile attribute address LSBs (12<=y<=17) |
186 |
64 |
47680 |
4th floor window flags (12<=y<=17) |
186 |
96 |
47712 |
Location descriptor (x-coordinate 74) |
186 |
100 |
47716 |
Location descriptors (x-coordinate 77) |
186 |
106 |
47722 |
Location descriptors (x-coordinate 81) |
186 |
114 |
47730 |
Location descriptors (x-coordinate 78) |
186 |
119 |
47735 |
Unused (3 bytes) |
186 |
122 |
47738 |
Location descriptors (x-coordinate 82) |
186 |
128 |
47744 |
Z'' values (8|x-2) |
186 |
230 |
47846 |
Location descriptors (x-coordinates 32, 57, 103, 125, 150, 207) |
186 |
243 |
47859 |
Unused (1 byte) |
186 |
244 |
47860 |
Location descriptors (x-coordinates 53, 62, 100, 254) |
187 |
0 |
47872 |
Z values (18<=y<=23) |
187 |
32 |
47904 |
Play area tile attribute address LSBs (18<=y<=23) |
187 |
64 |
47936 |
3rd floor window flags (18<=y<=23) |
187 |
96 |
47968 |
Unused (2 bytes) |
187 |
98 |
47970 |
Location descriptors (x-coordinate 92) |
187 |
103 |
47975 |
Unused (17 bytes) |
187 |
120 |
47992 |
Location descriptor (x-coordinate 83) |
187 |
124 |
47996 |
Location descriptor (x-coordinate 86) |
187 |
128 |
48000 |
Z'' values (8|x-3) |
187 |
230 |
48102 |
Location descriptors (x-coordinates 43, 115, 211) |
187 |
250 |
48122 |
Unused (6 bytes) |
188 |
0 |
48128 |
Z values (24<=y<=29) |
188 |
32 |
48160 |
Play area tile attribute address LSBs (24<=y<=29) |
188 |
64 |
48192 |
2nd floor window flags (24<=y<=29) |
188 |
96 |
48224 |
Unused (14 bytes) |
188 |
110 |
48238 |
Location descriptors (x-coordinate 75) |
188 |
116 |
48244 |
Unused (12 bytes) |
188 |
128 |
48256 |
Z'' values (8|x-4) |
188 |
230 |
48358 |
Location descriptors (x-coordinates 42, 114, 210) |
188 |
248 |
48376 |
Unused (4 bytes) |
188 |
252 |
48380 |
Location descriptor (x-coordinate 71) |
189 |
0 |
48384 |
Z values (30<=y<=35) |
189 |
32 |
48416 |
Play area tile attribute address LSBs (30<=y<=35) |
189 |
64 |
48448 |
1st floor window flags (30<=y<=35) |
189 |
96 |
48480 |
Location descriptors (x-coordinates 126, 151, 182, 183) |
189 |
107 |
48491 |
Unused (10 bytes) |
189 |
117 |
48501 |
Location descriptor (x-coordinate 118) |
189 |
121 |
48505 |
Unused (2 bytes) |
189 |
123 |
48507 |
Location descriptor (x-coordinate 124) |
189 |
127 |
48511 |
Unused (1 byte) |
189 |
128 |
48512 |
Z'' values (8|x-5) |
189 |
230 |
48614 |
Location descriptors (x-coordinates 41, 113, 209) |
189 |
241 |
48625 |
Unused (15 bytes) |
190 |
0 |
48640 |
Z values (36<=y<=41) |
190 |
32 |
48672 |
Play area tile attribute address LSBs (36<=y<=41) |
190 |
64 |
48704 |
Window flags (36<=y<=41) |
190 |
96 |
48736 |
Location descriptors (x-coordinates 45, 117, 213) |
190 |
119 |
48759 |
Location descriptors (x-coordinate 135) |
190 |
128 |
48768 |
Z'' values (8|x-6) |
190 |
230 |
48870 |
Location descriptors (x-coordinates 44, 116, 212) |
190 |
253 |
48893 |
Location descriptor (x-coordinate 133) |
191 |
0 |
48896 |
Z' values |
191 |
101 |
48997 |
Unused (1 byte) |
191 |
102 |
48998 |
Location descriptor (x-coordinate 80) |
191 |
105 |
49001 |
Unused (1 byte) |
191 |
106 |
49002 |
Location descriptor (x-coordinate 65) |
191 |
109 |
49005 |
Unused (4 bytes) |
191 |
113 |
49009 |
Location descriptors (x-coordinate 190) |
191 |
126 |
49022 |
Unused (2 bytes) |
191 |
128 |
49024 |
Z'' values (8|x-7) |
191 |
230 |
49126 |
Location descriptors (x-coordinate 88) |
191 |
237 |
49133 |
Location descriptors (x-coordinate 89) |
191 |
248 |
49144 |
Unused (2 bytes) |
191 |
250 |
49146 |
Location descriptors (x-coordinate 79) |
191 |
255 |
49151 |
Unused (1 byte) |
192 |
0 |
49152 |
Play area foreground tile references |
192 |
254 |
49406 |
Unused (2 bytes) |
193 |
0 |
49408 |
Play area foreground tile references |
193 |
254 |
49662 |
Unused (3 bytes) |
194 |
1 |
49665 |
Location descriptors (x-coordinate 136) |
194 |
20 |
49684 |
Location descriptors (x-coordinate 137) |
194 |
44 |
49708 |
Unused (2 bytes) |
194 |
46 |
49710 |
Location descriptors (x-coordinate 138) |
194 |
66 |
49730 |
Unused (1 byte) |
194 |
67 |
49731 |
Location descriptors (x-coordinate 139) |
194 |
78 |
49742 |
Unused (10 bytes) |
194 |
88 |
49752 |
Location descriptors (x-coordinate 148) |
194 |
93 |
49757 |
Location descriptors (x-coordinates 152, 232, 248) |
194 |
98 |
49762 |
Unused (2 bytes) |
194 |
100 |
49764 |
Location descriptors (x-coordinates 153, 233, 249) |
194 |
113 |
49777 |
Unused (1 byte) |
194 |
114 |
49778 |
Location descriptors (x-coordinates 154, 234, 250) |
194 |
127 |
49791 |
Unused (1 byte) |
194 |
128 |
49792 |
Location descriptors (x-coordinate 155, 235, 251) |
194 |
152 |
49816 |
Unused (1 byte) |
194 |
153 |
49817 |
Location descriptors (x-coordinates 156, 236, 252) |
194 |
177 |
49841 |
Unused (1 byte) |
194 |
178 |
49842 |
Location descriptors (x-coordinates 157, 237, 253) |
194 |
187 |
49851 |
Location descriptors (x-coordinates 158, 238) |
194 |
198 |
49862 |
Unused (2 bytes) |
194 |
200 |
49864 |
Location descriptors (x-coordinate 181) |
194 |
212 |
49876 |
Location descriptors (x-coordinate 175) |
194 |
225 |
49889 |
Unused (1 byte) |
194 |
226 |
49890 |
Location descriptors (x-coordinate 177) |
194 |
238 |
49902 |
Unused (1 byte) |
194 |
239 |
49903 |
Location descriptors (x-coordinate 178) |
194 |
248 |
49912 |
Unused (1 byte) |
194 |
249 |
49913 |
Location descriptors (x-coordinate 15) |
195 |
0 |
49920 |
Unused (1 byte) |
195 |
1 |
49921 |
Location descriptors (x-coordinate 179) |
195 |
12 |
49932 |
Location descriptors (x-coordinate 180) |
195 |
25 |
49945 |
Location descriptors (x-coordinate 184) |
195 |
32 |
49952 |
Location descriptors (most x-coordinates) |
195 |
48 |
49968 |
Keypress offset table |
195 |
128 |
50048 |
Location descriptors (x-coordinates 223, 239) |
195 |
145 |
50065 |
Location descriptor (x-coordinate 225) |
195 |
148 |
50068 |
Location descriptor (x-coordinate 226) |
195 |
151 |
50071 |
Unused (1 byte) |
195 |
152 |
50072 |
Location descriptors (x-coordinates 7, 231, 247) |
195 |
164 |
50084 |
Location descriptor (x-coordinates 6, 230, 246) |
195 |
167 |
50087 |
Location descriptor (x-coordinates 9, 193) |
195 |
170 |
50090 |
Location descriptors (x-coordinates 11, 195) |
195 |
190 |
50110 |
Location descriptors (x-coordinates 10, 194) |
195 |
201 |
50121 |
Location descriptors (x-coordinates 12, 196) |
195 |
213 |
50133 |
Location descriptors (x-coordinates 16, 224, 240) |
195 |
219 |
50139 |
Location descriptors (x-coordinates 14, 30, 198) |
195 |
242 |
50162 |
Location descriptor (x-coordinates 21, 147, 204) |
195 |
245 |
50165 |
Location descriptor (x-coordinates 23, 206) |
195 |
249 |
50169 |
Unused (7 bytes) |
196 |
0 |
50176 |
Location descriptors (all x-coordinates, z=4) |
197 |
0 |
50432 |
Location descriptor address LSBs |
198 |
0 |
50688 |
Location descriptor address MSBs |
199 |
0 |
50944 |
Sprite tile graphic data (UDG byte 1/8) |
200 |
0 |
51200 |
Sprite tile graphic data (mask byte 1/8) |
201 |
0 |
51456 |
Sprite tile graphic data (UDG byte 2/8) |
202 |
0 |
51712 |
Sprite tile graphic data (mask byte 2/8) |
203 |
0 |
51968 |
Sprite tile graphic data (UDG byte 3/8) |
204 |
0 |
52224 |
Sprite tile graphic data (mask byte 3/8) |
205 |
0 |
52480 |
Sprite tile graphic data (UDG byte 4/8) |
206 |
0 |
52736 |
Sprite tile graphic data (mask byte 4/8) |
207 |
0 |
52992 |
Sprite tile graphic data (UDG byte 5/8) |
208 |
0 |
53248 |
Sprite tile graphic data (mask byte 5/8) |
209 |
0 |
53504 |
Sprite tile graphic data (UDG byte 6/8) |
210 |
0 |
53760 |
Sprite tile graphic data (mask byte 6/8) |
211 |
0 |
54016 |
Sprite tile graphic data (UDG byte 7/8) |
212 |
0 |
54272 |
Sprite tile graphic data (mask byte 7/8) |
213 |
0 |
54528 |
Sprite tile graphic data (UDG byte 8/8) |
214 |
0 |
54784 |
Sprite tile graphic data (mask byte 8/8) |
215 |
0 |
55040 |
Character buffers for character group 215 |
215 |
125 |
55165 |
Unused (1 byte) |
215 |
126 |
55166 |
Sprite tile references (tile 0, animatory states 0-127) and graphic data (UDG byte 1/8) |
216 |
0 |
55296 |
Character buffers for character group 216 |
216 |
125 |
55421 |
Unused (1 byte) |
216 |
126 |
55422 |
Sprite tile references (tile 1, animatory states 0-127) and graphic data (mask byte 1/8) |
217 |
0 |
55552 |
Character buffers for character group 217 |
217 |
125 |
55677 |
Unused (1 byte) |
217 |
126 |
55678 |
Sprite tile references (tile 2, animatory states 0-127) and graphic data (UDG byte 2/8) |
218 |
0 |
55808 |
Character buffers for character group 218 |
218 |
125 |
55933 |
Unused (1 byte) |
218 |
126 |
55934 |
Sprite tile references (tile 3, animatory states 0-127) and graphic data (mask byte 2/8) |
219 |
0 |
56064 |
Character buffers for character group 219 |
219 |
125 |
56189 |
Unused (1 byte) |
219 |
126 |
56190 |
Sprite tile references (tile 4, animatory states 0-119) and graphic data (UDG byte 3/8) |
219 |
248 |
56312 |
Unused (8 bytes) |
220 |
0 |
56320 |
Character buffers for character group 220 |
220 |
125 |
56445 |
Unused (1 byte) |
220 |
126 |
56446 |
Sprite tile references (tile 5, animatory states 0-119) and graphic data (mask byte 3/8) |
220 |
248 |
56568 |
Unused (8 bytes) |
221 |
0 |
56576 |
Character buffers for character group 221 |
221 |
125 |
56701 |
Unused (1 byte) |
221 |
126 |
56702 |
Sprite tile references (tile 6, animatory states 0-119) and graphic data (UDG byte 4/8) |
221 |
248 |
56824 |
Unused (8 bytes) |
222 |
0 |
56832 |
Character buffer for character 222 |
222 |
32 |
56864 |
Initialisation parameters for character 222 |
222 |
62 |
56894 |
Sprite tile references used by Sam in disguise |
222 |
78 |
56910 |
Unused (48 bytes) |
222 |
126 |
56958 |
Sprite tile references (tile 7, animatory states 0-119) and graphic data (mask byte 4/8) |
222 |
248 |
57080 |
Unused (8 bytes) |
223 |
0 |
57088 |
Character buffer for character 223 |
223 |
32 |
57120 |
Initialisation parameters for character 223 |
223 |
62 |
57150 |
Sprite tile references for Sam in disguise 0 |
223 |
77 |
57165 |
Unused (3 bytes) |
223 |
80 |
57168 |
Sprite tile graphic data for Sam in disguise (byte pairs 1/8) |
223 |
126 |
57214 |
Sprite tile references (tile 8, animatory states 0-119) and graphic data (UDG byte 5/8) |
223 |
248 |
57336 |
Unused (8 bytes) |
224 |
0 |
57344 |
Character buffer for character 224 |
224 |
32 |
57376 |
Initialisation parameters for character 224 |
224 |
62 |
57406 |
Sprite tile references for Sam in disguise 1 |
224 |
77 |
57421 |
Unused (3 bytes) |
224 |
80 |
57424 |
Sprite tile graphic data for Sam in disguise (byte pairs 2/8) |
224 |
126 |
57470 |
Sprite tile references (tile 9, animatory states 0-119) and graphic data (mask byte 5/8) |
224 |
248 |
57592 |
Unused (8 bytes) |
225 |
0 |
57600 |
Character buffer for character 225 |
225 |
32 |
57632 |
Initialisation parameters for character 225 |
225 |
62 |
57662 |
Sprite tile references for Sam in disguise 2 |
225 |
77 |
57677 |
Unused (3 bytes) |
225 |
80 |
57680 |
Sprite tile graphic data for Sam in disguise (byte pairs 3/8) |
225 |
126 |
57726 |
Sprite tile references (tile 10, animatory states 0-119) and graphic data (UDG byte 6/8) |
225 |
248 |
57848 |
Unused (8 bytes) |
226 |
0 |
57856 |
Character buffer for character 226 |
226 |
32 |
57888 |
Initialisation parameters for character 226 |
226 |
62 |
57918 |
Sprite tile references for Sam in disguise 3 |
226 |
77 |
57933 |
Unused (3 bytes) |
226 |
80 |
57936 |
Sprite tile graphic data for Sam in disguise (byte pairs 4/8) |
226 |
126 |
57982 |
Sprite tile references (tile 11, animatory states 0-119) and graphic data (mask byte 6/8) |
226 |
248 |
58104 |
Unused (8 bytes) |
227 |
0 |
58112 |
Character buffer for character 227 |
227 |
32 |
58144 |
Initialisation parameters for character 227 |
227 |
62 |
58174 |
Sprite tile references for Sam in disguise 4 |
227 |
77 |
58189 |
Unused (3 bytes) |
227 |
80 |
58192 |
Sprite tile graphic data for Sam in disguise (byte pairs 5/8) |
227 |
126 |
58238 |
Sprite tile references (tile 12, animatory states 0-119) and graphic data (UDG byte 7/8) |
227 |
248 |
58360 |
Unused (8 bytes) |
228 |
0 |
58368 |
Character buffer for character 228 |
228 |
32 |
58400 |
Initialisation parameters for character 228 |
228 |
62 |
58430 |
Sprite tile references for Sam in disguise 5 |
228 |
77 |
58445 |
Unused (3 bytes) |
228 |
80 |
58448 |
Sprite tile graphic data for Sam in disguise (byte pairs 6/8) |
228 |
126 |
58494 |
Sprite tile references (tile 13, animatory states 0-119) and graphic data (mask byte 7/8) |
228 |
248 |
58616 |
Unused (8 bytes) |
229 |
0 |
58624 |
Character buffer for character 229 |
229 |
32 |
58656 |
Initialisation parameters for character 229 |
229 |
62 |
58686 |
Sprite tile references for Sam in disguise 6 |
229 |
77 |
58701 |
Unused (3 bytes) |
229 |
80 |
58704 |
Sprite tile graphic data for Sam in disguise (byte pairs 7/8) |
229 |
126 |
58750 |
Sprite tile references (tile 14, animatory states 0-119) and graphic data (UDG byte 8/8) |
229 |
248 |
58872 |
Unused (8 bytes) |
230 |
0 |
58880 |
Character buffer for Sam |
230 |
32 |
58912 |
Initialisation parameters for Sam |
230 |
62 |
58942 |
Sprite tile references for Sam in disguise 7 |
230 |
77 |
58957 |
Unused (3 bytes) |
230 |
80 |
58960 |
Sprite tile graphic data for Sam in disguise (byte pairs 8/8) |
230 |
126 |
59006 |
Sprite tile graphic data (mask byte 8/8) |
230 |
241 |
59121 |
Unused (15 bytes) |
231 |
0 |
59136 |
Copy a play area tile into the back buffer |
231 |
12 |
59148 |
Print a tile |
231 |
230 |
59366 |
Unused (2 bytes) |
231 |
232 |
59368 |
Move a row of the screen left, right, up or down |
232 |
13 |
59405 |
Unused (1 byte) |
232 |
14 |
59406 |
Scroll the screen left 8 columns |
232 |
66 |
59458 |
Unused (3 bytes) |
232 |
69 |
59461 |
Scroll the screen right 8 columns |
232 |
121 |
59513 |
Unused (3 bytes) |
232 |
124 |
59516 |
Scroll the screen up 6 rows |
232 |
180 |
59572 |
Unused (3 bytes) |
232 |
183 |
59575 |
Scroll the screen down 6 rows |
232 |
240 |
59632 |
Unused (3 bytes) |
232 |
243 |
59635 |
Superimpose sprite tiles onto a tile of the play area |
233 |
191 |
59839 |
Unused (9 bytes) |
233 |
200 |
59848 |
Update the SRB for a character's current animatory state and location |
233 |
213 |
59861 |
Update a character's animatory state and location and update the SRB |
234 |
128 |
60032 |
Update the display |
234 |
178 |
60082 |
Get the keypress offset of the last key pressed (1) |
234 |
216 |
60120 |
Unused (1 byte) |
234 |
217 |
60121 |
Get the ASCII code of the last key pressed |
234 |
237 |
60141 |
Unused (5 bytes) |
234 |
242 |
60146 |
Get the keypress offset of the last key pressed (2) |
234 |
248 |
60152 |
Check whether a character is on the sidewalk or road |
235 |
19 |
60179 |
Obtain descriptors for a character's current location |
235 |
131 |
60291 |
Unused (2 bytes) |
235 |
133 |
60293 |
Make a character stand up if he's lying down |
235 |
155 |
60315 |
Make a character move up |
235 |
160 |
60320 |
Make a character move down |
235 |
174 |
60334 |
Make a character move right |
235 |
187 |
60347 |
Make a character move left |
236 |
88 |
60504 |
Unused (2 bytes) |
236 |
90 |
60506 |
Move a character from the midstride or mid-action position and update the SRB |
236 |
105 |
60521 |
Make a sound effect |
236 |
123 |
60539 |
Move Sam from the midstride or mid-action position and scroll the screen if necessary |
236 |
208 |
60624 |
Unused (2 bytes) |
236 |
210 |
60626 |
'Q' pressed - up |
236 |
215 |
60631 |
'A' pressed - down |
236 |
220 |
60636 |
'P' pressed - right |
236 |
225 |
60641 |
'O' pressed - left |
236 |
253 |
60669 |
Unused (3 bytes) |
237 |
0 |
60672 |
Addresses of keypress handling routines |
237 |
42 |
60714 |
Unused (6 bytes) |
237 |
48 |
60720 |
Obtain location descriptors for a character standing next to a closed door |
237 |
54 |
60726 |
Obtain an identifier for a character's current location |
237 |
138 |
60810 |
Unused (2 bytes) |
237 |
140 |
60812 |
Determine the next move a character should make to reach his destination |
239 |
2 |
61186 |
Unused (8 bytes) |
239 |
10 |
61194 |
Region identifier tables |
240 |
0 |
61440 |
Perform various main loop tasks |
240 |
26 |
61466 |
Unused (17 bytes) |
240 |
43 |
61483 |
Main loop |
240 |
127 |
61567 |
Unused (1 byte) |
240 |
128 |
61568 |
Update the icon panel, draw the bullets, and scan the event table |
240 |
157 |
61597 |
Unused (3 bytes) |
240 |
160 |
61600 |
Start (continued) |
240 |
163 |
61603 |
Populate pages 126 and 127 (unused) |
240 |
172 |
61612 |
Start the game (unused) |
240 |
178 |
61618 |
Return to BASIC (unused) |
240 |
190 |
61630 |
End a cutscene |
240 |
249 |
61689 |
Unused (7 bytes) |
241 |
0 |
61696 |
Open or close a door and update the screen refresh buffer |
241 |
68 |
61764 |
Close any doors that need closing |
241 |
94 |
61790 |
Unused (1 byte) |
241 |
95 |
61791 |
Collect one byte from a command list |
241 |
113 |
61809 |
Copy two bytes from a command list into a character's buffer |
241 |
127 |
61823 |
Get a random number |
241 |
142 |
61838 |
Cycle a character buffer group forwards and scroll the screen right 8 columns |
241 |
186 |
61882 |
Cycle a character buffer group backwards and scroll the screen left 8 columns |
241 |
227 |
61923 |
Check for keypresses when Sam is on the phone |
241 |
252 |
61948 |
Move the characters |
242 |
128 |
62080 |
Terminate a command |
242 |
147 |
62099 |
Check whether the door that a character is standing next to is closed |
242 |
167 |
62119 |
Unused (1 byte) |
242 |
168 |
62120 |
Check whether a character can open a door |
242 |
221 |
62173 |
Unused (4 bytes) |
242 |
225 |
62177 |
Key ownership flags |
242 |
240 |
62192 |
'K' pressed - knock on or open a door |
243 |
4 |
62212 |
Make Sam raise his arm |
243 |
8 |
62216 |
Deal with Sam when he has knocked on or is opening a door |
243 |
54 |
62262 |
Unused (2 bytes) |
243 |
56 |
62264 |
Make a character knock on a door or open it with a key |
243 |
70 |
62278 |
Control a character who is knocking on or opening a door (1) |
243 |
89 |
62297 |
Control a character who has knocked on a door and is waiting for an answer |
243 |
117 |
62325 |
Control a character who is knocking on or opening a door (2) |
243 |
131 |
62339 |
Control a character who is knocking on or opening a door (3) |
243 |
155 |
62363 |
Unused (5 bytes) |
243 |
160 |
62368 |
Update the SRB for a window |
244 |
1 |
62465 |
Unused (3 bytes) |
244 |
4 |
62468 |
Decrement and check the blown fuse delay counters |
244 |
54 |
62518 |
Check whether a character is standing next to a light switch |
244 |
133 |
62597 |
Make a character flip a light switch off or on occasionally |
244 |
230 |
62694 |
Make a character flip a light switch on or off occasionally |
244 |
251 |
62715 |
Unused (5 bytes) |
245 |
0 |
62720 |
Fixture locations |
245 |
160 |
62880 |
Make a character flip a light switch off occasionally |
245 |
172 |
62892 |
Guide a character up or down staircases |
245 |
205 |
62925 |
Unused (1 byte) |
245 |
206 |
62926 |
Guide a character across a floor to his destination |
245 |
246 |
62966 |
Make a character consider switching a light off (unused) |
245 |
251 |
62971 |
Guide a character from one spot on the sidewalk or road to another |
246 |
0 |
62976 |
Make a character go to a location |
246 |
134 |
63110 |
Make a character stop running and restart the command list |
246 |
141 |
63117 |
Unused (1 byte) |
246 |
142 |
63118 |
Check whether a gangster is midstride or has his arm raised |
246 |
152 |
63128 |
Check whether a character is midstride |
246 |
161 |
63137 |
Unused (1 byte) |
246 |
162 |
63138 |
Calculate the x-coordinate of the front column of a character's sprite |
246 |
176 |
63152 |
Check whether a character is standing next to a light switch or window blind |
246 |
220 |
63196 |
Unused (2 bytes) |
246 |
222 |
63198 |
Restart the command list |
246 |
229 |
63205 |
Unused (4 bytes) |
246 |
233 |
63209 |
Make a character walk up or down |
247 |
49 |
63281 |
Make a character drop Sam |
247 |
72 |
63304 |
Make a character walk up and down until somebody knocks on a door |
247 |
154 |
63386 |
Initialise a cat's interruptible subcommand |
247 |
171 |
63403 |
Initialise and execute an interruptible subcommand |
247 |
176 |
63408 |
Unused (1 byte) |
247 |
177 |
63409 |
Change the primary command routine address |
247 |
191 |
63423 |
Make a character open a door that has been knocked on |
247 |
205 |
63437 |
Open a door |
247 |
218 |
63450 |
Collect the window flags for a play area location |
247 |
240 |
63472 |
Initialise the character buffers for character groups 215-221 |
248 |
31 |
63519 |
Unused (1 byte) |
248 |
32 |
63520 |
Make a character walk up and down for a while |
248 |
42 |
63530 |
Control a cat |
248 |
70 |
63558 |
Make a cat run up or down |
248 |
126 |
63614 |
Initialise the character buffers for characters 222-230 |
248 |
174 |
63662 |
Prepare for demo mode or a new game |
249 |
5 |
63749 |
Check whether a character is in the correct spot to enter a building |
249 |
30 |
63774 |
Check whether a character should enter a building or knock first |
249 |
40 |
63784 |
Prepare the sprite tiles used by a character when lying down |
249 |
93 |
63837 |
Unused (1 byte) |
249 |
94 |
63838 |
Change Sam's disguise |
249 |
209 |
63953 |
Unused (1 byte) |
249 |
210 |
63954 |
Knock a character over |
249 |
237 |
63981 |
Initialise an uninterruptible subcommand if possible |
249 |
250 |
63994 |
Initialise an uninterruptible subcommand |
250 |
4 |
64004 |
Unused (1 byte) |
250 |
5 |
64005 |
Deal with a character who has been knocked over |
250 |
121 |
64121 |
Check whether there are any messages remaining in the message queue |
250 |
130 |
64130 |
Unused (1 byte) |
250 |
131 |
64131 |
Deal with a character who has nearly recovered from being knocked over |
250 |
162 |
64162 |
Check whether a falling character has hit anyone on the head |
250 |
216 |
64216 |
Unused (2 bytes) |
250 |
218 |
64218 |
'D' pressed - change disguise |
250 |
227 |
64227 |
Move a falling character to the next point in his descent |
251 |
67 |
64323 |
Unused (3 bytes) |
251 |
70 |
64326 |
Landing y-coordinates |
251 |
75 |
64331 |
Control a character who has stepped off the roof of a building |
251 |
82 |
64338 |
Deal with a character who is about to step off the roof of a building |
252 |
0 |
64512 |
Deal with a character who is stepping onto or over the roof of no. 19 |
252 |
37 |
64549 |
Add or remove the rope above the roof of no. 19 |
252 |
67 |
64579 |
Unused (3 bytes) |
252 |
70 |
64582 |
Generate the table of mirrored values of 0-255 |
252 |
87 |
64599 |
Hide the play area |
252 |
106 |
64618 |
Scroll the screen up and down 7 times |
252 |
226 |
64738 |
Unused (2 bytes) |
252 |
228 |
64740 |
Make a sound effect |
252 |
242 |
64754 |
Unused (2 bytes) |
252 |
244 |
64756 |
Command list: Patrol duty |
252 |
252 |
64764 |
Command list: Jail cell duty |
253 |
12 |
64780 |
Region definitions used by the gangster on the catwalk |
253 |
22 |
64790 |
Command list: Keep guard on the catwalk |
253 |
38 |
64806 |
Region definitions used by Al at no. 74 |
253 |
48 |
64816 |
Command list: Guard the hook at no. 74 |
253 |
68 |
64836 |
Region definitions used by the gangster at no. 19 |
253 |
78 |
64846 |
Command list: Keep guard at no. 19 |
253 |
100 |
64868 |
Region definitions used by the gangster in game mode 4 |
253 |
110 |
64878 |
Command list: Chase Sam for ever |
253 |
118 |
64886 |
Command list: Control a banknote |
253 |
120 |
64888 |
Command list: Control a banknote (unless Sam's got the hook) |
253 |
122 |
64890 |
Command list: Control the sniper |
253 |
124 |
64892 |
Region definitions used by the gangster outside the police station |
253 |
134 |
64902 |
Command list: Keep guard outside the police station |
253 |
150 |
64918 |
Command list: Patrol duty (demo mode) |
253 |
160 |
64928 |
Command list: Control the fat man |
253 |
172 |
64940 |
Command list: Go to Sam's office |
253 |
180 |
64948 |
Command list: No. 31 walkabout |
253 |
196 |
64964 |
Command list: No. 15 walkabout |
253 |
208 |
64976 |
Command list: Shops walkabout |
253 |
222 |
64990 |
Unused (1 byte) |
253 |
223 |
64991 |
Command list: Hotel walkabout |
253 |
233 |
65001 |
Unused (1 byte) |
253 |
234 |
65002 |
Command list: No. 15 walkabout |
253 |
248 |
65016 |
Command list: No. 74 walkabout |
254 |
6 |
65030 |
Command list: Hotel walkabout |
254 |
10 |
65034 |
Command list: Hotel walkabout |
254 |
20 |
65044 |
Command list: Apartment building walkabout |
254 |
34 |
65058 |
Unused (1 byte) |
254 |
35 |
65059 |
Command list: Front door duty at no. 15 |
254 |
51 |
65075 |
Unused (1 byte) |
254 |
52 |
65076 |
Command list: Control Daisy |
254 |
70 |
65094 |
Unused (3 bytes) |
254 |
73 |
65097 |
Command list: Apartment building walkabout |
254 |
87 |
65111 |
Unused (1 byte) |
254 |
88 |
65112 |
Command list: Front door duty at no. 74 |
254 |
118 |
65142 |
Unused (1 byte) |
254 |
119 |
65143 |
Command list: Front door duty at no. 31 |
254 |
135 |
65159 |
Unused (11 bytes) |
254 |
146 |
65170 |
Command list: Control a cat |
254 |
148 |
65172 |
Command list: Do nothing |
254 |
150 |
65174 |
Command list: Walk up and down for ever |
254 |
154 |
65178 |
Command list: Apartment building walkabout |
254 |
160 |
65184 |
Command list: Apartment building walkabout |
254 |
174 |
65198 |
Initialisation parameters for character group 215 |
254 |
204 |
65228 |
Initialisation parameters for character group 216 |
254 |
234 |
65258 |
Initialisation parameters for character group 217 |
255 |
8 |
65288 |
Initialisation parameters for character group 218 |
255 |
38 |
65318 |
Initialisation parameters for character group 219 |
255 |
68 |
65348 |
Initialisation parameters for character group 220 |
255 |
98 |
65378 |
Initialisation parameters for character group 221 |
255 |
128 |
65408 |
Location descriptors (x-coordinate 176) |
255 |
147 |
65427 |
Unused (5 bytes) |
255 |
152 |
65432 |
Building entrance x-coordinates |
255 |
182 |
65462 |
Door locations |
255 |
192 |
65472 |
Locations affected by blown fuses |
255 |
224 |
65504 |
Game status buffer template |