.PAGE 'DISK COPY'
;
; DSKCPY CHECK FOR TYPE
; AND PARSES SPECIAL CASE
;
DSKCPY
 JSR PRSCLN ;FIND ":"
 BNE DX0000
;
 JSR PRSEQ
;
 LDA #'* ;CPY ALL
 LDX #39 ;PUT AT BUFFER END
 STX FILTBL+1
 STA CMDBUF,X ;PLACE *
 INX
 STX CMDSIZ
 LDX #1 ;SET UP CNT'S
 STX F1CNT
 INX
 STX F2CNT
 JMP MOVLP2 ;ENTER ROUTINE
;
DX0000 JSR TC30 ;NORMAL PARSE
DX0005 JSR ALLDRS ;PUT DRV'S IN FILTBL
 LDA IMAGE ;GET PARSE IMAGE
 AND #%01010101 ;VAL FOR PATT COPY
 BNE DX0020 ;MUST BE CONCAT OR NORMAL
 LDX FILTBL ;CHK FOR *
 LDA CMDBUF,X
 CMP #'*
 BNE DX0020
 LDX #1 ;SET CNT'S
 STX F1CNT
 INX
 STX F2CNT
 JMP CPYDTD ;GO COPY
DX0010 LDA #BADSYN ;SYNTAX ERROR
 JMP CMDERR
DX0020 LDA IMAGE ;CHK FOR NORMAL
 AND #%11011001
 BNE DX0010
 JMP COPY
;
PRSEQ
 LDA #'= ;SPECIAL CASE
 JSR PARSE
 BNE X0020
X0015 LDA #BADSYN
 JMP CMDERR
X0020 LDA CMDBUF,Y
 JSR TST0V1
 BMI X0015
 STA FILDAT+1 ;SRC DRV
 DEY
 DEY
 LDA CMDBUF,Y
 JSR TST0V1
 BMI X0015
 CMP FILDAT+1 ;CANNOT BE EQUAL
 BEQ X0015
 STA FILDAT ;DEST DRV
 RTS
 .END
