Prev: F0D9 Up: Map Next: F0FD
F0DA: Control a teacher during assembly
Used by command list 0x50. Makes the teacher stand still until the period is nearly over, and also perform assembly duty (if the teacher is MR WITHIT).
H Teacher's character number (0xC9-0xCB)
F0DA LD A,($7FE4) Collect the MSB of the lesson clock (which starts off at 0x10)
F0DD CP $02 Has the teacher been standing still long enough (the routine at F250 sets the MSB of the lesson clock to 1 after MR WACKER has finished his detention speech)?
F0DF JP C,$638C Move to the next command in the command list if so
F0E2 CP $0B Is it time for the kids to sit down for assembly yet?
F0E4 RET NC Return if not
F0E5 LD A,H A=teacher's character number
F0E6 CP $C9 Is this MR WITHIT (who does assembly duty)?
F0E8 RET NZ Return if not
F0E9 LD DE,$7F80 Set bits 6 (ERIC should be here now) and 7 (time to sit down: this is checked by command lists 0x14, 0x28 and 0x58) at 7F80
F0F0 LD A,($7FE4) A=MSB of the lesson clock
F0F3 CP $0A Is it time to find ERIC if he's absent?
F0F5 RET NC Return if not
F0F6 CALL $7D15 Is ERIC in the assembly hall?
F0F9 RET Z Return if so
F0FA JP $F0D0 Go and find him otherwise
Prev: F0D9 Up: Map Next: F0FD