Prev: $184E Up: Map Next: $191B
$189D: Deal with ERIC when he's jumping
This corresponds to $F533 in the ZX Spectrum version.
Used by the routine at $15B3.
$189D DEC $FE Decrement ERIC's action timer at $FE.
$189F BNE $18A4 Branch unless it's zero.
$18A1 JMP $191F Make ERIC finish the jump.
$18A4 LDA $FE Pick up ERIC's action timer from $FE.
$18A6 CMP #$0D Is ERIC's action timer now $0D?
$18A8 BNE $18AD Branch if not.
$18AA JMP $176F Check whether ERIC has jumped up to the safe or a shield.
$18AD CMP #$0C Is it time to give ERIC lines for jumping?
$18AF BNE $18B6 Branch if not.
$18B1 LDA #$0F Lines reprimand $0F: YOU ARE NOT A KANGAROO.
$18B3 JMP $1972 Make any nearby teacher give ERIC lines.
$18B6 CMP #$0E Is it time to make the jumping sound effect?
$18B8 BNE $18C5 Branch if not.
$18BA LDA #$02 Set the sound effect identifier at $2C.
$18BC STA $2C
$18BE LDA #$21 Initialise the sound effect timer at $2D.
$18C0 STA $2D
$18C2 JMP $191A Return.
$18C5 CMP #$09 Is it time to move ERIC's arm back?
$18C7 BNE $18CC Branch if not.
$18C9 JMP $2BA7 Decrement ERIC's animatory state and return.
$18CC CMP #$03 Is it time to bring ERIC back down to the floor?
$18CE BNE $18DB Branch if not.
$18D0 JSR $322E Update the SRB for the ERIC's current animatory state and location.
$18D3 INC $FB Increment ERIC's y-coordinate, bringing him back to the floor.
$18D5 JSR $322E Update the SRB for ERIC's new location.
$18D8 JMP $191A Return.
$18DB CMP #$86 Is ERIC's action timer equal to $86 now?
$18DD BNE $18E2 Branch if not.
$18DF JMP $191A Return.
$18E2 CMP #$80 Is ERIC's action timer equal to $80 now (meaning ERIC has landed after jumping on a boy)?
$18E4 BNE $18ED Branch if not.
$18E6 LDA #$07 Set ERIC's action timer at $FE to 7.
$18E8 STA $FE
$18EA JMP $191A Return.
$18ED CMP #$81 Is ERIC's action timer less than $80 (we know it's not equal to $80)? (This instruction is redundant.)
$18EF BCC $18F7 Branch if so.
$18F1 SEC ERIC jumped while standing on a boy, so subtract $80 from his action timer value before performing the usual checks.
$18F2 SBC #$80
$18F4 JMP $18A6 Jump back.
$18F7 CMP #$06 Is it time to check whether ERIC has jumped while standing on a boy?
$18F9 BEQ $18FE Branch if so.
$18FB JMP $191A Otherwise return.
$18FE LDA $4C Pick up the keyboard/joystick reading from $4C.
$1900 PHA Save it temporarily.
$1901 LDA #$00 Reset the keyboard/joystick reading at $4C to zero.
$1903 STA $4C
$1905 PLA Restore the keyboard/joystick reading to A.
$1906 CMP #$4A Was 'J' (jump) pressed?
$1908 BEQ $1911 Branch if so.
$190A CMP #$4C Was 'L' (jump) pressed?
$190C BEQ $1911 Branch if so.
$190E JMP $191A Otherwise return.
$1911 JSR $1640 Is ERIC is standing on a boy?
$1914 BCC $191A Return if not.
$1916 LDA #$90 Set the action timer for ERIC at $FE to $90. It will remain at $80 or more until the jump above the boy has finished.
$1918 STA $FE
$191A RTS
Prev: $184E Up: Map Next: $191B