![]() |
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 |
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 |