Cheat mode
Spellbound has a cheat / debug mode built in. As soon as the game is loaded, the instructions between 26633 - 26640 disable the cheat mode, but it can be restored by:
POKE 27236,194
POKE 27237,92
POKE 27238,138
When cheat mode is enabled, pressing DOWN while controlling Magic Knight will result in a prompt sound being played. After this, two main functions become available. Pressing the X key will cause a return to BASIC, while pressing numeric keys will allow you to transport Magic Knight instantly to another room. This latter function requires two numeric keys to be pressed, as it is necessary to specify the two-digit room number that you wish to visit. The first must digit must be between 0 and 4 (as the game's rooms are numbered 00-49). The second digit can be any numeric value. For example, pressing 0 then 0 will move Magic Knight to room 00 (i.e. The Lift). Pressing any key outside these allowed ranges will immediately resume the game.
Odd Ball frame numbers
The routine 39125 that draws the Odd Ball to screen relies on offset frame numbers (116, 117, 118 and 119) rather than absolute frame numbers (e.g. 0, 1, 2 and 3). These frame numbers are relative to an origin at 64500 which seems to make little sense at first sight. Why not just set the origin to 65428 (the address of the first Odd Ball frame) and use the more logical frame numbers of 0, 1, 2 and 3? I'm sure there must have been a good reason for this.
Drawing the strength bar
In drawing the strength bar, if Magic Knight's strength is not a multiple of eight, then the strength bar is drawn as groups of eight pixels, then the remainder over and above a multiple of eight is drawn. If the Magic Knight's strength IS a multiple of eight, however, the second part of the routine (draw the remainder over and above a multiple of eight) is still executed, but draws nothing (see JR 36267 instruction at 36259 - it seems more logical to have JR 36274 here to skip over the "fractional part drawing".
Gimbal's can-help flag
Giving Gimbal the Willow Rod sets his can-help flag (instructions from 30989), even though Gimbal never helps.
Spell power and summoning
In the summoning routine, the instructions from 33480 decrease a summoned character's strength by 10, happiness by 5 and stamina by 12 as well as Magic Knight's spell power by 3. As the Banshee has no stats, her strength, happiness and stamina are not affected so this part of the routine is skipped in her case, but Magic Knight's loss of spell power is also skipped over. Does the Banshee's own spell power fuel her summoning, rather than Magic Knight's spell power, as is the case for other characters? To change this to be consistent with the situation with other characters (i.e. a drain on Magic Knight's spell power), the instruction JP Z,33512 at 33477 should be changed to JP Z,33504.
Empty inventory check
In the routine at 34914 that displays a window / menu showing a character's inventory, the beginning of the routine checks for an empty inventory, and if it is empty, the execution point skips ahead to 35069 (displaying a "YOU ARE NOT CARRYING ANYTHING" message). If the inventory is not empty, then execution of the routine continues, but at 34978 there is another check for an empty inventory. How can this check ever be passed if the instruction that does the check is skipped as a result of the first check?
Extra room layout data (the wall)
At The Wall (before Elrand helps) at 53289, the instruction at 53307 is unnecessary as it draws the bottom character block of brickwork in the Wall, but this is part of the floor and has already been drawn. In fact the immediately preceding instruction at 53306 can also be omitted as it just sets the brickwork drawing mode to one row in preparation for drawing this unnecessary piece.
Glowing bottle location check
In the room-specific routine at 29800, a check is made at 29812-29815 to determine whether the Glowing Bottle is at The Little Bottle, however there does not appear to be a way for the Glowing Bottle to actually get there. Any attempt to drop (or throw) the Glowing Bottle causes it to break, releasing Banshee. Giving the Glowing Bottle to another character while at the Little Bottle doesn't work either - the object's current room index will be set to 99 and so stop illuminating the room.
(See also bug).
Reused architecture graphics
The architecture styles lookup table contains several blocks that are taken from the previous Magic Knight game, Finders Keepers:
2 3 4 5 6 7 8 9 10
Some of these blocks are also defined in Stormbringer.
Redundant instructions / code
The instruction at 26970 initialises the value at 23676 to zero when a new game is started. However this address is never used.
In the routine that processes the command to command a character (31636), the instruction at 31689 loads A with the index of the current (i.e. commanded) character, however this value is never used.