![]() |
Routines |
| H | Character number of teacher (201-204) |
| 61555 | LD A,(32740) | 32740 holds the MSB of the lesson time counter (which starts at 16) |
| 61558 | CP 12 | Is it time to tell the kids to sit down yet? |
| 61560 | JR C,61568 | Jump if so |
| 61562 | LD L,29 | Otherwise signal that the command list is to be restarted |
| 61564 | SET 0,(HL) | |
| 61566 | JR 61591 | |
| 61568 | CALL 25213 | Collect the next byte (event indicator for the start of the lesson) from the command list |
| 61571 | LD C,A | C=event indicator (8, 9, 10, 11, 12) |
| 61572 | CALL 31887 | Has this event already happened? |
| 61575 | JR NZ,61591 | Jump if so |
| 61577 | LD A,C | Otherwise signal that the event has certainly happened now |
| 61578 | CALL 31896 | |
| 61581 | LD A,H | A=character number of the teacher |
| 61582 | SUB 109 | E=92, 93, 94 or 95 (appropriate SIT DOWN message for this teacher) |
| 61584 | LD E,A | |
| 61585 | LD BC,27144 | Redirect control to the routine at 27144 (make character speak) and then return to 61591 (below) |
| 61588 | CALL 25503 | |
| 61591 | JP 25484 | Move to the next instruction in the command list |