         .OUTPI ALFRES
         .ENTRY GETFIL,GETDIR,DIR
;RETRIEVE FILENAME FROM MASK AND CONVERT TO IFILE FORMAT

GETFIL   JSR GETDIR             ;READ NEXT DIR ENTRY
         BPL GF002
GF001    SEC                    ;ALL DONE
         RTS
GF002    LDA DIR+3              ;FREE SECTOR MESSAGE ?
         CMP #" "
         BNE GF020
         LDA DIR+4
         CMP #"F"
         BEQ GF001
GF020    LDX #10
         LDA DIR,X              ;IS IT A SUBDIR ?
         CMP #""               ;INVERSE 'D'
         BEQ GETFIL             ;READ AGAIN IF SO
         LDX #0
GF003    LDA IFILE,X            ;FIND END OF THE MASK
         CMP #$9B
         BEQ GF004
         INX
         BNE GF003
GF004    LDA IFILE,X
         CMP #">"               ;LOOK FOR DIR
         BEQ GF005
         CMP #":"               ;OR BASE DRIVE
         BEQ GF005
         DEX
         BPL GF004
GF005    TXA
         TAY
GF006    LDA IFILE,X
         STA LINE,X
         DEX
         BPL GF006
         TYA
         TAX
         PHA
         INX
         LDY #2
         LDA #7
         STA KEY
GF007    LDA DIR,Y
         STA LINE,X
         INX
         INY
         CMP #32
         BEQ GF008-1
         DEC KEY
         BPL GF007
         BMI GF008
         DEX
GF008    LDA #"."
         STA LINE,X
         INX
         LDY #10
         LDA #2
         STA KEY
GF009    LDA DIR,Y
         STA LINE,X
         INX
         INY
         DEC KEY
         BPL GF009
         LDA #$9B
         STA LINE,X
         PLA
         TAX
         INX
         LDY #3
GF010    LDA LINE,X
         STA OFILE,Y
         CMP #$9B
         BEQ GF011
         INX
         INY
         CPY #20
         BCC GF010
GF011    LDX #D
         LDA #.LO.LINE
         LDY #.HI.LINE
         JSR OPNIN      ;OPEN DER FILE
         BPL GF016
         JMP GF001
GF016    CLC
         RTS

GETDIR   LDX #D3
         LDA #.LO.DIR
         STA ADR
         LDA #.HI.DIR
         STA ADR+1
         LDA #20
         STA LEN
         LDA #0
         STA LEN+1
         JSR CGET
         RTS

DIR *=*+20
