Prev: $1CCB Up: Map Next: $1D16
$1CEC: Deal with a character who is looking for a seat
This corresponds to $6C7C in the ZX Spectrum version.
The address of this uninterruptible subcommand routine is placed into a character's buffer by the routines at $1CCB and $1D16.
$1CEC JSR $322E Update the SRB for the character's current animatory state and location.
$1CEF LDA $26 Pick up the character's animatory state from $26.
$1CF1 LSR A Is the character midstride?
$1CF2 BCC $1CF7 Branch if not.
$1CF4 JMP $1398 Move the character from the midstride position.
$1CF7 JSR $1A51 Is the character beside a chair?
$1CFA BNE $1CFF Branch if not.
$1CFC JMP $1C59 Make the character sit in the chair, knocking the current occupant (if any) out first.
$1CFF BCC $1D0D Branch unless the character needs to turn round.
$1D01 LDA $26 Flip bit 7 of the character's animatory state, thus turning him round.
$1D03 EOR #$80
$1D05 STA $26
$1D07 JSR $322E Update the SRB for the character's new animatory state.
$1D0A JMP $1D15 Return.
$1D0D INC $26 Increment the character's animatory state.
$1D0F JSR $322E Update the SRB for the character's new animatory state.
$1D12 JMP $1D15 Return. (This instruction is redundant.)
This entry point is used by the routines at $1CB4 and $1CCB.
$1D15 RTS
Prev: $1CCB Up: Map Next: $1D16