Prev: 35393 Up: Map Next: 35495
35420: Select Magic Knight's room (cheat / debug routine)
35420 CALL 38183 Play cheat routine sound
35423 CALL 26835 Wait for a key-press then beep, loading index of pressed key into A
35426 CP 88 If "X" is pressed...
35428 JP Z,26742 ...then return to BASIC
35431 CP 48 If a key with an index lower than "0" is pressed then exit this routine...
35433 JP M,35489 ...
35436 CP 53 If a key with an index equal to or higher than "5" is pressed then exit this routine...
35438 JP NC,35489 ...
35441 SUB 48 Subtract 48 (ASCII code for "0") from index of key pressed to convert to a number
35443 LD B,A Multiply number by 10 in A...
35444 ADD A,A ...
35445 ADD A,A ...
35446 ADD A,B ...
35447 ADD A,A ...
35448 LD (65529),A Set Magic Knight's current room to this value
35451 CALL 26835 Wait for a key-press then beep, loading index of pressed key into A
35454 CP 88 If "X" is pressed...
35456 JP Z,26742 ...then return to BASIC
35459 CP 48 If a key with an index lower than "0" is pressed then exit this routine...
35461 JP M,35489 ...
35464 CP 58 If a key with an index equal to or higher than ":" (one immediately after "9") is pressed then exit this routine...
35466 JP NC,35489 ...
35469 SUB 48 Subtract 48 (ASCII code for "0") from index of key pressed to convert to a number
35471 LD B,A Add value of this second digit to value in Magic Knight's current room...
35472 LD A,(65529) ...
35475 ADD A,B ...
35476 LD (65529),A ...
35479 XOR A Set Magic Knight's current frame to erase to zero (frame 0 is blank graphic data) so Magic Knight is drawn but not erased...
35480 LD (25389),A ...
35483 CALL 38108 Set parameters for and play downward scale sound
35486 JP 27168 Redraw current room and return to game
35489 CALL 38183 Play cheat routine sound
35492 JP 27176 Jump to start of main game loop
Prev: 35393 Up: Map Next: 35495