Routines |
Prev: FB3C | Up: Map | Next: FBCC |
FBA0 | LD HL,$7FF3 | 7FF3 holds ERIC's main action timer | ||
FBA3 | DEC (HL) | Is it time to deal with ERIC yet? | ||
FBA4 | RET NZ | Return if not | ||
FBA5 | EX DE,HL | |||
FBA6 | LD HL,$D202 | Point HL at byte 0x02 of ERIC's buffer | ||
FBA9 | INC (HL) | Increment ERIC's y-coordinate temporarily (for testing purposes) | ||
FBAA | CALL $774F | Has ERIC reached the floor yet? | ||
FBAD | JR NZ,$FBC4 | Jump if not | ||
FBAF | CP $11 | This is the y-coordinate of the bottom floor | ||
FBB1 | DEC HL | Point HL at byte 0x01 of ERIC's buffer | ||
FBB2 | JR Z,$FBB9 | Jump if ERIC has landed on the bottom floor | ||
FBB4 | LD A,(HL) | A=ERIC's x-coordinate | ||
FBB5 | CP $5F | This is the x-coordinate of the rightmost end of the boys' skool | ||
FBB7 | JR NC,$FBC3 | Jump if ERIC is outside the boys' skool (and therefore cannot land on the top or middle floors) | ||
FBB9 | EX DE,HL | Reset all of ERIC's status flags at 7FED and 7FFB, indicating that ERIC has landed safely | ||
FBBA | LD L,$ED | |||
FBBC | LD (HL),$00 | |||
FBBE | LD L,$FB | |||
FBC0 | LD (HL),$00 | |||
FBC2 | EX DE,HL | |||
FBC3 | INC L | L=0x02 | ||
FBC4 | DEC (HL) | Restore ERIC's y-coordinate (we've finished testing) | ||
FBC5 | CALL $61B4 | Update the SRB for ERIC's current animatory state and location | ||
FBC8 | INC D | Increment ERIC's y-coordinate (i.e. make him drop one level) | ||
FBC9 | JP $F317 | Update ERIC's location, update the SRB, and reset ERIC's main action timer at 7FF3 to 6 |
Prev: FB3C | Up: Map | Next: FBCC |