Routines |
Prev: $1F4C | Up: Map | Next: $1F77 |
$1F4D | LDA #$03 | Event $03: EINSTEIN is speaking. | ||
$1F4F | JSR $31D2 | Is EINSTEIN still speaking? | ||
$1F52 | BCC $1F6E | Branch if not. | ||
$1F54 | LDA $3F | Reset bit 3 (EINSTEIN is not waiting to answer a question) and set bit 2 (EINSTEIN is speaking) and bit 6 (always move EINSTEIN on his turn in the routine at $3B5E) in the flags byte at $3F. | ||
$1F56 | AND #$80 | |||
$1F58 | ORA #$44 | |||
$1F5A | STA $3F | |||
$1F5C | JSR $1F77 | Place the address of the interruptible subcommand routine at $2387 into EINSTEIN's buffer and jump to it. | ||
$1F5F | .WORD $2387 | |||
$1F61 | LDA #$03 | Event $03: EINSTEIN is speaking. | ||
$1F63 | JSR $31C4 | Lower the signal for this event. | ||
$1F66 | LDA #$4D | Place the address of this routine into EINSTEIN's buffer as the primary command routine address. | ||
$1F68 | STA $29 | |||
$1F6A | LDA #$1F | |||
$1F6C | STA $2A | |||
$1F6E | LDA $3F | Reset bit 2 (EINSTEIN is not speaking) and set bits 3 (EINSTEIN is waiting to answer a question) and 6 (always move EINSTEIN on his turn in the routine at $3B5E) in the flags byte at $3F. | ||
$1F70 | AND #$80 | |||
$1F72 | ORA #$48 | |||
$1F74 | STA $3F | |||
$1F76 | RTS |
Prev: $1F4C | Up: Map | Next: $1F77 |