![]() |
Routines |
H | Teacher's character number (163-166) |
L | 122 |
63191 | CALL 63734 | Return unless we're dealing with CREAK and ERIC has not yet opened the safe |
63194 | RET C | |
63195 | CALL 64016 | Return unless CREAK is near a blackboard last written on by ERIC |
63198 | RET NZ | |
63199 | LD A,E | A=56 (Reading Room blackboard) or 58 (White Room blackboard) |
63200 | SUB 181 | |
63202 | PUSH HL | Save CREAK's character number |
63203 | LD L,A | HL=32680 (Reading Room blackboard contents buffer) or 32686 (White Room blackboard contents buffer) |
63204 | ADD A,A | |
63205 | ADD A,L | |
63206 | NOP | |
63207 | LD L,A | |
63208 | LD H,D |
63209 | LD E,155 | DE=32667 (which holds CREAK's year of birth) |
63211 | LD B,4 | There are 4 digits in CREAK's year of birth |
63213 | LD A,(DE) | A=digit from CREAK's year of birth |
63214 | INC E | Move DE along to the next digit |
63215 | CP (HL) | Compare the digit with the character written on the board |
63216 | JR NZ,63226 | Jump if they don't match |
63218 | INC L | Move to the next character written on the board |
63219 | DJNZ 63213 | Jump back until all 4 digits have been checked |
63221 | POP HL | Restore CREAK's character number (166) to H |
63222 | PUSH HL | Save it again |
63223 | CALL 63856 | Reveal CREAK's safe combination letter |
63226 | POP HL | Restore CREAK's character number (166) to H |
63227 | LD BC,61889 | Set BC to 61889 (SILENCE! OR I'LL CANE THE LOT OF YOU) before returning |
63230 | RET |