THIS UIC CONTAINS MISCELLANEOUS RSX-11M TASKS THAT MAY BE OF SOME GENERAL
USEFULNESS.  INCLUDED ARE:

CATEST --	A CAMAC TEST TASK DESIGNED FOR USE WITH ANY DRIVER COMPATIBLE
		WITH PHIL CANNON'S 3912/3992 DRIVER FOR RSX-11M.  THIS TASK
		ALLOWS A LIST OF COMMANDS TO BE ENTERED AND EXECUTED, AND
		PROVIDES ACCESS TO THE DRIVER'S LAM HANDLING, LOOPING, AND
		CRATE CHANGE COMMANDS, AS WELL AS PROVIDING FOR THE SAVING AND
		RESTORING OF COMMAND LISTS, AND PRODUCING A HARDCOPY RECORD OF
		THE TEST RUN (BY CREATING A LISTING FILE).  CATEST.TXT IS A
		BRIEF COMMAND SUMMARY.

DNDISPLAY --	A PROGRAM THAT BREAKS UP THE DISK REGISTERS FOR THE XYLOGICS
		DISK CONTROLLER INTO INDIVIDUAL FIELDS, FOR USE IN EXAMINING
		LOGS OF DISK ERRORS.

LOGLST --	A PROGRAM THAT CAN BE USED IN CONJUNCTION WITH JIM DOWNWARD'S
		SYSLOG PACKAGE, TO PRINT OUT THE CONTENTS OF THE LOG SORTED BY
		ENTRY TYPE, WITH USER NAMES INSTEAD OF ACCOUNT NUMBERS.

NSPOOL --	A SMALL TASK THAT ENABLES UNPRIVILEGED USERS TO STOP AND START
		THE SPOOLER.  THIS TASK ACCEPTS A "SEND DATA" MESSAGE FROM ANY
		TASK, AND RESPONDS TO THE COMMAND IN THE MESSAGE BY SPAWNING
		COMMANDS THAT START OR STOP THE PRINT SPOOLER.  IT THEN
		UNSTOPS THE SENDING TASK, WHICH CAN GO AHEAD AND USE THE
		PRINTER (E.G. FOR PLOTTING OR OTHER DIRECT OPERATIONS).
		THE ONLY REQUIREMENT IS THAT NSPOOL RUN ON A LOGGED-ON AND
		PRIVILEGED TERMINAL (IDEALLY ON CO:).
		ANOTHER TASK, "UNSPOOL", IS INCLUDED.  THIS TASK SENDS THE
		START AND STOP SPOOLER MESSAGES TO NSPOOL, AND MAY BE USED
		TO IMPLEMENT START/STOP SPOOLER CCL COMMANDS FOR UNPRIVILEGED
		USERS.
		NSPOOL ALSO CAUSES A "TIME" COMMAND TO EXECUTE ON CO:
		EVERY NIGHT AT MIDNIGHT, THUS MARKING THE DATE WHEN THE
		CONSOLE LOG WAS PRODUCED.  (THIS FUNCTION WAS ADDED TO NSPOOL
		BECAUSE IT HAPPENS TO ALWAYS BE ACTIVE BUT ALMOST ALWAYS
		STOPPED, AND IT'S A VERY SMALL TASK ANYWAY.)
		FINALLY, A FORTRAN SUBROUTINE "SPOOL" IS INCLUDED.  THIS
		SUBROUTINE ALSO SENDS THE START/STOP MESSAGES TO NSPOOL.
		CALL SPOOL(0) STOPS THE SPOOLER, ASSIGNS LUN 6 TO LP:, AND
		ATTACHES THE PRINTER.  CALL SPOOL(1) (OR ANY OTHER NONZERO
		VALUE) DETACHES THE PRINTER AND RESTARTS THE SPOOLER.

SORT --		A TASK THAT WILL SORT ANY FILE OF FIXED-LENGTH RECORDS (UP TO
		NINE LINES PER RECORD) INTO ASCENDING OR DESCENDING ORDER ON
		UP TO NINE FIXED-LENGTH, FIXED-POSITION ASCII KEYS.  A MAXIMUM
		OF ABOUT 300K BYTES OF DATA (ABOUT 600 BLOCKS) MAY BE SORTED,
		AS THE PROGRAM USES WORK FILES TO STORE PARTS OF THE SORTED
		FILE.  A QUICKSORT METHOD IS USED.

TSKBUILD --	THIS IS A MODEL COMMAND FILE THAT CAN BE CUSTOMIZED TO PROVIDE
		EASIER TASKBUILDING FOR PROGRAM DEVELOPMENT SYSTEMS.  BY
		SUPPLYING PARAMETERS ON THE COMMAND LINE (E.G. "NOF4P" FOR NO
		F4P RESIDENT LIBRARY, "TEK" FOR INCLUDING TEKTRONIX PLOTTING
		PACKAGE) THE USER CAN SPECIFY STANDARD LIBRARIES THAT ARE
		REQUIRED, WITHOUT HAVING TO REMEMBER WHERE THEY ARE LOCATED
		OR WHICH MODULES MUST ALWAYS BE INCLUDED.  THE COMMAND FILE
		PROMPTS FOR INPUT AS TKB WOULD (E.G. AFTER "/" IT PROMPTS FOR
		OPTIONS), AND CREATES A TKB COMMAND FILE WITH VERSION 777,
		WHICH IT SUBMITS TO TKB.  THE COMMAND FILE CAN BE DELETED
		AUTOMATICALLY AFTER IT IS USED, OR IT CAN BE KEPT FOR FUTURE
		USE DIRECTLY WITH TKB (E.G. TKB @CMDFILE).

WHEN --		A SMALL TASK THAT ACCEPTS COMMANDS OF THE FORM:
			WHEN <TASKNAME> <MCR COMMAND>
		WAITS FOR <TASKNAME> TO FINISH, AND THEN SPAWNS THE COMMAND.
		IT CAN ALSO BE INVOKED AS:  WHEN <TASKNAME>  IN WHICH CASE IT
		PROMPTS FOR COMMANDS TO BE SPAWNED IN SEQUENCE.  EMBEDDED
		"WHEN" COMMANDS OF THE SECOND TYPE CAN BE USED TO WAIT FOR
		OTHER TASKS TO FINISH.  THIS ALLOWS YOU TO "TYPE AHEAD" TO
		SOME EXTENT; E.G. YOU DON'T HAVE TO WAIT FOR A COMPILATION
		TO FINISH TO TYPE "TKB XYZ=XYZ,[1,1]F4POTS/LB"; YOU CAN TYPE:
			WHEN F4P TKB XYZ=XYZ,[1,1]F4POTS/LB
		(NOTICE THAT THREE CHARACTER NAMES FOR ...-TASKS ARE ACCEPTED,
		AND WILL BE HANDLED CORRECTLY AS LONG AS THE TASK IS ACTIVE
		ON YOUR TERMINAL.)  ADMITTEDLY, THINGS LIKE THIS CAN BE DONE
		BETTER WITH COMMAND FILES, BUT SOME OF US ARE TOO LAZY TO
		CREATE AND MAINTAIN COMMAND FILES FOR ALL THESE LITTLE THINGS!
		(BE A LITTLE CAREFUL WHEN USING THIS TASK WITH CCL; IF YOU
		DO A SEQUENCE OF COMMANDS LIKE THIS:
			>MAC XYZ=XYZ
			>WHEN MAC
			WHEN>LBR XYZLIB/RP=XYZ
			WHEN>WHEN LBR
			WHEN>TKB @XYZBLD
			WHEN>^Z
		AND ...LBR IS NOT INSTALLED, BUT IS IMPLEMENTED VIA CCL, THEN
		CCL MAY NOT START THE TASK BEFORE THE "WHEN LBR" EXECUTES;
		SINCE LBR IS NOT ACTIVE, IT IS ASSUMED THAT IT HAS COMPLETED,
		AND THE TKB @XYZBLD IS STARTED.  ONE WAY THIS PROBLEM CAN BE
		SOLVED IS TO DO A "WHEN CA." BEFORE THE "WHEN LBR".)

XPR --		THIS TASK IS DESIGNED FOR USE WITH A VERSATEC 1200A PRINTER/
		PLOTTER (OR EQUIVALENT), AND WITH VERSATEC'S LP: DRIVER.  THE
		1200A PRINTS 132 COLUMNS ON PAPER THAT IS 11" WIDE AND 8.5"
		HIGH, WHEREAS NORMAL PEOPLE ARE USED TO PAPER THAT IS 11" HIGH
		AND 8.5" WIDE.  THIS TASK USES THE PLOTTING CAPABILITIES OF
		THE 1200A (200 DOTS PER INCH) TO PERFORM SOFTWARE CHARACTER
		GENERATION, AND PRINT MORE READABLE DOCUMENTS.  AS LONG AS
		CHARACTERS ARE GENERATED BY SOFTWARE, IT WAS DECIDED TO LET
		THE PROGRAM ALSO DO PROPORTIONAL SPACING, RIGHT MARGIN
		ALIGNMENT, SPECIAL SYMBOLS, UNDERLINING, DOUBLE-WIDTH
		CHARACTERS, AND DOUBLE-SPACING.  59 LINES OF 80 CHARACTERS CAN
		BE PRINTED WITH "NORMAL" SPACING; LINES MAY BE SHORTER OR
		LONGER WITH OTHER SPACING OPTIONS.  AUXILIARY TASKS ARE
		SUPPLIED TO BUILD THE CHARACTER SET DATABASE, AND TO CREATE
		SPECIAL SYMBOL FILES FOR GENERATING MATH OR SCIENTIFIC
		SYMBOLS, SUBSCRIPTS AND SUPERSCRIPTS, ETC.

VTEDITMIM --	THIS .TEC FILE, ALONG WITH TECOMIM.INI, HAS BEEN USED TO
		IMPLEMENT A SCREEN-EDITING TECO SYSTEM FOR MIME-I TERMINALS.
		THE MIME-I EMULATES THE DEC VT52, BUT HAS NO ALTERNATE
		KEYPAD.  CONTROL CHARACTERS AND ESCAPE SEQUENCES THAT ARE
		EASY TO REMEMBER ARE USED TO IMPLEMENT EDITING COMMANDS.
		THE FILE TECOMIM.TXT CONTAINS THE COMMAND LIST.  TECOMIM.INI
		IS USED WITH A SLIGHTLY MODIFIED TECO.TSK, WHICH PICKS UP
		TECO.INI FROM A STANDARD UIC (E.G. [1,2]) INSTEAD OF FROM
		THE USER'S UIC.  IT PREPROCESSES THE COMMAND LINE, AND THEN
		STARTS UP THE VTEDIT MACRO FILE.

VSDRV --	THIS IS AN RSX-11M V3.2 DRIVER THAT IMPLEMENTS SOME OF THE
		FUNCTIONALITY OF THE "VARAIBLE SEND DATA" FUNCTION AVAILABLE
		ONLY WITH M-PLUS.  THE DRIVER MANAGES ANY NUMBER OF NAMED
		QUEUES OF VARIABLE-LENGTH MESSAGES.  FUNCTION IMPLEMENTED
		INCLUDE:  CREATE QUEUE, DELETE QUEUE, "WRITE" (SEND MESSAGE),
		AND "READ" (RECEIVE MESSAGE).  IT IS POSSIBLE TO EMULATE THE
		RECEIVE-DATA AST BY PERFORMING A "READ AND WAIT" QIO WITH AN
		AST SPECIFIED.  ALL STORAGE IS ALLOCATED FROM A PRIVATE POOL
		AREA WITHIN THE DRIVER, SO THAT ONLY THE NECESSARY QIO PACKETS
		COME OUT OF EXECUTIVE POOL SPACE.
		INCLUDED WITH VSDRV IS A UTILITY PROGRAM "VSUTIL", WHICH CAN
		BE USED TO CREATE AND DELETE QUEUES, AND TO DISPLAY THE
		CURRENT CONTENTS OF THE DRIVER'S POOL.

ALL .CMD FILES EXCEPT TSKBUILD.CMD ARE DESIGNED TO GENERATE THE SPECIFIED
TASK OR SET OF TASKS.  IT IS EXPECTED THAT F4P, MAC, LBR, AND TKB ARE
INSTALLED (OR IMPLEMENTED VIA CCL) WHEN THE COMMAND FILE IS INVOKED, AND THAT
THE F4P OTS IS IN [1,1]F4POTS.OLB.  AN F4PRES UNDER [1,1] IS ALSO EXPECTED
(EDIT BUILD FILES TO REMOVE REFERENCES TO F4PRES IF NECESSARY.)  THE .TKB
FILES ARE TASKBUILD COMMAND FILES.
VSDRV ASSUMES THAT RSXMC.MAC EXISTS UNDER [200,200], AND THAT RSX11M.STB
EXISTS UNDER [1,54].
ALL STANDARD LIBRARIES (SYSLIB, EXELIB) ARE ASSUMED TO BE UNDER [1,1].
BUILD FILES DO NOT REFERENCE ANY DEVICES EXPLICITLY (NOT EVEN LB: OR SY:)!!!
 
 
	Submitted by 
 
			John Osudar
			Science Applications, Inc.
			1211 West 22 nd street
			suite 901
			Oakbrook, Il.  
					60521
 
			(312) 655-5960
