Prev: 25296 Up: Map Next: 25503
25484: Terminate a command
The main entry point is used by the routines at 25700, 31952, 31969, 32497, 61555, 61624, 61631, 61658, 62032, 62560, 62572, 62599, 62620 and 63501. Removes the primary command routine address from bytes 3 and 4 of the character's buffer, which has the effect of making the routine at 25296 move immediately to the next command in the command list.
25484 LD L,4 Byte 4 of the buffer contains the MSB of the primary command routine address
25486 JR 25494 Jump forward to replace it with 0
This entry point is used by the routines at 25581, 25656, 25677, 26639, 26752, 27144, 32379 and 61463. Removes the interruptible subcommand routine address from bytes 9 and 10 of the character's buffer, which has the effect of making the routine at 25296 immediately hand control of the character back to the primary command.
25488 LD L,10 Byte 10 of the buffer contains the MSB of the interruptible subcommand routine address
25490 JR 25494 Jump forward to replace it with 0
This entry point is used by the routines at 30102, 30643 and 31254. Removes the uninterruptible subcommand routine address from bytes 17 and 18 of the character's buffer, which has the effect of making the routine at 25296 immediately hand control of the character back to the interruptible subcommand or the primary command.
25492 LD L,18 Byte 18 of the buffer contains the MSB of the uninterruptible subcommand routine address
25494 LD A,(32764) A=number of the character being worked on (183-214)
25497 LD H,A Zero out the relevant routine address MSB (in byte 4, 10 or 18) in the character's buffer
25498 LD (HL),0
25500 JP 25432 Re-enter the character-moving routine (25296) at the checkpoint for the interruptible subcommand
Prev: 25296 Up: Map Next: 25503