Listing of file='@INSTALL' on disk='vmedia/731-8009-F.wvd.zip'
# Sector 1116, program filename = '@INSTALL'
0010 REM ! @INSTALL 01/23/89 DMB (Mod. by CSN) Rel 3.3
0015 REM ! (c) COPYRIGHT WANG LABORATORIES 1985, 1986
: 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 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,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$="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,16);"***** System Software
Installation Utility *****"
: PRINT TAB(21);"(c) Copr. Wang Laboratories, Inc. 1986"
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>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
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 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."
0690 KEYIN K$,690,700
: GOTO 690
0700 IF K$ <> HEX(7E) AND K$ <> HEX(7F) THEN 690
: PRINT AT(23,0,);HEX(0E06);"(Returning to System Menu)";HEX(01)
: COM CLEAR
: $PSTAT=" "
: LOAD T"@MENU"
: ERRORSELECT DISK <A2$>
: LOAD T"@MENU"
0701 DEFFN'126
0702 DEFFN'127
: K$=HEX(7F)
: GOTO 700
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
: ERRORX0=ERR
: IF X0=85 THEN GOTO 485
0755 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 42,"@SYSFILE","@GENPART","@SYSMVPB","@PSTAT","@MVP","@CLOC","@DATE",
"@MXE0","@MODSYSF","@PM060V0","@PM010V2","@PM016V3","@PM017V3","@PM018V3"
,"@LASRJV1","@DM50/V0","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 "@DG","@P","@A","@B","@C","@D","@E","@\","@MRTIAN","END"
0860 DATA "@DAVFU","@BACKUP","@FORMAT","@MENU","@MOVE1","@MOVEFIL","@RECOVER",
"START","@INSTALL","@@","@BOOT",".STARTD","@TO.CRE0","@TO.CREF","@TO.DISK
","@TO.SUBS","@TOIMAGE","END"
0870 X=0
: RESTORE LINE 860
: GOTO 410