Routines |
Prev: $184E | Up: Map | Next: $191B |
$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 |