The blocks listed here were generated from a snapshot taken after execution of initialisation code. The PC register holds a value of 37702.
Page Byte Address Description
91 0 23296
Miscellaneous data, part 1
91 3 23299
Temporary storage area for background graphics
91 67 23363
Unused
91 68 23364
Miscellaneous data, part 2
91 70 23366
Unused
91 71 23367
Miscellaneous data, part 3
91 72 23368
Table of glowing attribute file addresses
91 102 23398
Miscellaneous data, part 4
91 103 23399
Unused
91 106 23402
Main lever flags
91 107 23403
Off-White-Knight-sent-to-sleep flag
91 108 23404
Miscellaneous data, part 5
91 122 23418
Miscellaneous data, part 6
91 126 23422
Table of characters in room of interest
91 134 23430
Miscellaneous data, part 7
91 139 23435
Unused
91 140 23436
Miscellaneous data, part 8
91 144 23440
Unused
91 145 23441
Miscellaneous data, part 9
91 154 23450
Vertical and horizontal mirror flags
91 155 23451
Miscellaneous data, part 10
91 161 23457
Time data
91 165 23461
Draw-2-×-1-blocks flag
91 166 23462
Miscellaneous data, part 11
91 171 23467
Unused
91 175 23471
y- and x- coordinates of top-left corner of currently glowing locate compass sector
91 177 23473
Miscellaneous data, part 12
91 178 23474
Magic Knight movement flags
91 179 23475
Miscellaneous data, part 13
91 184 23480
Animate-puff-of-smoke flag
91 185 23481
Miscellaneous data, part 14
91 192 23488
Visited room flags
91 244 23540
Unused
92 0 23552
System variables, part 1
92 11 23563
Unused
92 59 23611
System variables, part 2
92 60 23612
Unused
92 61 23613
Miscellaneous data, part 15
92 63 23615
Unused
92 65 23617
System variables, part 3
92 66 23618
Unused
92 72 23624
Miscellaneous data, part 16
92 73 23625
Unused
92 106 23658
System variables, part 4
92 107 23659
Unused
92 118 23670
Miscellaneous data, part 17
92 123 23675
Interrupt routine flags
92 124 23676
Unused
92 125 23677
Miscellaneous data, part 18
92 127 23679
Unused
92 141 23693
Miscellaneous data, part 19
92 145 23697
System variables, part 5
92 146 23698
Available in-game menu command flags
92 148 23700
Miscellaneous data, part 20
92 150 23702
Magic Knight's current room
92 151 23703
Index of required disquise
92 152 23704
Store for display file address to print text to in command summary window
92 154 23706
Player-attribute-update flag
92 155 23707
Attribute file address for virtual text cursor
92 157 23709
Miscellaneous data, part 21
92 165 23717
Unused
92 176 23728
Cheat-mode-enabled flag
92 177 23729
Unused / stack
93 0 23808
Terrain interaction data table
96 0 24576
Table of bitmap data for Magic Knight at his current location
96 96 24672
Table of background bitmap data
96 192 24768
Characters' current stats
97 8 24840
Magic Knight's current data
97 16 24848
Characters' current inventories
97 66 24898
Characters' current positions
97 90 24922
Objects' current positions
97 216 25048
Table of background attribute data
97 228 25060
Temporary text buffer
98 88 25176
Graphics: Storm cloud
102 88 26200
Graphics: Magic Knight
108 88 27736
Graphics: (01 × 64) Character set, part 1
110 88 28248
Graphics: (01 × 32) Character set, part 2
111 88 28504
Graphics: Brickwork blocks, part 1
113 248 29176
Graphics: Axes
114 24 29208
Graphics: Brickwork blocks, part 2
114 88 29272
Graphic lookup data
115 108 29548
Graphics (compacted): Scenery, part 1
115 241 29681
Graphics: (02 × 02) Menu hand cursor
116 17 29713
Graphics: Objects
122 145 31377
Graphics: Puff of smoke
124 209 31953
Graphics (compacted): Scenery, part 2
127 193 32705
Graphics: Characters, part 1
128 65 32833
Graphics (compacted): Scenery, part 3
136 77 34893
Graphics: Characters, part 2
137 205 35277
Graphics (compacted): Scenery, part 4
146 219 37595
Unused
147 57 37689
Wait for interrupt then display and handle input device selection menu
147 132 37764
Display and handle Gadget X menu
147 248 37880
Clear stack and prepare to load data
148 21 37909
Draw input device selection menu and update currently selected input device
148 63 37951
Display instructions windows
148 115 38003
Set border to black and clear temporary storage area of memory
148 136 38024
Initialise data and start a new game
149 61 38205
Main game loop: Process keyboard input and move Magic Knight or enter menus
150 29 38429
Handle Magic Knight's fall, preserving x-velocity
150 34 38434
Handle Magic Knight's falls
150 185 38585
Kill Magic Knight's x-velocity if he cannot horizontally pass through a block beside him
151 68 38724
Kill Magic Knight's jump if he cannot vertically pass through a block above him
151 124 38780
Draw top in-game window
151 173 38829
Print "STORMBRINGER" text at top of command summary window
151 185 38841
Move Magic Knight into room A, draw room, objects and characters and initialise room-specific data
152 102 39014
Room drawing: Start drawing layout data fragment
152 124 39036
Room drawing: Skip over block drawing data to start of next instruction
152 135 39047
Room drawing: (000) Draw floor, paint attributes / terrain interaction data, draw Magic Knight, characters and objects then return
152 246 39158
Room drawing: Advance IX to start of next room layout data entry and paint attributes
153 15 39183
Room drawing: Advance IX to start of next room layout data entry and paint terrain interaction data
153 21 39189
Room drawing: Start painting attribute / terrain interaction data for layout data fragment
153 48 39216
Draw run of 2 × 2 blocks horizontally
153 123 39291
Draw run of 2 × 2 blocks vertically
153 198 39366
Draw 2 × 2 block with style index A at stored coordinates then move right two characters
153 225 39393
Finalise room drawing, draw objects and characters, and animate the arrival of any new characters
154 129 39553
If a character has arrived then redraw Magic Knight and all characters in room
154 154 39578
Print Magic Knight's current room's name at top of screen
154 229 39653
Miscellaneous text 1
154 231 39655
Prepare to execute room-specific routine for Magic Knight's current room
154 244 39668
Check whether Magic Knight is moving into a new room and react if so
155 2 39682
Change Magic Knight's current room if possible
155 34 39714
Move Magic Knight one room to the left if possible
155 78 39758
Move Magic Knight one room to the right if possible
155 115 39795
Draw all characters in Magic Knight's current room
155 149 39829
Animate arrival of any new character if in Magic Knight's current room
155 203 39883
Draw a character
155 253 39933
Paint a character's attributes
156 22 39958
Animate puff of smoke at coordinates pointed to by IX
156 72 40008
Set Magic Knight's velocity to zero, if appropriate move to new room, update state of storm cloud and execute room-specific routine
156 217 40153
Decrease Magic Knight's current strength by ten
156 241 40177
Decrease Magic Knight's current strength by one every fourth call
156 254 40190
Decrease Magic Knight's current strength by average of 1/4 if he is carrying the Glow Shield
157 9 40201
Room-specific routine: Decrease Magic Knight's strength by one once every four frames
157 43 40235
Room-specific routine: Update position of 1 axe and display
157 47 40239
Room-specific routine: Update positions of 4 axes and display
157 66 40258
Room-specific routine: Kill Magic Knight if he is in a dark room without illumination
157 134 40326
Load B with room index of object A
157 146 40338
Room-specific routine: Check for egg dropped down wishing well and set wish-pending flag and display message if appropriate
157 165 40357
Check whether an egg has been dropped down the wishing well and set wish-pending flag if so
157 214 40406
Room-specific routine: Move Magic Knight down a room if appropriate
157 245 40437
Room-specific routine: Move Magic Knight between teleport rooms if appropriate
158 41 40489
Room-specific routine: Display cave progress and set Magic Knight's x-velocity to 2 if at floor level
158 75 40523
Room-specific routine: Set Magic Knight's x-velocity to 2 if his y-coordinate is 136
158 79 40527
Room-specific routine: Set Magic Knight's x-velocity to -2 if his y-coordinate is 136
158 98 40546
Room-specific routine: Move Magic Knight up or down a room if appropriate and boost jumps if wearing Power Boots
158 150 40598
Room-specific routine: Kill Magic Knight if he is too close to Bearwoolf
158 166 40614
Room-specific routine: Enable / disable entry to castle depending upon disquise worn and whether Newspaper is held
158 210 40658
Divide A by eight, rounding down to nearest integer
158 216 40664
Room drawing: Read graphic definition from room layout data and draw
159 25 40729
Unused routine
159 48 40752
Unused routine
159 61 40765
Unused routine
159 80 40784
Unused routine
159 128 40832
Room drawing: Move virtual bitmap cursor to coordinates specified in layout data
159 141 40845
Paint room layout data entry's attributes, applying horizontal and vertical mirrors (room drawing)
159 169 40873
Paint room layout data entry's attributes, applying horizontal mirror (room drawing)
159 201 40905
Paint room layout data entry's attributes, applying vertical mirror (room drawing)
159 233 40937
Paint room layout data entry's attributes (room drawing)
160 75 41035
Store coordinates of area to be coloured and point IX at RLE attribute (or terrain interaction) data (room drawing)
160 99 41059
Unused routine
160 121 41081
Paint room layout data entry's terrain interaction parameters, applying horizontal and vertical mirrors (room drawing)
160 149 41109
Paint room layout data entry's terrain interaction parameters, applying horizontal mirror (room drawing)
160 181 41141
Paint room layout data entry's terrain interaction parameters, applying vertical mirror (room drawing)
160 213 41173
Paint room layout data entry's terrain interaction parameters then advance to next entry (room drawing)
161 55 41271
Draw 2 × 2 block with style index A at bitmap virtual text cursor then move right two characters
161 243 41459
Read glowing character block definitions and add to current room
162 5 41477
Add a glowing character block to the current room
162 32 41504
Copy 2 × 4 (characters) region of display file into temporary storage
162 73 41545
Copy 2 × 4 (characters) region from temporary storage into display file
162 106 41578
Process command to pick up an object
163 20 41748
Process command to drop an object
163 187 41915
Load C with 7 (index of broken glass)
163 190 41918
Load C with 8 (index of broken glass)
163 193 41921
Load C with 9 (index of broken glass)
163 196 41924
Process command to take an object
164 52 42036
Remove current object from current character's inventory and add it to Magic Knight's then return to main game loop
164 85 42069
Table of start addresses of routines for characters having objects taken
164 101 42085
Take an object routine: Off-White Knight
164 107 42091
Take an object routine: Aramis Le Peux
164 121 42105
Take an object routine: Robin of Shylock
164 173 42157
Take an object routine: Have current character take object A in exchange for Newspaper
164 236 42220
Take an object routine: Reggie the Rat
164 242 42226
Take an object routine: Rachel of Amazonia
164 248 42232
Take an object routine: Barker the Ent
164 254 42238
Take an object routine: Organon the Guard
165 4 42244
Take an object routine: Grunter the Bearwoolf
165 7 42247
If current object is an egg then display "[Character] WANTS TO KEEP THE [Object]" window (13) and return to main game loop
165 17 42257
Process command to give an object
165 155 42395
Remove current object from Magic Knight's inventory and add it to a character's then return to main game loop
165 173 42413
Table of start addresses of routines for characters having objects given
165 189 42429
Give an object routine: Off-White Knight
165 200 42440
Unused
165 201 42441
Give an object routine: Robin of Shylock
165 239 42479
Give an object routine: Aramis Le Peux and Reggie the Rat
165 242 42482
Give an object routine: Rachel of Amazonia
165 245 42485
Give an object routine: Barker the Ent and Organon the Guard
165 248 42488
Give an object routine: Grunter the Bearwoolf
165 251 42491
Unused routine
165 254 42494
Display and handle main in-game menu (when fire is pressed)
166 120 42616
Print currently available additional in-game menu command options
166 142 42638
Process command to examine yourself / a character / an object
167 186 42938
Insert numeric stats (at HL) of a character into "examine character" window text
167 248 43000
Insert numeric / text stats of an object into "examine object" window text
168 35 43043
Process command to command a character
168 97 43105
Table of routine addresses for Magic Knight commanding characters
168 109 43117
Send current character to sleep if possible
168 150 43158
Wake current character up if possible
168 191 43199
Make current character go away if possible
168 242 43250
Have a character help if possible
169 38 43302
Table of start addresses of routines for characters being commanded to help
169 54 43318
Make current character eat and drink if possible
169 164 43428
Make current character be happy if possible
169 222 43486
Table of characters' default happiness levels
169 230 43494
Process command to read an object
170 116 43636
Process command to throw an object
171 98 43874
Process command to cast a spell
171 160 43936
Table of cast a spell routine addresses
171 174 43950
Cast Dimension Merge if possible, otherwise display failure message
171 222 43998
Display failure message (when attempting to cast Melt Granite)
171 225 44001
Cast Pass Plant if possible, otherwise display failure message
172 31 44063
Cast Spell of Wonder if possible, otherwise display failure message
172 68 44100
Cast Travel to Person if possible, otherwise display failure message
172 166 44198
Cast Magic Fulcrum if possible, otherwise display failure message
172 184 44216
Cast Quiticus Gamus and jump to game over
172 193 44225
Flash border and screen and decrease Magic Knight's magic level if level is at least C
172 221 44253
Show "WELL DONE" screen, jumping to game over when fire is pressed
173 49 44337
Process command to blow an object
174 71 44615
Load BC with coordinates of character's arrival point when summoned and set zero flag if character refuses
174 91 44635
Process command to wear / unwear an object
175 61 44861
Process command to teleport
175 133 44933
Process command to tickle a character
175 190 44990
Process command to pull lever
176 38 45094
Unused routine
176 39 45095
Process command to smell something
176 75 45131
Process command to have a wish
176 93 45149
Process command to have a drink
176 150 45206
Print name of B-th conditional command in command summary window
176 168 45224
Command-character-to-help routine for Off-White Knight
176 171 45227
Command-character-to-help routine for Aramis Le Peux
176 200 45256
Command-character-to-help routine for Robin of Shylock
177 21 45333
Command-character-to-help routine for Reggie the Rat
177 24 45336
Command-character-to-help routine for Rachel of Amazonia
177 30 45342
Command-character-to-help routine for Barker the Ent
177 33 45345
Command-character-to-help routine for Organon the Guard
177 36 45348
Command-character-to-help routine for Grunter the Bearwoolf
177 39 45351
Load A with weight of object A
177 52 45364
Load A with current character's happiness level
177 68 45380
Wait for interrupt then load object C into the first empty inventory slot of a character
177 78 45390
Point HL to the E-th byte of the A-th record in object properties table
177 94 45406
Point HL at E-th byte on A-th record of characters' current stats table (excluding Magic Knight)
177 99 45411
Point IX at current character's current stats
177 111 45423
If character's happiness is lower than B then show "[Character] DOES NOT WANT TO BE COMMANDED..." and jump to main game loop
177 122 45434
Increase current character's happiness by amount A
177 138 45450
Point IX at current inventory of character A
177 154 45466
Test whether current object is too heavy for Magic Knight to pick up (or take)
177 193 45505
Check whether Magic Knight is wearing an object
177 198 45510
Check whether Magic Knight is carrying an object
177 210 45522
Insert current time and score into "time left" and "percentage completion" texts
177 240 45552
Display "[Character] IS ASLEEP" window and jump to main game loop if current character is asleep, else return
178 16 45584
Load Magic Knight's coordinates (in characters) into DE
178 33 45601
Point HL at current position data for current character
178 49 45617
Adjust height (at DE) of a window to accommodate text
178 57 45625
Set a window's height to A
178 63 45631
Display "YOU ARE NOT WEARING ANYTHING" window and set zero flag if Magic Knight's inventory (wearing) is empty
178 73 45641
Display "YOU ARE NOT CARRYING ANYTHING" window and set zero flag if Magic Knight's inventory (carrying) is empty
178 102 45670
Unused routine
178 117 45685
If A is 4 then display "THE BEAR SAYS..." message and wait for fire to be pressed
178 155 45723
End the game if current character is Off-White or Grunter
178 198 45766
Print name of object in inventory slot A of inventory data at HL in command summary window
178 211 45779
Code for printing routine to display name of current object
178 213 45781
Update current character based upon selection made in menu
178 230 45798
Code for printing routine to display short name of current character
178 232 45800
Code for printing routine to display full name of current character
178 234 45802
Display a character's inventory window as an information window
178 241 45809
Show list of objects (window or menu) and handle selection if a menu
179 139 45963
Display and process input for character selection menu (current room's characters only)
180 26 46106
Display and process input for character selection menu (character list defined at HL)
180 103 46183
Set Magic Knight's available action flags
180 235 46315
List of indices of rooms with levers
180 246 46326
Set Magic Knight's available action flags (additional)
181 44 46380
Load C with property of index A for all Magic Knight's carried objects, OR-ed together
181 72 46408
Create list of characters in room A and load A with number of characters
181 127 46463
Print Magic Knight's current strength at (6, 2) as text if he is carrying the Mirror
181 154 46490
Draw objects in Magic Knight's inventory if he is carrying the Mirror
181 224 46560
Update position of axe, display, and decrease Magic Knight's strength if in contact
182 150 46742
Multiply x- or y-velocity of axe by minus one
182 160 46752
Properties of the axes
182 192 46784
Draw axe(s) to screen if Magic Knight is in an axe room
182 245 46837
Splice numeric data A as a string into a string at HL
183 25 46873
Print text at location HL to screen using full screen width
183 54 46902
Print text at location HL to screen
183 172 47020
Return from recursive text-printing
183 175 47023
Text printing: Return from current level of text printing
183 201 47049
Text printing: Print an entry from the common words table
183 232 47080
Text printing: Toggle BRIGHT flag
183 236 47084
Text printing: Toggle FLASH flag
183 244 47092
Text printing: Change PAPER colour
183 248 47096
Text printing: Change INK colour
184 6 47110
Print the current object's name
184 17 47121
Print appropriate Newspaper substring for current required disquise
184 28 47132
Print current Crystal Ball substring
184 39 47143
Print current Scroll substring
184 50 47154
Print the name of the current command
184 58 47162
Print the current character's full name
184 66 47170
Print the current character's short name
184 74 47178
Return
184 75 47179
Subtract 100 from common word index and jump to second part of common words table
184 81 47185
Draw a menu window
184 89 47193
Draw a window
184 222 47326
Draw a window frame
185 131 47491
Draw an upper or lower window frame edge then increment the border character index
185 142 47502
Process keyboard / joystick input on a menu and load A with selected item index
185 232 47592
Wait for fire button / key to be released
185 243 47603
Move hand cursor up and update menu item highlighting
186 49 47665
Move hand cursor down and update menu item highlighting
186 87 47703
Load A with (zero-based) index of selected menu item
186 115 47731
Invert INK and PAPER bits to (de-)highlight currently active menu item
186 181 47797
Convert numeric value BC to ASCII string at location HL
186 217 47833
Clear lower two thirds, and lower three character rows of upper third of display file
186 240 47856
Clear display file
187 9 47881
Flood attribute file with stored attribute value
187 25 47897
Set parameters for and play upward scale sound
187 58 47930
Set parameters for and play downward scale sound
187 66 47938
Set parameters for and play short downward scale sound
187 74 47946
Play hiss-type sound
187 117 47989
Set parameters (for cheat / debug routine sound) and play
187 146 48018
Get current border colour in A
187 155 48027
Fill a region of attribute file with specified attribute (e.g. background colour and colour of text within)
187 209 48081
Blank the interior of an area of the display file (i.e. set bytes to zero)
188 36 48164
Draw all objects in Magic Knight's current room
188 63 48191
Set terrain interaction data for character blocks spanned by an object and draw the object
188 213 48341
Remove object C from a character's inventory and tidy up remaining entries
188 232 48360
Draw a line from (C, B) to (E, D)
189 5 48389
Print word in temporary text buffer to screen, wrapping text if necessary, then process next word
189 134 48518
Move virtual text cursors (attribute and bitmap) down to left edge of next row of window
189 151 48535
List of command indices
189 169 48553
Routine start addresses for Magic Knight's commands (main menu)
189 205 48589
List of characters for "TRAVEL TO" character selection menu
189 214 48598
List of characters for "SUMMON" character selection menu
189 219 48603
Magic Knight's initial data
189 227 48611
Characters' initial inventories
190 21 48661
Characters' initial positions
190 45 48685
Objects' initial positions
190 171 48811
Room connectivity data
191 19 48915
Character movement restriction data
191 123 49019
Magic Knight's y-velocities sequence for jumping and falling
191 138 49034
Window data
192 130 49282
Characters' initial stats
192 202 49354
Table of object properties
194 26 49690
Table of x- and y-coordinates of positions taken by summoned characters in each room
194 130 49794
Table of 2 × 2 block style definitions
195 170 50090
Initial control selection menu text
195 218 50138
Instructions text
197 17 50449
Redefine-the-game window text
197 208 50640
Miscellaneous text 2
198 249 50937
Miscellaneous text 3
200 234 51434
Main in-game menu strings
201 132 51588
Text relating to "command a character to help" command
202 82 51794
Text relating to "pick up" command
202 173 51885
Teddy Bear is scared text
202 208 51920
Text relating to all commands that manipulate objects
202 221 51933
Text relating to "drop" command
203 66 52034
Text relating to "take" command
203 137 52105
Text relating to "give" command
203 190 52158
Text relating to "examine" command
204 77 52301
Characters' "current status" texts
205 41 52521
Miscellaneous text 4
205 43 52523
Text relating to "command" command
206 123 52859
Text relating to "read" command
206 142 52878
List of read-texts of readable objects
211 11 54027
Newspaper substrings
213 58 54586
Crystal ball substrings
214 118 54902
Scroll substrings
215 158 55198
Clue texts
216 217 55513
Text relating to "cast a spell" command
218 151 55959
Text relating to "throw" command
219 6 56070
Text relating to "blow" command
220 60 56380
Text relating to "wear/unwear object" command
220 142 56462
Text relating to "teleport" command
220 182 56502
Text relating to "tickle" command
220 245 56565
Object names
222 11 56843
Room names
223 181 57269
Miscellaneous text 5
225 93 57693
Common words table, part 1
228 91 58459
Common words table, part 2
229 217 58841
Room layout data pointers
230 65 58945
Room layout data: Limbo
230 69 58949
Room layout data: Outdoors, 0 (Bearwoolf's Hoard)
230 99 58979
Room layout data: Outdoors, 1 (Bearwoolf's Cave)
230 126 59006
Room layout data: Outdoors, 2 (Beware Bearwoolf)
230 148 59028
Room layout data: Outdoors, 3 (The Spooky Forest, 1)
230 172 59052
Room layout data: Outdoors, 4
230 211 59091
Room layout data: Outdoors, 5 (The Spooky Forest, 2)
230 245 59125
Room layout data: Outdoors, 6 (The Sword in the Concrete)
231 12 59148
Room layout data: Outdoors, 7 (Robin's Little Hut)
231 62 59198
Room layout data: Outdoors, 8 (Exit from Limbo)
231 97 59233
Room layout data: Outdoors, 9 (More Spooky Forest)
231 138 59274
Room layout data: Outdoors, 10 (Entwood)
231 184 59320
Room layout data: Outdoors, 11 (The Spooky Forest, 3)
231 230 59366
Room layout data: Outdoors, 12 (The Spooky Forest, 4)
232 20 59412
Room layout data: Outdoors, 13 (Wishing Well)
232 54 59446
Room layout data: Outdoors, 14
232 100 59492
Room layout data: Outdoors, 15 (The Castle Entrance)
232 174 59566
Room layout data: Castle Ground Floor, 0 (One Axe Room)
232 235 59627
Room layout data: Castle Ground Floor, 1 (Indoor Bowling Green)
232 252 59644
Room layout data: Castle Ground Floor, 2
233 42 59690
Room layout data: Castle Ground Floor, 3
233 48 59696
Room layout data: Castle Ground Floor, 4 (More Axe Problems)
233 83 59731
Room layout data: Castle Ground Floor, 5 (Even More Axes)
233 111 59759
Room layout data: Castle Ground Floor, 6 (The First Jump Chute)
233 124 59772
Room layout data: Castle First Floor, 0 (Main Lever 7)
233 150 59798
Room layout data: Castle First Floor, 1 (Main Lever 6)
233 193 59841
Room layout data: Castle First Floor, 2 (Security Door & Main Lever 5)
233 226 59874
Room layout data: Castle First Floor, 3 (Main Lever 4)
234 32 59936
Room layout data: Castle First Floor, 4 (Main Lever 3)
234 75 59979
Room layout data: Castle First Floor, 5 (Main Lever 2)
234 83 59987
Room layout data: Castle First Floor, 6 (Main Lever 1)
234 99 60003
Room layout data: Castle Second Floor, 0 (The Broken Teleport)
234 106 60010
Room layout data: Castle Second Floor, 1 (Terrible Twins)
234 122 60026
Room layout data: Castle Second Floor, 2 (The Guardian Statues)
234 165 60069
Room layout data: Castle Second Floor, 3 (One Way Corridor, 1)
234 166 60070
Room layout data: Castle Second Floor, 4 / 5 (One Way Corridor, 2 / 3)
234 174 60078
Room layout data: Castle Second Floor, 6 / Castle Third Floor, 6
234 202 60106
Room layout data: Castle Third Floor, 0 (Big White Statue)
234 229 60133
Room layout data: Castle Third Floor, 1
234 235 60139
Room layout data: Castle Third Floor, 2 (Teleport Room, 1)
234 243 60147
Room layout data: Castle Third Floor, 3 / 4 / 5 (One Way Corridor, 4 / 5 / 6)
234 251 60155
Room layout data: Spaceship, 0 (The Control Room)
235 24 60184
Room layout data: Spaceship, 1 (Many Screened Room)
235 136 60296
Room layout data: Spaceship, 2 (Teleport Room, 2)
235 153 60313
Room layout data: Spaceship, 3
235 210 60370
Room layout data: Spaceship, 4 (The Power Plant)
235 247 60407
Room layout data: Spaceship, 5
236 48 60464
Room layout data: Spaceship, 6
236 71 60487
Lookup table for RLE attribute data (room layout graphics)
236 199 60615
RLE attribute data (room layout graphics)
237 217 60889
Lookup table for RLE terrain interaction parameter data (room layout graphics)
237 237 60909
RLE terrain interaction parameter data (room layout graphics)
237 253 60925
Room layout data fragment pointers
238 35 60963
Room layout data fragment: Two torches
238 48 60976
Room layout data fragment: Teleport
238 67 60995
Room layout data fragment: Plant
238 74 61002
Room layout data fragment: Corridor with partial floor and ceiling
238 129 61057
Room layout data fragment: Top of tree with face
238 136 61064
Room layout data fragment: Left wall
238 143 61071
Room layout data fragment: Right wall
238 150 61078
Room layout data fragment: Security door (1/3)
238 157 61085
Room layout data fragment: Security door (2/3)
238 164 61092
Room layout data fragment: Security door (3/3)
238 170 61098
Room layout data fragment: Blank
238 171 61099
Room layout data fragment: Lever
238 177 61105
Room layout data fragment: Ceiling, floor and jump chute
238 196 61124
Room layout data fragment: Ceiling
238 203 61131
Room layout data fragment: Right wall section
238 216 61144
Room layout data fragment: Right section of corridor
238 235 61163
Room layout data fragment: Left section of corridor
238 254 61182
Room layout data fragment: Middle section of corridor
239 11 61195
Room layout data fragment: Cracked column
239 30 61214
Room drawing: Reset apply-vertical-mirror flag, reset apply-horizontal-mirror flag and draw a graphic
239 52 61236
Room drawing: Set apply-vertical-mirror flag, reset apply-horizontal-mirror flag and draw a graphic
239 83 61267
Room drawing: Reset apply-vertical-mirror flag, set apply-horizontal-mirror flag and draw a graphic
239 113 61297
Room drawing: Set apply-vertical-mirror flag, set apply-horizontal-mirror flag and draw a graphic
239 152 61336
Room drawing: Draw a graphic
239 203 61387
Load contents of A into memory location pointed to by HL
239 206 61390
Read (from graphic data) repeat counter value, x, and draw x rows of reset pixels
239 227 61411
Read (from graphic data) repeat counter value, x, and draw x rows of set pixels
239 231 61415
Room drawing: Jump to routine to advance HL to next display file address to be drawn to
239 234 61418
Room drawing: Advance HL to next display file address to be drawn to (apply-horizontal-mirror flag reset)
240 81 61521
Room drawing: Advance HL to next display file address to be drawn to (apply-horizontal-mirror flag set)
240 185 61625
Reverse the order of the bits in A
240 198 61638
Store background bitmap data at Magic Knight's current location
241 24 61720
Overlay graphic data for Magic Knight's current frame on table of bitmap data for Magic Knight at his current location
241 78 61774
Draw bitmap data for Magic Knight overlaid on background to display file
241 120 61816
Set redraw-Magic-Knight-on-next-interrupt flag and wait for interrupt
241 127 61823
Erase Magic Knight from display, advance his current position then redraw
241 164 61860
Store background attributes if appropriate, then draw Magic Knight to display without drawing axes
241 217 61913
Store background attribute data at Magic Knight's current location
242 51 62003
Restore background attribute data at Magic Knight's current location
242 102 62054
Table of start addresses of input device reading routines
242 110 62062
Powers of ten
242 120 62072
Addresses of room-specific routines
242 226 62178
Call time-dependent routines (main interrupt routine)
243 102 62310
Interrupt routine: Write current attribute for a glowing block to attribute file
243 109 62317
Interrupt routine: Update glowing blocks' attribute to next colour in sequence
243 122 62330
Update game time, time left and move characters if appropriate
243 220 62428
Increase Magic Knight's current magic level by 20 (up to maximum of 100)
243 235 62443
Make Chicken lay an egg if possible
244 12 62476
Update all characters' stats (deteriorate or regenerate) and wake up / send to sleep if required
244 130 62594
Update characters' stats as they tire or regenerate
244 158 62622
Move character whose turn it is to move, if allowed
245 58 62778
Get index of destination room for a character and load into A
245 92 62812
Update index of character whose turn it is to be updated
245 107 62827
Update character's x-coordinate if new value is allowed, otherwise return
245 133 62853
Set position of character whose turn it is to move to his/her initial position
245 157 62877
End game due to running out of time
245 175 62895
Characters' rates of stat deterioration / regeneration
245 239 62959
Store all registers on the stack
246 11 62987
Restore all registers from the stack
246 29 63005
Print text/graphic character in A and advance bitmap virtual text cursor
246 64 63040
Draw axe to screen
246 158 63134
Load HL with display file address for coordinates in BC
246 186 63162
Draw a UDG, with index A, from 2 × 2 blocks' UDG data at location of bitmap virtual text cursor
246 227 63203
Move virtual cursor (bitmap) to display file for coordinates x=C, y=B and load address into HL
246 243 63219
Point HL at terrain interaction data, or attribute file address for character coordinates x=C, y=B
247 1 63233
Point HL at terrain interaction data for character coordinates x=C, y=B
247 15 63247
Advance bitmap virtual text cursor right by one character
247 31 63263
Advance bitmap virtual text cursor to start of next character row
247 54 63286
Update attribute virtual text cursor based upon current bitmap virtual text cursor
247 70 63302
Draw a run of characters (e.g. edge of frame of a window)
247 81 63313
Advance HL to byte after first zero from address in HL onwards
247 90 63322
Point HL at start of B-th entry in list of read-texts of readable objects
247 95 63327
Point HL at start of B-th entry in list of "command a character" commands
247 100 63332
Point HL at B-th entry in table of object names
247 117 63349
Print text at DE (command summary) in command summary window at top of screen
247 156 63388
Print command summary text (text at DE, e.g. "COMMAND ") in command summary window
247 167 63399
Print or update command summary window at top of screen
247 211 63443
Swap x- and y-coordinates of current window / graphic with values in temporary storage
247 240 63472
Update character printing routine to use base address of text character set graphics
248 0 63488
Update character printing routine to use base address of floor character set graphics
248 6 63494
Draw a graphic with lookup index A, width of 2 and height of 3 at character coordinates (C, B)
248 11 63499
Draw a graphic with lookup index A, width of 2 and height of 2 at character coordinates (C, B)
248 16 63504
Draw a graphic with lookup index A at character coordinates (C, B)
248 110 63598
Update currently selected input device
248 165 63653
Index of currently selected input device
248 166 63654
Current control text (on control selection screen)
248 169 63657
If Kempston joystick is not present then revert to previously selected input device
248 180 63668
If key-press was enqueued then return index of last key pressed, else wait for key-press and return index
248 203 63691
Print current control keys to screen
248 252 63740
Redefine keyboard controls
249 225 63969
Set zero flag if key pressed is already assigned to a control, otherwise reset
249 242 63986
Current keyboard controls
249 250 63994
Lists of characters on each keyboard half-row
250 34 64034
Capture keyboard input, or jump to joystick reading routine, loading result into A
250 42 64042
Capture keyboard input
250 91 64091
Capture Kempston joystick input
250 122 64122
Capture cursor joystick input
250 159 64159
Capture Sinclair joystick 1 input
250 192 64192
Store a "left" input from control device
250 195 64195
Store a "right" input from control device
250 198 64198
Store an "up" input from control device
250 201 64201
Store a "down" input from control device
250 204 64204
Store a "fire" input from control device
250 207 64207
Display execute / reject command window and return if execute chosen, else exit to main game loop
250 230 64230
Wait for interrupt then display "PRESS FIRE TO CONTINUE" window and wait for fire to be pressed
251 2 64258
Display "YOUR HANDS ARE FULL" window (13) and return to game
251 9 64265
Display "THE [object] IS TOO HEAVY FOR YOU" window (13) and return to game
251 14 64270
Display "[Character] WANTS TO KEEP THE [Object]" window (13) and return to game
251 19 64275
Display "[Character] DOES NOT WANT THE [Object]" window (13) and return to game
251 24 64280
Display "[Character] DOES NOT WANT TO BE COMMANDED BY YOU" window (29) and return to game
251 29 64285
Display "[Character] CANNOT HELP YOU" window (29) and return to game
251 34 64290
Display "YOU CANNOT [Current Command] THAT SPELL NOW..." window (12) and return to game
251 41 64297
Display window 12 with text at HL and return to game
251 45 64301
Display window 24 with text at HL and return to game
251 49 64305
Display window 27 with text at HL and return to game
251 53 64309
Display window 28 with text at HL and return to game
251 57 64313
Display window 29 with text at HL and return to game
251 61 64317
Display an information window with text at HL and return to game
251 98 64354
Scroll a region of the display file up a pixel row without wrapping
251 104 64360
Do nothing (return)
251 105 64361
Scroll a region of the display file down a pixel row without wrapping
251 111 64367
Scroll a region of the display file up a pixel row
251 200 64456
Scroll a region of the display file down a pixel row
252 36 64548
Flash border and screen (as in cast a spell)
252 70 64582
Display cyan "game over" window and return to control selection menu
252 111 64623
Advance HL by A words, load HL with word at location HL as address and jump to it
252 115 64627
Load address with index A in a list of addresses at HL into HL
252 125 64637
If do-not-draw-storm-cloud flag is set then prepare to draw storm cloud
252 175 64687
If do-not-draw-storm-cloud flag is reset then draw storm cloud
253 42 64810
Set new random seed and load A with a random number
253 61 64829
Generate a random seed / random number up to B
253 68 64836
Select Magic Knight's room (cheat / debug routine)
253 110 64878
Cheat / debug routine: Draw Magic Knight's current room then jump back into cheat routine main loop
253 115 64883
Cheat / debug routine: Decrease Magic Knight's current room index by 1, wrapping around to 51 if below zero
253 138 64906
Cheat / debug routine: Increase Magic Knight's current room index by 1, wrapping around to zero if above 51
253 144 64912
Cheat / debug routine: Increase Magic Knight's current room index by 8, wrapping around to zero if above 51
253 151 64919
Cheat / debug routine: Decrease Magic Knight's current room index by 8, wrapping around to zero if below zero
253 158 64926
Cheat / debug routine: Exit cheat / debug mode
253 167 64935
Set left and right x-coordinates to edges of screen and load A with Magic Knight's current strength
253 180 64948
Unused
254 116 65140
Table of display file addresses of start of each pixel row
255 244 65524
Interrupt routine: second jump
255 247 65527
Unused
255 255 65535
Interrupt routine: first jump