Prev: $1F4D Up: Map Next: $1F9F
$1F77: Place an interruptible subcommand routine address into a character's buffer
Used by the routines at $09E9, $0A58, $0B3B, $0E35, $1F4D, $2757, $277D, $28AB, $28BC and $2A99.
$1F77 PLA Pull the return address from the stack and store it at $4E.
$1F78 STA $4E
$1F7A PLA
$1F7B STA $4F
$1F7D LDY #$01 Pick up the value of the first byte after the JSR instruction that called this routine.
$1F7F LDA ($4E),Y
$1F81 STA $AA Store this byte at $AA.
$1F83 INC $4E Increment the address stored at $4E.
$1F85 BNE $1F89
$1F87 INC $4F
$1F89 LDA ($4E),Y Pick up the value of the second byte after the JSR instruction that called this routine and store it at $AB. These two bytes form the address of the interruptible subcommand routine to use for the current character.
$1F8B STA $AB
$1F8D LDA $4E Add 2 to the address stored at $4E, thus making it point at the first byte after the interruptible subcommand routine address.
$1F8F CLC
$1F90 ADC #$02
$1F92 BCC $1F96
$1F94 INC $4F
$1F96 STA $29 Store this address at $29, effectively making it the address of the character's primary command routine.
$1F98 LDA $4F
$1F9A STA $2A
$1F9C JMP ($00AA) Jump to the interruptible subcommand routine.
Prev: $1F4D Up: Map Next: $1F9F