image of READY prompt

Wang2200.org

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"