![]() |
Memory map |
Page | Byte | Address | Length | Description |
---|---|---|---|---|
92 | 0 | 23552 | 512 |
Attribute buffer (room + Willy + entities + items)
|
94 | 0 | 24064 | 512 |
Attribute buffer (empty room)
|
96 | 0 | 24576 | 4096 |
Screen buffer (room + Willy + entities + items)
|
112 | 0 | 28672 | 4096 |
Screen buffer (empty room)
|
128 | 0 | 32768 | 128 |
Room layout
|
128 | 128 | 32896 | 32 |
Room name
|
128 | 160 | 32928 | 54 |
Room tiles
|
128 | 214 | 32982 | 4 |
Conveyor definition
|
128 | 218 | 32986 | 4 |
Ramp definition
|
128 | 222 | 32990 | 1 |
Border colour
|
128 | 223 | 32991 | 2 |
Unused
|
128 | 225 | 32993 | 8 |
Item graphic
|
128 | 233 | 33001 | 4 |
Room exits
|
128 | 237 | 33005 | 3 |
Unused
|
128 | 240 | 33008 | 16 |
Entity specifications
|
129 | 0 | 33024 | 65 |
Entity buffer
|
129 | 65 | 33089 | 191 |
Unused
|
130 | 0 | 33280 | 256 |
Screen buffer address lookup table
|
131 | 0 | 33536 | 256 |
Rope animation table
|
132 | 0 | 33792 | 32 |
The game has just loaded
|
132 | 32 | 33824 | 1 |
Current room number
|
132 | 33 | 33825 | 16 |
Left-right movement table
|
132 | 49 | 33841 | 32 |
Triangle UDGs
|
132 | 81 | 33873 | 3 |
'AIR'
|
132 | 84 | 33876 | 256 |
'+++++ Press ENTER to Start +++++...'
|
133 | 84 | 34132 | 32 |
'Items collected 000 Time 00:00 m'
|
133 | 116 | 34164 | 4 |
'Game'
|
133 | 120 | 34168 | 4 |
'Over'
|
133 | 124 | 34172 | 3 |
Number of items collected
|
133 | 127 | 34175 | 6 |
Current time
|
133 | 133 | 34181 | 6 |
' 7:00a'
|
133 | 139 | 34187 | 32 |
'Enter Code at grid location '
|
133 | 171 | 34219 | 32 |
'Sorry, try code at location '
|
133 | 203 | 34251 | 1 |
Minute counter
|
133 | 204 | 34252 | 1 |
Lives remaining
|
133 | 205 | 34253 | 1 |
Screen flash counter
|
133 | 206 | 34254 | 1 |
Kempston joystick indicator
|
133 | 207 | 34255 | 1 |
Willy's pixel y-coordinate (x2)
|
133 | 208 | 34256 | 1 |
Willy's direction and movement flags
|
133 | 209 | 34257 | 1 |
Airborne status indicator
|
133 | 210 | 34258 | 1 |
Willy's animation frame
|
133 | 211 | 34259 | 2 |
Address of Willy's location in the attribute buffer at 23552
|
133 | 213 | 34261 | 1 |
Jumping animation counter
|
133 | 214 | 34262 | 1 |
Rope status indicator
|
133 | 215 | 34263 | 7 |
Willy's state on entry to the room
|
133 | 222 | 34270 | 1 |
256 minus the number of items remaining
|
133 | 223 | 34271 | 1 |
Game mode indicator
|
133 | 224 | 34272 | 1 |
Inactivity timer
|
133 | 225 | 34273 | 1 |
In-game music note index
|
133 | 226 | 34274 | 1 |
Music flags
|
133 | 227 | 34275 | 1 |
WRITETYPER key counter
|
133 | 228 | 34276 | 1 |
Temporary variable
|
133 | 229 | 34277 | 22 |
WRITETYPER
|
133 | 251 | 34299 | 100 |
Title screen tune data (Moonlight Sonata)
|
134 | 95 | 34399 | 64 |
In-game tune data (If I Were a Rich Man)
|
134 | 159 | 34463 | 36 |
Give two chances to enter a correct code
|
134 | 195 | 34499 | 121 |
Display the code entry screen
|
135 | 60 | 34620 | 142 |
Read the keyboard during code entry
|
135 | 202 | 34762 | 306 |
Display the title screen and play the theme tune
|
136 | 252 | 35068 | 143 |
Start the game
|
137 | 139 | 35211 | 34 |
Draw the remaining lives
|
137 | 173 | 35245 | 318 |
Main loop (1)
|
138 | 235 | 35563 | 28 |
Cycle the INK and PAPER colours
|
139 | 7 | 35591 | 250 |
Main loop (2)
|
140 | 1 | 35841 | 73 |
Lose a life
|
140 | 74 | 35914 | 233 |
Display the game over sequence
|
141 | 51 | 36147 | 56 |
Draw the current room to the screen buffer at 28672
|
141 | 107 | 36203 | 85 |
Fill the buffer at 24064 with attribute bytes for the current room
|
141 | 192 | 36288 | 19 |
Copy a room attribute byte into the buffer at 24064
|
141 | 211 | 36307 | 257 |
Move Willy (1)
|
142 | 212 | 36564 | 232 |
Move Willy (2)
|
143 | 188 | 36796 | 250 |
Move Willy (3)
|
144 | 182 | 37046 | 10 |
Kill Willy
|
144 | 192 | 37056 | 254 |
Move the rope and guardians in the current room
|
145 | 190 | 37310 | 509 |
Draw the rope, arrows and guardians in the current room
|
147 | 187 | 37819 | 22 |
Unused routine
|
147 | 209 | 37841 | 133 |
Draw the items in the current room and collect any that Willy is touching
|
148 | 86 | 37974 | 52 |
Draw a sprite
|
148 | 138 | 38026 | 20 |
Move Willy into the room to the left
|
148 | 158 | 38046 | 18 |
Move Willy into the room to the right
|
148 | 176 | 38064 | 34 |
Move Willy into the room above
|
148 | 210 | 38098 | 39 |
Move Willy into the room below
|
148 | 249 | 38137 | 59 |
Move the conveyor in the current room
|
149 | 52 | 38196 | 80 |
Deal with special rooms (Master Bedroom, The Bathroom)
|
149 | 132 | 38276 | 22 |
Check whether Willy has reached the toilet
|
149 | 154 | 38298 | 46 |
Animate the toilet in The Bathroom
|
149 | 200 | 38344 | 86 |
Check and set the attribute bytes for Willy's sprite in the buffer at 23552
|
150 | 30 | 38430 | 25 |
Check and set the attribute byte for a cell occupied by Willy's sprite
|
150 | 55 | 38455 | 73 |
Draw Willy to the screen buffer at 24576
|
150 | 128 | 38528 | 17 |
Print a message
|
150 | 145 | 38545 | 17 |
Print a single character
|
150 | 162 | 38562 | 39 |
Play the theme tune (Moonlight Sonata)
|
150 | 201 | 38601 | 21 |
Check whether ENTER, 0 or the fire button is being pressed
|
150 | 222 | 38622 | 22 |
Play an intro message sound effect
|
150 | 244 | 38644 | 36 |
Unused routine
|
151 | 24 | 38680 | 232 |
Unused
|
152 | 0 | 38912 | 512 |
Attributes for the top two-thirds of the title screen
|
154 | 0 | 39424 | 256 |
Attributes for the bottom third of the screen during gameplay
|
155 | 0 | 39680 | 128 |
Number key graphics
|
155 | 128 | 39808 | 128 |
Attributes for the code entry screen
|
156 | 0 | 39936 | 64 |
Source code remnants
|
156 | 64 | 40000 | 64 |
Foot/barrel graphic data
|
156 | 128 | 40064 | 128 |
Maria sprite graphic data
|
157 | 0 | 40192 | 256 |
Willy sprite graphic data
|
158 | 0 | 40448 | 179 |
Codes
|
158 | 179 | 40627 | 333 |
Unused
|
160 | 0 | 40960 | 1023 |
Entity definitions
|
163 | 255 | 41983 | 1 |
Index of the first item
|
164 | 0 | 41984 | 512 |
Item table
|
166 | 0 | 42496 | 128 |
Toilet graphics
|
166 | 128 | 42624 | 1152 |
Unused
|
171 | 0 | 43776 | 5376 |
Guardian graphics
|
192 | 0 | 49152 | 256 |
Room 0: The Off Licence (teleport: 9)
|
193 | 0 | 49408 | 256 |
Room 1: The Bridge (teleport: 19)
|
194 | 0 | 49664 | 256 |
Room 2: Under the MegaTree (teleport: 29)
|
195 | 0 | 49920 | 256 |
Room 3: At the Foot of the MegaTree (teleport: 129)
|
196 | 0 | 50176 | 256 |
Room 4: The Drive (teleport: 39)
|
197 | 0 | 50432 | 256 |
Room 5: The Security Guard (teleport: 139)
|
198 | 0 | 50688 | 256 |
Room 6: Entrance to Hades (teleport: 239)
|
199 | 0 | 50944 | 256 |
Room 7: Cuckoo's Nest (teleport: 1239)
|
200 | 0 | 51200 | 256 |
Room 8: Inside the MegaTrunk (teleport: 49)
|
201 | 0 | 51456 | 256 |
Room 9: On a Branch Over the Drive (teleport: 149)
|
202 | 0 | 51712 | 256 |
Room 10: The Front Door (teleport: 249)
|
203 | 0 | 51968 | 256 |
Room 11: The Hall (teleport: 1249)
|
204 | 0 | 52224 | 256 |
Room 12: Tree Top (teleport: 349)
|
205 | 0 | 52480 | 256 |
Room 13: Out on a limb (teleport: 1349)
|
206 | 0 | 52736 | 256 |
Room 14: Rescue Esmerelda (teleport: 2349)
|
207 | 0 | 52992 | 256 |
Room 15: I'm sure I've seen this before.. (teleport: 12349)
|
208 | 0 | 53248 | 256 |
Room 16: We must perform a Quirkafleeg (teleport: 59)
|
209 | 0 | 53504 | 256 |
Room 17: Up on the Battlements (teleport: 159)
|
210 | 0 | 53760 | 256 |
Room 18: On the Roof (teleport: 259)
|
211 | 0 | 54016 | 256 |
Room 19: The Forgotten Abbey (teleport: 1259)
|
212 | 0 | 54272 | 256 |
Room 20: Ballroom East (teleport: 359)
|
213 | 0 | 54528 | 256 |
Room 21: Ballroom West (teleport: 1359)
|
214 | 0 | 54784 | 256 |
Room 22: To the Kitchens Main Stairway (teleport: 2359)
|
215 | 0 | 55040 | 256 |
Room 23: The Kitchen (teleport: 12359)
|
216 | 0 | 55296 | 256 |
Room 24: West of Kitchen (teleport: 459)
|
217 | 0 | 55552 | 256 |
Room 25: Cold Store (teleport: 1459)
|
218 | 0 | 55808 | 256 |
Room 26: East Wall Base (teleport: 2459)
|
219 | 0 | 56064 | 256 |
Room 27: The Chapel (teleport: 12459)
|
220 | 0 | 56320 | 256 |
Room 28: First Landing (teleport: 3459)
|
221 | 0 | 56576 | 256 |
Room 29: The Nightmare Room (teleport: 13459)
|
222 | 0 | 56832 | 256 |
Room 30: The Banyan Tree (teleport: 23459)
|
223 | 0 | 57088 | 256 |
Room 31: Swimming Pool (teleport: 123459)
|
224 | 0 | 57344 | 256 |
Room 32: Halfway up the East Wall (teleport: 69)
|
225 | 0 | 57600 | 256 |
Room 33: The Bathroom (teleport: 169)
|
226 | 0 | 57856 | 256 |
Room 34: Top Landing (teleport: 269)
|
227 | 0 | 58112 | 256 |
Room 35: Master Bedroom (teleport: 1269)
|
228 | 0 | 58368 | 256 |
Room 36: A bit of tree (teleport: 369)
|
229 | 0 | 58624 | 256 |
Room 37: Orangery (teleport: 1369)
|
230 | 0 | 58880 | 256 |
Room 38: Priests' Hole (teleport: 2369)
|
231 | 0 | 59136 | 256 |
Room 39: Emergency Generator (teleport: 12369)
|
232 | 0 | 59392 | 256 |
Room 40: Dr Jones will never believe this (teleport: 469)
|
233 | 0 | 59648 | 256 |
Room 41: The Attic (teleport: 1469)
|
234 | 0 | 59904 | 256 |
Room 42: Under the Roof (teleport: 2469)
|
235 | 0 | 60160 | 256 |
Room 43: Conservatory Roof (teleport: 12469)
|
236 | 0 | 60416 | 256 |
Room 44: On top of the house (teleport: 3469)
|
237 | 0 | 60672 | 256 |
Room 45: Under the Drive (teleport: 13469)
|
238 | 0 | 60928 | 256 |
Room 46: Tree Root (teleport: 23469)
|
239 | 0 | 61184 | 256 |
Room 47: [ (teleport: 123469)
|
240 | 0 | 61440 | 256 |
Room 48: Nomen Luni (teleport: 569)
|
241 | 0 | 61696 | 256 |
Room 49: The Wine Cellar (teleport: 1569)
|
242 | 0 | 61952 | 256 |
Room 50: Watch Tower (teleport: 2569)
|
243 | 0 | 62208 | 256 |
Room 51: Tool Shed (teleport: 12569)
|
244 | 0 | 62464 | 256 |
Room 52: Back Stairway (teleport: 3569)
|
245 | 0 | 62720 | 256 |
Room 53: Back Door (teleport: 13569)
|
246 | 0 | 62976 | 256 |
Room 54: West Wing (teleport: 23569)
|
247 | 0 | 63232 | 256 |
Room 55: West Bedroom (teleport: 123569)
|
248 | 0 | 63488 | 256 |
Room 56: West Wing Roof (teleport: 4569)
|
249 | 0 | 63744 | 256 |
Room 57: Above the West Bedroom (teleport: 14569)
|
250 | 0 | 64000 | 256 |
Room 58: The Beach (teleport: 24569)
|
251 | 0 | 64256 | 256 |
Room 59: The Yacht (teleport: 124569)
|
252 | 0 | 64512 | 256 |
Room 60: The Bow (teleport: 34569)
|
253 | 0 | 64768 | 768 |
Unused TRS-DOS code
|