![]() |
Routines |
| Prev: $1F4D | Up: Map | Next: $1F9F |
| $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 |