Page Byte Address Description
98 112 6270
Data block at 6270
98 137 6289
Show title picture (two ninjas)
98 219 62DB
Title picture (two ninjas), RLE encoded
101 144 6590
Tile screen 0 30x17 tiles, 510 bytes - background
101 231 65E7
Start of anti-piracy message
103 142 678E
Tile screen 1 30x17 tiles, 510 bytes - update flags
105 140 698C
Tile screen 2 30x17 tiles, 510 bytes - Ninja screen
107 138 6B8A
Tile screen 3 30x17 tiles, 510 bytes - Dog screen
109 136 6D88
Tile screen 4 30x17 tiles, 510 bytes - Guard screen
111 134 6F86
Tile screen 5 30x17 tiles, 510 bytes - front
113 132 7184
Data block at 7184
113 136 7188
Blocks for rooms
113 195 71C3
Current Guard data
113 199 71C7
Data block at 71C7
113 203 71CB
Current Dog data, 9 bytes
113 212 71D4
Data block at 71D4
113 242 71F2
Sprite Dog 1
113 254 71FE
Sprite Dog 2
114 10 720A
Sprite Dog 3
114 22 7216
Sprite Dog 4
114 34 7222
Data block at 7222
114 58 723A
Mirror table
115 58 733A
Data block at 733A
115 59 733B
Table of four addresses of Ninja/Guard walking sprites
115 67 7343
Data block at 7343
115 74 734A
Proceed to the next room token (redirect to B702)
115 77 734D
Room token #0E: Put one tile at the given address; params: 3 bytes (tile, address)
115 89 7359
Room token #0D: Set border color; params: 1 byte
115 97 7361
Room token #?? - Draw frame with one tile; params: 1 byte - UNUSED
115 129 7381
Room token #01: Fill to down; params: 4 bytes (count, filler, address)
115 149 7395
Room token #0A: Fill to down-right; params: 4 bytes (count, filler, address)
115 154 739A
Room token #0B: Fill to down-left; params: 4 bytes (count, filler, address)
115 159 739F
Room token #02: Fill to right; params: 4 bytes (count, filler, address)
115 164 73A4
Room token #06: Fill triangle from wide top
115 197 73C5
Room token #07: Fill triangle from wide bottom; params: 4 bytes (filler, count, address)
115 235 73EB
Room token #08: Fill triangle from wide bottom; params: 4 bytes (filler, count, address)
115 239 73EF
Room token #09: Fill triangle from wide top
115 243 73F3
Room token #04: Fill whole Tile screen 0 with one tile; params: 1 byte (filler)
116 6 7406
Room token #05: Copy block of tiles; params: 6 bytes (width, height, srcaddr, address)
116 43 742B
Room token #0C: Copy block of tiles N times; params: 6 bytes (srcaddr, width, count, address)
116 82 7452
Room token #03: Fill rectangle; params: 5 bytes (filler, width, height, address)
116 114 7472
Routine at 7472
116 156 749C
Data block at 749C
116 158 749E
Decreasing Energy
116 205 74CD
Draw NEAR/HELD item
117 11 750B
Data block at 750B
117 27 751B
Data block at 751B
117 91 755B
Data block at 755B
117 92 755C
Data block at 755C
121 24 7918
Room procedure (for 19 rooms with a guard)
121 27 791B
Rooms 7C9C/92EF initialization
121 30 791E
Room 791E (room with pier)
121 132 7984
Blocks for rooms
121 198 79C6
Room 79C6 (next to room with pier)
122 23 7A17
Room 7A17
122 117 7A75
Room 7A75
122 158 7A9E
Room 7A9E
122 205 7ACD
Room 7ACD
122 248 7AF8
Room 7AF8
123 79 7B4F
Blocks for rooms
123 86 7B56
Room 7B56
123 144 7B90
Room 7B90
123 210 7BD2
Room 7BD2
124 12 7C0C
Blocks for rooms
124 46 7C2E
Room 7C2E
124 109 7C6D
Room 7C6D
124 154 7C9A
Blocks for rooms
124 156 7C9C
Room 7C9C
124 229 7CE5
Blocks for rooms
125 90 7D5A
Room 7D5A
125 169 7DA9
Room 7DA9
126 5 7E05
Room 7E05
126 123 7E7B
Blocks for rooms
126 140 7E8C
Room 7E8C
126 242 7EF2
Room 7EF2
127 72 7F48
Room 7F48
127 156 7F9C
Room 7F9C
127 196 7FC4
Room 7FC4
128 8 8008
Room 8008
128 118 8076
Room 8076
128 167 80A7
Room 80A7
128 246 80F6
Room 80F6
129 98 8162
Room 8162
129 227 81E3
Blocks for rooms
129 229 81E5
Room 81E5
130 56 8238
Room 8238
130 121 8279
Room 8279
130 221 82DD
Room 82DD
131 33 8321
Room 8321
131 132 8384
Room 8384
131 237 83ED
Room 83ED
132 78 844E
Room 844E
132 156 849C
Blocks for rooms
132 168 84A8
Room 84A8
132 223 84DF
Blocks for rooms
132 238 84EE
Room 84EE
133 38 8526
Room 8526
133 119 8577
Blocks for rooms
133 143 858F
Room 858F
133 189 85BD
Room 85BD
134 8 8608
Room 8608
134 137 8689
Room 8689
134 245 86F5
Blocks for rooms
134 253 86FD
Room 86FD
135 57 8739
Room 8739
135 137 8789
Blocks for rooms
135 153 8799
Room 8799
136 2 8802
Room 8802
136 52 8834
Room 8834
136 152 8898
Blocks for rooms
136 159 889F
Room 889F
137 14 890E
Room 890E
137 83 8953
Room 8953
137 185 89B9
Room 89B9
138 45 8A2D
Room 8A2D
138 129 8A81
Room 8A81
138 244 8AF4
Room 8AF4
139 37 8B25
Room 8B25
139 113 8B71
Room 8B71
139 171 8BAB
Room 8BAB
139 240 8BF0
Room 8BF0
140 90 8C5A
Room 8C5A
140 200 8CC8
Room 8CC8
141 24 8D18
Room 8D18
141 92 8D5C
Room 8D5C
141 202 8DCA
Room 8DCA (helicopter)
142 71 8E47
Blocks for rooms
142 156 8E9C
Room 8E9C
142 225 8EE1
Room 8EE1
143 32 8F20
Room 8F20
143 132 8F84
Room 8F84
143 189 8FBD
Room 8FBD
144 5 9005
Room 9005
144 83 9053
Room 9053
144 159 909F
Room 909F
144 219 90DB
Room 90DB
145 63 913F
Room 913F
145 186 91BA
Room 91BA
146 10 920A
Room 920A
146 78 924E
Room 924E
146 167 92A7
Room 92A7
146 239 92EF
Room 92EF
147 114 9372
Blocks for rooms
147 118 9376
Room 9376
147 223 93DF
Room 93DF
148 49 9431
Room 9431
148 81 9451
Room 9451
148 124 947C
Room 947C
148 171 94AB
Room 94AB
148 207 94CF
Room 94CF
149 40 9528
Blocks for rooms
149 82 9552
Room 9552
149 178 95B2
Blocks for rooms
149 214 95D6
Room 95D6
149 248 95F8
Room 95F8
150 52 9634
Room 9634
150 134 9686
Blocks for rooms
150 138 968A
Room 968A
150 204 96CC
Room 96CC
150 243 96F3
Room 96F3
151 21 9715
Room 9715
151 57 9739
Room 9739
151 110 976E
Room 976E
151 166 97A6
Room 97A6
151 248 97F8
Room 97F8
152 43 982B
Room 982B
152 118 9876
Room 9876
152 192 98C0
Room 98C0 (think door)
153 1 9901
Blocks for rooms
153 13 990D
Room 990D
153 151 9997
Blocks for rooms
153 166 99A6
Room 99A6
154 30 9A1E
Room 9A1E
154 90 9A5A
Room 9A5A
154 154 9A9A
Room 9A9A
154 220 9ADC
Room 9ADC
155 25 9B19
Room 9B19
155 81 9B51
Room 9B51
155 157 9B9D
Room 9B9D
155 231 9BE7
Room 9BE7
156 57 9C39
Data block at 9C39
156 68 9C44
Process a dog
156 156 9C9C
Sprite Dog dead
156 168 9CA8
Part of Dog processing
157 92 9D5C
Set update flags for Dog, 4x3 tiles
157 117 9D75
Draw Dog facing left in tilemap
157 139 9D8B
?? something about Dog
157 205 9DCD
Initialize a dog
157 217 9DD9
Decrease Energy by B
157 245 9DF5
Room 9DF5
158 34 9E22
Room 9E22
158 115 9E73
Room 9E73
158 184 9EB8
Room 9EB8
158 217 9ED9
Room 9ED9
158 250 9EFA
Room 9EFA
159 58 9F3A
Room 9F3A
159 126 9F7E
Room 9F7E
160 4 A004
Blocks for rooms
160 34 A022
Room A022
160 167 A0A7
Blocks for rooms
160 181 A0B5
Sprite Ninja/Guard dead, 6x7 tiles
160 223 A0DF
Room 94AB initialization
160 232 A0E8
Room 7DA9 initialization
160 237 A0ED
Room 7E8C initialization
160 242 A0F2
Room 920A initialization
160 247 A0F7
Room 8F84 initialization
160 252 A0FC
Room 8B71 initialization
161 1 A101
Room 8739 initialization
161 6 A106
Room 858F initialization
161 11 A10B
Room 84EE initialization
161 16 A110
Room 99A6 initialization
161 21 A115
Room 97F8 initialization
161 26 A11A
Room 94CF initialization
161 31 A11F
Room 9B51 initialization
161 36 A124
Room 9F3A initialization
161 41 A129
Room 9F7E initialization
161 46 A12E
Room 9EB8 initialization
161 51 A133
Room 9B19 initialization
161 56 A138
Room 9DF5 initialization
161 61 A13D
?? UNUSED??
161 66 A142
Room 7A17 initialization
161 74 A14A
Room 7D5A initialization
161 79 A14F
Room 7F48 initialization
161 84 A154
Room 7EF2 initialization
161 95 A15F
Room 909F initialization
161 106 A16A
Room 8FBD initialization
161 111 A16F
Room 92A7 initialization
161 116 A174
Room 8B25 initialization
161 121 A179
Room 8526 initialization
161 126 A17E
?? UNUSED??
161 131 A183
Room 95D6 initialization
161 136 A188
Room 968A initialization
161 141 A18D
Finish Room 97A6 initialization
161 146 A192
Room 9A9A initialization
161 151 A197
Room 9552 initialization
161 156 A19C
Room 9BE7 initialization
161 161 A1A1
Room 8D5C initialization
161 166 A1A6
Room 7C2E initialization
161 175 A1AF
Finish room initialization
161 181 A1B5
Room 7F9C initialization
161 192 A1C0
Room 8162 initialization
161 203 A1CB
Room 80A7 initialization
161 214 A1D6
Room 9B9D initialization
161 225 A1E1
Guards data, 24 records, 6 bytes each
162 113 A271
Dogs data, 19 records, 10 bytes each
163 47 A32F
Turrets data, 12 records, 3 bytes each
163 83 A353
Room 81E5 initialization
163 92 A35C
Room 7E05 initialization
163 97 A361
Room 83ED initialization
163 102 A366
Room 924E initialization
163 107 A36B
Room 91BA initialization
163 112 A370
Room 90DB initialization
163 117 A375
Room 8802 initialization
163 122 A37A
Room 8608 initialization
163 127 A37F
Room 844E initialization
163 132 A384
Room 9739 initialization
163 137 A389
Room 9A5A initialization
163 142 A38E
Room 80F6 initialization
163 147 A393
Data block at A393
163 181 A3B5
?? something about Ninja and Guard
163 209 A3D1
?? something about Ninja and Guard
163 238 A3EE
?? something about Ninja and Guard
164 24 A418
?? something about Ninja and Guard
164 52 A434
?? something about Guard
167 71 A747
Data block at A747
167 91 A75B
Set update flags for Guard, 6x7 tiles
167 117 A775
Translate Ninja tile A into Guard tile, using A787 table
167 135 A787
Table used to translate Ninja tiles to Guard tiles, 19 records
167 173 A7AD
Pictures of NEAR/HELD items, 32x24px each
171 229 ABE5
Explosion image, 3x3 tiles
172 45 AC2D
Data block at AC2D
172 68 AC44
Reset Guard data and Dog data
172 114 AC72
Table of Guard data addresses, 24 records
172 162 ACA2
Table of Dog data addresses, 20 records
172 202 ACCA
Draw game screen frames and indicator text
173 74 AD4A
Indicator messages
173 101 AD65
Game screen frames/indicators RLE encoded sequence
174 2 AE02
Tiles for game screen frames/indicators, 9 bytes each
174 209 AED1
Print string with standard font
174 240 AEF0
Routine at AEF0
175 156 AF9C
Routine at AF9C
176 5 B005
Print table of records
176 64 B040
Routine at B040
176 97 B061
Message at B061
176 102 B066
Table of records
176 232 B0E8
String 10 spaces
176 242 B0F2
Message at B0F2
177 62 B13E
Tile buffer
177 72 B148
Draw tile map on the screen
178 232 B2E8
Mirror byte if needed
178 253 B2FD
Data block at B2FD
178 254 B2FE
Exchange $7239 (Ninja direction) and $71CD (dog direction)
179 15 B30F
Exchange $7239 (Ninja direction) and $7347 (Guard direction)
179 32 B320
Object procedure: flip trigger "D": set/remove wall in room 9739
179 42 B32A
Object procedure: flip trigger "E": set/remove wall in room 97A6
179 52 B334
Object procedure: flip trigger "C": set/remove wall in room 8D5C
179 62 B33E
Object procedure: flip trigger "B": set/remove wall in room 8F20
179 72 B348
Object procedure: flip trigger "A": set/remove wall in room 7F48
179 104 B368
Room 97A6 initialization
179 113 B371
Play melody ??; HL = melody address
179 143 B38F
Room token #00: Barrel, 3x3 tiles 7C21; params: 2 bytes (address)
179 175 B3AF
Unused
179 176 B3B0
Routine at B3B0
180 1 B401
Unused
180 10 B40A
Initialize a guard
180 31 B41F
Standard room procedure (for 63 rooms)
180 34 B422
Standard room initialization (for 60 rooms)
180 37 B425
Rooms 7C9C/92EF initialization (redirect from 791B)
180 46 B42E
Room 79C6 initialization
180 55 B437
UNUSED: Room XXXX initialization
180 70 B446
Room B513 procedure (initial Room)
180 76 B44C
Room procedure (for 19 rooms with a guard) (redirect from 7918)
180 82 B452
Room procedure (for 18 rooms with a dog)
180 88 B458
Room procedure (for 5 rooms with a guard and a dog)
180 97 B461
Turret initialization
180 122 B47A
Room procedure (for 2 rooms with a turret and a dog)
180 131 B483
Room procedure (for 14 rooms with a turret)
180 137 B489
Process turret
180 221 B4DD
Data block at B4DD
180 222 B4DE
Increase PAY value by B * 100
180 250 B4FA
Processing in initial room - the boat moving
181 19 B513
Room B513: Initial Room
181 50 B532
Movement handler for initial room (B8CE handler)
181 149 B595
Data block at B595
181 150 B596
Routine at B596
181 155 B59B
Data block at B59B
181 158 B59E
Routine at B59E
181 167 B5A7
Boat sprite for initial room
181 176 B5B0
Table of items: addresses for NEAR/HELD items
181 196 B5C4
Data block at B5C4
181 199 B5C7
Routine at B5C7
182 106 B66A
Current Room changed, entering the new Room
183 2 B702
Proceed to the next room token
183 6 B706
Table of Room tokens
183 36 B724
Finish room initialization
183 123 B77B
Game loop start
184 60 B83C
Increase Energy a bit
184 74 B84A
Data block at B84A
184 81 B851
Set initial data in Table of Objects
184 108 B86C
?? Adjust table 751B by DE
184 137 B889
Routine at B889
184 208 B8D0
Update Ninja on tilemap
185 55 B937
Standard room procedure (redirect from B41F)
186 178 BAB2
Data block at BAB2
186 213 BAD5
Routine at BAD5
187 174 BBAE
Routine at BBAE
187 187 BBBB
Set update flags for Ninja, 6x7 tiles
187 212 BBD4
Movement handler: Ninja punching
187 223 BBDF
Read Input
188 13 BC0D
Routine at BC0D
188 85 BC55
Movement handler: Ninja standing
189 47 BD2F
"BOMB" message
189 51 BD33
Routine at BD33
189 55 BD37
Fire pressed, Ninja standing, no object nearby
189 175 BDAF
Ninja standing (redirect)
189 178 BDB2
Routine at BDB2
189 221 BDDD
Routine at BDDD
190 13 BE0D
?? Movement handler
190 90 BE5A
Ninja sit, and then fall and DIE
190 99 BE63
Movement handler (B8CE handler): Ninja dead
190 113 BE71
Time is out
190 179 BEB3
Movement handler: Game Over
190 239 BEEF
Game over two-line messages
191 123 BF7B
Routine at BF7B
191 176 BFB0
Set movement handler = HL, set Ninja sprite = DE
191 186 BFBA
Routine at BFBA
191 213 BFD5
Escaped; clear screen, show final messages, then Game Over
192 98 C062
Message at C062
192 148 C094
?? Movement handler (helicopter?)
192 230 C0E6
Empty sprite
193 46 C12E
Ninja on ladder
193 61 C13D
Routine at C13D
193 113 C171
Data block at C171
193 182 C1B6
Movement handler ?? (B8CE handler)
194 38 C226
Ninja standing
194 47 C22F
Movement handler (B8CE handler): Ninja sitting
194 75 C24B
Movement handler (B8CE handler): Ninja walking
194 250 C2FA
Going to room at Right
195 25 C319
Going to room at Left
195 57 C339
Movement handler (B8CE handler): Ninja jumping
195 146 C392
Check if tile is a ladder
195 187 C3BB
Move LEFT one tile
195 207 C3CF
Move RIGHT one tile
195 217 C3D9
Movement handler (B8CE handler): Ninja on ladder
196 152 C498
Move DOWN one tile
196 164 C4A4
Routine at C4A4
196 167 C4A7
?? Movement handler
196 222 C4DE
?? Movement handler
196 232 C4E8
Routine at C4E8
196 246 C4F6
Movement handler (used in initial room)
197 13 C50D
Movement handler ??
197 123 C57B
Routine at C57B
197 160 C5A0
Switch Ninja to standing (redirect)
197 163 C5A3
Check for falling
197 198 C5C6
Movement handler: Ninja falling down
198 4 C604
Going to room Down from current
198 35 C623
Going to room Up from current
198 67 C643
Ninja falling
198 76 C64C
Room 791E (room with pier) initialization
198 90 C65A
Data for room with pier
198 107 C66B
Guard data for rooms 7C9C/92EF
198 113 C671
Room 93DF/947C (room right from Train) initialization
198 129 C681
Room 982B initialization
198 165 C6A5
Room 7C9C procedure (tunnel Train)
198 226 C6E2
Movement handler (B8CE handler): Train moving left
199 12 C70C
Movement handler (B8CE handler): Train moving right
199 33 C721
Font
200 249 C8F9
Data block at C8F9
210 16 D210
Table of 35 records, 2 bytes each, see B851
210 86 D256
Table ?? objects, 35 records, 7-byte records
211 75 D34B
Data block at D34B
211 77 D34D
Table of objects, 35 records, 5 bytes each
211 222 D3DE
Ninja/Guard sprites
214 0 D600
Front tiles, 124 tiles, 17 bytes each
222 104 DE68
Find record for the current room in DE84 table
222 132 DE84
?? Dog rooms/flags ?? 20 records, 3 bytes each
222 192 DEC0
Data block at DEC0
222 193 DEC1
Clear strings on the screen
222 230 DEE6
String 18 spaces
222 248 DEF8
Menu messages
223 55 DF37
Routine at DF37
223 96 DF60
Main menu
223 212 DFD4
Clear LASTK and do RST $38 once
223 219 DFDB
Highlight Menu item
223 230 DFE6
Unhighlight Menu item
223 241 DFF1
Joystick selected in Main menu
224 4 E004
Keyboard selected in Main menu
224 21 E015
Protek selected in Main menu
224 57 E039
Ports/bits for Protek and Keyboard
224 77 E04D
Clear key buffer playing melody
224 91 E05B
Redefine keys messages
224 151 E097
Redefine Keys
225 124 E17C
Data block at E17C
225 125 E17D
Data block at E17D
225 236 E1EC
Message at E1EC
226 23 E217
Level descriptions and data addresses
226 167 E2A7
Start Mission
227 136 E388
Data block at E388
227 140 E38C
Levels data
228 64 E440
Play next note in melody
228 148 E494
Table for melodies
228 174 E4AE
Melodies
229 222 E5DE
Data block at E5DE
231 0 E700
Ninja/Guard tiles, tiles with mask, 159 tiles, 16 bytes each
240 240 F0F0
Dog tiles, tiles with mask, 61 tiles, 16 bytes each
247 0 F700
Background tiles, 59 tiles, 9 bytes each
249 19 F913
Routine at F913
249 115 F973
Room 84A8 initialization
249 143 F98F
Block 3x6 tiles for room 84A8
249 161 F9A1
Sound ??
249 185 F9B9
Pause, then wait for any key pressed
249 228 F9E4
Routine at F9E4
249 231 F9E7
Start point after loading
249 249 F9F9
Routine at F9F9
250 17 FA11
Routine at FA11
250 40 FA28
Routine at FA28
250 49 FA31
Decrease Energy by B + Sound
250 58 FA3A
Data block at FA3A
255 247 FFF7
Background tile $FF