Prev: 25126 Up: Map Next: 25266
25248: Terminate a command
The main entry point is used by the routines at 27206, 28655 and 28799. Removes the uninterruptible subcommand routine address from bytes 111 and 112 of the character's buffer, which has the effect of making the routine at 25126 immediately hand control of the character back to the interruptible subcommand or the primary command.
25248 LD L,112 Byte 112 of the buffer contains the MSB of the uninterruptible subcommand routine address
25250 JR 25258 Jump forward to replace it with 0
This entry point is used by the routines at 25404, 25488, 29160, 29284, 31110, 31130, 31648, 31807 and 31944. Removes the interruptible subcommand routine address from bytes 105 and 106 of the character's buffer, which has the effect of making the routine at 25126 immediately hand control of the character back to the primary command.
25252 LD L,106 Byte 106 of the buffer contains the MSB of the interruptible subcommand routine address
25254 JR 25258 Jump forward to replace it with 0
This entry point is used by the routines at 25303, 25750, 27442, 27480, 31638, 31807, 32132, 32158, 32167, 63374, 63456 and 63488. Removes the primary command routine address from bytes 99 and 100 of the character's buffer, which has the effect of making the routine at 25126 move immediately to the next command in the command list.
25256 LD L,100 Byte 100 of the buffer contains the MSB of the primary command routine address
25258 LD A,(32765) A=number of the character being worked on (152-171)
25261 LD H,A Zero out the relevant routine address MSB (in byte 100, 106 or 112) in the character's buffer
25262 LD (HL),0
25264 JR 25172 Re-enter the character-moving routine (25126) at the checkpoint for the interruptible subcommand
Prev: 25126 Up: Map Next: 25266