Prev: 24132 Up: Map Next: 24175
24133: 'W' pressed - write on a blackboard
The address of this routine is found in the table of keypress handling routines at 58704. It is called from the main loop at 63210 when 'W' is pressed.
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
This entry point is used by the routine at 24175.
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