     $D599/54681:   Verify execution

    Jump from $D59C, $C8BE, $CAAC, $CAC6, $CF73, $D0A1, $D4B3, $DB9F, $DC95,
              $DD6A, $DD84, $DDF9, $E05A, $E068, $E430, $E4A9, $E4F0:

    D599: 20 A6 D5  JSR $D5A6       ; verify execution
    D59C: B0 FB     BCS $D599       ; wait for end
    D59E: 48        PHA
    D59F: A9 00     LDA #$00
    D5A1: 8D 98 02  STA $0298       ; erase error flag
    D5A4: 68        PLA
    D5A5: 60        RTS

    Jump from $D599:

    D5A6: B5 00     LDA $00,X       ; command code (bit 7) still in register?
    D5A8: 30 1A     BMI $D5C4       ; yes
    D5AA: C9 02     CMP #$02
    D5AC: 90 14     BCC $D5C2       ; error-free execution
    D5AE: C9 08     CMP #$08        ; 8
    D5B0: F0 08     BEQ $D5BA       ; write protect
    D5B2: C9 0B     CMP #$0B        ; 11
    D5B4: F0 04     BEQ $D5BA       ; ID mismatch
    D5B6: C9 0F     CMP #$0F        ; 15
    D5B8: D0 0C     BNE $D5C6

    Jump from $D5B0, $D5B4:

    D5BA: 2C 98 02  BIT $0298
    D5BD: 30 03     BMI $D5C2
    D5BF: 4C 3F D6  JMP $D63F       ; create error message

    Jump from $D5AC, $D5BD:

    D5C2: 18        CLC             ; execution ended
    D5C3: 60        RTS

    Jump from $D5A8:

    D5C4: 38        SEC             ; execution not yet ended
    D5C5: 60        RTS

        Previous Page / Next Page