The blocks listed here were generated from a snapshot taken after execution of initialisation code. The PC register holds a value of 26673.
Page Byte Address Description
91 0 23296
Temporary data storage area
91 43 23339
Unused
91 81 23377
Gimbal-white-out-safe flag
91 82 23378
Score progress flags
91 83 23379
Unused
91 86 23382
Glowing lift control panel index
91 87 23383
Table of glowing attribute file addresses
91 107 23403
Unused
91 108 23404
Time data
91 112 23408
Compass-glow-update flag (locate compass)
91 113 23409
Current INK colour of glowing blocks
91 114 23410
Temporary store for Magic Knight's movement flags
91 115 23411
Game progress flags, part 1
91 116 23412
Visited room flags
91 166 23462
y- and x- coordinates of top-left corner of currently glowing locate compass sector
91 168 23464
Indices of characters in current room
91 171 23467
Game progress flags, part 2
91 172 23468
Game progress flags, part 3
91 173 23469
Brickwork drawing mode
91 174 23470
Magic Knight movement flags
91 175 23471
Position data for drawing menu hand cursor
91 180 23476
Brickwork-drawing-direction flag
91 181 23477
Attribute of interior of current window, i.e. background / foreground colours of contents
91 182 23478
Magic Knight's predicted position
91 184 23480
Unused
91 185 23481
Store for current position in terrain interaction parameter table
91 187 23483
Store for current terrain interaction parameter value
91 188 23484
Unused
91 189 23485
Store for currently active keyboard press / joystick action
91 190 23486
Unused
91 191 23487
Attribute file address of virtual text cursor
91 193 23489
Position data for drawing windows
91 201 23497
Storage space for ASCII string converted from numeric value
91 206 23502
Unused
91 207 23503
Pointer to index of next character to be sent home upon being summoned in summoning sequence table
91 209 23505
Animate-Magic-Knight's-puff-of-smoke-appearance-on-next-room-redraw flag
91 210 23506
Characters sent home counter
91 211 23507
Unused
92 0 23552
System variables, part 1
92 11 23563
Unused
92 59 23611
System variables, part 2
92 60 23612
Unused
92 65 23617
System variables, part 3
92 66 23618
Unused
92 72 23624
Miscellaneous data, part 1
92 73 23625
Unused
92 106 23658
System variables, part 4
92 107 23659
Unused
92 118 23670
Miscellaneous data, part 2
92 123 23675
Interrupt routine flags
92 124 23676
Unused
92 125 23677
Miscellaneous data, part 3
92 127 23679
Unused
92 141 23693
Miscellaneous data, part 4
92 142 23694
Unused
92 143 23695
Miscellaneous data, part 5
92 144 23696
System variables, part 5
92 146 23698
Unused / stack
95 219 24539
Terrain interaction data table
98 91 25179
Unused
98 219 25307
Slot number (1-3) currently occupied by characters in their current rooms
98 227 25315
Characters' current stats
99 43 25387
Magic Knight's current data
99 51 25395
Characters' current inventories
99 96 25440
Characters' current positions
99 120 25464
Objects' current positions
100 14 25614
Movement data table for starfield routine
101 208 26064
Display file addresses of start of each pixel row
103 80 26448
Unused
104 49 26673
Display input device selection menu
104 118 26742
Return to BASIC
104 123 26747
Draw input device selection menu
104 164 26788
Display instructions windows
104 211 26835
Wait for a key-press then beep
104 229 26853
Clear areas of memory and initialise variables
105 26 26906
Initialise data and start a new game
105 238 27118
Unused
106 32 27168
Redraw Magic Knight's current room and return to main game loop
106 40 27176
Main game loop: Process keyboard input and move Magic Knight, enter menus or execute other command
107 98 27490
Handle Magic Knight's fall, preserving x-velocity
107 103 27495
Handle Magic Knight's falls
108 18 27666
Kill Magic Knight's x-velocity if he cannot horizontally pass through a block beside him
108 161 27809
Kill Magic Knight's jump if he cannot vertically pass through a block above him
108 217 27865
Move Magic Knight into room A, initialise room-specific data and draw room
109 160 28064
Set brickwork direction mode to vertical and reset pointers to beginning of display
109 188 28092
Draw bottom in-game window and room name and animate entry (puff of smoke) of a character if required
110 112 28272
Print Magic Knight's current room name to top of screen
110 174 28334
Text data used in room titles as printed at top of screen
110 184 28344
Room drawing: Draw a 2-by-2 block of brickwork, then move cursor right or down, depending upon brickwork-drawing-direction flag
111 94 28510
Blank out bitmap and set attribute to stored value for 2-by-2 character block
111 145 28561
Move location to print and terrain interaction cursor down two character rows with y-wrap
111 231 28647
Room drawing: Prepare to draw one row of bricks only
111 235 28651
Room drawing: Prepare to draw one row of bricks with blank row beneath
111 243 28659
Room drawing: Set terrain interaction parameter to preserve-attribute / impassable-vertically
111 251 28667
Room drawing: Set terrain interaction parameter to preserve-attribute / impassable-vertically and impassable-horizontally
112 3 28675
Room drawing: Set terrain interaction parameter to preserve-attribute
112 11 28683
Room drawing: Draw right-facing wall-candle
112 75 28747
Room drawing: Draw left-facing wall-candle
112 142 28814
Add a glowing character block to the current room
112 169 28841
Room drawing: Set attributes, including glow, on lift control panel
112 210 28882
Room drawing: Draw picture in frame (2)
113 32 28960
Room drawing: Draw picture in frame (2) and replace picture with alternative
113 104 29032
Room drawing: Draw picture in frame (1)
113 161 29089
Room drawing: Draw picture in frame (1) and replace picture with alternative
113 222 29150
Room drawing: Draw goblet picture or character portrait and corresponding picture frame
114 0 29184
Room drawing: Read data for and display glowing blocks
114 21 29205
Room drawing: Read data for and paint attributes
114 41 29225
Room drawing: Draw wall axes
114 107 29291
Room drawing: Draw ceiling candles
114 172 29356
Room drawing: Point bitmap virtual cursor and terrain interaction cursor to coordinates x=C, y=B
114 191 29375
Room drawing: Draw a graphic to screen reading parameters from room layout data
114 212 29396
Room drawing: Read sequence of architecture styles and draw appropriate 2-by-2 blocks of brickwork
114 230 29414
Room drawing: Read sequence of architecture styles and attributes and draw appropriate 2-by-2 blocks of brickwork
115 1 29441
Read two bytes after HL position into C and B respectively, advancing HL before both reads
115 6 29446
Set Magic Knight's action flags and prepare to execute room-specific routine for his current room
115 28 29468
Check whether Magic Knight is moving into a new room and react if so
115 42 29482
Change Magic Knight's current room if possible
115 74 29514
Move Magic Knight one room to the left if possible
115 106 29546
Move Magic Knight one room to the right if possible
115 136 29576
Draw all characters in current room and animate arrival of any new character
115 240 29680
Load character's coordinates into BC and graphic lookup index into A and draw to screen
115 250 29690
Load object's coordinates into BC and graphic lookup index into A and draw to screen
116 13 29709
Animate puff of smoke then draw a character in position
116 67 29763
Run checks and updates (Magic Knight's current room and room-specific routines)
116 79 29775
Room-specific routine: Do nothing (return) 1
116 80 29776
Room-specific routine: Update positions of 4 odd-balls and display
116 100 29796
Room-specific routine: Do nothing (return) 2
116 101 29797
Room-specific routine: Jump to "kill Magic Knight if he is in a dark room without illumination"
116 103 29799
Room-specific routine: Do nothing (return) 3
116 104 29800
Room-specific routine: Kill Magic Knight if he is in a dark room without illumination
116 178 29874
Room-specific routine: Update position of 1 odd-ball and display
116 183 29879
Room-specific routine: Do nothing (return) 4
116 184 29880
Room-specific routine: Kill Magic Knight if he is in the gas room without protection
116 214 29910
Room-specific routine: Do nothing (return) 5
116 215 29911
Room-specific routine: Jump to "update positions of 4 odd-balls and display"
116 218 29914
Room-specific routine: Do nothing (return) 6
116 219 29915
Room-specific routine: Kill Magic Knight if he has fallen into the pit of destruction
116 231 29927
Room-specific routine: Do nothing (return) 7
116 232 29928
Room-specific routine: Draw whited-out Gimbal if he has not been freed
116 253 29949
Room-specific routine: Do nothing (return) 8
116 254 29950
Draw a graphic in XOR mode
117 3 29955
Draw a graphic in OR mode
117 8 29960
Draw a graphic in NOP mode
117 149 30101
Indent "SPELLBOUND" text in bottom window to indicate Magic Knight's current floor
117 171 30123
Divide A by eight, rounding down to nearest integer
117 177 30129
Draw lift doors if Magic Knight is at lift entrance on a different floor to the lift
117 218 30170
Addresses of room feature drawing routines
118 14 30222
Process command to pick up an object
118 231 30439
Process command to drop an object
119 76 30540
Smash Glowing Bottle
119 138 30602
Process command to take an object
120 160 30880
Process command to give an object
121 177 31153
Display and handle main in-game menu (when fire is pressed)
122 138 31370
Process command to examine an object, a character or Magic Knight
123 148 31636
Process and execute command to command a character
123 222 31710
Table of routine addresses for Magic Knight commanding characters
123 234 31722
Send current character to sleep if possible
124 19 31763
Wake current character up if possible
124 60 31804
Make current character go away if possible
124 98 31842
Execute current character's help routine if possible
124 160 31904
Table of start addresses of routines for characters being commanded to help
124 176 31920
Make current character eat and drink if possible
124 236 31980
Make current character be happy if possible
125 27 32027
Table of characters' default happiness levels
125 35 32035
Process and execute command to locate a character
125 194 32194
Process and execute command to teleport
126 2 32258
Process and execute command to read an object
126 134 32390
Process and execute command to throw an object
127 143 32655
Process and execute command to cast a spell
127 252 32764
Cast Crystallium Spectralis if possible, otherwise display failure message
128 55 32823
Cast Candelium Illuminatus if possible, otherwise display failure message
128 108 32876
Kill Magic Knight with exploding candle
128 135 32903
Cast Armouris Photonicus if possible, otherwise display failure message
128 214 32982
Cast Fumaticus Protectium if possible, otherwise display failure message
129 12 33036
Cast Project Physical Body if possible, otherwise display failure message
129 105 33129
Cast Release Spell if possible, otherwise display failure message
129 156 33180
Show "WELL DONE MAGIC KNIGHT" screen with animated starfield, jumping to game over on key-press
129 245 33269
Cast Quiticus Gamus spell and jump to game over
129 254 33278
Flash border and screen (as in cast a spell)
130 32 33312
Process command to blow an object
131 29 33565
Summoning sequence to send everyone home after Release Spell is cast
131 38 33574
Confirm and process blow command (create dust or racket) then return to game
131 57 33593
Process command to call lift
131 127 33663
Process command to move lift
131 234 33770
Set the lift as not being at any floor at all
131 252 33788
Flash border and make sound (as in move lift)
132 16 33808
Display "[CHARACTER] CANNOT HELP YOU" window and return to game
132 19 33811
Command-character-to-help routine for Thor
132 91 33883
Command-character-to-help routine for Florin
132 140 33932
Command-character-to-help routine for Orik
132 143 33935
Command-character-to-help routine for Samsun
132 201 33993
Command-character-to-help routine for Elrand
133 14 34062
Command-character-to-help routine for Rosmar
133 58 34106
Command-character-to-help routine for the Banshee
133 78 34126
Get the weight of an object
133 89 34137
Load happiness of current character into A
133 103 34151
Load an object into the first empty inventory slot of a character
133 112 34160
Point HL to property (given by E) of object whose index is A
133 126 34174
Point HL at property (given by E) of character whose index is A
133 138 34186
Point IX at current inventory of character A
133 154 34202
Prepare to check whether Magic Knight can pick up an object
133 163 34211
Unused routine
133 176 34224
Test whether current object is too heavy for a character to pick up
133 208 34256
Check whether Magic Knight is carrying an object
133 220 34268
Insert current time and score into "TIME LEFT" and "PERCENTAGE COMPLETION" texts
134 46 34350
Check if current character is asleep and display "[CHARACTER] IS ASLEEP" window if so
134 81 34385
Load Magic Knight's coordinates (in characters) into DE
134 98 34402
Point HL to current position data for current character
134 114 34418
Display "YOUR HANDS ARE FULL" window and return to game
134 120 34424
Display "THAT OBJECT IS TOO HEAVY" window and return to game
134 126 34430
Display "THERE IS NOTHING NEAR ENOUGH" window and return to game
134 132 34436
Display "THERE IS NOTHING IN THIS ROOM" window and return to game
134 138 34442
Display "YOU CANNOT DROP THAT OBJECT" window and return to game
134 144 34448
Display "[CHARACTER]'S HANDS ARE EMPTY" window and return to game
134 150 34454
Display "[CHARACTER] WANTS TO KEEP THAT" window and return to game
134 156 34460
Display "[CHARACTER]'S HANDS ARE FULL" window and return to game
134 162 34466
Display "[CHARACTER] IS NOT STRONG ENOUGH" window and return to game
134 168 34472
Display "[CHARACTER] DOES NOT WANT THAT" window and return to game
134 174 34478
Display "[CHARACTER] IS ALREADY ASLEEP" window and return to game
134 180 34484
Display "[CHARACTER] IS TOO WAKEFUL TO SLEEP" window and return to game
134 186 34490
Display "[CHARACTER] DOES NOT WANT TO BE COMMANDED BY YOU" window and return to game
134 192 34496
Display "[CHARACTER] IS ALREADY AWAKE" window and return to game
134 198 34502
Display "[CHARACTER] IS TOO TIRED TO WAKE UP" window and return to game
134 204 34508
Display "[CHARACTER] IS TOO TIRED TO GO AWAY" window and return to game
134 210 34514
Display "[CHARACTER] CANNOT HELP YOU" window and return to game
134 216 34520
Display "[CHARACTER] IS TOO TIRED TO HELP YOU" window and return to game
134 222 34526
Display "[CHARACTER] HAS NO FOOD LEFT" window and return to game
134 228 34532
Display "[CHARACTER] IS TOO TIRED TO EAT OR DRINK" window and return to game
134 234 34538
Display "[CHARACTER] IS TOO TIRED TO BE HAPPY" window and return to game
134 240 34544
Display "THE LIFT IS HERE" window and return to game
134 248 34552
Display "THE LIFT HAS ARRIVED" window and return to game
135 0 34560
Display "WHAT A RACKET..." window and return to game
135 8 34568
Display "WHAT A LOT OF DUST..." window and return to game
135 16 34576
Display "THERE IS NO WRITING FOR ME TO READ" window and return to game
135 24 34584
Display "IT IS NOT SAFE TO TELEPORT..." window and return to game
135 32 34592
Display "THE LIQUID IS STUCK TO THE FLOOR..." window and return to game
135 38 34598
Display "[CHARACTER] IS ASLEEP" window and return to game
135 44 34604
Display "[CHARACTER] DOES NOT WANT TO BE SUMMONED" window and return to game
135 50 34610
Display "[CHARACTER] IS TOO TIRED TO BE SUMMONED" window and return to game
135 56 34616
Display "[CHARACTER] IS ALREADY HERE!" window and return to game
135 62 34622
Display "[CHARACTER] DOES NOT WANT TO COME TO SUCH A CROWDED ROOM!" window and return to game
135 68 34628
Display "[CHARACTER] APPEARS IN A THICK PUFF OF SMOKE" window and return to game
135 74 34634
Display "THAT SPELL CANNOT YET BE CAST..." window and return to game
135 80 34640
Display "THE SPELL HAS WORKED! GIMBAL IS NEARLY FREE" window and return to game
135 86 34646
Display "SUCCESS ! GIMBAL IS FREE AT LAST" window and return to game
135 92 34652
Display Candelium Illuminatus successful window and return to game
135 98 34658
Display Armouris Photonicus successful window and return to game
135 104 34664
Display "GIMBAL IS ALREADY FREE" window and return to game
135 110 34670
Display "THE CANDLE IS ALREADY ALIGHT" window and return to game
135 116 34676
Display "YOUR ARMOUR IS GLOWING ALREADY" window and return to game
135 122 34682
Display "YOU HAVE ALL THE PROTECTION YOU NEED AGAINST GAS ALREADY" window and return to game
135 128 34688
Display Fumaticus Protectium successful window and return to game
135 134 34694
Display Project Physical Body successful window and return to game
135 140 34700
Display Gimbal's telepathic whisper window and return to game
135 146 34706
Display Blue-Crystal-used-successfully window and return to game
135 152 34712
Display Red-Crystal-used-successfully window and return to game
135 158 34718
Display Green-Crystal-used-successfully window and return to game
135 164 34724
Display "THE [OBJECT] LANDED ON THE FLOOR BY [CHARACTER]" window and return to game
135 170 34730
Display "THE LIFT IS BROKEN..." window and return to game
135 178 34738
Display "[CHARACTER] HAS GONE TO SLEEP" window and return to game
135 184 34744
Display "[CHARACTER] HAS WOKEN UP" window and return to game
135 190 34750
Display "[CHARACTER] HAS GONE AWAY" window and return to game
135 196 34756
Display "[CHARACTER] HAS TAKEN REFRESHMENT" window and return to game
135 202 34762
Display "[CHARACTER] WILL TRY TO BE HAPPY" window and return to game
135 208 34768
Adjust the height and display a message window, then return to game
135 239 34799
Draw window (index 2) with text at HL
135 243 34803
Draw window (index 13) with text at HL
135 248 34808
Draw window (index 28, summoning messages) with text at HL
135 252 34812
Draw window (index 29) with text at HL
136 0 34816
Draw window (index 35) with text at HL
136 5 34821
Update Magic Knight's current frame based on x-coordinate
136 26 34842
Advance HL to B-th entry in list of zero-terminated strings (e.g. object names table)
136 38 34854
Advance HL to the B-th entry in list of readable objects' texts then return
136 43 34859
Advance HL to the B-th entry in list of option texts from "command a character" menu then return
136 48 34864
Point DE at name of a selected object in object names table and print in command summary window
136 67 34883
Update current character based upon selection made in menu
136 87 34903
Code for printing routine to display short name of current character
136 89 34905
Code for printing routine to display full name of current character
136 91 34907
Display a character's inventory window as an information window
136 98 34914
Show list of objects (window or menu) and handle selection if a menu
137 29 35101
Display cyan "game over" window and return to pre-game menu
137 69 35141
Display and process input for character selection menu (current room's characters only)
137 221 35293
Display and process input for character selection menu for "travel to", "summon" or "locate"
138 65 35393
Display warning and abort if command is not safe while Gimbal is whited-out
138 92 35420
Select Magic Knight's room (cheat / debug routine)
138 167 35495
Set Magic Knight's available action flags
138 208 35536
Set the command-a-character-enabled flag if carrying the Wand of Command
138 239 35567
Set the locate-enabled flag if carrying the Crystal Ball
139 14 35598
Set the teleport-enabled flag if carrying the Teleport Key
139 45 35629
Set the read-enabled flag if carrying a readable object
139 85 35669
Set the throw-enabled flag if carrying a throwable object
139 125 35709
Set the cast-a-spell-enabled flag if carrying a magic object
139 165 35749
Set the blow-enabled flag if carrying a blowable object
139 205 35789
Set the call-lift-enabled flag if in the first room of a floor
139 231 35815
Set the move-lift-enabled flag if in the lift
139 253 35837
Insert numeric stats (at HL) of a character into "examine character" window text
140 47 35887
Insert numeric / text stats of an object into "examine object" window text
140 91 35931
Get number of characters in room A and load their indices into list
140 153 35993
Update position of odd ball, display, and decrease Magic Knight's strength if in contact
141 77 36173
Multiply x- or y-velocity of odd-ball by minus one
141 87 36183
Properties of the odd-balls
141 119 36215
Draw strength bar at bottom of screen
141 179 36275
Draw objects in Magic Knight's inventory to bottom of screen if he is carrying the Mirror
141 231 36327
Assign a slot in room C to character B
142 120 36472
List of occupied slots in a room
142 123 36475
Print a character (e.g. letter in the current room name, or a block of a window border)
142 158 36510
Draw a single character block part of a wall, ceiling or floor
142 199 36551
Move bitmap virtual cursor to display file address for coordinates x=C, y=B
142 217 36569
Update virtual attribute cursor to attribute file for coordinates x=C, y=B
142 234 36586
Point HL at terrain interaction data for character coordinates x=C, y=B
142 254 36606
Advance display file pointer to next location (for printing room name)
143 18 36626
Advance display file pointer by two characters
143 39 36647
Splice numeric data A as a string into a string at HL
143 67 36675
Unused routine
143 84 36692
Convert leading zeroes to spaces in a string number
143 95 36703
Get start of next zero-terminated string
143 101 36709
Store and point HL at attribute file address for character just printed
143 117 36725
Print text at location HL to screen
143 192 36800
Move virtual text cursor down to start of next row
143 202 36810
Move virtual text cursor down to start of next row within current window
143 222 36830
Print special character or change text attribute
144 11 36875
Move virtual text cursor right by one character
144 18 36882
Print the current object's name
144 28 36892
Print the current character's full name
144 36 36900
Print the current character's short name
144 44 36908
Draw an edge of frame of a window
144 55 36919
Draw window frame for character portraits (2nd floor) and goblet picture in Florin's room
144 115 36979
Draw a menu window
144 123 36987
Draw a window
145 27 37147
Draw a window frame
145 213 37333
Process keyboard / joystick input on a menu
146 96 37472
Wait for keyboard to be released
146 110 37486
Wait for fire button / key to be released
146 121 37497
Move hand cursor up and update flashing menu shortcut
146 147 37523
Move hand cursor down and update flashing menu shortcut
146 176 37552
Load A with ASCII code of shortcut for selected item in menu
146 190 37566
Remove FLASH attribute from menu letter shortcut next to hand menu cursor
146 195 37571
Apply FLASH attribute to menu letter shortcut next to hand menu cursor
146 237 37613
Load A with ASCII code of character in stored display file address
147 22 37654
Print or update command summary window at bottom of screen
147 71 37703
Move virtual text cursor to beginning of character row below its current position
147 87 37719
Move virtual text cursor to beginning of character row two rows below its current position
147 103 37735
Move virtual text cursor from one third to another in display file
147 114 37746
Convert numeric value BC to ASCII string at location HL
147 150 37782
Clear top two thirds of display file and draw two rows of [SPACE] characters below
147 184 37816
Clear display file
147 209 37841
Flood attribute file with stored attribute value
147 225 37857
Change input device (keyboard / joysticks)
147 244 37876
Jump to input reading routine
147 252 37884
Capture keyboard input
148 40 37928
Capture Kempston joystick input
148 71 37959
Capture Fuller joystick input
148 102 37990
Capture cursor joystick input
148 139 38027
Capture ZX Interface 2 joystick 1 input
148 172 38060
Store a "left" input from control device
148 175 38063
Store a "right" input from control device
148 178 38066
Store an "up" input from control device
148 181 38069
Store a "down" input from control device
148 184 38072
Store a "fire" input from control device
148 187 38075
Set parameters for and play upward scale sound
148 220 38108
Set parameters for and play downward scale sound
148 228 38116
Set parameters for and play short downward scale sound
148 236 38124
Play hiss-type sound
149 23 38167
Set parameters (for unknown sound) and jump to playing routine
149 31 38175
Set parameters (for "lift has arrived" sound) and jump to playing routine
149 39 38183
Set parameters (for cheat routine sound) and play
149 68 38212
Get current border colour
149 77 38221
Play "beep" sound (as in moving through instructions windows)
149 98 38242
Fill the interior of a drawn window with its specified attribute (i.e. background colour and colour of text within)
149 152 38296
Scroll hand cursor up a unit
149 212 38356
Scroll hand cursor down a unit
150 17 38417
Blank an area of the display file
150 86 38486
Set new random seed
150 105 38505
Load A with a random number less than or equal to B
150 112 38512
Set terrain interaction data for, and draw, all objects in Magic Knight's current room
150 139 38539
Set terrain interaction data for character blocks spanned by an object and draw the object
151 4 38660
Get x- and y-coordinates of object A
151 18 38674
Remove object C from a character's inventory and tidy up remaining entries
151 37 38693
Print command summary in command summary window at bottom of screen
151 69 38725
Display execute / reject command window and return if execute chosen, otherwise exit
151 93 38749
Display "PRESS SPACE OR FIRE TO CONTINUE" window and wait for space / fire
151 139 38795
Reset star to point of origin and generate a new direction and movement data
151 188 38844
Unused routine
151 228 38884
Animate starfield until a key is pressed
152 49 38961
Reset all stars to point of origin and generate new velocities and movement data
152 68 38980
Unused routine
152 104 39016
Set up star movement data based upon starting position and direction
152 169 39081
Move a star depending upon the signs and magnitudes of its "direction"
152 213 39125
Draw odd ball to screen
153 7 39175
Shift odd ball graphic data right by C pixels and load into D (L.H.S.) and A' (R.H.S.)
153 32 39200
Advance HL down one pixel row in display file
153 56 39224
Draw Magic Knight (erase old frame and draw new frame)
156 53 39989
Update attributes at Magic Knight's predicted position
156 204 40140
Currently selected control device
156 205 40141
Magic Knight's initial data
156 213 40149
Common words table
160 57 41017
Characters' initial inventories
160 102 41062
Characters' initial positions
160 126 41086
Objects' initial positions
161 20 41236
Object names
162 239 41711
Room connectivity data
163 83 41811
Keyboard shortcuts for commands
163 99 41827
Routine start addresses for Magic Knight's commands (main menu)
163 129 41857
Store for address of current position in Magic Knight's y-velocities sequence table
163 131 41859
Magic Knight's y-velocities sequence for jumping and falling
163 146 41874
Window data
164 186 42170
Characters' initial stats
165 2 42242
Table of object properties
166 146 42642
Graphic lookup table
168 46 43054
Unused
168 82 43090
Miscellaneous text (1)
169 186 43450
Cyan "game over" window additional texts
170 121 43641
Miscellaneous text (2)
172 71 44103
Main in-game menu strings
172 212 44244
"Command a character to help" text messages
174 252 44796
The Banshee's help texts
176 229 45285
Text relating to "pick up" command
177 117 45429
Text relating to "drop" command
178 41 45609
Text relating to "take" command
178 242 45810
Text relating to "give" command
179 66 45890
Text relating to "examine" command
180 36 46116
Characters' current status texts
181 60 46396
Miscellaneous text (3)
181 66 46402
Text relating to "command" command
182 215 46807
Text relating to "locate" command
182 230 46822
Initial control selection menu text
183 51 46899
Instructions text
184 184 47288
Text relating to "read" command
184 218 47322
List of read-texts of readable objects
192 225 49377
Text relating to "cast a spell" command
196 8 50184
Miscellaneous text (4)
196 170 50346
Text relating to "teleport" command
196 205 50381
Text relating to "throw" command
198 203 50891
Text relating to "blow" command
200 71 51271
Text relating to "call lift" command
200 90 51290
Text relating to "move lift" command
201 1 51457
More "game over" texts
202 201 51913
Room layout data pointers
203 45 52013
Room layout data: The Lift
203 84 52052
Room layout data: Roof 1 (The Roof Garden)
203 166 52134
Room layout data: Roof 2 (The Roof Garden)
203 198 52166
Room layout data: Roof 3 (The Roof Garden)
203 244 52212
Room layout data: Roof 4 (The Roof Garden)
204 49 52273
Room layout data: Roof 5 (The Roof Garden)
204 83 52307
Room layout data: Roof 6 (The Roof Garden)
204 115 52339
Room layout data: Roof 7 (The Roof Garden)
204 141 52365
Room layout data: Roof 8 (The Roof Garden)
204 199 52423
Room layout data: 4th Floor 1 (The Tower)
204 232 52456
Room layout data: 4th Floor 2 (Beyond The Tower)
205 55 52535
Room layout data: 4th Floor 3 (Further Beyond The Tower) and 1st Floor 4
205 79 52559
Room layout data: 4th Floor 4 (The Ballroom), 3rd Floor 3 (The Odd-Ball) and 1st Floor 5 (The Spare Ballroom)
205 117 52597
Room layout data: 4th Floor 5 (The Tree of Karn)
205 151 52631
Room layout data: 4th Floor 6 (The Stalagmites)
205 229 52709
Room layout data: 4th Floor 7 (The Big Bottle) and 1st Floor 6
206 8 52744
Room layout data: 4th Floor 8 and 1st Floor 8
206 59 52795
Room layout data: 3rd Floor 1 (The Library) and Ground Floor 3 (Gimbal's Secret Study)
206 133 52869
Room layout data: 3rd Floor 2 (The Little Bottle)
206 168 52904
Room layout data: 3rd Floor 4 (Florin's room)
206 191 52927
Room layout data: 3rd Floor 5 (The Start Room) and 1st Floor 7 (The Trophy Room)
206 245 52981
Room layout data: 3rd Floor 6 (The L-Shaped Room)
207 35 53027
Room layout data: 3rd Floor 7 (The Plant Room)
207 108 53100
Room layout data: 3rd Floor 8 (More Plant Room)
207 196 53188
Room layout data: 2nd Floor 1 and Ground Floor 1
207 223 53215
Room layout data: 2nd Floor 2
207 241 53233
Room layout data: 2nd Floor 3
208 13 53261
Room layout data: 2nd Floor 4
208 41 53289
Room layout data: 2nd Floor 5 (The Wall, original)
208 69 53317
Room layout data: 2nd Floor 5 (The Wall, after Elrand has helped)
208 108 53356
Room layout data: 2nd Floor 6 (The Gallery)
208 129 53377
Room layout data: 2nd Floor 7 (The Gallery)
208 150 53398
Room layout data: 2nd Floor 8 (The Gallery)
208 191 53439
Room layout data: 1st Floor 1 (The Mush Room)
209 33 53537
Room layout data: 1st Floor 2 (The Gas Room)
209 51 53555
Room layout data: 1st Floor 3
209 75 53579
Room layout data: Ground Floor 2 (Secret Tunnel Entrance)
209 145 53649
Room layout data: Ground Floor 4 (The Secret Tunnel)
209 184 53688
Room layout data: Ground Floor 5 (More Secret Tunnel)
209 199 53703
Room layout data: Ground Floor 6 (The Pit)
210 9 53769
Room layout data: Ground Floor 7
210 51 53811
Room layout data: Ground Floor 8 (The Most Magic Room)
210 123 53883
Room layout data: The Basement
210 178 53938
x- and y-coordinates of three positions in room that characters can occupy
211 222 54238
Room names
213 89 54617
Architecture styles lookup table
213 173 54701
Graphics: Hand menu cursor
213 205 54733
Table of start addresses of input device reading routines
213 215 54743
Powers of ten
213 225 54753
Addresses of room-specific routines
214 69 54853
Call time-dependent routines (main interrupt routine)
214 171 54955
Interrupt routine: Update glowing character on input selection menu
214 192 54976
Interrupt routine: Write current attribute for a glowing block to attribute file
214 199 54983
Interrupt routine: Update glowing blocks' attribute to next colour in sequence
214 212 54996
Update game time, time left and, every minute, read-text of Crystal Ball
215 37 55077
Update all characters' stats (deteriorate or regenerate) and wake up / send to sleep if required
215 178 55218
Index of character whose turn it is to move
215 179 55219
Update characters' stats as they tire or regenerate
215 193 55233
Interrupt routine: If character is free and awake, then update their current room if possible
216 53 55349
Move the lift to a random floor if Magic Knight is not nearby
216 108 55404
Load A with new room index for a character to move into
216 165 55461
Interrupt routine: End game due to a character starving to death
216 182 55478
Interrupt routine: End game due to running out of time
216 194 55490
Characters' rates of stat deterioration / regeneration
216 250 55546
Store all registers on the stack
217 22 55574
Interrupt routine: Restore all registers from the stack
217 40 55592
Source code fragment
217 164 55716
Graphics: Scenery, part 1
229 124 58748
Graphics: Characters
231 124 59260
Graphics: Puff of smoke
232 156 59548
Graphics: Scenery, part 2
241 20 61716
Graphics: Objects, part 1
241 148 61844
Graphics: Scenery, part 3
242 116 62068
Graphics: Objects, part 2
246 148 63124
Graphics: "Locate a character" compass (6 × 6)
247 180 63412
Graphics: Magic Knight
249 244 63988
Graphics: Interface
252 244 64756
Graphics: Brickwork blocks, part 1
255 148 65428
Graphics: Odd ball
255 180 65460
Graphics: Brickwork blocks, part 2
255 212 65492
Unused
255 244 65524
Interrupt routine: second jump
255 247 65527
Unused
255 248 65528
Temporary store for Magic Knight's frame number (to draw)
255 249 65529
Magic Knight's current room
255 250 65530
Store for display file address to print text to in command summary window
255 252 65532
Magic Knight's current action flags
255 254 65534
Unused
255 255 65535
Interrupt routine: first jump