$E60A/58890:   Prepare error number and message

Jump from $C8EC, $D641:

E60A: 48        PHA             ; save error code
E60B: 86 F9     STX $F9         ; drive number
E60D: 8A        TXA
E60E: 0A        ASL             ; times 2
E60F: AA        TAX             ; as pointer
E610: B5 06     LDA $06,X
E612: 85 80     STA $80         ; get track
E614: B5 07     LDA $07,X
E616: 85 81     STA $81         ; and sector number
E618: 68        PLA             ; get error code back
E619: 29 0F     AND #$0F        ; isolate bits 0-3
E61B: F0 08     BEQ $E625       ; zero, then 24, 'read error'
E61D: C9 0F     CMP #$0F        ; 15?
E61F: D0 06     BNE $E627
E621: A9 74     LDA #$74        ; 74, 'drive not ready'
E623: D0 08     BNE $E62D       ; 6

Jump from $E61B:

E625: A9 06     LDA #$06        ; add $20

Jump from $E61F:

E627: 09 20     ORA #$20
E629: AA        TAX
E62A: CA        DEX
E62B: CA        DEX             ; subtract two
E62C: 8A        TXA

Jump from $E623:

E62D: 48        PHA             ; save error number
E62E: AD 2A 02  LDA $022A       ; number of the disk command
E631: C9 00     CMP #$00        ; OPEN or VALIDATE?
E633: D0 0F     BNE $E644       ; no
E635: A9 FF     LDA #$FF
E637: 8D 2A 02  STA $022A
E63A: 68        PLA             ; get error number back
E63B: 20 C7 E6  JSR $E6C7       ; generate error message
E63E: 20 42 D0  JSR $D042       ; load BAM
E641: 4C 48 E6  JMP $E648       ; set error message

Jump from $E633:

E644: 68        PLA

    Previous Page / Next Page