Listing of file='COPY020A' on disk='vmedia/701-2048D.wvd.zip'
# Sector 192, program filename = 'COPY020A' 0010 REM COPY020A,00-00(06/07/76),12003A - COPYRIGHT WANG LABS. INC., 1976 0270 DIM C1$(4)64,C2$(4)64,N1$8,B$(2,14)8 0280 DEFFNN(C0)=C0-INT((C0-1)/14)*14 : C0=1 : INIT(00)N$ : PRINT HEX(01);TAB(64) : PRINT "MOUNT PLATTERS AT THE INDICATED ADDRESSES",TAB(64) 0330 KEYIN Q6$,330,330 : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$ : PRINT HEX(010A),TAB(64),TAB(64),TAB(64) 0380 GOSUB '91 : IF N$=HEX(0000000000000000)THEN 510 : IF F=2THEN 460 : PRINT HEX(01);"COPYING FILE NUMBER";C0-1,TAB(64) : PRINT "INPUT FILE NAME = ";N$,"OUTPUT FILE NAME = ";N1$;TAB(64) : PRINT TAB(64) : GOSUB 880 : IF Q6$="E"THEN 380 0460 IF F=1THEN 380 : PRINT HEX(01);"VERIFYING FILE NUMBER";C0-1,TAB(64) : PRINT "INPUT FILE NAME = ";N$,"OUTPUT FILE NAME = ";N1$;TAB(64) : GOSUB 590 : GOTO 380 0510 DEFFN'15 : PRINT HEX(030A);"MOUNT ISS PLATTER" 0530 KEYIN Q6$,530,530 : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$ : COM CLEAR N$() : LOAD DC T#0,"START040" 0590 GOSUB '229(3,N1$) : IF R2$=HEX(10)THEN 700 : PRINT HEX(010A);"FILE - ";N1$;" - DOES NOT EXIST ON OUTPUT PLATTER.";TAB( 63) 0620 KEYIN Q6$,620,620 : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$ : GOTO 680 0650 PRINT HEX(010A);"FILE - ";N1$;" - DOES NOT VERIFY";TAB(64) 0660 KEYIN Q6$,660,660 : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$ 0680 Q6$="E" : RETURN 0700 LIMITS T#2,N$,X1,Y1,Z1 : LIMITS T#3,N1$,X2,Y2,Z2 : FOR I=1TO Z1-1 : DATA LOAD BA T#2,(X1,X1)C2$() : DATA LOAD BA T#3,(X2,X2)C1$() : IF I<>1THEN 800 : IF STR(R9$(R6),2,1)=HEX(80)THEN 840 0800 IF C1$(1)<>C2$(1)THEN 650 : IF C1$(2)<>C2$(2)THEN 650 : IF C1$(3)<>C2$(3)THEN 650 : IF C1$(4)<>C2$(4)THEN 650 0840 NEXT I : RETURN 0880 GOSUB '229(3,N1$) : IF STR(M$,10)="REPLACE"THEN 910 : IF M$<>"REPLACE"THEN 930 0910 IF R2$=HEX(00)THEN 950 : GOTO 1010 0930 IF R2$=HEX(00)THEN 1010 0950 PRINT HEX(010A);"FILE - ";N$;" - CAN NOT BE COPIED";TAB(63) 0960 KEYIN Q6$,960,960 : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$ : Q6$="E" : GOTO 1520 1010 LIMITS T#2,N$,X1,Y1,Z1 : A=Z1+E : IF E>=0THEN 1070 : A=Y1-X1+1 1070 IF STR(M$,10)="REPLACE"THEN 1090 : IF M$<>"REPLACE"THEN 1130 1090 LIMITS T#3,N1$,X2,Y2,Z2 : IF Y2-X2+1<ATHEN 950 : GOTO 1210 1130 DATA LOAD BA T#3,(0,I)R9$() : AND (STR(R9$(1),3,1),7F) : AND (STR(R9$(1),5,1),7F) : IF A>256*VAL(STR(R9$(1),5,1))+VAL(STR(R9$(1),6,1))-(256*VAL(STR(R9$(1),3, 1))+VAL(STR(R9$(1),4,1)))THEN 950 : DATA SAVE DC OPEN T#3,A,N1$ : LIMITS T#3,N1$,X2,Y2,Z2 1210 DATA LOAD BA T#2,(X1,X1)C1$() : Q6$=C1$(1) : AND (STR(Q6$,1,1),40) : IF STR(Q6$,1,1)<>HEX(40)THEN 1290 : STR(C1$(1),2,8)=N1$ 1290 DATA SAVE BA T#3,(X2,X2)C1$() : IF Z1-1<2THEN 1390 : FOR I=2TO Z1-1 : DATA LOAD BA T#2,(X1,X1)C1$() : DATA SAVE BA T#3,(X2,X2)C1$() : NEXT I 1390 DATA LOAD BA T#2,(Y1,Y1)C1$() : STR(C1$(1),1,1)=HEX(A0) : GOSUB '229(2,N$) : IF STR(R9$(R6),2,1)=HEX(00)THEN 1510 : GOSUB '229(3,N1$) : STR(R9$(R6),1,2)=HEX(1080) : DATA SAVE BA T#3,(R3,R)R9$() : STR(C1$(1),1,1)=HEX(20) 1510 DATA SAVE BA T#3,(Y2,Y2)C1$() 1520 RETURN 1550 DEFFN'91 : IF M$="ALL"THEN 1740 : IF STR(M$,1,8)<>"INDIRECT"THEN 1680 : IF C0>1THEN 1600 : LIMITS T#2,N$(1,1),Z,Z1,Z1 1600 IF FNN(C0)<>1THEN 1630 : DATA LOAD DA T#2,(Z,Z)B$() : IF END THEN 1720 1630 N$=B$(1,FNN(C0)) : N1$=B$(2,FNN(C0)) : IF N$<>" "THEN 1770 : C0=C0+1 : GOTO 1600 1680 IF C0>CTHEN 1720 : N$=N$(1,C0) : N1$=N$(2,C0) : GOTO 1770 1720 INIT(00)N$ : RETURN 1740 GOSUB '90(2,N$) : N1$=N$ : IF N5<0THEN 1740 1770 C0=C0+1 : RETURN 1810 DEFFN'90(N,N$) : GOSUB '229(N,N$) : N5,N1=0 : IF R6<>0THEN 1870 : R=0 : GOTO 2000 1870 IF R6=16THEN 1980 : R6=R6+1 1890 FOR N0=R6TO 16 : IF (N0-1)+ABS(R-1)=0THEN 1970 : IF STR(R9$(N0),1,1)=HEX(21)THEN 1970 : ON VAL(STR(R9$(N0),1,1))-15GOTO 1940,1970 : GOTO 1960 1940 N$=STR(R9$(N0),9,8) : N1=1 1960 N0=16 1970 NEXT N0 1980 IF N1=1THEN 2040 : IF R>=R4THEN 2030 2000 DATA LOAD BA T#N,(R,R)R9$() : R6=1 : GOTO 1890 2030 INIT(00)N$ 2040 RETURN 2050 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$) 2060 ADD(STR(R3$,1,1),STR(R3$,2,1)) : R3=VAL(R3$) : R3=R3-INT(R3/R4)*R4 : R5=R3 2070 DATA LOAD BA T#R9,(R3,R)R9$() : R6=0 : FOR R7=1TO 16 : IF R3<>0THEN 2080 : IF R7<>1THEN 2080 : R7=2 2080 R2$=STR(R9$(R7),1,1) : IF R2$=HEX(00)THEN 2100 : IF R2$=HEX(10)THEN 2090 : IF R2$<>HEX(11)THEN 2110 2090 IF STR(R9$(R7),9,8)<>R9$THEN 2110 : R6=R7 2100 R7=16 2110 NEXT R7 : IF R2$=HEX(00)THEN 2120 : IF R6<>0THEN 2120 : R2$=HEX(00) : R3=R3-1 : IF R3=R5THEN 2120 : IF R3>=0THEN 2070 : R3=R4-1 : GOTO 2070 2120 RETURN