Prev: $1994 Up: Map Next: $1A04
$19A5: 'W' pressed - write
This corresponds to $F650 in the ZX Spectrum version.
Called from the main loop at $0800.
$19A5 LDA $14 Pick up ERIC's posture indicator from $14.
$19A7 BNE $19AC Branch if ERIC is standing up.
$19A9 JMP $1A03 Otherwise return.
$19AC LDA $FB Pick up ERIC's y-coordinate from $FB.
$19AE CMP #$03 is ERIC on the top floor?
$19B0 BEQ $19D1 Branch if so.
$19B2 CMP #$0A Is ERIC on the middle floor?
$19B4 BEQ $19B9 Branch if so.
$19B6 JMP $1A03 Otherwise return.
ERIC is on the middle floor.
$19B9 LDA $FC Pick up ERIC's x-coordinate from $FC.
$19BB CMP #$2B Is it less than 43?
$19BD BCC $19C6 Branch if so.
$19BF CMP #$2F Is ERIC's x-coordinate 47 or more?
$19C1 BCS $19C6 Branch if so.
$19C3 JMP $19DB Jump forward (ERIC is beside the Exam Room blackboard).
$19C6 CMP #$1C Is ERIC's x-coordinate less than 28?
$19C8 BCC $1A03 Return if so.
$19CA CMP #$20 Is ERIC's x-coordinate 32 or more?
$19CC BCS $1A03 Return if so.
$19CE JMP $19DB Jump forward (ERIC is beside the White Room blackboard).
ERIC is on the top floor.
$19D1 LDA $FC Pick up ERIC's x-coordinate from $FC.
$19D3 CMP #$2C Is it 44 or more?
$19D5 BCC $1A03 Return if so.
$19D7 CMP #$30 Is ERIC's x-coordinate less than 48?
$19D9 BCS $1A03 Return if so.
ERIC is standing beside one of the blackboards.
$19DB JSR $1468 Get the identifier and coordinates of the blackboard closest to ERIC.
$19DE LDA $1A Is the blackboard clean?
$19E0 BEQ $19E7 Branch if so.
$19E2 LDA #$00 $00: this blackboard is dirty.
$19E4 JMP $19E9 Jump forward.
$19E7 LDA #$80 $80: this blackboard is clean.
$19E9 STA $DF Fill the last four bytes of the blackboard's buffer at $DF with either $00 (ERIC is writing on a dirty blackboard) or $80 (ERIC is writing on a clean blackboard).
$19EB STA $E0
$19ED STA $E1
$19EF STA $E2
$19F1 LDA #$14 Store $14 at $1A, indicating that ERIC has (or will have) written on this blackboard.
$19F3 STA $1A
This entry point is used by the routine at $184E.
$19F5 LDY $DA Pick up the blackboard identifier from $DA.
$19F7 JSR $1445 Restore the blackboard's buffer from page 0.
$19FA LDX #$08 Bit 3 set: ERIC is writing on a blackboard.
$19FC LDY #$0D $0D is the animatory state of ERIC with his arm up (as if writing).
$19FE LDA #$0A This will initialise ERIC's action timer at $FE to $0A.
$1A00 JMP $16B1 Raise ERIC's arm.
$1A03 RTS
Prev: $1994 Up: Map Next: $1A04