![]() |
Routines |
| Prev: 32432 | Up: Map | Next: 32495 |
|
Used by the routine at 63309. Prints the lesson or 'DEMO.MODE' in the lesson box, and makes the bell sound effect.
|
||||
| 32433 | LD HL,32734 | 32734 holds the current game mode | ||
| 32436 | LD A,(HL) | A=255 if we're in demo mode, 0 otherwise | ||
| 32437 | INC A | Set the zero flag if we're in demo mode | ||
| 32438 | LD A,63 | Message 63: DEMO.MODE | ||
| 32440 | JR Z,32478 | Jump if we're in demo mode | ||
|
A real game is in progress. First, figure out what to print in the bottom row of the lesson box (the room name, 'LIBRARY', 'PLAYTIME', 'ASSEMBLY' or 'DINNER').
|
||||
| 32442 | LD L,224 | HL=32736 (lesson descriptor) | ||
| 32444 | LD A,(HL) | Pick this up in A | ||
| 32445 | AND 15 | Keep only the room identifier bits | ||
| 32447 | LD E,32 | 32 is the ASCII code for SPACE | ||
| 32449 | ADD A,126 | D=message number for the text to go on the bottom row of the lesson box | ||
| 32451 | LD D,A | |||
| 32452 | CP 131 | Is it PLAYTIME (128), ASSEMBLY (129) or DINNER (130)? | ||
| 32454 | JR C,32470 | Jump if so | ||
| 32456 | LD E,135 | Message 135: REVISION | ||
| 32458 | JR Z,32470 | Jump if it's REVISION LIBRARY (D=131: LIBRARY) | ||
|
Next, figure out what to print (if anything) in the top row of the lesson box (the teacher's name, or 'REVISION').
|
||||
| 32460 | LD A,(HL) | A=lesson descriptor | ||
| 32461 | AND 240 | Keep only the teacher-identifying bits and push them into bits 0-3 | ||
| 32463 | RLCA | |||
| 32464 | RLCA | |||
| 32465 | RLCA | |||
| 32466 | RLCA | |||
| 32467 | ADD A,20 | E=22, 23 or 24 (teacher's name) | ||
| 32469 | LD E,A | |||
|
Now we can construct message 16 (teacher/room) ready for printing.
|
||||
| 32470 | LD L,136 | Place the teacher message number (or ASCII code for SPACE) in 32648 | ||
| 32472 | LD (HL),E | |||
| 32473 | LD L,138 | Place the room message number in 32650 | ||
| 32475 | LD (HL),D | |||
| 32476 | LD A,16 | Message 16: teacher/room | ||
|
This entry point is used by the routine at 23907.
|
||||
| 32478 | LD DE,23216 | DE=base display file address for the lesson box | ||
| 32481 | LD C,87 | INK 7: PAPER 2: BRIGHT 1 | ||
| 32483 | CALL 27462 | Print the lesson | ||
|
And finally, ring the bell.
|
||||
| 32486 | LD BC,32784 | Set the parameters for the bell sound effect | ||
| 32489 | LD D,C | |||
| 32490 | LD A,1 | |||
| 32492 | JP 29836 | Ring the bell | ||
| Prev: 32432 | Up: Map | Next: 32495 |