![]() |
Routines |
Prev: 24132 | Up: Map | Next: 24175 |
24133 | LD H,210 | 210=ERIC |
24135 | CALL 26453 | Collect info about the board ERIC's standing at (if any) |
24138 | RET C | Return if ERIC's not standing at a blackboard |
24139 | LD HL,32728 | Copy the blackboard identifier (84, 90, 96, 102 or 108) from B to 32728 |
24142 | LD (HL),B | |
24143 | DEC L | While ERIC is writing on the board, 32727 will be used to store the ASCII code of the last character written; initialise this with something other than 13 (ENTER) |
24144 | LD (HL),L | |
24145 | LD L,B | Point HL at the first byte of the blackboard's buffer, which usually holds the number of the next clean pixel column |
24146 | LD (HL),1 | ERIC will start writing at pixel column 1 (regardless of what's already been written on the board) |
24148 | INC L | A=number of the character who last wrote on this board, or 0 if it's clean |
24149 | LD A,(HL) | |
24150 | LD (HL),210 | Signal: ERIC wrote on this board |
24152 | LD B,4 | There are 4 digits or letters in the bike and storeroom combinations |
24154 | CPL | A=128 if the board is clean, 0 otherwise |
24155 | AND 128 | |
24157 | INC L | Prepare 4 spaces in bytes 2-5 of the blackboard buffer for combination letters/numbers, with bit 7 set if the board is clean |
24158 | LD (HL),A | |
24159 | DJNZ 24157 | |
24161 | LD L,251 | HL=32763 (ERIC's status flags) |
24163 | LD (HL),16 | Set bit 4: ERIC is writing on a blackboard |
24165 | LD H,210 | 210=ERIC |
24167 | CALL 25012 | Update the SRB for ERIC's current animatory state |
24170 | OR 7 | A=7/135: ERIC with his arm up (as if writing on a board) |
24172 | JP 62231 | Update ERIC's animatory state and location and update the SRB |
Prev: 24132 | Up: Map | Next: 24175 |