     $DDB7/56759:   ?

    Jump from $C835:

    DDB7: A2 00     LDX #$00

    Jump from $DDC7:

    DDB9: 86 71     STX $71         ; counter for secondary address
    DDBB: BD 2B 02  LDA $022B,X     ; get channel number from table
    DDBE: C9 FF     CMP #$FF
    DDC0: D0 08     BNE $DDCA       ; file open?

    Jump from $DDDF, $DDE6, $DDED:

    DDC2: A6 71     LDX $71
    DDC4: E8        INX             ; increment counter
    DDC5: E0 10     CPX #$10        ; smaller than 16?
    DDC7: 90 F0     BCC $DDB9
    DDC9: 60        RTS

    Jump from $DDC0:

    DDCA: 86 71     STX $71
    DDCC: 29 3F     AND #$3F        ; isolate channel number
    DDCE: A8        TAY
    DDCF: B9 EC 00  LDA $EC,Y
    DDD2: 29 01     AND #$01        ; isolate drive number
    DDD4: 85 70     STA $70
    DDD6: AE 53 02  LDX $0253
    DDD9: B5 E2     LDA $E2,X
    DDDB: 29 01     AND #$01        ; isolate drive number
    DDDD: C5 70     CMP $70         ; same drive?
    DDDF: D0 E1     BNE $DDC2       ; no
    DDE1: B9 60 02  LDA $0260,Y     ; sector number in directory
    DDE4: D5 D8     CMP $D8,X       ; same as file?
    DDE6: D0 DA     BNE $DDC2       ; no
    DDE8: B9 66 02  LDA $0266,Y
    DDEB: D5 DD     CMP $DD,X       ; pointer same?
    DDED: D0 D3     BNE $DDC2       ; no
    DDEF: 18        CLC
    DDF0: 60        RTS

        Previous Page / Next Page