Prev: $29C8 Up: Map Next: $2A99
$2A43: Deal with a character who has been knocked over
This corresponds to $6A46 in the ZX Spectrum version.
The address of this uninterruptible subcommand routine is placed into a character's buffer by the routine at $29C8.
$2A43 DEC $B2 Decrement the knockout delay counter at $B2.
$2A45 BNE $2A4A Branch unless the character has already got up.
$2A47 JMP $1D32 Terminate this uninterruptible subcommand.
$2A4A LDA $B2 Pick up the knockout delay counter from $B2.
$2A4C CMP #$13 Has the character only just been hit?
$2A4E BNE $2A66 Branch if not.
$2A50 LDA $26 Pick up the character's pre-knockout animatory state from $26 and store it at $B3 for later retrieval.
$2A52 STA $B3
$2A54 JSR $322E Update the SRB for the character's current animatory state and location.
$2A57 LDA $26 Pick up the character's animatory state.
$2A59 AND #$F8 Update it to that of the character lying on the floor.
$2A5B CLC
$2A5C ADC #$07
$2A5E STA $26
$2A60 JSR $322E Update the SRB for the character's new animatory state.
$2A63 JMP $2A98 Return.
$2A66 CMP #$12 Is it time to reveal a safe combination letter?
$2A68 BNE $2A76 Branch if not.
$2A6A LDA $46 Pick up the game mode indicator from $46.
$2A6C CMP #$02 Are all the shields flashing?
$2A6E BNE $2A98 Return if not.
$2A70 JSR $298B If the character is a teacher, make him reveal a safe combination letter.
$2A73 JMP $2A98 Return.
$2A76 CMP #$01 Is it time for the character to get up?
$2A78 BNE $2A87 Branch if not.
$2A7A JSR $322E Update the SRB for the character's current animatory state and location.
$2A7D LDA $B3 Restore the character's pre-knockout animatory state from $B3.
$2A7F STA $26
$2A81 JSR $322E Update the SRB for the character's new animatory state.
$2A84 JMP $2A98 Return.
$2A87 CMP #$09 Is it time to give lines to the nearest main kid?
$2A89 BNE $2A98 Return if not.
$2A8B LDA $60 Pick up the current character number from $60.
$2A8D CMP #$0B Is it $00-$0A (a little boy)?
$2A8F BCC $2A98 Return if so.
$2A91 CMP #$0F Is the current character number $0B-$0E (a teacher)?
$2A93 BCS $2A98 Return if not.
$2A95 JMP $0ECF Make the teacher give lines to the closest main kid.
$2A98 RTS
Prev: $29C8 Up: Map Next: $2A99