Listing of file='COPY020B' on disk='vmedia/701-2048D.wvd.zip'
# Sector 127, program filename = 'COPY020B'
0010 REM COPY020B,00-00(11/08/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0030 DIM D$(6,2)33,N$(2,14)8,B1$(1)2,B$(2,14)8,N$8,N1$8,A1$1,A2$64
0050 %###### ######## ########
0060 DEFFNN(N)=N-INT((N-1)/14)*14
: GOSUB '248(0,0,4)
0090 PRINT HEX(010A);"MOUNT INPUT DISK.";TAB(64)
: GOSUB '254
: FOR I=1TO 6
: STR(D$(I,2),32,2)=HEX(0D0A)
: NEXT I
: GOSUB '229(4,F$)
: IF O=0THEN 260
: IF R2$=HEX(00)THEN 230
: IF STR(R9$(R6),1,2)=HEX(1000)THEN 1630
0230 PRINT HEX(010A0A0A);"FILE DOES NOT EXIST"
: GOTO 90
0260 IF R2$=HEX(00)THEN 390
: IF STR(R9$(R6),1,1)=HEX(11)THEN 330
: GOSUB '248(0,0,4)
: PRINT HEX(0A0A0A);"ACTIVE FILE SPECIFIED FOR REFERENCE FILE"
: GOTO 490
0330 LIMITS T#3,F$,X,Y,Z
: IF L+2>Y-X+1THEN 470
: DATA SAVE DC OPEN T#3,F$,F$
: GOTO 440
0390 DATA LOAD BA T#4,(0,R)R9$()
: AND (STR(R9$(1),3,1),7F)
: AND (STR(R9$(1),5,1),7F)
: IF L+2>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 470
: DATA SAVE DC OPEN T#2,(L+2),F$
0440 LIMITS T#3,F$,X,Y,Z
: IF L+2<=Y-X+1THEN 520
0470 GOSUB '248(0,0,4)
: PRINT HEX(0A0A0A);"INSUFFICIENT SPACE FOR FILE"
0490 GOSUB '254
: GOTO 2350
0520 DATA LOAD DC OPEN T#3,F$
: FOR I=1TO L
: DATA SAVE DC #3,N$()
: NEXT I
: DATA SAVE DC #3,END
: DATA LOAD DC OPEN T#2,F$
: DATA LOAD DC OPEN T#3,F$
0600 GOSUB '243("WILL ALL OUTPUT NAMES BE THE SAME AS THE INPUT NAME. (Y/N)"
,1)
: IF Q6$="Y"THEN 650
: IF Q6$="N"THEN 650
: GOSUB 8815
: GOTO 600
0650 A1$=Q6$
: FOR I=1TO L*14
: F1=I
: GOSUB '50("ENTER INPUT FILE NAME. (0=END)")
: IF Q6$="0"THEN 880
: PRINT HEX(01);TAB(64)
: IF I<6THEN 810
: MAT COPY D$()<133,264>TO D$()<67,264>
: STR(D$(6,1),24,8)=N$(1,FNN(I))
0770 STR(D$(6,2),1,8)=N$(2,FNN(I))
: CONVERT ITO STR(D$(6,1),18,3),(###)
: STR(D$(6,1),17,POS(D$(6,1)>"0")-17)=" "
: GOTO 840
0810 CONVERT ITO STR(D$(I+1,1),20,1),(#)
: STR(D$(I+1,1),24,8)=N$(1,FNN(I))
: STR(D$(I+1,2),1,8)=N$(2,FNN(I))
0840 GOSUB '248(9,0,0)
: $GIOUPDATESCREEN/005(400DA000,D$)D$()
: IF FNN(I)<>14THEN 920
0880 DATA SAVE DC #2,N$()
: IF Q6$<>"0"THEN 910
: I=L*14
0910 INIT(" ")N$()
0920 NEXT I
0930 GOSUB '243("DO YOU WANT TO PRINT THE REFERENCE FILE? (Y/N)",1)
: IF Q6$="N"THEN 2350
: IF Q6$="Y"THEN 2140
: GOSUB 8815
: GOTO 930
1000 DBACKSPACE #3,BEG
: A$=" "
: K=0
: MAT SEARCHN$()<113,112>,=STR(N1$,1,8)TO B1$()STEP 8
: IF B1$(1)=HEX(0000)THEN 1070
: A$="OUTPUT"
: GOTO 1100
1070 MAT SEARCHN$()<1,112>,=STR(N$,1,8)TO B1$()STEP 8
: IF B1$(1)=HEX(0000)THEN 1120
: A$="INPUT"
1100 K=1
: RETURN
1120 FOR J=1TO F1
: IF END THEN 1180
: DATA LOAD DC #3,B$()
: IF J=INT((I-1)/14)+1THEN 1270
: IF O=2THEN 1180
: IF J>INT((I-1)/14)+1THEN 1260
1180 MAT SEARCHB$()<113,112>,=STR(N1$,1,8)TO B1$()STEP 8
: IF B1$(1)=HEX(0000)THEN 1220
: A$="OUTPUT"
: GOTO 1250
1220 MAT SEARCHB$()<1,112>,=STR(N$,1,8)TO B1$()STEP 8
: IF B1$(1)=HEX(0000)THEN 1270
: A$="INPUT"
1250 K=1
1260 J=F1
1270 NEXT J
: RETURN
1310 DEFFN '50(A2$)
: IF I<=L*14THEN 1350
: Q6$="0"
: GOTO 1420
1350 GOSUB '248(0,0,1)
1360 GOSUB '243(A2$,8)
: IF Q6$="0"THEN 1600
: GOSUB '229(4,Q6$)
: IF R2$=HEX(10)THEN 1420
: PRINT HEX(010A0A);TAB(64);HEX(0D);"FILE - ";Q6$;" - NOT AN ACTIVE FILE"
: GOTO 1360
1420 N$=Q6$
: N1$=N$
: IF Q6$="0"THEN 1580
: IF A1$="Y"THEN 1510
1460 PRINT HEX(01);"INPUT FILE NAME = ";N$;TAB(64)
: GOSUB '243("ENTER OUTPUT FILE NAME. (EXEC = SAME AS INPUT)",8)
: IF Q6$=" "THEN 1510
: N1$=Q6$
1510 GOSUB 1000
: IF A$=" "THEN 1580
: PRINT HEX(010A);"DUPLICATE ";A$;" FILE NAME.";TAB(64)
: GOSUB '254
: IF A$="OUTPUT"THEN 1460
: IF Q6$<>"X"THEN 1350
1580 N$(1,FNN(I))=N$
: N$(2,FNN(I))=N1$
1600 RETURN
1630 LIMITS T#2,F$,X,Y,Z
: GOSUB '248(7,32,0)
: L=Z-2
: PRINT "FILE SIZE =";L*14
: F1=L*14
: DATA LOAD DC OPEN T#2,F$
: IF O=2THEN 2140
: DATA LOAD DC OPEN T#3,F$
: GOSUB '248(9,16,6)
: PRINT "FILE # INPUT OUTPUT"
1730 GOSUB '248(0,0,3)
: GOSUB '245("ENTER THE FILE NUMBER TO BE MODIFIED. (0=END)",3,0)
: I=Q9
: IF I=0THEN 930
: IF I<=L*14THEN 1810
: GOSUB 8815
: GOTO 1730
1810 DBACKSPACE #2,BEG
: DSKIP #2,(INT((I-1)/14))S
: DATA LOAD DC #2,N$()
: GOSUB '248(10,16,5)
: PRINTUSING 50,I,N$(1,FNN(I)),N$(2,FNN(I))
: PRINT HEX(0A);TAB(24);"OPTIONS AVAILABLE"
: PRINT TAB(26);"0 - NO CHANGE"
: PRINT TAB(26);"1 - MODIFY"
1900 PRINT TAB(26);"2 - DELETE";HEX(01)
1920 GOSUB '245("ENTER THE NUMBER OF THE DESIRED OPTION.",1,0)
: IF Q9<3THEN 1960
: GOSUB 8815
: GOTO 1920
1960 ON 2-Q9GOTO 2070,2030
: N$(1,FNN(I)),N$(2,FNN(I))=" "
2000 DBACKSPACE #2,BEG
: DSKIP #2,(INT((I-1)/14))S
: DATA SAVE DC #2,N$()
2030 GOSUB '248(10,16,6)
: PRINTUSING 50,I,N$(1,FNN(I)),N$(2,FNN(I))
: GOTO 1730
2070 N$(1,FNN(I)),N$(2,FNN(I))=" "
: GOSUB '50("ENTER INPUT FILE NAME.")
: IF Q6$<>"0"THEN 2000
: GOSUB 8815
: GOTO 2070
2140 DATA LOAD DC OPEN T#2,F$
: GOSUB '248(0,0,4)
: PRINT "PRINTING REFERENCE FILE"
: SELECT PRINT 215(80)
: PRINT HEX(0D0C0E);"REFERENCE FILE - ";F$;TAB(30);Q1$
: PRINT
: PRINTUSING 50,"FILE #"," INPUT"," OUTPUT";
2210 PRINTUSING 50,"FILE #"," INPUT"," OUTPUT"
: I=1
2230 DATA LOAD DC #2,B$()
: IF END THEN 2320
: FOR J=1TO 14
: PRINTUSING 50,(I-1)*14+J,B$(1,J),B$(2,J);
: IF INT(J/2)<>J/2THEN 2290
: PRINT
2290 NEXT J
: I=I+1
: GOTO 2230
2320 PRINT
2350 DEFFN'15
: SELECT PRINT 005
: PRINT HEX(030A);"REMOUNT ISS PLATTER IF REMOVED"
2380 KEYIN Q6$,2380,2380
: GOSUB '254
: COM CLEAR O
: LOAD DC T#0,"START040"