![]() |
Routines |
H | 161 (little boy no. 10) |
63488 | LD A,(32763) | Set bit 3 of ERIC's status flags at 32763, indicating that ERIC is being spoken to |
63491 | SET 3,A | |
63493 | LD (32763),A | |
63496 | LD A,255 | Adjust the MSB of the lesson time counter so that the lesson doesn't end until the drama has played out |
63498 | LD (32760),A |
63501 | LD A,(42104) | Collect byte 120 of MR ROCKITT's buffer, which holds the MSB of the command list start address |
63504 | CP 250 | 250 is the MSB of 64219 (command list 222) |
63506 | LD BC,65280 | BC=65280: 'Don't let ANGELFACE touch you...' |
63509 | JR Z,63522 | Jump if MR ROCKITT is using command list 222 |
63511 | LD C,53 | BC=65333: 'EINSTEIN is going to tell MR WACKER...' |
63513 | LD A,(41845) | Collect byte 117 of MR WACKER's buffer, which holds the LSB of the address reached in the command list |
63516 | CP 60 | Is MR WACKER using command list 216? |
63518 | JR C,63522 | Jump if not (he must be using command list 214) |
63520 | LD C,143 | BC=65423: 'BOY WANDER has hidden a pea-shooter...' |
63522 | CALL 32038 | Make the little boy deliver his message |
63525 | LD L,104 | Initialise the message repetition delay counter in byte 104 of the little boy's buffer to 40 |
63527 | LD (HL),40 | |
63529 | LD BC,60640 | 60640: 'Press 'U' if you understood' |
63532 | LD A,(32715) | Set bit 0 at 32715, indicating that the little boy is now waiting for acknowledgment from ERIC |
63535 | SET 0,A | |
63537 | LD (32715),A | |
63540 | CALL 32038 | Make the little boy say "Press 'U' if you understood" |
63543 | LD A,(32763) | Collect ERIC's status flags from 32763 |
63546 | BIT 3,A | Has 'U' been pressed yet? |
63548 | JR NZ,63558 | Jump if not |
63550 | LD A,12 | Set the MSB of the lesson time counter to 12, giving enough time for the ensuing drama to play out |
63552 | LD (32760),A | |
63555 | JP 25256 | Move to the next instruction in little boy no. 10's command list |
63558 | LD L,104 | Decrement the message repetition delay counter in byte 104 of the little boy's buffer and return unless it has reached 0 |
63560 | DEC (HL) | |
63561 | RET NZ | |
63562 | LD A,(32715) | Reset bit 0 at 32715, indicating that the little boy is no longer waiting for acknowledgment from ERIC (because he's going to repeat the message first) |
63565 | RES 0,A | |
63567 | LD (32715),A | |
63570 | JP 63496 | Deliver the message to ERIC once again |