$ ON CONTROL_Y THEN GOTO DONE $ SET PROT=(S:RWED,G:RWED,O:RWED,W:RE)/DEFAULT $ SYSDISK = F$LOGICAL("SYS$DISK") $ DEFUIC:='F$USER() $ EXIT_MESSAGE = " VMS AnalytiCalc installation abnormally terminated." $ SET NOON $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " AnalytiCalc (VAX) Installation Procedure" $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT "This procedure assumes your current default directory" $ WRITE SYS$OUTPUT "is the [pccunv] (or [003205] on DECUS dist.) directory" $ WRITE SYS$OUTPUT "and that PCCX.OLB and DTRIF.OBJ are in [-.pccobj]" $ WRITE SYS$OUTPUT " " $ Write SYS$OUTPUT " Note that it will create a directory SYS$SYSROOT:[DK]" $ WRITE SYS$OUTPUT " and place about 80 blocks of files into it, place the" $ WRITE SYS$OUTPUT " image PCCX.EXE into SYS$SYSTEM, and generate a system" $ WRITE SYS$OUTPUT " symbol for DK. Edit before using if this is not OK." $ $ INQUIRE DO_INSTALL " Rebuild from sources? (YES or NO) " $! IF DO_INSTALL .EQS. "" THEN GOTO INS $! IF .NOT. DO_INSTALL THEN GOTO INS $ $DTR_QUESTION: $ INQUIRE LNK_TYPE " Link with DTR-32? " $ $INS: $ IF DO_INSTALL .EQS. "" THEN GOTO NOSRC $ IF .NOT. DO_INSTALL THEN GOTO NOSRC $! BUILD FROM APPROPRIATE SOURCE KIT $ WRITE SYS$OUTPUT " COMPILING...This may take some time" $ WRITE SYS$OUTPUT " IGNORE warning error messages...they're normal, and" $ WRITE SYS$OUTPUT " harmless" $ IF LNK_TYPE .EQS. "" THEN GOTO NODTR $ IF .NOT. LNK_TYPE THEN GOTO NODTR $! BUILD WITH DTR-32 $@PCCMAKIVD $ GOTO DONECPL $NODTR: $@PCCMAKIV $DONECPL: $! Now the linked image exists here. Just need to move it. $GOTO BLDCOM $NOSRC: $COPY [-.PCCOBJ]PCCX.OLB * $COPY [-.PCCOBJ]DTRIF.OBJ * $WRITE SYS$OUTPUT "About to link. Ignore warning messages of compiler errs" $IF LNK_TYPE .EQS. "" THEN GOTO XDTR2 $IF .NOT. LNK_TYPE THEN GOTO XDTR2 $GOTO LIBSET $XDTR2: $LIBR/REPL PCCX DTRIF $LIBR/EXTR=*/OUT=PCCX PCCX $LINK/NOMAP PCCX $DEL PCCX.OBJ; $GOTO BLDCOM $LIBSET: $LIBR/EXTR=*/OUT=PCCX PCCX $LINK/NOMAP PCCX+DTR/OPT $! NOTE PLEASE: $! It is possibly preferable to replace the link code with the following $! which will yield a slightly smaller executable: $! Link pccx/libr/include=(spredsht$main,block$data) $! with or without DTR.OPT as appropriate. Thanks to Chris Doran of SIRA Ltd. $! for this and a number of patches and improvements to AnalytiCalc. $DEL PCCX.OBJ; $ $ GOTO BLDCOM $ $BLDCOM: $ $ SET UIC [001,004] $! Move the linked image to the system area. $ COPY PCCX.EXE SYS$SYSTEM $! We need a directory DK and to have keypad files in it. $ SET NOON $SET VERIFY $CREA/DIR SYS$SYSROOT:[DK] $ASSIGN/SYSTEM SYS$SYSROOT:[DK] DK $WRITE SYS$OUTPUT "Add a statement to SYSTARTUP.COM that reads" $Write SYS$OUTPUT " ASSIGN/SYSTEM SYS$SYSROOT:[DK] DK " $WRITE SYS$OUTPUT "and add a symbol to SYLOGIN.COM that reads" $WRITE SYS$OUTPUT " ANALY*TICALC:==@DK:SPREAD.COM " $copy [.AUXKPD]*.* SYS$SYSROOT:[DK] $ set prot=(world:re) sys$sysroot:[000000]dk.dir $ set prot=(world:re) sys$sysroot:[dk]*.*.* $! You can modify these to locate the aux keypad files elsewhere as $! needed. $SET NOVERIFY $SUCCESS: $ EXIT_MESSAGE = " VMS AnalytiCalc installation is complete." $ $DONE: $ ON CONTROL_Y THEN GOTO DONE3 $ SET NOON $ $DONE3: $ IF "''DEFUIC'" .NES. "" THEN SET UIC 'DEFUIC' $ WRITE SYS$OUTPUT EXIT_MESSAGE $ SET ON $ EXIT $! Note: the PCCMKFST.COM procedure will build a version that may run $! a bit faster than this one since it uses a byte array for some $! validity code rather than 3 bitmaps. Also that version contains $! support for math functions ASIN, ACOS, and TAN (arcsine, arc cosine, $! and tangent) in addition to the others here.