| Routines

31919: Make EINSTEIN speak

Used by the routine at 62208. Copies the message address into bytes 107 and 108 of EINSTEIN's buffer, and then signals that it's his turn to speak.
Input
BC | Message address
H | Teacher's character number (163-166)
31919 | LD DE,43371 | Point HL at byte 107 of EINSTEIN's buffer
31922 | EX DE,HL
31923 | LD (HL),C | Copy the message address in BC into bytes 107 and 108 of EINSTEIN's buffer
31924 | INC L
31925 | LD (HL),B
This entry point is used by the routine at 62464.
31926 | LD HL,32713 | 32713 holds the lesson signal flags
31929 | SET 7,(HL) | Signal (to the routine at 31162) that it's EINSTEIN's turn to speak
31931 | EX DE,HL |
31932 | LD L,106 | Place the address of the interruptible subcommand routine at 31944 into bytes 105 and 106 of the teacher's buffer
31934 | LD (HL),124
31936 | DEC L
31937 | LD (HL),200
31939 | POP DE | Collect the return address in DE and copy it to bytes 99 and 100 of the teacher's buffer (so that control will resume there when 31944 relinquishes it)
31940 | LD L,99
31942 | LD (HL),E
31943 | RET | Return to the main loop