 .PAGE 'SET DRIVE'
;SET 1ST DRIVE AND TABLE POINTERS
ONEDRV LDA F2CNT
 STA F1CNT
 LDA #1
 STA F2CNT
 STA F2PTR
 .SKIP
;SET UP ALL DRIVES FROM F2CNT
ALLDRS LDY LSTDRV ;SET UP DRIVE #'S...
 LDX #0 ;...INTO FILE ENTRY TABLE... 
AD10 STX F1PTR ;...ON SECTOR PTR BYTE
 LDA FILTBL,X
 JSR SETDRV
 LDX F1PTR
 STA FILTBL,X ;INCR PTR PAST ":"
 TYA ;BITS REP DRIVES
 STA FILDAT,X ;BIT7: DEFAULT
 INX ;BIT0: DRIVE #
 CPX F2CNT
 BCC AD10
 RTS
 .SKIP
;SET DRIVE NUMBER
;  DETERMINES DRIVE # FROM TEXT OR
;  USES DEFAULT (-D)
;  A: IN,OUT: INDEX, CMDBUF
;  Y: IN: DEFAULT DRIVE
;    OUT: DRIVE NUMBER, - IF DEFAULT
 .SKIP
SETDRV TAX ;X= CMDBUF INDEX
 LDA #':
 CMP CMDBUF+1,X ;FOR XXX:FILE
 BEQ SD40 ;      ^ 
 CMP CMDBUF,X ;FOR XXX:FILE
 BNE SD50 ;       ^
 INX ;FOUND ":", SO...
SD20 TYA ;DRIVE= DEFAULT
SD22 AND #1 ;CONVERT TO NUMERIC
SD24 TAY ;RESTORE DRIVE
 TXA ;A=INDEX & XXXXFILE
 RTS ;              ^
 .SKIP 2
SD40 LDA CMDBUF,X
 INX ; XXX:FILE
 INX ;   --^
 CMP #'0 ;FOR XX0:FILE
 BEQ SD22 ;        ^
 CMP #'1 ;FOR XX1:FILE
 BEQ SD22 ;        ^
 BNE SD20 ;CMD:FILE OR XX,:FILE
SD50 =* ;    ^           ^
 TYA ;FOR XXX,FILE OR XX=FILE
 ORA #$80 ;        ^          ^
 AND #$81 ;DRIVE= -DEFAULT
 BNE SD24 ;FINISH TESTING
 .SKIP
;SET DRIVE FROM ANY CONFIG.
SETANY LDA #0
 STA IMAGE
 LDY FILTBL
SA05 LDA (CB),Y
 JSR TST0V1
 BPL SA20
 INY
 CPY CMDSIZ
 BCS SA10
 LDY CMDSIZ
 DEY
 BNE SA05
SA10 DEC IMAGE
 LDA LSTDRV
SA20 AND #1
 STA DRVNUM
 JMP SETLDS
;TOGGLE DRVNUM
TOGDRV LDA DRVNUM
 EOR #1
 AND #1
 STA DRVNUM
 RTS
 .SKIP
;SET PTRS TO ONE FILE STREAM & CHK TYPE
FS1SET LDY #0
 LDA F1CNT
 CMP F2CNT
 BEQ FS15
 DEC F2CNT
 LDY F2CNT
 LDA FILTBL,Y
 TAY
 LDA (CB),Y
 LDY #NTYPES-1
FS10 CMP TYPLST,Y
 BEQ FS15
 DEY
 BNE FS10
FS15 TYA
 ASL A
 STA TYPFLG
 RTS
 .SKIP
;TEST CHAR IN ACCUM FOR "0" OR "1"
TST0V1 CMP #'0
 BEQ T0V1
 CMP #'1
 BEQ T0V1
 ORA #$80
T0V1 AND #$81
 RTS
 .END
