Routines |
Prev: $0B3A | Up: Map | Next: $0BAC |
$0B3B | LDA #$89 | Store the base address of EINSTEIN's character buffer ($8960) at $4E. | ||
$0B3D | STA $4F | |||
$0B3F | LDA #$60 | |||
$0B41 | STA $4E | |||
$0B43 | LDY #$00 | Pick up EINSTEIN's animatory state. | ||
$0B45 | LDA ($4E),Y | |||
$0B47 | CMP #$15 | Is EINSTEIN sitting on a chair? | ||
$0B49 | BEQ $0B5F | Branch if so. | ||
$0B4B | PLA | Pull the return address from the stack and place it at $29. | ||
$0B4C | STA $29 | |||
$0B4E | PLA | |||
$0B4F | STA $2A | |||
$0B51 | LDA $29 | Subtract two from the address, making it point at the JSR instruction that called this routine. This address is now the teacher's primary command routine address. | ||
$0B53 | SEC | |||
$0B54 | SBC #$02 | |||
$0B56 | BCS $0B5A | |||
$0B58 | DEC $2A | |||
$0B5A | STA $29 | |||
$0B5C | JMP $0BAB | Return to the character-moving routine at $3B5E. | ||
EINSTEIN is sitting on a chair. Now where's ERIC?
|
||||
$0B5F | JSR $0D91 | Is ERIC in class? | ||
$0B62 | BEQ $0BAB | Return if so. | ||
$0B64 | PLA | Drop the return address from the stack. | ||
$0B65 | PLA | |||
$0B66 | LDY #$5B | YX=$5B03: Please Sir I cannot tell a lie . . ERIC is not here. | ||
$0B68 | LDX #$03 | |||
$0B6A | JSR $1EE3 | Make EINSTEIN tell the teacher that ERIC is not here. | ||
$0B6D | LDA #$11 | Character number $11 is EINSTEIN. | ||
$0B6F | JSR $2552 | Make the teacher give EINSTEIN lines if he's in the mood. | ||
$0B72 | JSR $2500 | Prepare a message telling the kids to go to a certain page in their books. | ||
$0B75 | JSR $1F77 | Place the address of the interruptible subcommand routine at $2387 into the teacher's buffer and jump to it. This makes the teacher tell the kids to read their books and then return here. | ||
$0B78 | .WORD $2387 | |||
$0B7A | JSR $0D91 | Is ERIC in class? | ||
$0B7D | BEQ $0B91 | Branch if so. | ||
$0B7F | LDA #$01 | Event $01: ERIC should be in class now. | ||
$0B81 | JSR $31B6 | Raise the signal for this event. | ||
This entry point is used by the routine at $0E35.
|
||||
$0B84 | LDA #$27 | Store the address of the routine at $2745 at $AE. This routine handles the teacher when he has found the truant ERIC. | ||
$0B86 | STA $AF | |||
$0B88 | LDA #$45 | |||
$0B8A | STA $AE | |||
$0B8C | JSR $1F77 | Place the address of the interruptible subcommand routine at $0C3F into the teacher's buffer and jump to it. This makes the teacher find ERIC and bring him to the classroom, and then restarts the teacher's command list. | ||
$0B8F | .WORD $0C3F | |||
ERIC has shown up in class while the teacher was telling the kids to read their books.
|
||||
$0B91 | LDA #$01 | Event $01: ERIC should be in class now. | ||
$0B93 | JSR $31D2 | Has the signal already been raised for this event? | ||
$0B96 | BCC $0B9D | Branch if not. | ||
$0B98 | LDA #$0B | Lines reprimand $0B: AND STAY THIS TIME. | ||
$0B9A | JMP $0B9F | Jump forward. | ||
$0B9D | LDA #$0A | Lines reprimand $0A: NEVER BE LATE AGAIN. | ||
$0B9F | STA $D8 | Store this lines reprimand identifier at $D8. | ||
$0BA1 | LDA #$14 | Character number $14 is ERIC. | ||
$0BA3 | STA $72 | Store this at $72. | ||
$0BA5 | JSR $1DB7 | Make the teacher give lines to ERIC. | ||
$0BA8 | JMP $0A5B | Start or resume the lesson now that ERIC is present. | ||
$0BAB | RTS |
Prev: $0B3A | Up: Map | Next: $0BAC |