![]() |
Routines |
| Prev: F24C | Up: Map | Next: F28C |
|
Used by command list 0x48. Builds a detention message (using a random noun and verb) and makes MR WACKER deliver it.
|
||||||||
| F250 | LD A,($7FFF) | A=leftmost column of the play area on screen | ||||||
| F253 | CP $30 | Is the stage off-screen to the right? | ||||||
| F255 | RET C | Return if so | ||||||
| F256 | CP $58 | Is the stage off-screen to the left? | ||||||
| F258 | RET NC | Return if so | ||||||
| F259 | CALL $6291 | A=random number | ||||||
| F25C | LD DE,$7F8C | Point DE at the first byte of message 0x0A, which will be the verb | ||||||
| F25F | LD L,A | Save the random number in L briefly | ||||||
| F260 | AND $07 | Store the verb message number (0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96 or 0x97) at 7F8C | ||||||
| F262 | ADD A,$90 | |||||||
| F264 | LD (DE),A | |||||||
| F265 | LD A,L | Restore the random number to A | ||||||
| F266 | RRCA | Set A to another random number from 0 to 7 | ||||||
| F267 | RRCA | |||||||
| F268 | RRCA | |||||||
| F269 | AND $07 | |||||||
| F26B | LD E,$8E | Point DE at the first byte of message 0x0B, which will be the noun | ||||||
| F26D | ADD A,$98 | Store the noun message number (0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E or 0x9F) at 7F8E | ||||||
| F26F | LD (DE),A | |||||||
| F270 | LD E,$60 | Message 0x60: YOU'RE ALL IN DETENTION... | ||||||
| F272 | LD BC,$6A08 | Redirect control to the routine at 6A08 (make character speak) and then return to F278 (below) | ||||||
| F275 | CALL $639F | |||||||
|
Control of MR WACKER resumes here when he has finished delivering the detention message.
|
||||||||
| F278 | EX DE,HL | Save MR WACKER's character number in D briefly | ||||||
| F279 | LD HL,$7F80 | Reset bit 6 (ERIC no longer has to be in the assembly hall) and bit 7 (the kids can stand up now) at 7F80 | ||||||
| F27C | RES 7,(HL) | |||||||
| F27E | RES 6,(HL) | |||||||
| F280 | NOP | |||||||
| F281 | NOP | |||||||
| F282 | NOP | |||||||
| F283 | NOP | |||||||
| F284 | LD L,$E4 | Set the MSB of the lesson clock to 1 so that the bell will ring soon | ||||||
| F286 | LD (HL),$01 | |||||||
| F288 | EX DE,HL | Restore MR WACKER's character number (0xC8) to H | ||||||
| F289 | JP $638C | Move to the next command in the command list | ||||||
| Prev: F24C | Up: Map | Next: F28C |