P;-~SUPERFRACTAL020.AaLàSUPERFRACTAL020.AMBACKUP [NEW_FRAC]KITINSTAL.COM; [NEW_FRAC.SAVESETS]SUPERFRACTAL020.A/SAVE/LOG SIMON @ã%/Õ*ò˜V6.1 _BILBO:: € _$42$DKB100: V6.1 ~ –ð*[NEW_FRAC]KITINSTAL.COM;5+,ž9./@ 4Sr-90ú123KÿPWO56°xª¶Âò—70‹½¶Âò—89:l¢wÇí˜G@HˆºJÿ"P$!******************************************************************************P$!** **P$!** The following source code and the generated object code is proprietary **P$!** information and a trade secret of HIS Consultants Software AG **P$!** **P$!** **P$!** Copyright © 1994 HIS Consultants Software AG **P$!** **P$!** All Rights Reserved **P$!** **P$!** HIS Software AG **P$!** Binzstrasse 7 **P$!** CH-8045 Zurich **P$!** **P$!** Telephone (01) 461 2111 **P$!** Facsimile (01) 461 2150 **P$!** **P$!******************************************************************************$!$! KITINSTAL.COM$!F$! This is KITINSTAL.COM for Simon's Fractal Program. It supports both$! VAX and ALPHA.$!$! Preliminary Values$!($ alpha = 0 ! Not an ALPHA (yet)$!$! Shorthands.$!$ say == "write sys$output"$!$! Catch and process Control-Y.$!*$ on control_y then VMI$CALLBACK control_y$!7$! Exit if there's any warning. There shouldn't be any.$!$ on warning then exit $STATUS$!$! Only allow VMSINSTAL.$!7$ if P1 .nes. "VMI$_INSTALL" then exit VMI$_UNSUPPORTED$!A$! Say we need 6000 blocks. This is a bit of an exaggeration, but$! it's on the safe side.$!$ BLOCKS_RQD = 6000<$ VMI$CALLBACK CHECK_NET_UTILIZATION FREE_SPACE 'BLOCKS_RQD',$ if .not. FREE_SPACE then exit VMI$_FAILURE$!$! Set safety conditional$!$ VMI$CALLBACK SET SAFETY NO$!$!B$! Get the architecture type (ALPHA or VAX) and tell the user what$! is being used.$!($ FRACTAL_ARC = 0 ! Initialise to VAX($ FRACTAL_TMP = F$TYPE(VMI$ARCHITECTURE)$ IF FRACTAL_TMP .EQS. "STRING"$ THEN'$ IF VMI$ARCHITECTURE .EQS. "ALPHA" $ THEN+$ FRACTAL_ARC = 1 ! It's an Alpha $ ELSE($ FRACTAL_ARC = 0 ! It's a VAX $ ENDIF$ ENDIF$!$ IF FRACTAL_ARC .EQ. 1$ THEN$ TYPE SYS$INPUT2 *************************************************2 * *2 * Installing SuperFractal for ALPHA *2 * *2 *************************************************$ ELSE$ TYPE SYS$INPUT1 ************************************************1 * *1 * Installing SuperFractal for VAX *1 * *1 ************************************************$ ENDIF$!$!A$! Ask the user if he/she wants to install as a system product or,$! just dump the files in a local directory.$! $ try_again:$ TYPE SYS$INPUT, You can install SuperFractal either:# 1) System-wide - creating:5 SUPERFRACTAL.EXE in SYS$SYSTEM? SUPERFRACTAL.UID in DECW$SYSTEM_DEFAULTS3 SUPERFRACTAL.DECW$BOOK in SYS$HELP( VUE_SUPERFRACTAL.COM in VUE$LIBRARY orB 2) Locally - creating the files in the directory of your choice.$!5$ VMI$CALLBACK ASK fr$mode "Installation type" "1" I ,$ if fr$mode .eqs. "1" then goto response_ok,$ if fr$mode .eqs. "2" then goto response_ok$!K$ VMI$CALLBACK MESSAGE E INVOPTION "Invalid option entered" "Enter 1 or 2" $!$ goto try_again$ response_ok:$!$!$!$ if fr$mode .eqs. "1"$ then$!$$ sfp$exe = "VMI$ROOT:[SYSEXE]"$$ sfp$hlb = "VMI$ROOT:[SYSHLP]"0$ sfp$uid = "VMI$ROOT:[DECW$DEFAULTS.USER]".$ sfp$vue = "VMI$ROOT:[VUE$LIBRARY.USER]"$!!$ sfp$exe$say = "SYS$SYSTEM:"$ sfp$hlb$say = "SYS$HELP:"+$ sfp$uid$say = "DECW$SYSTEM_DEFAULTS:""$ sfp$vue$say = "VUE$LIBRARY:"$!$ else$!$!.$! Get the device and directory for the files.$! $ say "" $ say ""-$ say " The installation will create:" $ say "";$ say " 1 SUPERFRACTAL.EXE - Executable"K$ say " 2 SUPERFRACTAL.UID - User Interface Description"=$ say " 3 SUPERFRACTAL.DECW$BOOK - Help library"M$ say " 4 VUE_SUPERFRACTAL.COM - Session manager command file" $ say ""I$ say " You must now specify where you want to place these files." $ say "" $ say ""$!+$ sfp$where = f$trnlnm("SYS$LOGIN")$!$ get_where:E$ vmi$callback ASK where$ "Device and directory" "''sfp$where'" U$!@$! Get the disk and directory from the user's input to fill+$! in any logicals, missing components etc.$!@$ sfp$spec = f$parse(where$,"''sfp$where'",,,"SYNTAX_ONLY")A$ sfp$disk = f$parse("''sfp$spec'",,,"DEVICE","SYNTAX_ONLY")D$ sfp$dir = f$parse("''sfp$spec'",,,"DIRECTORY","SYNTAX_ONLY")$$ sfp$where = sfp$disk + sfp$dir$! $ say ""/$ say " You have specified ''sfp$where'" $ say ""3$ vmi$callback ASK y_n$ "Is this correct" yes B'$ if .not. y_n$ then goto get_where$!$ sfp$exe = sfp$where$ sfp$hlb = sfp$where$ sfp$uid = sfp$where$ sfp$vue = sfp$where$!$ sfp$exe$say = sfp$where$ sfp$hlb$say = sfp$where$ sfp$uid$say = sfp$where$ sfp$vue$say = sfp$where$!$ endif$!*$! Tell the user how to start the program.$!$ say ""$ say ""D$ say " SUPERFRACTAL.EXE will be created in ''sfp$exe$say'"D$ say " SUPERFRACTAL.UID will be created in ''sfp$uid$say'"D$ say " SUPERFRACTAL.DECW$BOOK will be created in ''sfp$hlb$say'"D$ say " VUE_SUPERFRACTAL.COM will be created in ''sfp$vue$say'"$ say ""$ say ""<$ say " After installation, to start SUPERFRACTAL enter:"$ say ""0$ say " $ run ''sfp$exe$say'SUPERFRACTAL.EXE"$ say ""$ say ""$!'$! Make sure the user wants to proceed.$!=$ vmi$callback ask con$tin$ue "Do you want to continue" YES B$ if .not. con$tin$ue$ then$ $status = vmi$_failure$ exit $status$ endif$!=$! Create the output directory if we're in local mode and the$! directory doesn't exist.$!$ if fr$mode .eqs. "2"$ then&$ exists = f$parse("''sfp$where'")$ if exists .eqs. "" $ thenB$ vmi$callback create_directory user - ! User directory6 'sfp$where - ! SpecificationJ "/PROTECTION=(S:RWE,O:RWE,G:RE,W:RE)" ! Protection $ endif$ endif$!$! Unpack the B saveset.$! $ VMI$CALLBACK RESTORE_SAVESET B$!$!;$! Link - how and what we link depends on the architecture.$!$ IF FRACTAL_ARC .EQ. 0$ THEN$!$$! Link from the VAX object library.$!R$ LINK/NODEBUG/NOTRACEBACK VMI$KWD:FRACTAL_VAX.OLB/LIB/INCL=SUPERFRACTAL, -, VMI$KWD:FRACTAL_VAX.OPT/OPT -0 /EXECUTABLE=VMI$KWD:SUPERFRACTAL.EXE$ ELSE$!&$! Link from the ALPHA object library.$!S$ LINK/NODEBUG/NOTRACEBACK VMI$KWD:FRACTAL_ALPHA.OLB/LIB/INCL=SUPERFRACTAL, -. VMI$KWD:FRACTAL_ALPHA.OPT/OPT -0 /EXECUTABLE=VMI$KWD:SUPERFRACTAL.EXE$ ENDIF$!$!3$! Now put the files in their final resting places.$!=$ VMI$CALLBACK PROVIDE_IMAGE FR_EXE SUPERFRACTAL.EXE 'sfp$exeJ$ VMI$CALLBACK SECURE_FILE FR_EXE 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:REC$ VMI$CALLBACK PROVIDE_FILE FR_HLB SUPERFRACTAL.DECW$BOOK 'sfp$hlbJ$ VMI$CALLBACK SECURE_FILE FR_HLB 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!=$ VMI$CALLBACK PROVIDE_FILE FR_UID SUPERFRACTAL.UID 'sfp$uidJ$ VMI$CALLBACK SECURE_FILE FR_UID 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!A$ VMI$CALLBACK PROVIDE_FILE FR_VUE VUE_SUPERFRACTAL.COM 'sfp$vueJ$ VMI$CALLBACK SECURE_FILE FR_VUE 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!$!$! That's all.$!%$ exit VMI$_SUCCESS ! Return to DCLÿÿðX°~ÉØ~SUPERFRACTAL020.A>éàSUPERFRACTAL020.AMBACKUP [NEW_FRAC]KITINSTAL.COM; [NEW_FRAC.SAVESETS]SUPERFRACTAL020.A/SAVE/LOG SIMON @ã%/Õ*ò˜V6.1 _BILBO:: € _$42$DKB100: V6.1 ~ –ð*[NEW_FRAC]KITINSTAL.COM;5+,ž9./@ 4Sr-90ú123KÿPWO56°xª¶Âò—70‹½¶Âò—89:l¢wÇí˜G@HˆºJÿ"P$!******************************************************************************P$!** **P$!** The following source code and the generated object code is proprietary **P$!** information and a trade secret of HIS Consultants Software AG **P$!** **P$!** **P$!** Copyright © 1994 HIS Consultants Software AG **P$!** **P$!** All Rights Reserved **P$!** **P$!** HIS Software AG **P$!** Binzstrasse 7 **P$!** CH-8045 Zurich **P$!** **P$!** Telephone (01) 461 2111 **P$!** Facsimile (01) 461 2150 **P$!** **P$!******************************************************************************$!$! KITINSTAL.COM$!F$! This is KITINSTAL.COM for Simon's Fractal Program. It supports both$! VAX and ALPHA.$!$! Preliminary Values$!($ alpha = 0 ! Not an ALPHA (yet)$!$! Shorthands.$!$ say == "write sys$output"$!$! Catch and process Control-Y.$!*$ on control_y then VMI$CALLBACK control_y$!7$! Exit if there's any warning. There shouldn't be any.$!$ on warning then exit $STATUS$!$! Only allow VMSINSTAL.$!7$ if P1 .nes. "VMI$_INSTALL" then exit VMI$_UNSUPPORTED$!A$! Say we need 6000 blocks. This is a bit of an exaggeration, but$! it's on the safe side.$!$ BLOCKS_RQD = 6000<$ VMI$CALLBACK CHECK_NET_UTILIZATION FREE_SPACE 'BLOCKS_RQD',$ if .not. FREE_SPACE then exit VMI$_FAILURE$!$! Set safety conditional$!$ VMI$CALLBACK SET SAFETY NO$!$!B$! Get the architecture type (ALPHA or VAX) and tell the user what$! is being used.$!($ FRACTAL_ARC = 0 ! Initialise to VAX($ FRACTAL_TMP = F$TYPE(VMI$ARCHITECTURE)$ IF FRACTAL_TMP .EQS. "STRING"$ THEN'$ IF VMI$ARCHITECTURE .EQS. "ALPHA" $ THEN+$ FRACTAL_ARC = 1 ! It's an Alpha $ ELSE($ FRACTAL_ARC = 0 ! It's a VAX $ ENDIF$ ENDIF$!$ IF FRACTAL_ARC .EQ. 1$ THEN$ TYPE SYS$INPUT2 *************************************************2 * *2 * Installing SuperFractal for ALPHA *2 * *2 *************************************************$ ELSE$ TYPE SYS$INPUT1 ************************************************1 * *1 * Installing SuperFractal for VAX *1 * *1 ************************************************$ ENDIF$!$!A$! Ask the user if he/she wants to install as a system product or,$! just dump the files in a local directory.$! $ try_again:$ TYPE SYS$INPUT, You can install SuperFractal either:# 1) System-wide - creating:5 SUPERFRACTAL.EXE in SYS$SYSTEM? SUPERFRACTAL.UID in DECW$SYSTEM_DEFAULTS3 SUPERFRACTAL.DECW$BOOK in SYS$HELP( VUE_SUPERFRACTAL.COM in VUE$LIBRARY orB 2) Locally - creating the files in the directory of your choice.$!5$ VMI$CALLBACK ASK fr$mode "Installation type" "1" I ,$ if fr$mode .eqs. "1" then goto response_ok,$ if fr$mode .eqs. "2" then goto response_ok$!K$ VMI$CALLBACK MESSAGE E INVOPTION "Invalid option entered" "Enter 1 or 2" $!$ goto try_again$ response_ok:$!$!$!$ if fr$mode .eqs. "1"$ then$!$$ sfp$exe = "VMI$ROOT:[SYSEXE]"$$ sfp$hlb = "VMI$ROOT:[SYSHLP]"0$ sfp$uid = "VMI$ROOT:[DECW$DEFAULTS.USER]".$ sfp$vue = "VMI$ROOT:[VUE$LIBRARY.USER]"$!!$ sfp$exe$say = "SYS$SYSTEM:"$ sfp$hlb$say = "SYS$HELP:"+$ sfp$uid$say = "DECW$SYSTEM_DEFAULTS:""$ sfp$vue$say = "VUE$LIBRARY:"$!$ else$!$!.$! Get the device and directory for the files.$! $ say "" $ say ""-$ say " The installation will create:" $ say "";$ say " 1 SUPERFRACTAL.EXE - Executable"K$ say " 2 SUPERFRACTAL.UID - User Interface Description"=$ say " 3 SUPERFRACTAL.DECW$BOOK - Help library"M$ say " 4 VUE_SUPERFRACTAL.COM - Session manager command file" $ say ""I$ say " You must now specify where you want to place these files." $ say "" $ say ""$!+$ sfp$where = f$trnlnm("SYS$LOGIN")$!$ get_where:E$ vmi$callback ASK where$ "Device and directory" "''sfp$where'" U$!@$! Get the disk and directory from the user's input to fill+$! in any logicals, missing components etc.$!@$ sfp$spec = f$parse(where$,"''sfp$where'",,,"SYNTAX_ONLY")A$ sfp$disk = f$parse("''sfp$spec'",,,"DEVICE","SYNTAX_ONLY")D$ sfp$dir = f$parse("''sfp$spec'",,,"DIRECTORY","SYNTAX_ONLY")$$ sfp$where = sfp$disk + sfp$dir$! $ say ""/$ say " You have specified ''sfp$where'" $ say ""3$ vmi$callback ASK y_n$ "Is this correct" yes B'$ if .not. y_n$ then goto get_where$!$ sfp$exe = sfp$where$ sfp$hlb = sfp$where$ sfp$uid = sfp$where$ sfp$vue = sfp$where$!$ sfp$exe$say = sfp$where$ sfp$hlb$say = sfp$where$ sfp$uid$say = sfp$where$ sfp$vue$say = sfp$where$!$ endif$!*$! Tell the user how to start the program.$!$ say ""$ say ""D$ say " SUPERFRACTAL.EXE will be created in ''sfp$exe$say'"D$ say " SUPERFRACTAL.UID will be created in ''sfp$uid$say'"D$ say " SUPERFRACTAL.DECW$BOOK will be created in ''sfp$hlb$say'"D$ say " VUE_SUPERFRACTAL.COM will be created in ''sfp$vue$say'"$ say ""$ say ""<$ say " After installation, to start SUPERFRACTAL enter:"$ say ""0$ say " $ run ''sfp$exe$say'SUPERFRACTAL.EXE"$ say ""$ say ""$!'$! Make sure the user wants to proceed.$!=$ vmi$callback ask con$tin$ue "Do you want to continue" YES B$ if .not. con$tin$ue$ then$ $status = vmi$_failure$ exit $status$ endif$!=$! Create the output directory if we're in local mode and the$! directory doesn't exist.$!$ if fr$mode .eqs. "2"$ then&$ exists = f$parse("''sfp$where'")$ if exists .eqs. "" $ thenB$ vmi$callback create_directory user - ! User directory6 'sfp$where - ! SpecificationJ "/PROTECTION=(S:RWE,O:RWE,G:RE,W:RE)" ! Protection $ endif$ endif$!$! Unpack the B saveset.$! $ VMI$CALLBACK RESTORE_SAVESET B$!$!;$! Link - how and what we link depends on the architecture.$!$ IF FRACTAL_ARC .EQ. 0$ THEN$!$$! Link from the VAX object library.$!R$ LINK/NODEBUG/NOTRACEBACK VMI$KWD:FRACTAL_VAX.OLB/LIB/INCL=SUPERFRACTAL, -, VMI$KWD:FRACTAL_VAX.OPT/OPT -0 /EXECUTABLE=VMI$KWD:SUPERFRACTAL.EXE$ ELSE$!&$! Link from the ALPHA object library.$!S$ LINK/NODEBUG/NOTRACEBACK VMI$KWD:FRACTAL_ALPHA.OLB/LIB/INCL=SUPERFRACTAL, -. VMI$KWD:FRACTAL_ALPHA.OPT/OPT -0 /EXECUTABLE=VMI$KWD:SUPERFRACTAL.EXE$ ENDIF$!$!3$! Now put the files in their final resting places.$!=$ VMI$CALLBACK PROVIDE_IMAGE FR_EXE SUPERFRACTAL.EXE 'sfp$exeJ$ VMI$CALLBACK SECURE_FILE FR_EXE 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:REC$ VMI$CALLBACK PROVIDE_FILE FR_HLB SUPERFRACTAL.DECW$BOOK 'sfp$hlbJ$ VMI$CALLBACK SECURE_FILE FR_HLB 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!=$ VMI$CALLBACK PROVIDE_FILE FR_UID SUPERFRACTAL.UID 'sfp$uidJ$ VMI$CALLBACK SECURE_FILE FR_UID 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!A$ VMI$CALLBACK PROVIDE_FILE FR_VUE VUE_SUPERFRACTAL.COM 'sfp$vueJ$ VMI$CALLBACK SECURE_FILE FR_VUE 'VMI$SAVED_UIC S:RWED,O:RWED,G:RE,W:RE$!$!$! That's all.$!%$ exit VMI$_SUCCESS ! Return to DCLÿÿðX