     $C4D8/50392:   ?

    Jump from $C475, $C4BA:

    C4D8: A2 FF     LDX #$FF
    C4DA: 8E 53 02  STX $0253       ; flag for data found
    C4DD: E8        INX
    C4DE: 8E 8A 02  STX $028A
    C4E1: 20 89 C5  JSR $C589       ; set pointer to data
    C4E4: F0 06     BEQ $C4EC

    Jump from $C4EA:

    C4E6: 60        RTS

    Jump from $C4F5, $C4FC, $C513, $C519, $C533:

    C4E7: 20 94 C5  JSR $C594       ; pointer to next file
    C4EA: D0 FA     BNE $C4E6       ; end, then done

    Jump from $C4E4:

    C4EC: A5 7F     LDA $7F         ; drive number
    C4EE: 55 E2     EOR $E2,X
    C4F0: 4A        LSR
    C4F1: 90 0B     BCC $C4FE
    C4F3: 29 40     AND #$40
    C4F5: F0 F0     BEQ $C4E7
    C4F7: A9 02     LDA #$02
    C4F9: CD 8C 02  CMP $028C       ; search both drives?
    C4FC: F0 E9     BEQ $C4E7       ; yes

    Jump from $C4F1:

    C4FE: BD 7A 02  LDA $027A,X
    C501: AA        TAX
    C502: 20 A6 C6  JSR $C6A6       ; get length of filename
    C505: A0 03     LDY #$03
    C507: 4C 1D C5  JMP $C51D

    Jump from $C529:

    C50A: BD 00 02  LDA $0200,X     ; get chars out of command line
    C50D: D1 94     CMP ($94),Y     ; same character in directory?
    C50F: F0 0A     BEQ $C51B       ; yes
    C511: C9 3F     CMP #$3F        ; '?'
    C513: D0 D2     BNE $C4E7       ; no
    C515: B1 94     LDA ($94),Y
    C517: C9 A0     CMP #$A0        ; shift blank, end of name?
    C519: F0 CC     BEQ $C4E7       ; yes

    Jump from $C50F:

    C51B: E8        INX             ; increment pointer
    C51C: C8        INY

    Jump from $C507:

    C51D: EC 76 02  CPX $0276       ; end of the name in the command?
    C520: B0 09     BCS $C52B       ; yes
    C522: BD 00 02  LDA $0200,X     ; next character
    C525: C9 2A     CMP #$2A        ; '*'
    C527: F0 0C     BEQ $C535       ; yes, file found
    C529: D0 DF     BNE $C50A       ; continue search

    Jump from $C520:

    C52B: C0 13     CPY #$13        ; 19
    C52D: B0 06     BCS $C535       ; reached end of name
    C52F: B1 94     LDA ($94),Y
    C531: C9 A0     CMP #$A0        ; shift blank, end of name
    C533: D0 B2     BNE $C4E7       ; not found

    Jump from $C527, $C52D:

    C535: AE 79 02  LDX $0279
    C538: 8E 53 02  STX $0253
    C53B: B5 E7     LDA $E7,X
    C53D: 29 80     AND #$80
    C53F: 8D 8A 02  STA $028A
    C542: AD 94 02  LDA $0294
    C545: 95 DD     STA $DD,X
    C547: A5 81     LDA $81         ; sector number of the directory
    C549: 95 D8     STA $D8,X       ; enter in table
    C54B: A0 00     LDY #$00
    C54D: B1 94     LDA ($94),Y     ; file type
    C54F: C8        INY
    C550: 48        PHA
    C551: 29 40     AND #$40        ; isolate search-protect bit
    C553: 85 6F     STA $6F         ; (6) and save
    C555: 68        PLA
    C556: 29 DF     AND #$DF        ; erase bit 7
    C558: 30 02     BMI $C55C
    C55A: 09 20     ORA #$20        ; set bit 5

    Jump from $C558:

    C55C: 29 27     AND #$27        ; erase bits 3 and 4
    C55E: 05 6F     ORA $6F         ; get bit 6 again
    C560: 85 6F     STA $6F
    C562: A9 80     LDA #$80
    C564: 35 E7     AND $E7,X       ; isolate flag for wildcard
    C566: 05 6F     ORA $6F
    C568: 95 E7     STA $E7,X       ; write in table
    C56A: B5 E2     LDA $E2,X
    C56C: 29 80     AND #$80
    C56E: 05 7F     ORA $7F         ; drive number
    C570: 95 E2     STA $E2,X
    C572: B1 94     LDA ($94),Y
    C574: 9D 80 02  STA $0280,X     ; first track of file
    C577: C8        INY
    C578: B1 94     LDA ($94),Y
    C57A: 9D 85 02  STA $0285,X     ; get sector from directory
    C57D: AD 58 02  LDA $0258       ; record length
    C580: D0 07     BNE $C589
    C582: A0 15     LDY #$15
    C584: B1 94     LDA ($94),Y     ; record length
    C586: 8D 58 02  STA $0258       ; get from directory

    Jump from $C4E1, $C580:

    C589: A9 FF     LDA #$FF
    C58B: 8D 8F 02  STA $028F
    C58E: AD 78 02  LDA $0278
    C591: 8D 79 02  STA $0279

    Jump from $C4E7, $C5A4:

    C594: CE 79 02  DEC $0279
    C597: 10 01     BPL $C59A
    C599: 60        RTS

    Jump from $C597:

    C59A: AE 79 02  LDX $0279
    C59D: B5 E7     LDA $E7,X       ; wildcard flag set?
    C59F: 30 05     BMI $C5A6       ; yes
    C5A1: BD 80 02  LDA $0280,X     ; track number already set
    C5A4: D0 EE     BNE $C594       ; yes

    Jump from $C59F:

    C5A6: A9 00     LDA #$00
    C5A8: 8D 8F 02  STA $028F
    C5AB: 60        RTS

        Previous Page / Next Page