Listing of file='COPY010A' on disk='vmedia/701-2046C.wvd.zip'
# Sector 109, program filename = 'COPY010A' 0010 REM COPY010A,00-00(09/23/75),12003 0200 COM N$(255)8,F,M$5,E,N$8,C : COM R1$8,R2$1,R3$2,R9$8,R9$(16) : DIM Q6$64,W$8,W3$3,W4$1,W$(3)8,Q4(3),Q5(3) : DIM B$(1)2 : INIT(20)N$() 0280 I=1 : GOSUB '91(1,I) : I$=D$ 0330 O=5 : GOSUB '91(2,O) : O$=D$ 0380 F=3 0410 M$= "ALL" 0440 E=0 : GOSUB '92(HEX(03)) 0480 GOSUB '243("ARE THE PARAMETERS OK? (Y/N)",1) : IF Q6$= "Y"THEN 1180 : IF Q6$= "N"THEN 550 : GOSUB 2480 : GOTO 480 0550 GOSUB '245("ENTER THE NUMBER OF THE ITEM TO BE CHANGED. (0 = END)",1,0) : IF Q9=0THEN 1180 : IF Q9<6THEN 600 : GOSUB 2480 : GOTO 550 0600 ON Q9GOSUB 640,770,850,930,1050 : GOSUB '92(HEX(01)) : GOTO 550 0640 GOSUB '248(11,0,0) : PRINT ,"FUNCTIONS AVAILABLE" : PRINT ," 1 - COPY" : PRINT ," 2 - VERIFY" : PRINT ," 3 - COPY AND VERIFY" 0690 GOSUB '245("ENTER THE NUMBER OF THE FUNCTION DESIRED.",1,0) : IF (Q9-1)*(Q9-2)*(Q9-3)=0THEN 730 : GOSUB 2480 : GOTO 690 0730 F=Q9 : GOSUB '248(11,0,4) : RETURN 0770 GOSUB '245("ENTER THE NUMBER OF ADDITIONAL SECTORS/FILE. (-1 = LEAVE AS I S)",-2,0) : IF Q9=-1THEN 820 : IF Q9>=0THEN 820 : GOSUB 2480 : GOTO 770 0820 E=Q9 : RETURN 0850 GOSUB '243("ENTER THE DESIRED MODE. (ALL OR PARTS)",5) : IF Q6$= "ALL"THEN 900 : IF Q6$= "PARTS"THEN 900 : GOSUB 2480 : GOTO 850 0900 M$=Q6$ : RETURN 0930 GOSUB '93 0940 GOSUB '245("ENTER THE NUMBER OF THE DESIRED INPUT ADDRESS.",1,0) : IF Q9=OTHEN 990 : I=Q9 : GOSUB '91(1,I) : IF Q6$<> "E"THEN 1010 0990 GOSUB 2480 : GOTO 940 1010 I$=D$ : GOSUB '248(11,0,4) : RETURN 1050 GOSUB '93 1060 GOSUB '245("ENTER THE NUMBER OF THE DESIRED OUTPUT ADDRESS.",1,0) : IF Q9=ITHEN 1110 : O=Q9 : GOSUB '91(2,O) : IF Q6$<> "E"THEN 1130 1110 GOSUB 2480 : GOTO 1060 1130 O$=D$ : GOSUB '248(11,0,4) : RETURN 1180 IF M$= "ALL"THEN 1570 : PRINT HEX(010A);"MOUNT INPUT PLATTER";TAB(64) : GOSUB '254 : C=0 1240 PRINT HEX(010A);"ENTER THE NAME OF FILE #";C+1," (0 = END)";TAB(64) : GOSUB '244(8) : IF Q6$= " "THEN 1240 : N$=Q6$ : MAT SEARCHN$(),=N$TO B$()STEP 8 : IF B$(1)=HEX(0000)THEN 1370 : GOSUB '248(3,0,1) 1340 PRINT "FILE - ";N$;" - IS A DUPLICATE FILE NAME" : GOTO 1240 1370 IF N$= "0"THEN 1510 : GOSUB '229(1,N$) : IF R2$=HEX(10)THEN 1450 : GOSUB '248(3,0,1) : PRINT "FILE - ";N$;" - DOES NOT EXIST" : GOTO 1240 1450 C=C+1 : N$(C)=N$ : IF C<255THEN 1240 1510 IF C>0THEN 1570 : PRINT HEX(030A);"NUMBER OF FILES = 0" : GOSUB '254 1540 DEFFN'15 : LOAD DC T#6,"START" 1570 LOAD DC T#6,"COPY020A" 1600 DEFFN'92(N$) : PRINT N$ : GOSUB '248(5,0,0) : PRINT ,"COPY/VERIFY UTILITY" : PRINT : PRINT TAB(3);"1. FUNCTION = "; : ON F-1GOTO 1690,1710 : PRINT "COPY"; : GOTO 1720 1690 PRINT "VERIFY"; : GOTO 1720 1710 PRINT "COPY/VERIFY"; 1720 PRINT TAB(32);"4. INPUT ADDRESS = ";I$ : PRINT TAB(3);"2. EXTRA SECTORS =";E;TAB(32);"5. OUTPUT ADDRESS = ";O$ : PRINT TAB(3);"3. MODE = ";M$,TAB(32) : RETURN 1780 DEFFN'93 : GOSUB '248(11,0,0) : PRINT ,"ADDRESSES AVAILABLE" : PRINT ,"1 - 310 4 - B10" : PRINT ,"2 - 320 5 - B20" : PRINT ,"3 - 350 6 - 360" : RETURN 1870 DEFFN'91(D,A) : ON DGOTO 1910,2100 1890 Q6$= "E" : RETURN 1910 ON AGOTO 1920,1950,1980,2010,2040,2070 1920 SELECT #1310 1930 D$= "310" : RETURN 1950 SELECT #1320 1960 D$= "320" : RETURN 1980 SELECT #1350 1990 D$= "350" : RETURN 2010 SELECT #1B10 2020 D$= "B10" : RETURN 2040 SELECT #1B20 2050 D$= "B20" : RETURN 2070 SELECT #1360 2080 D$= "360" : RETURN 2100 ON AGOTO 2120,2140,2160,2180,2200,2220 : GOTO 1890 2120 SELECT #2310 : GOTO 1930 2140 SELECT #2320 : GOTO 1960 2160 SELECT #2350 : GOTO 1990 2180 SELECT #2B10 : GOTO 2020 2200 SELECT #2B20 : GOTO 2050 2220 SELECT #2360 : GOTO 2080 2240 DEFFN'229(R9,R9$) : DATA LOAD BA T#R9,(0,R3)R9$() : AND (STR(R9$(1),2,1),7F) : R4=VAL(STR(R9$(1),2,1)) : R1$=R9$ : XOR (STR(R1$,2),R1$) : R2$=STR(R1$,8,1) : R3$=HEX(0000) : ADDC(R3$,R2$) : ADDC(R3$,R2$) : ADDC(R3$,R2$) 2250 ADD(STR(R3$,1,1),STR(R3$,2,1)) : R3=VAL(R3$) : R3=R3-INT(R3/R4)*R4 : R5=R3 2260 DATA LOAD BA T#R9,(R3,R)R9$() : R6=0 : FOR R7=1TO 16 : IF R3<>0THEN 2270 : IF R7<>1THEN 2270 : R7=2 2270 R2$=STR(R9$(R7),1,1) : IF R2$=HEX(00)THEN 2290 : IF R2$=HEX(10)THEN 2280 : IF R2$<>HEX(11)THEN 2300 2280 IF STR(R9$(R7),9,8)<>R9$THEN 2300 : R6=R7 2290 R7=16 2300 NEXT R7 : IF R2$=HEX(00)THEN 2310 : IF R6<>0THEN 2310 : R2$=HEX(00) : R3=R3-1 : IF R3=R5THEN 2310 : IF R3>=0THEN 2260 : R3=R4-1 : GOTO 2260 2310 RETURN 2320 DIM Q6$64,W$8,W3$3,W4$1,W$(3)8,Q4(3),Q5(3) 2330 DEFFN'242(W0,Q6$) : IF W0<=0THEN 2350 : IF W0=1THEN 2340 : STR(Q6$,2)=STR(Q6$,1,W0-1) 2340 PRINT Q6$; 2350 RETURN 2360 DEFFN'254 : GOSUB '248(2,0,1) : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$ : W4$=Q6$ : GOSUB '248(1,0,3) : Q6$=W4$ : RETURN 2370 DEFFN'243(Q6$,Q0) : GOSUB 2490 2380 SELECT CO 205 : Q6$=" " : INPUT Q6$ : IF Q0=0THEN 2520 : IF LEN(Q6$)<=Q0THEN 2520 : GOSUB 2480 2390 DEFFN'244(Q0) : GOSUB 2510 : GOSUB 2500 : GOTO 2380 2400 DEFFN'245(Q6$,Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2490 2410 IF ABS(Q2)+ABS(Q3)=0THEN 2420 : GOSUB '242(ABS(Q2)+2,HEX(09)) : PRINT "/" : GOTO 2430 2420 PRINT ,," " 2430 GOSUB 2510 : SELECT CO 205 : Q9,W0=-1E-99 : INPUT Q9 : IF W0=Q9THEN 2440 : IF ABS(Q2)+Q3=0THEN 2470 : IF Q9>=0THEN 2460 : IF Q2<=0THEN 2460 2440 GOSUB 2480 2450 DEFFN'246(Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2510 : GOSUB 2500 : GOTO 2410 2460 IF ABS(Q9)>=10^ABS(Q2)THEN 2440 : W0=ABS(Q9*10^Q3) : IF INT(W0)<>W0THEN 2440 2470 GOSUB '248(3,0,1) : RETURN 2480 GOSUB '248(3,0,1) : PRINT "RE-ENTER" : RETURN 2490 SELECT PRINT 005(64),CO 005 : PRINT HEX(010A);STR(Q6$,1); 2500 SELECT PRINT 005(64),CO 005 : GOSUB '242(Q0+2,"-") : PRINT TAB(64) 2510 PRINT HEX(010A0A) : RETURN 2520 PRINT HEX(0A);TAB(64) : SELECT PRINT 005(64),CO 005 : RETURN 2530 DEFFN'248(Q6,Q7,Q8) : GOSUB 2550 : IF Q8<1THEN 2540 : GOSUB 2540 : SELECT PRINT 205 : Q6$=" " : PRINT STR(Q6$,Q7+1) : IF Q8<2THEN 2540 : FOR W0=2TO Q8 : PRINT HEX(0A);STR(Q6$,1) : NEXT W0 2540 PRINT HEX(01) : GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) 2550 SELECT PRINT 005(64),CO 005 : RETURN