This is the contents of the README.TXT file from the NASA/Ames RSX11M V3.2 enhancements by Greg Thompson on the DECUS BAYLUG tape. Executive correction files [11,40] : DREIF.COR Adds a delayed T3.REM bit in T.ST3 for dynamic INStallation of tasks support in MC2. REQSB.COR Modifies the $NXTSK routine to not allow a higher priority task that can't fit into memory to prevent tasks of a lower priority that can fit if checkpointing is enabled. TTATT.COR, TTCAN.COR, TTDAT.COR, TTICH.COR, TTMAC.COR, TTMIS.COR TTMOD.COR, TTODN.COR, TTOIS.COR, TTSUB.COR, TTYH.COR, TTYZ.COR In new terminal driver only: Adds auto-baud support for DH11/DM11 and DZ11 lines. Auto-baud code is table driven off a table in TTDAT.MAC and is initially set up for 300, 1200, 2400 and 9600 baud with ctrl-c as the universal auto-baud character. See comments in TTDAT.COR for more details. Allows 19.2k baud to be a valid speed for DZ11 interfaces. Use: "SET /SPEED=ttn:A:A" to set a DZ line to 19.2K baud. Implements the control-y key which aborts the users current task. Current task is defined as: 1st) The task that is currently attached to the terminal. 2nd) The task that is currently reading from the terminal. 3rd) The task that is currently writing to the terminal. 4th) The first task found in the TCB list that is active on this terminal and is abortable. A "ABO tsknam" command is queued to MCR for the user and the abort messages from ABO identify which task got aborted. Modifies TTMOD to ignore CTS modem line and ignore RING line while a line is enabled. This should be changed if you need to use half/duplex modems and may help things if you use full duplex modems and your modems don't always return CTS correctly. Also changes TTMOD to ignore a change in the ring line as long as carrier is still asserted. Changes the default initial state for a remote line to 80. characters wide, lower-case and CRT rubout. MCR correction files [12,40] : ABOOV.COR Allows users from one terminal to delete tasks initiated from another terminal if the tasks UIC is the same as the users UIC. Allows non-privileged users to abort most of their privileged tasks. BYE.COR Adds login accounting support (See ACNTLG below). Resets TI: buffer size to a reasonable size before exiting. Abort RMD task if running on this terminal at BYE. Request cookie task for user on BYE. COOKIE task must be installed /SLV=YES. FIXOV.COR Adds delayed T3.REM bit in T.ST3 needed for MC2 dynamic task INStallation support. HELLO.COR Adds login accounting support. Adds MAIL support. Looks in LB:[10,3] for "grpmem.TXT" file and notifies user that he has mail if such file exists. Changed to not display "@LOGIN.CMD" when it invokes it. INDERR.COR, INDFDC.COR Changes ...AT. to not display "@ " at end of command file if QUIET mode is enabled. Also note that the V3.1 enhancements were not carried over to V3.2 in favor of the standard (but undocumented) IND parameter passing, QUIET mode, .TESTFILE and .PARSE enhancements. For more details see either the multi-tasker or the code. INDOPN.COR .TESTFILE patch from Multi-tasker volume 11 number 4. INSHD.COR, INSLB.COR, INSPS.COR Adds support for dynamic task INStallations used by MC2. Also changes it so that any RUN filename command uses a task name formed from the first 3 chars of the filename and his terminal device name. MCRDIS.COR Allows any number, instead of just one copy of a given task to invoked from each terminal. Each succeeding taskname is formed by incrementing the device code letter, example: "PIPT11, PIPU11, PIPV11 ...". Allows LOGIN to be a synonym for HELLO. Allows 1 or 2 character tasknames. Examples: "...LC., LC.T10, L..T12". SDSOV.COR, SDSOVFDT.COR, SETOV2.COR, SPROV.COR, SPROVFDT.COR Makes the "/" slash optional on SET's keywords. The SET /UIC=[x,y] command will no longer change the login UIC for privileged users. This makes the WHO command to be able to identify users using their login UIC. Since protection UICs are generated from the default UIC for privileged users and the login UIC for non-privileged users and since the login UIC for non-privileged users was never changed in the first place it appears that this change does not cause any problems. There are five new keywords added to SET. LOGGED-OUT, OFFLINE, ABSCAN (expecting an autobaud character), DISABLED, and CARRIER-WAIT. Used without an equals sign they present a list of terminals that have or do not have the specified mode set. All but CARRIER-WAIT when used (by privileged terminals) with an equals sign and a device name sets or clears these modes. SYSOV.COR Makes CLQ command non-privileged. TASOV.COR Adds an optional taskname parameter to the TAS command. TKTN.COR Makes all TKTN messages use IO.WBT to help prevent TKTN from getting hung up. Another useful thing to do is to install TKTN and SHF tasks in their own partition separate from MCRPAR. This way also MCR... never gets checkpointed and is always in memory ready when needed. New tasks [1,54]: MC2.MAC, MC2.TSK (non-privileged task) This is a MCR catch all task (...CA.) that implements 14 commands of its own, searches directories for .TSK or .CMD files to process commands it can't handle and automatically invokes them, waits for their completion and passes back their exit status to MC2's parent. It will dynamically INStall and invoke task images, passing them through SPWN$ the command line that MC2 received. It will use STLO$ to wait for the spawned task to complete unless the system does not support the STOP directives in which case it uses WTSE$. MC2 does require parent/offspring tasking to be included in the executive. The searching sequence is driven by tables in the front of the code and is easily changed. The default sequence is: 1st) SY:[default_uic] 2nd) SY:[protection_uic] (If different from default_uic.) 3rd) CM:[1,55] (To be compatible with old MC2.) 4th) LB:[1,54] (Verifies task is executable first.) 5th) CM:[1,56] (Only for privileged users.) 6th) CM1:[1,55] 7th) CM1:[1,56] (Only for privileged users.) If CM: or CM1: logical devices do not exist it will skip looking in the corresponding directories. These are usually set up with "ASN dduu:=CM:/GBL" commands under VMR if [1,55] and [1,56] support is desired (see V3.1 MC2). One change from the old MC2 is that since the task is no longer a privileged task it can no longer directly obtain the login UIC. Instead it gets the protection UIC using GTSK$ which for non-privileged users is their login UIC but for privileged users is their default UIC. Hence it does not look in privileged users login UIC unless it is also their current default UIC (set by the "SET /UIC", "CHD" or "UIC" commands). It does not allow non-privileged users to invoke privileged tasks unless the task is found in [1,55] or unless it is found in LB:[1,54] and a .PRV file has been found first with the same command name as the filename. A good example of this is WHO.TSK which is a privileged task but is one that you want anyone to be able to invoke. Simply put WHO.TSK in LB:[1,54] and create a WHO.PRV by issuing the command "PIP WHO.PRV=NL:". Then do a "SRD /NA/WB" so the WHO.PRV will be in the directory before the WHO.TSK. The internal commands that MC2 proccesses and re-issues via SPWN$ to MCR... are: (only first 3 chars of command are necessary) ATS - Same as "ACT /ALL" CHD - Same as "SET /UIC" CHD grp,mem - Same as "SET /UIC=[grp,mem]" DELETE filespec - Same as "PIP filespec/DE" DIR filespec - Same as "PIP filespec/LI" DLG - Same as "DEV /LOG" ERASE filespec - Same as "PIP filespec/DE" except ;* assumed FREE dduu: - Same as "PIP dduu:/FR" POOL - Same as "SET /POOL" PURGE filespec - Same as "PIP filespec/PU" RENAME file1=file2 - Same as "PIP file1=file2/RE" SPOOL filespec - Same as "PIP filespec/SP" TRUNC filespec - Same as "PIP filespec/TR" TYPE filespec - Same as "PIP TI:=filespec" UIC - Identical to CHD "filespec" can contain more than one filename separated by commas. ERA is identical to DEL except ERA inserts a ";*" as a version number on all filenames that do not specify a version number to be deleted. Remember that a command line can only be 79. characters and any expansion of the command that MC2 does subtracts from that 79. COOKIE.MAC, COOKIE.TSK (from David Roode) This task outputs to the invoking terminal a little bit of wisdom from a message collection contained within the code. There is a new cookie every second so if you want a full list RUN it with /RSI=1S synchronized on the second and CO: device will get all of them. If the cookie task is installed slaved and the BYE enhancement is installed a cookie will be displayed on user's terminals when they log off. ACNTLG.MAC, ACNTLG.TSK (identical to V3.1 release) This task processes login accounting messages from the ...HEL, ...BYE and RSTLOG tasks and reports the logging in/out of users and system restarts to the file LB:[1,2]ACOUNT.LOG. The new console output task and logging does most of this but ACNTLG can be used when one wants an easy to parse file of solely logging in/out information and/or may already have programs (from V3.1 days) that uses the generated ACOUNT.LOG file. If LB:[1,2]ACOUNT.LOG doesn't exist the ACNTLG task will create it. RSTLOG.MAC, RSTLOG.TSK This task should be run during startup (in LB:[1,2]STARTUP.CMD) before users are allowed on (via "SET /LOGON") so that system restarts are recorded in the account logging file. WHO.MAC (only privileged task which needs to be re-built for each system) The new command WHO is used to display who is logged into the system. The command displays the terminal number, the login UIC, last and first names, and the time that user logged in (into ANY! terminal) for each terminal device that has someone logged in on. All task names which are active for the user are displayed on the following line. REI.MAC, REI.TSK (from Howard Palmer) This task recovers lost or deleted files from a possibly corrupted disk. The command to invoke it is: REI filespec where filespec contains a device name and a filename. If a file header with the specified filename is found the user is prompted for a filespec of where to put the recovered file. No guarantees on what it recovers especially if some of the files blocks have already been reused but something is better than nothing they always say.