![]() |
Routines |
| Prev: $28BB | Up: Map | Next: $290F |
| $28BC | LDA $2B | Set bit 6 of ERIC's status flags at $2B, indicating that he is immobilised. | ||
| $28BE | ORA #$40 | |||
| $28C0 | STA $2B | |||
| $28C2 | JSR $3BE7 | Collect the message address from the command list and store it at $A6. | ||
| $28C5 | STA $A6 | |||
| $28C7 | JSR $3BE7 | |||
| $28CA | STA $A7 | |||
| $28CC | LDA #$FF | Set the MSB of the lesson clock at $40 to $FF to ensure that the bell won't ring before the message is delivered. | ||
| $28CE | STA $40 | |||
| $28D0 | LDA $A6 | Copy the message address from $A6 to $AC. | ||
| $28D2 | STA $AC | |||
| $28D4 | LDA $A7 | |||
| $28D6 | STA $AD | |||
| $28D8 | JSR $1F77 | Place the address of the interruptible subcommand routine at $2387 into little boy no. 10's buffer and jump to it. | ||
| $28DB | .WORD $2387 | |||
|
Control returns here after the message has been delivered.
|
||||
| $28DD | LDA $2B | Set bit 5 of ERIC's status flags at $2B, indicating that little boy no. 10 is expecting a response. | ||
| $28DF | ORA #$20 | |||
| $28E1 | STA $2B | |||
| $28E3 | LDA #$46 | Store $4620 (PRESS 'U' IF YOU UNDERSTAND) at $AC. | ||
| $28E5 | STA $AD | |||
| $28E7 | LDA #$20 | |||
| $28E9 | STA $AC | |||
| $28EB | LDA #$28 | Initialise the message repetition delay counter at $A9. | ||
| $28ED | STA $A9 | |||
| $28EF | JSR $1F77 | Place the address of the interruptible subcommand routine at $2387 into little boy no. 10's buffer and jump to it. | ||
| $28F2 | .WORD $2387 | |||
|
Control returns here after little boy no. 10 has asked ERIC if he understands.
|
||||
| $28F4 | LDA $2B | Pick up ERIC's status flags from $2B. | ||
| $28F6 | ASL A | Is bit 6 set, indicating that he is still immobolised? | ||
| $28F7 | ASL A | |||
| $28F8 | BCS $2901 | Branch if so. | ||
| $28FA | LDA #$0F | Reset the MSB of the lesson clock to $0F. | ||
| $28FC | STA $40 | |||
| $28FE | JMP $1D2D | Terminate this primary command. | ||
| $2901 | DEC $A9 | Decrement the message repetition delay counter at $A9. | ||
| $2903 | BNE $290E | Branch unless it's zero now. | ||
| $2905 | LDA $2B | Reset bit 5 of ERIC's status flags at $2B, indicating that little boy no. 10 is no longer expecting a response, because he's going to repeat the message first. | ||
| $2907 | AND #$DF | |||
| $2909 | STA $2B | |||
| $290B | JMP $28CC | Jump back to deliver the message again. | ||
| $290E | RTS | |||
| Prev: $28BB | Up: Map | Next: $290F |