Routines |
Prev: F09A | Up: Map | Next: F0B7 |
The address of this interruptible subcommand routine is placed into bytes 0x09 and 0x0A of a teacher's buffer by the routine at F0BF. It makes the teacher run after and stalk ERIC until he goes to wherever he should be (the dinner hall, the assembly hall, or the classroom).
|
||||||||
F09B | LD L,$1D | Set bit 7 of byte 0x1D of the teacher's buffer, making him run | ||||||
F09D | SET 7,(HL) | |||||||
F09F | LD L,$00 | Byte 0x00 of the teacher's buffer holds his animatory state | ||||||
F0A1 | BIT 0,(HL) | Is the teacher midstride? | ||||||
F0A3 | JP NZ,$655E | Finish the stride if so | ||||||
F0A6 | LD L,$1D | |||||||
Now check whether a command list restart has been requested. This request will have been made for one of two reasons: the lesson in which the teacher started chasing ERIC has ended, and the next lesson has just begun (see F74D); or ERIC is now where he should be (see below). In either case, the chase is over.
|
||||||||
F0A8 | BIT 0,(HL) | Has the teacher's command list been marked for a restart? | ||||||
F0AA | JP NZ,$7E8F | If so, do some post-chase cleanup, remove the address of this routine from bytes 0x09 and 0x0A of the teacher's buffer, and restart the command list | ||||||
F0AD | CALL $7D15 | Is ERIC where he should be? | ||||||
F0B0 | JP NZ,$6558 | Continue the chase if not | ||||||
F0B3 | SET 0,(HL) | Otherwise set bit 0 of byte 0x1D of the teacher's buffer, indicating that the command list should be restarted | ||||||
F0B5 | JR $F0A8 | Restart the command list now that the chase is over |
Prev: F09A | Up: Map | Next: F0B7 |