	Fall 1981 [312,315] Collection

	There are several different programs here:

DISASM	- from the RSX11D version from the DECUS library of a few
	years back, but with the task readin  section altered to
	handle RSX11M task images. The disassembler reads and
	displays disassemblies of task images. Some new code for
	improving the readability of output files is included as
	well. Note that DDT may be used as a symbolic patcher
	in assembly language for task images on disk in the event
	this tool points up some areas where change is wanted.
	Outputs from DISASM are not directly compatible with
	MACRO-11, though they may of course be edited.

CAM	- another task disassembler from the Amsterdam DECUS tapes
	(a concatinated file). Simpler to use, less features...

BASH11M - A program that will patch an RSX11M or RSX11M+ system
	to allow tasks to enter a mode where they are run in
	User mode with previous mode Kernel. (Can also restore the
	system to normal). Only programs where initial PS is set
	this way, or that bash the PSW on the stack during AST or
	SST processing are so affected. This allows the MTPI/MFPI
	or MTPD/MFPD instructions to access all of kernel space
	including the I/O page, even for a nonprivileged task. Note
	that if the initial PS is set to previous kernel via ZAP
	of disk image after a task is installed, all RSX or IAS systems
	run in previous kernel mode for awhile. However, SST or AST
	processing can alter this. The patch ensures this state can
	continue, or be entered from SST/AST. (In RSX11M+ even unpatched,
	you can enter previous super mode by bashing a PS on the
	stack in an AST.) A routine to enter previous kernel mode
	is provided too.
		Normal system operation is unaffected by these patches
	and can continue indefinitely with them in place. For data
	gathering activities, this access to I/O page can be
	useful.
		The package does no more to destroy system security than
	installing a common in the I/O page does (since explicit PS
	access can also get into this mode), but makes it easier to
	access kernel structures and to use HOLs for privileged
	tasks.

ALTWND	- A subroutine providing access, on a system patched by
	BASH11M, to anywhere in memory. This is somewhat specialized
	and is designed to allow access for brief periods to buffers
	"somewhere" without losing address space.

CSIOPS	- A CSI parser skeleton in MACRO that gets a command line,
	parses it, opens files, and returns with files open. Useful as
	a skeleton for MACRO applications (with related routines in
	GETSTR and GTLIN) where a command line parser is desired that
	will do all the file opening overhead for you. Does not
	have logic for wildcards, but can handle multiple input and
	output files. Will need to be edited for any given application
	however.

DDT22	- A revised DDT, with ability to work from another task or within
	a task. Includes new logic to decompose internal symbols in
	.STB files having them, and to pick them out by module name.
	Also comes with a new FDTSYM that uses its method of output
	of module name to disambiguate FORTRAN symbols for its symbol
	table file output (3rd output) that DDT uses.
	DDTKNL and DDTMU are the other parts of the package, for the
	2 task DDT, and the DDTBLD file is updated and improved with
	a few other improvements.
	To use this feature with something real, a version of
	FDTSYM (the FDT pre-processor) has been included that
	will generate module names before the global symbol
	records it creates. To access a symbol within a particular
	module, set MDLCTL to -1 in DDT and fill in the 2 word
	area named MODULE within DDT (using $UV if needed to
	address DDT space, then $UM to address target space)
	with the RAD50 representation of the module name
	desired ("$'rad' enters "rad" in RAD50 at the open
	location, for instance). Then the symbols will not
	be displayed unless they are in the named module. Setting
	MDLCTL to 1 only selects internal symbols this way, and
	setting it 0 performs no module selection.

FDTSYM	- A revised version of FDTSYM, the preprocessor for FDT,
	which can create .STB files for use with DDT that have the
	module names preserved for dis-ambiguation by DDT as
	described above.

FLTIBM and IBMFLT - A pair of routines (.MAC for PDP11, .MAR for VAX)
	which are FORTRAN callable to convert IBM to PDP11 floating
	point (single precision) numbers or PDP11 to IBM. They are
	valid FORTRAN functions, though they will work from assembler
	also.

XMITR and ITTOUR - Two routines to update the version of XMITR submitted
	in [312,315] in Spring 81. These remove a couple of extra
	waits for significant event that slowed file transmission,
	without turning XMITR again into a CPU hog.

FPEM  - A new release of the RSX11M floating point emulator adapted from
	the Los Alamos original for RSX11D. Differs from the old one
	only in that it can use STOP instead of SUSEND, so can be run
	with high priority in RSX11S systems.
		This emulator does NOT require a sysgen and indeed assumes
	RSX does not know about floating point. It must be immovable in
	memory, which means fixing it AND placing it in a dedicated
	partition or at the BOTTOM of GEN (to avoid movement by shuffling).
		To use with F4P, you will have to replace F4PEIS in your
	runtime system, as RSX will not give floating ASTs to any tasks
	unless it thinks there is floating point. Tasks must be built with
	the /FP switch, and RSX must NOT execute any floating point code.
	If RSX executes F.P. code, the system crashes! So generate for
	no FPU unless you have the hardware, and use this if you don't.

DSO and TRN - These tasks (DiSOwn and Task ReName) operate on all tasks
	running at the TI: of the caller. TRN just renames all tasks
	to unique names (guaranteed not to have embedded spaces in them
	so they can be aborted from the console, a useful feature if
	you use the modified MCR dispatcher for 11M+ in the Spring
	81 tape) and leaves them at the console. This allows one to
	run multiple copies of MAC, F4P, TKB, etc., without change
	to RSX. It works on M or M+. Assemble and build as a normal
	privileged task for each. DSO will also change names (though it
	will assign different names from TRN), but it moves all tasks
	except itself to CO: so you can log off without aborting any
	disowned tasks. This will leave copies of AT. or PIN unable
	to run any more tasks, of course, but normal tasks will work
	fine (and the COLOG program can even log the task output!)
		These programs are normally built with a 64 word
	stack and priority 70; checkpointable if desired (I have them
	checkpointable). They need SUPERMAC to assemble correctly;
	see previous RSX SIG tapes for SUPERMAC. You can figure out
	how to make straight MACRO easily though --  an exercise for
	the reader...

FFL	- This version handles label records up to 20 bytes long and
	permits you to ignore tape errors. This is to read copies of
	FLX tapes produced at installations incapable of making 14
	byte label records (e.g. the Structured Languages SIG's).

LISTRS	- This new version of LST, the multi-column listing utility
	adds a switch to permit output to be right shifted on the page
	by up to 31 columns, to give a right margin to it.

BIGTPC.DOC - Documentation for BIGTPC (and a version merging Phil
	Stephenson's corrections to TPC with the other versions)
	as suggested by Phil Cannon in Spring 81.

	[312,316] PLOTA

	PLOTA is a plot package to plot histograms (or more primitive
	objects) on either HP 4 or 8 color plotters and/or Printronix
	printers with the aid of PLXY11 (available separately from DEC).
		Calls are very simple and permit linear or log plots,
	with numerous options, of positive integers. Scales, colors, etc.,
	are all user settable. A runtime assigmnent can determine whether
	the plot goes to Printronix (LXY11) printer (in B&W) or to
	the HP color plotter. Compatible device independent calls are
	provided.

			Glenn C. Everhart
