Listing of file='@INSTALL' on disk='vmedia/731-8016-A.wvd.zip'
# Sector 1238, program filename = '@INSTALL' 0010 REM ! @INSTALL 03/21/90 TBO CS/386 1.0/CS/2200 3.4. 0015 REM ! (c) COPYRIGHT WANG LABORATORIES 1985, 1986, 1990 : REM ! ALL RIGHTS RESERVED 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 %0 A1$ input disk, A2$ output disk, C1$ input FileName, C2$ output Fi leName 0040 REM %0 K Total # files, O3 Output file size, X Ptr in DATA stmt 0050 REM %0 I2 # free sectors in input file, I3 Input cat.size : REM %0 I5 Output cat.area next available sector, I6 Cat.area end+1, I7 Ou tput cat.area 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,D4$4,B$1,G$10,H$22 0090 DIM S$(16,2)8,S$3,N$8,N3$8,P0$1,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$="D10" : A2$="D11" : A=6 : E$=HEX(0E)&"ERROR" : STR(E$,12)="at address" : A9=0 : R$="ERROR:" : I$="Invalid disk address" : G$="Installing" 0110 REM % Prompt disk addresses 0120 PRINT HEX(020402000F030D0E06),TAB(16);"***** System Software Installation Utility *****" : PRINT TAB(21);"(c) Copr. Wang Laboratories, Inc. 1990" 0130 PRINT AT(23,0,);"Press FN/TAB to return to menu";HEX(01) 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>0THEN 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>0THEN 180 : IF Q$<>" "THEN 210 : K=0 0230 D1$,D4$="@MVP" : GOSUB '20(D1$) : IF T=0THEN 240 : C3=3 : E2=E1-B : IF E2>450THEN C3=4 : GOTO 295 0240 D1$="@SYSVPB" : GOSUB '20(D1$) : IF K=2THEN 290 : IF T>0THEN C3=2 0260 D1$="@COBOL" : GOSUB '20(D1$) : IF K=2THEN 290 : IF K=0THEN 280 : IF T>0THEN 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),@CS/386-BASIC(W))" : PRINT AT(8,0);HEX(0E06); : LINPUT "Install which system "-B$ : $TRAN(B$,"CcVvMmWw")R : C3=POS("CVMW"=B$) 0295 ON C3GOTO 300,310,320,325 : PRINT HEX(07) : GOTO 290 0300 D1$="@COBOL" : GOTO 330 0310 D1$="@SYSVPB" : GOTO 330 0320 D1$="@SYSMVPB" : GOTO 330 0325 D1$="@GEN.386" 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 765 0380 PRINT HEX(0E06);AT(6,0,790);G$;H$ 0385 IF C3=3AND E2<455THEN 390 : IF C3=4AND E2>455THEN 390 : D4$="@386" : PRINT : PRINT "@MVP name on source = ";D4$;" or "; : LINPUT -D4$ 0390 REM GET TOTAL # OF INPUT FILE 0400 READ K : X=X+1 : GOSUB '10("START",2) : IF T>0THEN K=K-1 : GOSUB '10(".STARTD",2) : IF T>0THEN K=K-1 : IF C3=2THEN 410 : GOSUB '10("@SYSFILE",2) : IF T>0THEN K=K-1 0405 GOSUB '10(D4$,2) : IF T=0THEN 410 : X0=E1-B : IF C3=3AND X0<450THEN 410 : IF C3=4AND X0>450THEN 410 0408 LINPUT "@MVP name on destination "-D4$ 0410 READ C1$ : X=X+1 0420 IF C1$="END"THEN 640 : IF C1$="FF"THEN 670 0425 IF C1$="@MVP"THEN C1$=D4$ 0430 GOSUB '10(C1$,2) : IF C1$="START"AND T>0THEN 410 : IF C1$=".STARTD"AND T>0THEN 410 : GOSUB '10(C1$,2) : IF C1$="@SYSFILE"AND T>0THEN 410 0440 GOSUB '10(C1$,1) : ON SGN(T)+1GOTO 480,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=0THEN 490 : PRINT "." : PRINT : GOTO 290 0485 PRINT HEX(0A);"Installation disk not Scratched"; 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 765 : 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 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 REM %.FF encountered : IF C3<3THEN 680 : IF Z1=9THEN 680 0642 C1$="@P" : IF C3>3THEN C1$="@CLOC" 0645 GOSUB '10(C1$,1) : IF T<>0THEN 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(C1$,1) : IF T<>0THEN 660 : PRINT AT(13,9,71);"Second diskette not mounted." : GOTO 650 0660 Z1=9 : RESTORE LINE850 : IF C3>3THEN RESTORE LINE890 : GOTO 410 0670 REM %.END encountered : X=0 : RESTORE LINE860 : IF C3>3THEN RESTORE LINE890 : GOTO 410 0680 PRINT HEX(070E06);AT(17,10,79);"Completed software installation." 0690 KEYIN K$,690,700 : GOTO 690 0700 IF K$<>HEX(7E)AND K$<>HEX(7F)THEN 690 0703 DEFFN'126 0704 DEFFN'127 0705 PRINT AT(23,0,);HEX(0E06);"(Returning to System Menu)";HEX(01) : COM CLEAR : $PSTAT=" " : LOAD T"@MENU" : ERRORSELECT DISK <A2$> : LOAD T"@MENU" 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 DEFFN'10(C1$,D) : LIMITS T#D,C1$,B,E1,U,T : ERRORX0=ERR : IF X0=85THEN 485 0745 RETURN 0750 DEFFN'20(D$) 0755 LIMITS T#1,D$,B,E1,U,T : IF T<=0THEN 760 : K=K+1 : C1$=D$ 0760 RETURN 0765 ON C3GOTO 770,775,780,785 : STOP # 0770 RESTORE LINE790,X+1 : H$=" BASEBOL" : RETURN 0775 RESTORE LINE800,X+1 : H$=" Basic-2 (Single user)" : RETURN 0780 RESTORE LINE810,X+1 : H$=" Basic-2 (Multi user)" : RETURN 0785 RESTORE LINE880,X+1 : H$=" CS/386 Basic-2" : C3=4 : RETURN 0790 DATA 4,"@@","@GENPART","@D","@FORMAT","END" 0800 DATA 22,"@SYSVPB","@VP","FF" 0810 DATA 42,"@SYSFILE","@GENPART","@SYSMVPB","@PSTAT","@MVP","@CLOC","@DATE", "@MXE0","@MODSYSF","@PM060V0","@PM010V2","@PM016V3","@PM017V3","@PM018V3" ,"@LASRJV1","@DM50/V0","FF" 0850 DATA "@DG","@P","@A","@B","@C","@D","@E","@\","@MRTIAN","@DAVFU","END" 0860 DATA "@BACKUP","@FORMAT","@MENU","@MOVE1","@MOVEFIL","@RECOVER","START"," @INSTALL","@@","@BOOT",".STARTD","@TO.CRE0","@TO.CREF","@TO.DISK","@TO.SU BS","@TOIMAGE","END" 0880 REM .CS/386 : DATA 36,"@@","@MXE0","@SYSMVPB","@BOOT",".STARTD","@GENPART","START","@MV P","@DG1","@MENU","@PM017V3","@SYSFILE","@GEN.386","@MOVE1","@PSTAT","@MO DSYSF","@INSTALL","END" 0890 REM .CS/386 Diskette 2 : DATA "@DATE","@MOVEFIL","@BACKUP","@FORMAT","@RECOVER","@TO.CRE0","@TO.CR EF","@TOIMAGE","@TO.DISK","@TO.SUBS","@CLOC","@PM010V2","@PM016V3","@PM06 0V0","@PM018V3","@DM50/V0","@LASRJV1","@DAVFU","@MRTIAN","END"