Listing of file='@INSTALL' on disk='vmedia/mvp-boot-2.6.2.wvd.zip'
# Sector 831, program filename = '@INSTALL' 0010 REM % Prog = @INSTALL DMB 02/01/85 Rel 2.6 COPYRIGHT WANG LABORATOR IES 1985 0020 REM ST 01/05/84 for rel 2.6 : REM @INSTALL will move all system files from source platter to destinat ion platter 0030 REM A1$ = input disk address; A2$ = output disk address; C1$ input file n ame; C2$ = output file name 0040 REM K = Total number of file to be moved,X = is the pointer with in the d ata statement,I3= Size of the input catalogue area,I2 = Total number of f ree sectors with in the input file 0050 REM I5 = Next available sector in the output catalogue area : REM I6 = 1st sector beyond the catalogue area : REM I7 = Output catalogue area size : REM O3 = Output file size 0060 LOAD T"@MOVE1"0,60BEG 70 0070 COM A1$3,A2$3,D$8,Z1$1 0080 DIM C1$8,C2$8,I$20,A$1,D1$8,B$1,G$10,H$22 0090 DIM S$(16,2)8,S$3,N$8,N3$8,P1$1,Q$1,L$2,E$49,S1$3,S2$3,N1$8,N2$8,N4$8,N5$ 8,N6$8,Q6$2 0100 S$(),C1$,C2$=ALL(00) : A1$="D11" : A2$="D10" : A=6 : E$=HEX(0E)&"ERROR" : STR(E$,12)="at address" : A9=0 : R$="ERROR:" : I$="Invaild disk address" : G$="Installing" 0110 REM % KEYIN SOURCE DISK ADDR.& DEST. DISK ADDR. 0120 PRINT HEX(020402000F);HEX(030D0E);HEX(06),AT(0,10);"*** SYSTEM SOFTWARE I NSTALLATION UTILITY ***" 0140 PRINT AT(4,0); : LINPUT "Input address ="-A1$ 0150 GOSUB '100(A1$) 0160 IF Q$=" "THEN 170 : PRINT HEX(0706); : GOTO 140 0170 E=0 : GOSUB '105(1,A1$,0) : IF E>0 THEN 140 0180 PRINT AT(4,40); : LINPUT "Output address ="-A2$ : IF A1$<>A2$ THEN 190 : PRINT AT(22,0,79);HEX(070E);"Error: The destination disk address is the s ame as the source disk address!!!" : GOTO 180 0190 PRINT AT(22,0,79) : GOSUB '100(A2$) 0200 IF Q$=" "THEN 210 : PRINT HEX(0607); : GOTO 180 0210 E=0 : GOSUB '105(2,A2$,0) : IF E>0 THEN 180 0220 IF Q$<>" "THEN 210 0230 K=0 : D1$="@SYSMVPB" : GOSUB '20(D1$) : IF T<=0THEN 240 : C3=5 0240 D1$="@SYSVPB" : GOSUB '20(D1$) 0250 IF K=2THEN 290 : IF T<=0THEN 260 : C3=3 0260 D1$="@COBOL" : GOSUB '20(D1$) 0270 IF K=2THEN 290 : IF K=0THEN 280 : IF T<=0THEN 370 : C3=1 : GOTO 370 0280 PRINT HEX(070E06);AT(22,0,79);R$;" @VP,@MVP are not on the input platter. " : GOTO 140 0290 PRINT AT(8,40);HEX(0E06);"(@VP-BASIC(V),@MVP-BASIC(M))" : PRINT AT(8,0);HEX(0E06); : LINPUT "Install which system "-B$ : C3=POS("CcVvMm"=B$) : IF C3<>0THEN 300 : PRINT HEX(07) : GOTO 290 0300 IF C3>2THEN 310 : D1$="@COBOL" : GOTO 330 0310 IF C3>4THEN 320 : D1$="@SYSVPB" : GOTO 330 0320 D1$="@SYSMVPB" 0330 C1$=D1$ 0340 K=0 : GOSUB '20(D1$) : IF T>0THEN 370 0350 IF T<0THEN 470 0360 T=99999 : GOTO 480 0370 PRINT AT(21,0,79) : GOSUB 820 0380 PRINT HEX(0E06);AT(6,0,79);G$;H$ 0390 REM GET TOTAL # OF INPUT FILE 0400 READ K : X=X+1 : GOSUB '10("START",2) : IF T>0 THEN K=K-1 : GOSUB '10(".STARTD",2) : IF T>0THEN K=K-1 : IF C3=3 OR C3 = 4 THEN 410 : GOSUB '10("@SYSFILE",2) : IF T>0 THEN K=K-1 0410 READ C1$ : X=X+1 0420 IF C1$="END"THEN 640 : IF C1$="FF" THEN 870 0430 GOSUB '10(C1$,2) : IF C1$="START" AND T>0 THEN 410 : IF C1$=".STARTD"AND T>0THEN 410 : GOSUB '10(C1$,2) : IF C1$="@SYSFILE" AND T>0 THEN 410 : IF C1$ <> "@SYSFILE" THEN 440 0440 GOSUB '10(C1$,1) 0450 IF T=0THEN 480 0460 IF T>0THEN 500 0470 PRINT HEX(070E06);AT(21,10,((17-22)+1)*79);R$;" ";C1$;" Is scratched on t he input platter!!" : GOTO 690 0480 PRINT HEX(070E06);AT(21,0,((17-22)+1)*79);R$;" ";C1$;" Does not exist on the input platter"; : IF T=0 THEN 490 : PRINT "." : PRINT : GOTO 290 0490 PRINT ", @INSTALL is terminated." : STOP # : GOTO 480 0500 C=C+1 : I3=E1-B+1 : I2=I3-U 0510 GOSUB '105(2,A2$,0) 0520 IF Q$=" "THEN 530 : GOSUB 820 : GOTO 510 0530 PRINT HEX(0E06);AT(17,10,79);"Moving file ";C;" of ";K;" ";C1$ 0540 I5=VAL(STR(S$(),3,2),2) 0550 I6=VAL(STR(S$(),5,2),2) 0560 I7=I6-I5 0570 C2$=C1$ 0580 LIMITS T#2,C2$,B,E1,U,T 0590 IF T=0THEN GOTO 620 0600 IF I3<=((E1-B)+1) THEN 710 0610 REM COMP. SIZ OF INPUT FILE TO SIZ OF OUTPUT CAT.AREA 0620 IF I3<I7THEN 710 0630 PRINT HEX(070E06);AT(20,10,79);R$;"The output disk is full, @INSTALL is t erminated!!" : STOP # : GOTO 630 0640 IF C3 <> 5 AND C3 <> 6 THEN GOTO 680 : IF Z1 =9 THEN GOTO 680 0645 GOSUB '10("@P",1) : IF T <> 0 THEN 660 0650 PRINT AT(17,9,79) : PRINT AT(14,9,71);"Mount second system diskette in input drive, then hit any key." : KEYIN Z1$ : PRINT AT(14,9,79) : PRINT AT(13,9,79) 0655 GOSUB '10("@P",1) : IF T <> 0 THEN 660 : PRINT AT(13,9,71);"Second diskette not mounted." : GOTO 650 0660 Z1=9 : RESTORE LINE 850 : GOTO 410 0680 PRINT HEX(070E06);AT(17,10,79);"Completed software installation." 0685 PRINT AT(22,10,79);"Press TAB or FN to return to menu" 0690 KEYIN K$,690,700 : GOTO 690 0700 IF K$ <> HEX(7E) AND K$ <> HEX(7F) THEN 690 : LOAD RUN 0710 GOSUB '255(C1$,A1$,0,I2,C2$,A2$,0) 0720 IF Q$=" "THEN 410 0730 IF Q$=" F"THEN PRINT HEX(070E06);AT(20,10,79);R$;"Span error!!" : GOTO 640 0740 IF Q$="I"THEN 140 0750 DEFFN'10 (C1$,D) : LIMITS T#D,C1$,B,E1,U,T : RETURN 0760 DEFFN'20(D$) 0770 LIMITS T#1,D$,B,E1,U,T : IF T<=0THEN 780 : K=K+1 : C1$=D$ 0780 RETURN 0790 DATA 4,"@@","@GENPART","@D","@FORMAT","END" 0800 DATA 22,"@SYSVPB","@VP","FF" 0810 DATA 31,"@SYSFILE","@GENPART","@SYSMVPB","@PSTAT","@MVP","@CLOC","@DATE", "@MXE0","@MODSYSF","@PM010V0","@PM016V0","FF" 0820 IF C3>2THEN 830 : RESTORE LINE790,X+1 : H$=" BASEBOL" : RETURN 0830 IF C3>4THEN 840 : RESTORE LINE800,X+1 : H$=" Basic-2 (Single user)" : RETURN 0840 RESTORE LINE810,X+1 : H$=" Basic-2 (Multi user)" : RETURN 0850 DATA "@P","@A","@B","@C","@D","@E","@\","@MRTIAN","END" 0860 DATA "@DAVFU","@BACKUP","@FORMAT","@MENU","@MOVE1","@MOVEFIL","@RECOVER", "START","@INSTALL","@@","@BOOT",".STARTD","END" 0870 X=0 : RESTORE LINE 860 : GOTO 410