$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