README.md
Submission for Fall Decus Tape 1982 in Annaheim from Bankers Trust Co.

Kitty Bethe
130 Liberty St., 37th floor
NY, NY 10006
(212) 775-4190

This submission consists of some of our troubleshooting utilities and
operator command files which might be of general use. Our systems are
PDP 11/70s running Mplus version 1; unless otherwise noted these
programs are expected to work under 11M and Mplus v2. No command files
are expected to work for other environments; where already converted
to Mplus v2, the command file is included with an extension of .MV2 .

Conventions: Task build command files are nameBLD.CMD, where not
vanilla (MAC name=name) macro assembly files are nameASM.CMD. No
additional documentation other than this file and the source code
is available at this time. Sorry, we didn't have the time; please
don't call us to ask us how to use it or tell us it doesn't work
in an environment different than ours (fix it and resubmit it !).
Control Z will exit any of these programs that are interactive.
** correction, we've included our Help files from
our utility uic [2,1] which covers more
than we've submitted (most of the rest is
from previous Decus tapes)
Warning, almost all of the troubleshooting utilities were originally
written to deal with real emergencies and may or may not have been
cleaned up later on.

PROGRAMS in this account:
(Fortran IV Plus and non priviledged unless
otherwise noted)

FILEID
If you input the 2 octal numbers of a file id it will give
you the name and owner UIC for the file. Used to follow
up on crytic error messages from BRU. (Assign desired
pack to SY: to use for satellite drives)
FNDBLK
If you input a decimal physical block number on the pack
assigned to SY: it will tell you the filename, owner UIC
and block number within the file in question. Used to
correlate data corruption with errorlog entries.
ERC
If installed (as ...ERC) then the command ERC n, where n
is a number, will add n to the error sequence (used by
QUICKERR.CMD) Macro, Priviledged.
ERRSUM
Does a 1 page error summary, including device timeouts.
Only for Mplus v1 (possibly RSX-11M pre v.4)
DSKZAP
Copies a physical block number from an input pack to an
output pack (they can be the same), displays the block
in specified format (octal,decimal,ascii,byte octal)
suppressing lines of all zeros, then allows you to edit
it in same format. It asks you if you are sure !
Mount both packs foreign and be priviledged, unfortunately
does not do CRC calculations for you (for repairing index
files). Originally written to rewrite the home block from
the previous days backup in a dire emergency, used since
for index file repairs (CRC done manually)
ERRCHK
Exits with status equal to the error count, used in command
files to check if any errors occured during an operation
(for example BRU). Macro, Priviledged.
TCI
Compares task images, outputs information about task header
differences and does up to 50 code differences (the number
50 is a parameter at beginning of fortran source), for each
code difference lists the segment name and memory address
of the difference. With the debug switch on it will also
list the segment table (even when ZAP won't) - a small bug
exists whereby the segment names are sometimes garbage but
the table will still match in order the one on the map,
(occurs rarely, haven't had the time to resolve it). Used
to periodically check out integrity of production task
images. Warning, a patch to the F4P compiler back in 1980
causes very old tasks not to compare because data storage
in IDATA (and thus PDATA call lists) is in different order.
**** probably will not work in Mplus V2 or RSX-11M V 4***
VT100TST
Simple Fortran program that demonstrates most advanced
graphics features on a VT100.

All the .MAC files in this account are supporting subroutines for
the Fortran programs above.

COMMAND FILES
Since these are specific to our environment do not
use without reading them and modifying as necessary

BRUDSK
Command file to do the nightly disk to disk backups
done by operators; checks exit status all over the place,
tells them what is likely to be the problem and what to
do about it. Assumes a round robin ( pack A to B to C ...
and back to A again) for audit trail purposes. The audit
trail mechanism is used to check if they are about to
copy over the current pack or make a copy of a non current
one - they are warned with large banners but in our
environment it wasn't reasonable to completely disallow
the operation (they are asked if they are sure).
This command file assumes the utilities ERRCHK,ERRSUM
and TIME (not included here - prints the time and error
count on the invoking terminal) are located in uic [2,1] ;
it also assumes that a command file [1,2]SYSID.CMD defines
$SYSID to be a system id string and a command file [1,7]LP11
exists to set up a terminal line as a printer for long error
logs (for your conveniance LP11 and NOLP11 are included)
Another assumption is that all disk packs have a
unique number form 1-9999 (disk pack id) for audit trail
purposes. A further assumption is that the Bru is done in
UIC 1,7 and that that is the UIC for the audit trail also
(the files DISK.ID and BACKUP.ID are the audit trail created
on the output pack and updated on the input pack
MULTIBAD
does multiple BADs, preserving audit trail, no warnings yet
COPY
does the nightly backup using DSC (when all else fails) -
audit trail not maintained here yet
QUICKERR
does an error summary of all current errors and those in
ERROR.SYS (we rename ERROR.SYS to ERROR.SAV at Shutup and
have other command files to get at saved error info) then
restores the error count by adding back the number it had
before the ERF. Prompts for errors from specific devices
or device classes after the summary.
The MV2 version is completely different, with
similar functionality (we don't have to remember all those
new switches !)