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 |