Listing of file='COPDSK.BAS;01' on disk='vmedia/agilis-sector.ccvf'
0 CLEAR 512 1 REM A PROG. TO COPY SELECTIVE FILES OR COMPLETE DISKS 2 REM WITHOUT DESTROYING THE DEST. DIRECTORY 3 REM SYNTAX: *.*, nn.*, *.nnn, n??.?? 4 REM (C) NOV. 1981, C W HENNIG 5 DEF FN MOD(PTR)= PTR- INT (PTR/ 128)* 128 6 REM LAST EDITED 81 11 21 10 MNU= 0:BLKSIZE= 128:ENTRY= 21:BASE= 16 20 DIM A$(15):RESTORE 53130 30 FOR I= 0TO 15:READ A$(I):NEXT 31 PRINT CHR$ (12);"SELECTIVE OR GLOBAL COPY OF DISSIMILAR DISKETTES." 33 INPUT "FCS NAME OF DESTINATION DRIVE E.G. DF0: ";T$:DDR$= T$+ ":":IF DDR$= ":" THEN DDR$= "DF0:" 35 INPUT "FCS NAME OF SOURCE DRIVE E.G. MD0: ";T$:DR$= T$+ ":":IF DR$= ":" THEN DR$= "MD0:" 40 BUFFR= 40960 45 PLOT 27,4:PRINT "DIR ";DR$:PLOT 27,27:INPUT "CONTINUE (Y/N)? ";IN$:IF IN$= "N"GOTO 35 47 GOSUB 30000 50 DEC= BUFFR:GOSUB 53000:BUFF$= BAS$+ "" 60 II= - 1:GOSUB 10000 80 DBLKS= PEEK (BUFF+ 1)+ 128:PTR= 23 90 II= 0:LASTPTR= II 95 PLOT 12:PRINT "COPYING:" 100 OK= PEEK (BUFF+ FN MOD(PTR)):IF OK< > 3GOTO 300 120 PTR= PTR+ 1 130 FOR K= 0TO 8:F1I$= CHR$ (PEEK (BU+ FN MOD(PT))):PT= PT+ 1:IF F1I$= " "GOTO 170 135 IF K= 6 THEN FI$= FI$+ "." 140 FI$= FI$+ F1I$ 170 NEXT K 171 GOSUB 31000:IF FI$= "" GOTO 180 172 DEC= PEEK (BUF+ FN MOD(PTR)):GOSUB 53000:F2$= FI$+ ";"+ BAS$ 173 REM IF FI$="MENU.BAS"THEN GOSUB 54000 175 PRINT "";F2$ 178 GOSUB 11000 180 PTR= PT+ 11 185 IF INT (PTR/ 128)> LASTPTR THEN GOSUB 10000:PTR= PTR+ 2 190 FI$= "":F1$= "":F2$= "":IF PTR< (128* DBLKS) GOTO 100 300 PRINT "DONE !!! 310 PRINT "INSERT NEXT DISK TO BE COPIED" 320 GOTO 35 9999 END 10000 II= II+ 1:DEC= II:GOSUB 53000:I$= BAS$:PLOT 27,4:PRINT "READ ";DR$;I$;" ";BUFF$;" 80":PLOT 27,27 10010 LASTPTR= II:RETURN 11000 PLOT 27,4:PRINT "COPY ";DR$;F2$;" TO ";DDR$;FI$:PLOT 27,27:F2$= "" 11010 RETURN 30000 PRINT "nnnnnn.* OR *.nnn OR *.* OR nnn??.??n":INPUT "PARAMETERS > ";IN$ 30010 IF IN$= "" THEN GOTO 30990 30990 RETURN 31000 REM PARSE FILE NAMES 31015 IF IN$= "*.*" GOTO 31099 31020 A= 0:EOF= 0:I9= 1:F9= 1:I8= LEN (IN$):F8= LEN (FI$) 31025 I9$= MID$ (IN$,I9,1):IF I9$= "?" GOTO 31060 31040 IF I9$= "*" THEN GOSUB 31300:F9= A- 1:IF EOF GOTO 31099:REM PERIOD 31043 IF F9= A- 1 GOTO 31060 31045 F9$= MID$ (FI$,F9,1) 31050 IF I9$< > F9$ GOTO 31080:REM NULL FI$ 31060 F9= F9+ 1 31065 I9= I9+ 1 31070 IF I9< = I8 GOTO 31025 31075 GOTO 31099 31080 FI$= "" 31099 RETURN 31300 FOR A= F9 TO F8 31310 IF MID$ (FI$,A,1)= "." GOTO 31340 31320 NEXT A 31330 EOF= 1 31340 RETURN 31990 RETURN 32000 REM GET EXT 32010 EXT$= MID$ (IN$,3) 32020 RETURN 53000 REM BASE CONVERSION(16/10) 53010 BASE$= "":IF DEC= 0THEN BAS$= "0":GOTO 53120 53050 DEC= DEC+ 1/ BASE 53060 X= INT (LOG (DEC)/ LOG (BASE)) 53070 FOR I= XTO 0STEP - 1 53080 HEX= INT (DEC/ (BASE^ I)) 53090 DEC= DEC- HEX* (BASE^ I) 53100 BASE$= BASE$+ A$(HEX) 53110 NEXT I 53120 RETURN 53130 DATA 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 54000 REM ASSIGN A UNIQUE LABEL TO MENU FILES 54010 MN= MN+ 1:DEC= MN:GOSUB 53000 54020 FI$= "MENU"+ MID$ (BAS$,1)+ ".BAS" 54030 RETURN