| Routines

62080: Terminate a command

The main entry point is used by the routines at 31319, 62976, 63198, 63304 and 63423. Removes the primary command routine address from bytes 8 and 9 of the character's buffer, which has the effect of making the routine at 61948 move immediately to the next command in the command list.
62080 | LD L,9 | Byte 9 of the buffer contains the MSB of the primary command routine address
62082 | JR 62090 | Jump forward to replace it with 0
This entry point is used by the routines at 25118, 62297, 62339, 62892, 62926, 63209 and 63558. Removes the interruptible subcommand routine address from bytes 14 and 15 of the character's buffer, which has the effect of making the routine at 61948 immediately hand control of the character back to the primary command.
62084 | LD L,15 | Byte 15 of the buffer contains the MSB of the interruptible subcommand routine address
62086 | JR 62090 | Jump forward to replace it with 0
This entry point is used by the routines at 64131 and 64331. Removes the uninterruptible subcommand routine address from bytes 18 and 19 of the character's buffer, which has the effect of making the routine at 61948 immediately hand control of the character back to the interruptible subcommand or the primary command.
62088 | LD L,19 | Byte 19 of the buffer contains the MSB of the uninterruptible subcommand routine address
62090 | LD A,(32763) | A=number of the character being moved (215-229)
62093 | LD H,A | Zero out the relevant routine address MSB (in byte 9, 15 or 19) in the character's buffer
62094 | LD (HL),0
62096 | JP 62029 | Re-enter the character-moving routine (61948) at the checkpoint for the interruptible subcommand