.; R E S D S K . C M D .; This file controls the installation and removal of memory resident disks .ENABLE GLOBAL .ENABLE SUBSTITUTION .DISABLE LOWERCASE .; Set Version Number for identification .SETS VER "1.1" .; Set Defaults .SETF QUIET ! Nonquiet operation .SETF DEBUG ! No debugging messages .SETF HELP ! No HELP messages .SETF $BAD ! BAD not installed .IFINS ...BAD .SETT $BAD ! BAD installed .SETF $CON ! CON not installed .IFINS ...CON .SETT $CON ! CON installed .SETF $DMO ! DMO not installed .IFINS ...DMO .SETT $DMO ! DMO installed .SETF $LOA ! LOA not installed .IFINS ...INI .SETT $INI ! INI installed .SETF $INI ! INI not installed .IFINS ...LOA .SETT $LOA ! LOA installed .SETF $MOU ! MOU not installed .IFINS ...MOU .SETT $MOU ! MOU installed .SETF $PIP ! PIP not installed .IFINS ...PIP .SETT $PIP ! PIP installed .SETF $UFD ! UFD not installed .IFINS ...UFD .SETT $UFD ! UFD installed .SETF $UNL ! UNL not installed .IFINS ...UNL .SETT $UNL ! UNL installed .SETF INSTAL ! Not installing .SETF REMOVE ! Not removing .SETF M32 ! Not an 11-M system .IF = 1 .SETT M32 ! 11-M system .SETF MPLUS ! Not an 11-M+ system .IF = 6 .SETT MPLUS ! 11-M+ system .SETN MEMORY ''. ! Memory size in KW .SETS SYUIC ! System UIC .SETS UIC ! Current UIC .SETS DSKPAR "RESDSK" ! Disk partition name .SETS SYSHLP "" ! Not 11-M or 11-M+ .IFT M32 .SETS SYSHLP " EST" ! 11-M HELP topic .IFT MPLUS .SETS SYSHLP "/EST" ! 11-M+ HELP type .; Pick up parameters passed from the command line .IF = 1 .GOTO 5 .SETN ARG .SETN PAR -1 .PARSTR: .IF P'ARG' = "HELP" .SETT HELP .IFT HELP HELP'SYSHLP' COMMAND RESDSK .IFT HELP .EXIT .IF P'ARG' = "DEBUG" .SETT DEBUG .IF P'ARG' = "QUIET" .SETT QUIET .IF P'ARG' = "INSTALL" .SETT INSTAL .IF P'ARG' = "REMOVE" .SETT REMOVE .; Look for device name .TEST P'ARG' .SETS COLON P'ARG'[:] .IF COLON = ":" .SETS DSK P'ARG' .IFDF DSK .PARSE DSK ":" DSKTYP TRASH .DEC ARG .IF ARG <> 0 .GOTO PARSTR .5: .IFF DEBUG .GOTO START ; ; DEBUG - Output results of parameter search ; .SETN TEMP 1 ; ; Number of parameters is 'PAR' .DEBUG1: .SETS PTEMP P'TEMP' ; P'TEMP' = 'PTEMP' .INC TEMP .IF TEMP LE PAR .GOTO DEBUG1 ; .IFT M32 ; RSX-11M operating system .IFT MPLUS ; RSX-11M-Plus operating system .IFF M32 .IFF MPLUS ; Unknown operating system ; Memory 'MEMORY'. K words ; Resident disk name 'DSK' ; Generic disk type 'DSKTYP' ; System UIC 'SYUIC' ; Indirect file UIC 'UIC' .IFT INSTAL ; INSTALL specified .IFT REMOVE ; REMOVE specified .IFF QUIET ; QUIET off .IFT QUIET ; QUIET on ; .START: .IFF QUIET ; RESDSK Ver 'VER' - Command File .IFT INSTAL .IFF REMOVE .GOTO BEGIN .IFF INSTAL .IFT REMOVE .GOTO BEGIN .IFT QUIET .DISABLE QUIET ; ; RESDSK - Choose either INSTALL or REMOVE. ; .EXIT .BEGIN: .IFT INSTAL .GOTO DSKIN .IFT REMOVE .GOTO DSKOUT .ASK REMOVE Do you wish to REMOVE the resident disk .IFF REMOVE .GOTO NOTOUT .DSKOUT: .IFNDF DSK .ASKS DSK Resident disk name [XX:] .IFT QUIET .ENABLE QUIET ; ; Removing the resident disk ; .; Dismount the disk .IFF $DMO Install $DMO .GOSUB ERRCHK DMO 'DSK'/DEV .GOSUB ERRCHK .IFF $DMO Remove DMO .GOSUB ERRCHK .; Make it nonpublic, change to the system UIC SET /NOPUB='DSK' .GOSUB ERRCHK SET /UIC='SYUIC' .GOSUB ERRCHK .; For RSX-11M-Plus, take the "controller" and "drive" offline .IFT MPLUS .IFF $CON INS $CON .IFT MPLUS .IFF $CON .GOSUB ERRCHK .IFT MPLUS CON OFFLINE 'DSK' .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS CON OFFLINE 'DSKTYP'A .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS .IFF $CON REMOVE CON .IFT MPLUS .IFF $CON .GOSUB ERRCHK .; Unload the disk driver (THE DATABASE REMAINS IN THE SYSTEM!) .IFF $UNL Install $UNL .GOSUB ERRCHK Unload 'DSK' .GOSUB ERRCHK .IFF $UNL Remove UNL .GOSUB ERRCHK .IFF MPLUS .EXIT .; For RSX-11M-Plus, remove the partition and reset the top of GEN SET /NOPAR='DSKPAR' .GOSUB ERRCHK SET /TOP=GEN:+* .GOSUB ERRCHK SET /UIC='UIC' .GOSUB ERRCHK .EXIT .NOTOUT: .ASK INSTAL Do you wish to INSTALL the resident disk? .IFT INSTAL .GOTO DSKIN .IFT QUIET .DISABLE QUIET ; ; RESDSK - You must specify either INSTALL or REMOVE. Try again. ; .EXIT .DSKIN: .IFNDF DSK .ASKS DSK Resident disk name [XX:] .IFT QUIET .ENABLE QUIET ; ; Installing the resident disk ; .IFF MPLUS .GOTO 15 .; For RSX-11M-Plus, install the disk partition .IF DSK EQ "DX:" .SETN SUBSIZ 128. .IFDF SUBSIZ .GOTO 20 .IFT QUIET .DISABLE QUIET ; ; RESDSK - Specify a valid resident disk type. ; .EXIT .20: SET /UIC='SYUIC' .GOSUB ERRCHK SET /TOP=GEN:-'SUBSIZ'.K .GOSUB ERRCHK .SETN BASE MEMORY-SUBSIZ SET /PAR='DSKPAR':'BASE'.K:'SUBSIZ'.K .GOSUB ERRCHK .15: .; Load the driver .IFF $LOA Install $LOA .GOSUB ERRCHK Load 'DSK'/PAR=GEN/HIGH .GOSUB ERRCHK .IFF $LOA Remove LOA .GOSUB ERRCHK .; For RSX-11M-Plus, bring the "controller" and "drive" online .IFT MPLUS .IFF $CON Install $CON .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS CON ONLINE 'DSKTYP'A .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS CON ONLINE 'DSK' .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS .IFF $CON Remove CON .IFT MPLUS .GOSUB ERRCHK .; Allocate the device ALL 'DSK' .GOSUB ERRCHK .; For RSX-11M-Plus, mount the device FOREIGN .IFF $MOU Install $MOU .GOSUB ERRCHK .IFT MPLUS MOU 'DSK'/FOR .IFT MPLUS .GOSUB ERRCHK .; Badblock the device .IFF $BAD Install $BAD .GOSUB ERRCHK BAD 'DSK'/RETRY .GOSUB ERRCHK .IFF $BAD Remove BAD .GOSUB ERRCHK .; Initialize the device .IFF $INI Install $INI .GOSUB ERRCHK INI 'DSK'RESDSK/INDX=BEG .GOSUB ERRCHK .IFF $INI REMOVE INI .GOSUB ERRCHK .; For RSX-11M-Plus, dismount the device .IFT MPLUS .IFF $DMO Install $DMO .IFT MPLUS .IFF $DMO .GOSUB ERRCHK .IFT MPLUS DMO 'DSK'/DEV .IFT MPLUS .GOSUB ERRCHK .IFT MPLUS .IFF $DMO Remove $DMO .IFT MPLUS .IFF $DMO .GOSUB ERRCHK .; Deallocate the device and set it public Deallocate 'DSK' .GOSUB ERRCHK SET /PUB='DSK' .GOSUB ERRCHK .; Mount the disk MOU 'DSK'/OVR .GOSUB ERRCHK .IFF $MOU Remove MOU .IFF $MOU .GOSUB ERRCHK .; Install the system libraries on the disk .IFF $UFD Install $UFD .IFF $UFD .GOSUB ERRCHK UFD 'DSK'[1,1] .GOSUB ERRCHK .IFF $UFD Remove UFD .IFF $UFD .GOSUB ERRCHK .IFF $PIP Install $PIP .IFF $PIP .GOSUB ERRCHK PIP 'DSK'[1,1]=LB:[1,1]SYSLIB.OLB .GOSUB ERRCHK .IFF $PIP Remove PIP .IFF $PIP .GOSUB ERRCHK .; Reset to the initiating UIC SET /UIC='UIC' .EXIT .ERRCHK: .IF EQ 1 .RETURN .IFT QUIET .DISABLE QUIET ; ; An error occurred during the processing of the last command. ; .ASK CONT Do you want to continue .IFF CONT SET /UIC='UIC' .IFF CONT .EXIT .IFT QUIET .ENABLE QUIET .RETURN