========> [VAX84C.BODOH]AAAREADME.TXT;1 <========


                               EROS DATA CENTER

************************************QREPORT************************************

        QREPORT is a disk quota report program. It reports UIC, username,
blocks used, % of base quota used, base quota and extended quota for each
valid UIC on the current default disk family (SYS$DISK).

        QREPORT was written for use with the DISKUSE utility found on the
fall 83 DECUS tape, but it can be patched to work with the normal VMS quota
scheme. 

        The username information is read from the UAF using RMS ISAM. If
multiple users have the same UIC, the first user (alphabetically) is reported
as the owner. If a UIC cannot be found in the UAF, the user name will be
printed as '????????????'.

        The report is broken up into UIC groups with the exception of the first
page, which reports those UIC's having unlimited quotas (signified on our
system by having a base quota of 999999). Group totals and grand totals are
given. Grand totals do not include the totals for the unlimited quota UIC's. 

        This program assumes that you are using the DISKUSE program found on
the Fall 1983 DECUS tape. DISKUSE treats the overdraft quota as the base quota
and treats the permanent quota as your extended quota. QREPORT labels the two
quotas as if you are using DISKUSE. You can use this program without DISKUSE
if you change the following lines;

        MOVL    DQF$L_OVERDRAFT(R11),R2  ; ***** BASE QUOTA     *****
        MOVL    DQF$L_PERMQUOTA(R11),R5  ; ***** EXTENDED QUOTA *****

                        TO

        MOVL    DQF$L_OVERDRAFT(R11),R5  ; ***** EXTENDED QUOTA *****
        MOVL    DQF$L_PERMQUOTA(R11),R2  ; ***** BASE QUOTA     *****

        NOTE: Use of this program requires a system UIC, BYPASS or SYSPRV. It
 is not a good idea to install it with BYPASS or SYSPRV.

        NOTE: QREPORT has not been tested under VMS V4.0 and may not run
 because of the expanded UIC size in V4.0 and possible changes to the UAF.

        Compile and link thusly;
                @QREPORT

**********************************TREE.COM*************************************

        Tree.com is a command file which produces a directory tree of a 
 specified disk or disk family. No files or file information is given,
 only directory names.

        This command file was written to use BYPASS privilege, but SETPRV will
 also work. Under V4.0, READALL should work too. To use, type;

                @TREE diskname:
                                                      Page 2


                        or
                @TREE

        Omission of a disk name causes TREE to use your current default disk
 SYS$DISK. Several temporary files are created, but the final output is
 TREE.DAT in your current directory. A copy is also printed on the system
 default printer.

        Since TREE gets its information from the DIRECTORY utility, any V4
 changes could change the positioning of certain data within a print line. If
 this happens, it should be quite simple to fix the problem.

**********************************FLIPPER**************************************

        FLIPPER was designed to give a process an increased percentage of the
CPU without locking up the system. If you have a process which is compute
bound, and you increase the priority above 4, it will "hog" the system and
may force a reboot. FLIPPER runs at priority 5 and flips another jobs
priority between 4 and 5 in 1 second intervals. This gives the process a larger
percentage of the CPU while still allowing other processes to run. Up to 20
processes can be controlled at one time. When the last process terminates,
FLIPPER terminates. Note that FLIPPER is written in C.

        To run, you must first define a symbol;

                FLIP :== $disk:[dir]FLIPPER

        Then you give it the process ids;

                FLIP 3002a 5001f 70022

************************************MORE***************************************

        MORE emulates the function of the MORE utility of UNIX. It types text
much like the TYPE command, but it pauses after each screen of data. This
version is designed to work with VT52 and VT100 terminals, as it uses reverse
video and cursor positioning. Other terminals could easily be handled by
making minor changes.

        Once MORE pauses, it displays the name of the file and the percentage
of the file that has been read. This percentage is not too accurate for small
files but is still in the ballpark. At the pause, the user may type the
following commands;

                <space>         Advances 1 page (23 lines)
                <return>        Advances 1 line
                D               Advances half a page
                Q               Quits the program

        MORE does not currently handle wildcarding, but may be changed at some
future release. Other handy things which could be added are reverse and search
functions.

        You should define the following symbol;

                                                      Page 3


                MORE :== $disk:[directory]MORE

        A compile/link command file "MORE.COM" is provided. Note that MORE
is written in C.

*******************************************************************************

        EROS stands for Earth Resources Observation Systems and is not related
in any way with the skin mag of the same name.

        Written and submitted by:


                Thomas Bodoh
                U.S.G.S. / EROS data center
                Mundt Federal Building
                Sioux Falls, SD  57198
                (605) 594-2271 (may change soon, try 594-6581)
========> [VAX84C.BONNER]AAAREADME.TXT;1 <========


     BONNER LAB RUNOFF                                                 Page  1
     

                                      AUTHOR:
                                      -------
                                   John Clement
                                Bonner Nuclear Lab
                                  Rice University
                                     Box 1892
                                 Houston Tx, 77251
                                  (713) 527-4018





                                     ABSTRACT

                              Bonner Lab Runoff (RNO)

     Bonner  Lab Runoff is a text formatter which when used with your favorite
     editor makes a complete word processor.  Its syntax is almost a  complete
     emulation of DSR (Digital Standard Runoff) and it is very compatible with
     previous versions of Runoff.  The document and help file for this version
     can  also be used for DSR.  The intent of this program is to support com-
     plete scientific word processing to produce publication  quality  output.
     It  has been used to produce thesis, progress reports, and scientific pa-
     pers here at Rice University.  

     This version allows complete control of any special printer available via
     user definable escape sequences.  In addition  a  macro  facility  allows
     text  or  sequences  of commands to be abbreviated to a single label.  If
     the printer has the correct features then variable  spacing,subscripting,
     superscripting, and equation formatting are possible.  By properly defin-
     ing escape sequences the user may support different printers in  a  tran-
     sparent  fashion.   In  other  words  the  same  input text will print in
     identical fashion on different printers with different control codes  and
     escape sequences.  

     Table of contents, indexing and sub-indexing are all supported.  Multiple
     table of contents or multiple indexing may be constructed from the avail-
     able  commands.   A  variety  of LAYOUT and STYLE commands may completely
     change the look of the pages.  Table layout is simplified by right justi-
     fied  and 'decimal' justified tabs.  Permanent margins which apply to the
     page headers are available.  These simplify the  setting  of  header  and
     text margins.  

     All  special  characters  are  redefinable.  The user may define new com-
     mands, and text macros.  This allows this version  to  be  customized  to
     resemble other text formatters, or other verstions of RUNOFF.  A two pass
     option allows forward references to symbols defined later in the text.  

     This  runs  under VMS, RSX, IAS, RT11, TSX, and probably RSTS.  RNO occu-
     pies a minimum of 30 to 37 kbytes depending on the operating system.  

                                                      Page 2


     BONNER LAB RUNOFF                                                 Page  2
     

     This  distribution  contains all files necessary for building RNO for any
     supported operating systems.  All file names are 6 characters or less  to
     acommodate all operating systems.  Once you have built the executable im-
     age, you can use it to generate documentation and  help  files  for  your
     operating  system.   Several files are included to document this version.
     Instructions for building the program are in the  BUILD.DOC  file.   Bugs
     that  have  been fixed are in RNOBUG.DOC.  The latest enhancements are in
     CHANGE.DOC.  BRIEF.DOC is a brief version of the full documentation.  For
     VMS users the RNO.EXE is provided as a convenience.  

                                 BIG ENHANCEMENTS

          1.  The number of tab stops is unlimited, and ellipses may be speci-
              fied for each stop independently.  In addition stops may  right,
              left,  or  center  justify  independently.   The ellipses may be
              specified as a literal.  
          2.  Numbers  may  be defined and incremented.  This allows numbering
              figures, tables and so on.  see:  .DEFINE ITEM and .NUMBER ITEM 
          3.  Reference  labels  to  section  numbers,  chapters,  and defined
              numbers may be defined.  This makes possible references to vari-
              ous sections of the document.  see:  .DEFINE NUMBER 
          4.  A 2 pass mode allows both forward and backward references.  see:
              /2P option.  
          5.  Parameters  may  be  passed  to defined commands.  see:  .DEFINE
              COMMAND.  
          6.  All  flags  may be used in Titles and Subtitles.  Extra commands
              .ENABLE/DISABLE FLAGS may be used to aid in using this feature. 
          7.  .REQUIRE BINARY aids in merging documents and graphics.  
          8.  The hyphenation algorithm has been improved.  
          9.  RNO is more compatible with DSR.  

                                 DSR compatability

     The  SAVE  commands  were designed independently from DSR and as such are
     slightly incompatible with DSR usage.  Since I do not have access to  the
     new  DSR  manuals, I can not say more than this.  Hopefully this will not
     cause users too much grief.  

========> [VAX84C.BYTLUG.NRC.AKCOUNT]AAAREADME.TXT;1 <========


                        AKCOUNT PROGRAM DOCUMENTATION
                        -----------------------------
          The AKCOUNT software package is made up of the following
        files:

        AAAREADME.TXT -- This file
        ABSTRACT.TXT  -- DECUS required abstract for this kit
        AKDOC.RNO     -- Documentation/installation file, RUNOFF format
        AKCONFIG.INC  -- Configuration file
        AKCOUNT.COM   -- Batch command procedure, site independent
        AKRUN.COM     -- Batch command procedure, site dependent

        AKBUILD.COM   -- AKCOUNT build procedure

        AKCOUNT.FOR   -- AKCOUNT, main program
        AKDSKUSG.FOR  -- AKCOUNT, get disk quota routine
        AKGETREC.FOR  -- AKCOUNT, get account record routine
        AKPACKET.FOR  -- AKCOUNT, do packet type job routine
        AKPCTTIM.FOR  -- AKCOUNT, calc % prime time routine
        AKSYSUAF.FOR  -- AKCOUNT, get username/UIC/account routine
        AKTOTALS.FOR  -- AKCOUNT, write to AKCOUNT.TOT routine
        AKTRNTIM.FOR  -- AKCOUNT, set prime time routine
        MKGETINFO.MAR -- AKCOUNT, get VMS V3.x info routine
        AK.INC        -- General common area
        BK.INC        -- AKCOUNT, common area
        MK.INC        -- AKCOUNT, common area
        ACRDEF.INC    -- Definition file for system ACR symbols

        AKREPORT.FOR  -- AKREPORT, main program
        AKADDTOTL.FOR -- AKREPORT, add user costs routine
        AKCOST.FOR    -- AKREPORT, calc user cost routine
        AKPRINT.FOR   -- AKREPORT, print info to terminal routine
        AKSORT.FOR    -- AKREPORT, sort printouts
        AKSUM.FOR     -- AKREPORT, totalize user jobs routine
        AKSWITCH.FOR  -- AKREPORT, determine switches routine

        AKCONVERT.FOR -- AKCONVERT, main program
        AKOLDUSG.FOR  -- AKCONVERT, get quota data special routine

        AKTIME.FOR    -- AKTIME, main program
        AKTIMERR.MSG  -- AKTIME, error message file

        QUADMATH.MAR  -- General quad math package from DECUS tape
        SYSTARTUP.TXT -- Include file for AKCOUNT installation

                                Ken Trumbley, Martin Serrer
                                 (613) 993-9262
                                National Research Council,
                                Division of Mechanical Engineering,
                                Systems Laboratory, M3,
                                Montreal Road,
                                Ottawa, Ontario
                                K1A 0R6
========> [VAX84C.CARLS]AAAREADME.TXT;6 <========


The software in this directory and it's subdirectory are the property 
of CARL'S GROCERY COMPANY, INC., and is being released to the Digital 
Equipment Corporation Users' Society for the exclusive use of its 
members. This software may not be sold. Additionally, Carl's will not 
be supporting it, nor do we make any claims for it. We release it with 
the hope that DECUS members may be able to pick and choose that which 
they want and discard the rest.

This software release is authorized by Carl C. Waitz, President, 
Carl's Grocery Company, Inc., December 6, 1984.





To incorporate the included CDD dictionary files, invoke DMU, then...

DMU>SET DEFAULT CDD$TOP
DMU>CREATE/SUB=<your device>:[CARLS]CARLSCDD CDD$TOP.CARLS
DMU>CREATE/SUB=<your device>:[CARLS.CERT.MAINT]CERT CDD$TOP.CARLS.CERT
DMU>CREATE/SUB=<your device>:[CARLS.CML.MAINT.CDD]CMLCDD CDD$TOP.CARLS.CML
DMU>^Z





[.BASICSHOP]            BASIC PROGRAMING TEMPLATES & EDTINI

I've seen so many EDTINI files that I hesitated to include ours, but 
it is set up especially for programming in basic, so pick what you 
want out of it and discard the rest...and send anything you're doing 
that you like better.

Also included are several of our templates. Those with a .PLT 
extension are our regular templates. Those with a .PKG extension are 
those templates modified for use with programs which form a software 
package. 

In the past, we set up our systems along PLYCOM guidelines. That is, 
with a root directory for the company, and a subdirectory for each 
store. Resident in the store directory is an terminal format file,
IDEN. which identifies the store. In the root directory is a 
PARAMETER. file which identifies the company and number of stores, 
with their subdirectories. Additionally, in the Carl's sytem library,
[SYSLIB], is a device file, DEVICES., which contains pointers to the 
various device locations of different types of files in each system 
(one record per system). On all our new stuff, we are using DCL 
logicals, set in the LOGIN.COM in each subdirectory, directory.

[.CERT]                 CERTIFICATES

This is a simple little system we have for printing gift certificates. 
We have included it because...
        1. It is a very simple example of a TDMS application.
                                                      Page 2


        2. It is an example of something we are now doing; setting up
           menu driven programs as foreign commands and using 
           qualifiers to bypass menu levels.
        3. It is a nice little program for printing gift certificates, 
           and may be simply modified to print other such jobs or 
           different format certificates.
At least run time TDMS is required (as well as the CDD).

(We have moved more and more to mnemonic menu selections and we try to 
allow the operator to bypass menus whenever possible by...
        1 making it possible to choose any menu selection from any menu
          within a program, and
        2 and using command qualifiers/parameters to bypass initial 
          menus.)

[.CML]                  BULK MAILING SYSTEM

The CML (Customer Mailing List) bulk mailing system was our first TDMS 
application. There are quite a few changes we would make if we were 
doing it now. However, the system works very well for bulk mailing.
And we are including it since I have not seen any other bulk mailing 
system for VMS.

Simply build your mailing list from CRIS schemes from the Post Office 
or criss cross directories. The entry program is set up for heavy
defaulting and entry can be fairly rapid. One operator can enter 
several thousand addresses in a day (our record is over 3500).

The system really is designed for bulk mailing, and for our own needs. 
Therefore, there is no phone number field. It would be fairly simple 
to add one. I haven't because I don't want to mess with redoing the form 
definitions and we don't need the field at Carl's.

The way the system is set up was partly dictated by the way we were 
doing things at the time. It requires a root directory for the 
system/company and a seperate subdirectory for each mailing list.




Suggestions, comments and questions may be sent to...

                Buz Waitz
                Carl's Grocery Company, Inc.
                1123 E. 9th St.
                Mission, Texas 78572

                (512)585-4578
========> [VAX84C.CARLS.BASICSHOP]AAAREADME.TXT;1 <========


The software in this directory and it's subdirectory are the property 
of CARL'S GROCERY COMPANY, INC., and is being released to the Digital 
Equipment Corporation Users' Society for the exclusive use of its 
members. This software may not be sold. Additionally, Carl's will not 
be supporting it, nor do we make any claims for it. We release it with 
the hope that DECUS members may be able to pick and choose that which 
they want and discard the rest.

This software release is authorized by Carl C. Waitz, President, 
Carl's Grocery Company, Inc., December 6, 1984.


This directory contains...
        The AMPERS utility, used for moving all ampersands to no less 
           than column 80.
        EDTINI file we use...especilly for BASIC programing.
        Various templates we use to assemble programs.
========> [VAX84C.CARLS.CERT]AAAREADME.TXT;3 <========


The software in this directory and it's subdirectory are the property 
of CARL'S GROCERY COMPANY, INC., and is being released to the Digital 
Equipment Corporation Users' Society for the exclusive use of its 
members. This software may not be sold. Additionally, Carl's will not 
be supporting it, nor do we make any claims for it. We release it with 
the hope that DECUS members may be able to pick and choose that which 
they want and discard the rest.

This software release is authorized by Carl C. Waitz, President, 
Carl's Grocery Company, Inc., December 6, 1984.




This is the user directory for the gift certificate printing system. 
Included is a sample login command file. Once the CERTIFICATES command 
has been set (be sure to modify CERT.CLD to point to the right image), 
the program may be invoked using it...

           COMMAND SYNTAX:

        CERTIFICATES

        Command Qualifiers (mutually exclusive)         Defaults

        /BUILD
        /CREATE
        /PRINT
        /MENU                                           /MENU



        /BUILD  Calls the module to build a file of instruction sets.

        /CREATE Calls the module to create a list of recipient names.

        /PRINT  Calls the module to print certificates.

        /MENU   Invokes the main menu.


The program should be substantially self teaching. Each TDMS form 
contains some instruction, and help is available (help key). A review 
of the login command file will introduce you to a couple of directory 
commands that are also available.

To use the system, the operator builds an instruction set file. Each 
record in that file contains instructions for printing a set of gift 
certificates. A set may refer to a second file, a name file, which 
contains a list of certificate recipients. When the operator is ready 
to print the certificates, the system produces a file of printed 
certificates as well as a ledger file which is a summary of the 
certificates printed. There is a print command in the login file which 
is in the form desirable for certificate printing.

                                                      Page 2


NOTE: The certificate form we use has two stubs at the left of the 
certificate.
========> [VAX84C.CARLS.CERT.MAINT]AAAREADME.TXT;2 <========


This is the maintenance directory for the certificates system. There are 
four subdirectories included for maintenance purposes:
        BAS - source code
        DDL - record definitions
        OBJ - object modules
        RDF - request definitions

Also included are...
                CERT.CLD - definition command file
                CERT.DIC - cdd subdictionary
                COMPIT.COM - command proceedure to compile and link program

Special note: Included in the source code and object module directories are
copies of private library routines for Carls. Rather than include the 
libraries, we have included only those routines which are accessed.
========> [VAX84C.CARLS.CML]AAAREADME.TXT;3 <========


The software in this directory and it's subdirectory are the property 
of CARL'S GROCERY COMPANY, INC., and is being released to the Digital 
Equipment Corporation Users' Society for the exclusive use of its 
members. This software may not be sold. Additionally, Carl's will not 
be supporting it, nor do we make any claims for it. We release it with 
the hope that DECUS members may be able to pick and choose that which 
they want and discard the rest.

This software release is authorized by Carl C. Waitz, President, 
Carl's Grocery Company, Inc., December 6, 1984.


To activate the customer mailing list system you will want to...
        1) print out and read the documentation in the
                [CARLS.CML.MAINT.DOC] directory
        2) modify the login file assignments
        3) run LOADDEV to set up device file
        4) use a text editor to modify PARAMETER. in the root directory
        5) create a subdirectory for each list you wish to create
        6) run LOADIDEN in each subdirectory
        7) create and initialize master files in each subdirectory
========> [VAX84C.CONSAD]AAAREADME.TXT;3 <========


This submission consists of the following directories and contents:

        o CALLTREE - A program to print the chain of calls for a FORTRAN
          program and its associated subroutines. Printout is done in a
          treelike format with each level of CALL indented.

        o COOKIE - All new fortune cookie program which uses FORTRAN keyed
          access, and is a lot easier to maintain and update than the old
          format.

        o ETAPE - An update of the previously submitted EBCDIC Tape translator
          program. Now has user callable routines for accessing EBCDIC tapes
          directly from user programs.

        o LIBRARY - A library of useful routines written in FORTRAN.

        o LIST2FORT - Converts an output file or files from non-carriagecontrol
          format to carriagecontrol format for output on a line printer. Also
          illustrates use of wildcards on the command line and how to access
          them from within a FORTRAN program.

        o SYSMGR - A collection of useful system management stuff, in particular,
          a backup and restore procedure for small systems.

        o ST84 - The ULTIMATE Star Trek game.

Any questions or comments on any of this stuff should be directed to:

                Mike Shefler
                CONSAD Research Corp.
                121 N. Highland Ave.
                Pittsburgh, PA  15206
                (412) 363-5500
========> [VAX84C.CONSAD.CALLTREE]AAAREADME.TXT;4 <========


Description of CALLTREE follows. You can extract this text for insertion in
your system help file.
**********************************
1 CALLTREE
This program produces a flow chart of subroutine and function calls
for a FORTRAN program. It operates off the listing files generated by
the FORTRAN compiler. Prior to running the program, you should compile
all routines with (at minimum) the FORT/LIST/CROSS command. CALLTREE will
prompt for file names; you can enter the names in any order - the extension
".LIS" is automatically appended if not specified. At least one file MUST
contain the main program identified in a PROGRAM statement. The output
from CALLTREE looks like this:

Call tree for program MAIN
  2....SUB1 <file1.lis>
  3........SUBSUB2 <file2.lis>
  2....SUB2 <file1.lis>
  2....SUB3 <file3.lis>
  3........SUBSUB4 <file3.lis>
        etc., where each level of indentation implies a lower level of
        subroutine call.
Following that there will be a section listing each file and the names of
the routines contained in it. If the filename is "<System?>" then that is
an unresolved reference (or possibly a system or library call).
************************************

If the output format of the FORTRAN compiler is ever changed, this program
will have to be modified. We are running FORTRAN V3.5-62 under VMS 3.7.

This program will get exceedingly confused if there are any recursive calls
in the FORTRAN programs you are cross-referencing. Even the situation where
subprogram A calls another subroutine B which calls C, and C also calls B,
but B is clever enough not to call C in that circumstance, will cause CALLTREE
to bomb or loop endlessly.

Questions and comments should be directed to:

                Mike Shefler
                Consad Research Corp.
                121 N. Highland Ave.
                Pittsburgh, PA  15206
                (412) 363-5500
========> [VAX84C.CONSAD.COOKIE]AAAREADME.TXT;1 <========


This directory contains an all-new version of the Cookie monster program,
written in FORTRAN. A complete set of fortune cookies is included as the
file COOKIE.IDX (indexed by number). This program should be installed as a
foreign command, for instance:

        COOKIE :== $SYS$MANAGER:COOKIE

The help file (COOKIE.HLP) and the program listing hsould be read for further
information.
========> [VAX84C.CONSAD.ETAPE]AAAREADME.TXT;8 <========


                        Abstract
                        ========

ETAPE is a general-purpose program for handling EBCDIC tapes. It allows
the user to move around at will within the tape, send output to different
files, specify different blocksizes and record lengths for different files
on the tape, and combine multiple tape files into a single output file.
The capability of writing an EBCDIC tape from an ASCII file is also
included. It will also handle ASCII to ASCII conversions.

ETAPE removes all trailing blanks from tape records after reading them.
On output, records will be blank padded and blocked to create fixed length
tape blocks. A switch can be set to turn off the EBCDIC translation and
allow the translation (or writing) of ASCII tapes.

A set of subroutines callable from any higher-level language to perform
these tasks is also included. Documentation on these subroutines can be
found in the source listings provided.


                        Installation
                        ============

There should be (at least) the following files on the tape:

        AAAREADME.TXT   this file
        ETAPE.FOR       source program
        ESUBS.FOR       callable subroutine package
        ESUBS.OBJ       compiled version of above
        ETAPE.HLP       help file for the program
        ETAPE.COM       procedure to compile, link and install ETAPE
        ETAPE.EXE       executable version

After copying the files off the distribution medium, simply @ETAPE to
install the program. Then, type "HELP ETAPE" for further information.
The installation procedure will attempt to put the callable subroutines
in a place called LIB$CONSAD:CONSAD.OLB; if, as is likely, this does not
exist on your machine, figure out where you want them to reside and modify
ETAPE.COM accordingly. An executable version of the program is included,
in case you don't have the VAX FORTRAN compiler.


Please direct questions or comments to:

Mike Shefler
CONSAD Research Corp.
121 N. Highland Ave.
Pittsburgh, PA  15206
(412) 363-5500

========> [VAX84C.CONSAD.LIBRARY]AAAREADME.TXT;3 <========


This directory contains the subroutines included in LIB$CONSAD, which are
referenced by other programs in other directories within this submission.
The subroutines are grouped into categories as follows:

        CHARSUBS - Subroutines dealing with CHARACTER strings
        CLISTS - SUbroutines dealing with lookup lists
        SORTS - Subroutines dealing with array sorting
        MISC - Miscellaneous subroutines

Also included is our version of FORSYSDEF.TLB, which contains some additional
information translated from MACRO-32 definitions, which are used in certain
programs (ETAPE, for example). This file should replace the one you have in
SYS$LIBRARY. The library subroutines can be placed there also, or you can have
them in a separate directory - they are referred to as LIB$CONSAD elsewhere.
Further information about them can be found in the file CONSAD.HLP, which
is ready-made to be inserted in your system HELP file.

The file CONSAD.OLB contains the object modules of all these routines, plus
several other modules collected from previous DECUS submissions, for which the
source is not included. Note that the ETAPE subroutines (ESUBS) are here also.
========> [VAX84C.CONSAD.LIST2FORT]AAAREADME.TXT;2 <========


This directory contains a program to convert text files (no carriagecontrol
specification) into carriagecontrol files for output to a line printer. It was
written to try out the wild card file lookup facilities of VMS. More information
can be found by listing the program.t should be installed as a foreign command:

        LIST2FORT :== $SYS$MANAGER:LIST2FORT


========> [VAX84C.CONSAD.ST84]AAAREADME.TXT;3 <========


This directory contains the source, executable and subsidiary files for the
ULTIMATE Star Trek game - TREK84. The installation of this game has been left
up to the discretion of the reader. The following points should be observed,
however:
        o The sources should not be left where the public can get at them.
        o The game (TREK84.EXE) accesses several files - the players must
          have write access to TREK84.DAT (the ratings file) and TREK84.STA
          (the statistics file). The file TREK84.HLB is used as the game's
          help library, and players must have read access to it. The program
          refers to these files through logical names - for a sample setup,
          refer to file ASSI.COM in this directory.
        o If the statistics and/or ratings file are destroyed accidentally,
          you must recreate them using TREK84.FDL and STATS.FDL respectively.
        o The file CAPTAINS.MEM should be made available to all potential
          players. It contains the information necessary to play the game.
The source and subsidiary files are grouped as follows:
        o VARDICT.* is a set of files that gives definitions of all the COMMON
          variables used in the program. These are maintained as a text
          library. The file VARDICT.LIS is generated from that using:
        o DCPR.FOR and DCPR.EXE should not have to be used unless you are
          modifying the program and want to keep track of additional variables.
        o DICTIN.COM sets up the commands used to access the dictionary:
                'var' - adds a variable
                'whatis' - tells you what a variable means
                'undef' - undefines a variable
                'dict' - lists every definition
        o DEFINE.COM is used to enter each definition (which may be multiline).
        o All other .FOR files (except DCPR) are sources for the program.
        o All .FTN files are 'INCLUDE' files for the FORTRAN programs.
        o TREK%.HLP are the sources for TREK84.HLB
        o The .FDL files are used to create the data files accessed by the program.
        o The file 84L.COM is used to link the programs after compilation.
========> [VAX84C.DFWLUG]AAAREADME.TXT;2 <========


                        The following are submissions from the

                                Dallas/Ft.Worth LUG

        [DFWLUG.ATTTECH]

                A new version of a previously submitted Personal Reminder
                program. Works very well and has many options which make
                it desirable.

        [DFWLUG.INTECOM]

                In the [.EZM] directory, a submission containing a suite of 
                command and help files to allow the novice user/manager to 
                use the Monitor utility easily and quickly.

                In the [.MGR] directory, a set of command files which:
                        a) create new accounts (newuser.com)
                        b) list user accounts by name or uic (listacnt.com)
                        c) list disk use by username (use1.com -> use5.com)

        [DFWLUG.MOSTEK]

                A program which will allow a user on a VAX front-ended by
                a Micom port selector, to control the Micom from his terminal
                at his desk.

        [DFWLUG.SOHIO]

                In the [.SYSMGR] directory, a collection of command files 
                usefull for the system manager.

                In the [.UTILITY] directory, a collection of routines which
                are usefull to the system manager or training personell.

        [DFWLUG.TECHDEVEL]

                In the [.IMAGE] directory, a command file which will manage
                the VAX accounting file in such a manner that you can run
                it with image accounting turned on, but not suffer the 
                excessive cost in disk usage. This allows you to keep 'n'
                number of days of image data and a months worth of 'non-image'
                data.

                In the [.SAFARI] directory, a re-submission of a command file
                which will all you to 'search' for the existance of a known
                file(s) somewhere else on the system and locate them even if
                they have been renamed.

                In the [.SNAPSHOT] directory, a re-sumbission of a collection
                of command files used to automaticly monitor your system and
                notify a selected person when something out of the ordinary
                is discovered. Very usefull in helping to plug security leaks.

                In the [.V4COM] directory, a re-submission of a command file
                                                      Page 2


                which will notify you of what version V3.x command files should
                be 're-protected' when you upgrade to V4.0. 


        [DFWLUG.UTC]

                In the [.FTP] directory, a collection of routines which 
                describe file transfer system in use between a VAX 780 and 
                an IBM PC.  This file transfer  system  is  compatible with 
                the CP/M MODEM7 file transfer protocols, and was developed in
                C using the public domain CMODEM program as the basis for the 
                file transfer portion.  

                In the [.OWN] directory, a rewrite of the OWN verb submitted 
                in the spring '84 SIG tape. 

                        The program has three parts.

                        (1) Parsing and expanding the file specification
                        entered by the user to include the translated
                        device, default directory + subdirectories if
                        needed. 
                        (2) Extracting the lowest parent directory from
                        the expanded string to obtain the correct UIC
                        for changing the files requested by the user.
                        This is explained in detail in the
                        documentation.
                        (3) Changing the UIC in the file(s) requested
                        by the user.

                In the [.PRINT] directory, an update to the PRINT verb 
                submitted in the spring '84 SIG tape. Some bugs were found 
                and have been fixed. This verb makes remote printing 
                transparent to a user.

                In the [.WHO] directory, definition of the WHO verb which
                will allow a user to find the UIC, default device and default 
                directory for a given username on all nodes.

========> [VAX84C.DFWLUG.ATTTECH]AAAREADME.TXT;1 <========


                                VAX/VMS REMINDER
                                   Version 4.2

This is a personal reminder utility capable of remembering hundreds of your
most important events and reminding you of them when the time comes.

        *** THIS IS A MAINTENANCE RELEASE OF REMINDER ***

REMINDER 4.2 enhancements:

        o /LOG option for REMIND ME

        o Highlighed display of one-shot reminders

        o Improved command line parsing


        *** Read INSTALL.MEM for installation instructions ***


Your questions or comments are solicited and should be directed to:

                        Stuart Renes, Dept. 4477
                        AT&T Technologies, Inc.
                        3000 Skyline Drive
                        Mesquite, Texas  75149

                        (214) 288-2286


                                                Happy Reminding!
========> [VAX84C.DFWLUG.INTECOM.EZM]AAAREADME.TXT;2 <========


                        EZMonitor

                           by

                Kim Cooper and John Mealing
                       InteCom, Inc.
                    601 Intecom Drive
                     Allen, TX 75002

        This submission is a suite of command and help files to allow
the novice user/manager to use the Monitor utility easily and quickly. It
includes a help library entry, a set of menus to access Monitor for
any qualifier of function, and a formatted screen driver. It is really written
to run only on a vt100 compatable crt. If anyone wants to add vt52 mode,
have at it. 
        Installation consists of adding the ezmonitor.hlp file to the system
help library and creating whatever symbol (we use EZM) you want to point
to ezmonitor.com. See ezm.doc for more details on using it.
        We can be contacted at (214)-727-9141. Hope you find it useful.


                
========> [VAX84C.DFWLUG.INTECOM.MGR]AAAREADME.TXT;2 <========


                        Jobs

                         by

                     John Mealing
                     InteCom, Inc
                  601 Intecom Drive
                   Allen, TX 75002

        This is a suite of command files to do three system manager functions:
        a) create new accounts (newuser.com)
        b) list user accounts by name or uic (listacnt.com)
        c) list disk use by username (use1.com -> use5.com)
        All are driven by the job.com command file.  There are several 
specialized features in each of these. 

        NEWUSER allows creation of accounts and makes disk quota entries. It 
wants a data file containing the account names, disk numbers, and uic groups, 
but only types this to the screen so that they can be entered manually. It is 
not at all critical as to format, so make like you want it. NEWUSER will give 
any one in a selected group (we use 75) a WPS+ account, and calls the WPLINIT 
command file to do the initializing things. That command file is included in 
a modified form to map to NEW and block the prompts. Finally, if you haven't
proper priviledges, it terminates; and it will NOT create a system acccount or
allow any but default privileges. This allows a relatively inexperienced clerk
to add accounts in reasonable safety.

        LISTACNT is a simple thing to do just that, but blocks some system
and system manager accounts by checking the UIC.

        USE is a set command files to get the disk usage info from diskquota
and the usernames from authorize and combines them into a formatted report
which gives total usage by disk by username and total for each device. There
will be some system dependent things like disk names to be customized, but
it should run ok. 
========> [VAX84C.DFWLUG.MOSTEK]AAAREADME.TXT;1 <========


POKE - port selector communication tool.

connect MICOM port selector's console port to a VAX terminal port.
Then from your office, logged in to the VAX, you can control the
port selector (for example):

$ poke                                          ;VMS command (symbol)
POKE> sta l1 l2                                 ;port selector command
L001 C000 S ABR T03 I000    LT01 IDLE           ;port selector reply
L002 C001 S9600 T03 I000  X LT01 CONN 348       ; "      "      "
POKE> msg 0 d

Welcome to the CAM port selector.
All systems are up.

POKE> @pmmess.dat                               ;indirect command file
MSG 0 E
MSG 0

Welcome to the CAM port selector.
VAX is down for PM, back in afternoon.
All other systems are up.


MSG 0 C0

POKE> ^Z                                        ;ctrl Z to exit, (or timeout)
$

files:

AAAREADME.1ST   this file
POKE.FOR        main fortran routine
POKESUB.MAR     macro subroutines
CMNMLB.MAR      writer's macro library
CMNOLB.OLB      writer's object library
GETCMDNU1.MOR   macro source for routine already in library
MMESS.MAR       same
MMESX.MAR       same
ZMESZ.MOR       same
POKEASM.COM     assembly command file (use XPOKEASM instead)
POKEBLD.COM     link command file
XPOKEASM.COM    my assembly command file
XPOKEBLD.COM    my link command file (makes an XPOKE, for development)
RUNPOKE.COM     command file to run it (POKE :== @runpoke.com
PSCONFIG.DAT    indirect command file we use to set up our port selector

In your systartup.com, do 
$ POKE :== @SOME$DISK:[YOURDIR]RUNPOKE.COM
$ SET TERM /PERM /NOBROADCAST /NOINTERACTIVE /SPEED=(9600,9600) ddcu:
ddcu: is terminal line to which the port selector command console is
connected.


Original writer no longer with department, wishes to remain anonymous.
                                                      Page 2


Try the executable image first, it might work.
You may have to $ ASSIGN/SYSTEM ddcu TTJ0 since written for TTJ0:
Good luck if you need to rebuild it.
All I have done is collected all the pieces, and
made a command file to build it.
I wanted to make mods, but no luck.
Particularily, change the TT: references to SYS$INPUT
and SYS$OUTPUT so POKE can be run from command files
or batch jobs, but I don't understand IO to TT: vs. IO to SYS$INPUT/OUTPUT yet.
Look for rewrite on next tape
Currently can only run from interactive terminal,
but a command file can be run e.g. POKE> @PSCONFIG
Feel free to call or write (I prefer you write)


Tom O'Keefe
MOSTEK
1215 W. Crosby Road
Carrollton, TX  75006
(214) 466-7289
========> [VAX84C.DFWLUG.SOHIO]AAAREADME.TXT;1 <========


     [VAX84?.DFWLUG.SOHIO]AAAREADME.TXT


                                Sohio Petroleum
                             Mid-Continent Division


                                 Submitted by:


                                 Mike Drabicky
                                Sohio Petroleum
                               Two Lincoln Center
                        5420 LBJ Freeway Suite 900/LB03
                               Dallas, TX  75240
                                 (214) 387-5187


     This directory contains submissions in  two  areas:   one  for  system
     management,  the  other  some  utility command procedures.  The system
     management subdirectory has command procedures, manuals and forms that
     have proven useful to me in managing several VAX systems.  The utility
     command procedures are things that have come in  handy  from  time  to
     time and may be of use to other people.

     1.  [VAX84?.DFWLUG.SOHIO.SYSMGR] A variety of command  procedures  and
         manuals used to deal with VAX system management.

     2.  [VAX84?.DFWLUG.SOHIO.UTILITY] Command procedures that have  proven
         useful from time to time in using VMS.

========> [VAX84C.DFWLUG.SOHIO.SYSMGR]AAAREADME.TXT;1 <========


     [VAX84?.DEFLUG.SOHIO.SYSMGR]AAAREADME.TXT


                                Sohio Petroleum
                             Mid-Continent Division


                                 Submitted by:


                                 Mike Drabicky
                                Sohio Petroleum
                               Two Lincoln Center
                        5420 LBJ Freeway Suite 900/LB03
                               Dallas, TX  75240
                                 (214) 387-5187


     There are a series of command procedures here that have  helped  me  a
     great deal in dealing with system management problems.  In particular,
     I found it hard when I first started in just getting  going.   There's
     so  much to learn and do that it's hard to say just where to begin.  I
     found  particularly  offensive  the  lack  of  any  machine   readable
     examples.   I  have  included some of those here for those of you just
     starting out managing your system.  I hope that they prove  useful  to
     you  in  trying  to  figure  out just what a VAX really is.  Actually,
     there isn't anyone that really knows that but DEC isn't telling!

          Here's what's in this section:

     1.  CAI.COM  -  A  common  entry  point  to  all  DEC  computer  aided
         intruction courses.

     2.  DISABLE.COM - A command procedure to really disable an account.

     3.  DTRCAI.COM - A companion command procedure for  the  CAI.COM  file
         that starts up the Datatrieve CAI course.

     4.  EDTCAI.COM - A companion command procedure for  the  CAI.COM  file
         that starts up the EDT CAI course.

     5.  ENABLE.COM - A command procedure that reverses the effects of  the
         DISABLE.COM procedure.

     6.  LOGIN.COM - A sample system manager's login command procedure.

     7.  LOGINMSG.COM - A companion command procedure for the  SYSLOGIN.COM
         file that displays the message of the day.

     8.  MIDNIGHT.COM - A sample command procedure that runs a midnight  to
         do the necessary system management things to your system.

     9.  REL2SEQ.FDL - The file descriptor language file for converting the
         reminder program's data file to a sequential file.
                                                                          Page 2


    10.  REMINDER.COM - A command procedure to send mail to each user  with
         his remiders for the day.  It is used with the MIDNIGHT.COM file.

    11.  SPM.COM - An easier way to run SPMVTDISP.

    12.  SPM240.COM - An easier way to run the SPMVTDISP on a VT240/241.

    13.  SYSLOGIN.COM - The system-wide login command file.

    14.  SYSTARTUP.COM - The system-wide startup command file.

    15.  VMSCAI.COM - A companion command procedure for  the  CAI.COM  file
         that starts up the VMS CAI course.

========> [VAX84C.DFWLUG.SOHIO.UTILITY]AAAREADME.TXT;1 <========


     [VAX84?.DEFLUG.SOHIO.UTILITY]AAAREADME.TXT


                                Sohio Petroleum
                             Mid-Continent Division


                                 Submitted by:


                                 Mike Drabicky
                                Sohio Petroleum
                               Two Lincoln Center
                        5420 LBJ Freeway Suite 900/LB03
                               Dallas, TX  75240
                                 (214) 387-5187


     The files here are a command  procedure  and  some  RUNOFF  documents.
     These  are  things  that  have  come  in  handy time and time again in
     orienting users to VAXs and for  some  system  management.   They  may
     prove useful to you in running your VAX.

     1.  JOBDESC.TXT - An RSX RUNOFF version of  the  job  description  for
         both  the  operator's  and system manager's job on a VAX.  I found
         that I had trouble answering the  question  "What  does  a  system
         manager do?".  The results are this document.  I appologize that I
         didn't have time to convert it to DSR but you'll get  the  general
         idea.

     2.  LORDVAX.RNO - Something all should know about their VAX.

     3.  REGISTRA.RNO - A user registration form for creating accounts on a
         VAX   system.    It   should  be  used  in  conjunction  with  the
         USERORIEN.RNO file below.

     4.  SPLINE.COM - A handy command procedure to produce splines for  the
         back of three ring notebooks.

     5.  USERORIEN.RNO - A new user orientation manual.   It's  slanted  to
         the particular company involved but is easy enough to adapt to fit
         your particular needs.

========> [VAX84C.DFWLUG.TECHDEVEL.SNAPSHOT]AAAREADME.TXT;2 <========


 
















                            SNAPSHOT
                              V1.2



                          June 1, 1984

                           Written by:
                          Eric S. Zipp
              Technology Development of California
                       621 Six Flags Drive
                      Arlington, Tx. 76011
                         (817) 461-1242
SYSTEM SNAPSHOT                                            Page 1


1.0  SCOPE:
     ______

There always exists a problem with insuring  the  security  of  a
processing  system  and the integrity of the data which is stored
on that system.  In most cases the  responsibility  fall  on  the
shoulders  of  the  System Manager to 'insure' that the System is
not compromised in any way and even be aware if  an  attempt  has
been  made to breach the security measures which have been put in
place on that System.  The problem is compounded when there often
exists a need to give a number of users privileges, in support of
job related activities, which allow them to  circumvent  most  if
not all system level checks and safeguards.  SNAPSHOT attempts to
act as a passive monitor of the VMS System and checks a number of
'areas  of  interest'  on  a  regular  basis, and reports when it
notices that their has been a change since the last time a change
was made to that 'area of interest'.



2.0  PROCESSING PHILOSOPHY
     __________ __________

The philosophy used is to  interrogate  some  areas  of  VMS  and
generate  a  file  with  the results of that interrogation called
SNAPxxx.OLD , where 'xxx' is some mnemonic which is indicative of
what  you  have  out there.  The command file SNAPSHOT.COM, on my
system, is run every night at midnight but its  run  interval  is
arbitrary.   Each  time  SNAPSHOT is run is generates a 'current'
SNAPxxx.OLD for each area of interest interrogated.   The  system
utility  DIFFERENCES  is  then  run  comparing the 'current' file
against the  'previous'  file.   If  there  were  no  differences
recorded,   the  'current'  SNAPxxx.OLD  file  is  deleted.   If,
however,  there  were  differences,  a   message   is   sent   to
SNAP$RECIPIENT,  normally 'SYSTEM', via the MAIL utility with the
SNAPxxx.DIF as the text of the message, where SNAPxxx.DIF is  the
output  of  the  DIFFERENCES  comparison along with a note at the
bottom which tells you the creation  date  of  both  files.   The
'previous'  SNAPxxx.OLD  file  is  then deleted and the 'current'
file with the changes becomes the  one  to  check  against.   The
command  file  which  does  the  checking and notifying is called
SNAPCHECK.COM as is designed to compare two 'P1'.OLD files and as
such  can  be used to check and 'new' areas of interest that need
to be added to suit your system.



3.0  AREAS OF INTEREST
     _____ __ ________

A number of Areas within the VMS system are monitored  to  insure
that  a  change  has  not be made by someone that should be dealt
with.  The processing philosophy is modular to  allow  additional
areas to added based on individual needs.
SYSTEM SNAPSHOT                                            Page 2


3.1  INSTALLED IMAGES(PROGRAMS)

VMS has a large number of installed images which  in  many  cased
require  privileges  to  run.  In addition 'privileged' users may
'install' programs on  the  system  which  even  after  the  'job
related'  privileges  are removed, a program which they installed
could give them whatever 'clout' they desire.  As an  attempt  to
identify  when  an  installed  image is added or modified, a full
listing of all images which are installed on the system  as  well
as what privileges they have are dumped to a file (SNAPINS.OLD).



3.2  SYMBOLS

Since Symbols can be used to 're-direct' an operation to another,
ie.   if  a  symbol  DIRECTORY was set up to preform the function
PURGE.  When the user asked for  a  directory  listing  he  would
receive  something  else.   All the currently defined Symbols are
dumped to a file (SNAPSYM.OLD).



3.3  LOGICAL NAMES

Logical assignments are another area  which  can  're-direct'  an
operation  so  as  a precaution all the currently defined logical
names are dumped to a file (SNAPLOG.OLD).



3.4  DEVICE PROTECTION

Each physical device on the  system  carries  with  it  a  access
protection  scheme  which  is  used  to control who has access to
what.  In order to monitor any changes in that area a list of all
devices and their protection are dumped to a file (SNAPDEV.OLD).



3.5  SYSGEN PARAMETERS

An obvious area is that of what Sysgen parameters  are  currently
in  effect.   A full list of System parameter settings are dumped
to a  file  (SNAPGEN.OLD)  as  well  as  the  /CONFIGURATION  and
/ADAPTER output.
SYSTEM SNAPSHOT                                            Page 3


3.6  SYSUAF ENTRIES

Since it would be possible to just be 'up  front'  and  have  the
SYSUAF.DAT  file  modified,  a  dump  of  all  the current SYSUAF
entries is made to SNAPUAF.OLD.



3.7  SYSTEM/USER FILE ACCESS

Within any  system  their  are  files  which  require  controlled
access.   Setting  the VMS file protection on them is fine unless
it get changed after  the  fact.   There  exists  a  file  called
SNAPFIL.LST  into  which  you the user can add any files you wish
checked with your system.  At  present  the  degree  of  checking
extends  to  making  sure  that  the  file  exists  and  that the
protection as well as the files 'revision' date, has not  changes
since  the  last 'authorized' change.  The command file will read
SNAPFIL.LST and create a file with the  current  file  protection
and rev-date called SNAPFIL.OLD.  The only exception to this rule
is the file SYS$SYSTEM:SYSUAF.DAT which,  if  checked,  will  not
have  the  'revision  date' written to the SNAPFIL.OLD file.  The
reason for this is that any 'use' of the MAIL Utility will result
in   the   SYSUAF  file  being  updated  which  would  result  in
SNAP$RECIPIENT getting a mail every time that SNAPSHOT is run.



3.8  LOG-FAIL ANALYSIS

An obvious area to check for attempted entry to  your  system  is
the  number  of  log  fails  which  has  occurred  within a given
'check-interval'.  On my system, I have it set up to run SNAPSHOT
every  night  at  midnight.  The first time this module is run it
will  create  an  Index-sequential  data   file   by   the   name
SNAPLFAIL.DAT.   This  file  will  hold  the date and time of the
'last' check made, as well as an entry for each  User  which  has
had   log-fails.    The   procedure   will   access  the  current
Accounting.dat file for any log-fails this  'check-interval'  and
write  that information to a temporary holding file.  The holding
file is then accessed and the number of log-fails for a  user  is
compared  to  the  'average' number of log-fails which is on file
for that user.  If the actual number  of  log-fails  exceeds  the
average  the  User  name  and log-fail information is sent to the
SNAP$RECIPIENT.  In an effort to 'clean  up'  after  itself,  the
procedure will also read all users which are in the SNAPLFAIL.DAT
file and access the SYS$SYSTEM:SYSUAF.DAT file  to  see  if  they
exist  on  the  system.   If  not,  that  specific User record in
SNAPLFAIL.DAT is removed.  A word of caution should be  added  in
that  if, on your system, you 'close' your system accounting file
and then start up a new version  be  sure  that  SNAPSHOT  has  a
chance to run prior to switching over to the new version.
SYSTEM SNAPSHOT                                            Page 4


3.9  DECnet RELATED CHECKS

DECnet is also an  access  within  the  System  which  should  be
monitored.   At the present time this module is under development
and is not ready for the cold cruel world.  I would  expect  that
it will make it's appearance in the not too distant future.



4.0  INSTALLATION INSTRUCTION
     ____________ ___________


      o  Copy the files into a directory  or  sub-directory  that
         they  will  be run from.  This location will also be the
         area that the SNAPxxx.OLD will live.

      o  Define the logical name SYS$SNAP to point  to  the  area
         that  the  Snapshot files live.  This can be system wide
         or go into SNAPSHOT.COM as a local definition.

      o  Define the logical name SNAP$RECIPIENT if you  wish  the
         MAIL  output from SNAPSHOT to be directed to any account
         other  than  'SYSTEM'.    The   default   SNAP$RECIPIENT
         definition is 'SYSTEM'.

      o  Add any additional file you  wish  to  be  monitored  by
         adding the files in SNAPFIL.LST .

      o  The SNAPSHOT system can be run manually or submitted via
         BATCH to run at some interval that you wish.




5.0  FEEDBACK
     ________

I would be interested to hear what 'additional' areas of interest
or  modification  have  been made to the SNAPSHOT package once it
gets out in the world on it's own.  To that end, please feel free
to  give me a call and share whatever you have found,...  I shall
do the same.
========> [VAX84C.DFWLUG.UTC.FTP]AAAREADME.TXT;1 <========



                                VAX BASED
                         CP/M 'MODEM7' COMPATIBLE
                          FILE TRANSFER PROGRAMS


    This  document describes the file transfer system in use between a
    VAX 780 and an IBM PC.  This file transfer  system  is  compatible
    with the CP/M MODEM7 file transfer protocols, and was developed in
    C using the public domain CMODEM program as the basis for the file
    transfer portion.  

    Two  filter  programs are provided in the package to insert/delete
    CR's in CR/LF combinations to match the VAX  conventions  on  text
    files.   These  routines  are  run  on  the  VAX,  and are invoked
    automatically by the use of the appropriate DCL procedures.  These
    DCL procedures should be used on text files only.  FTP  should  be
    used directly when transferring binary files.

    The programs in use are as follows:

        $ FTP -x FileName

        This routine handles file sending ('-s'), receiving ('-r'), or
        appending  ('-a')  from a remote system.  Direction of flow in
        the above commands is relative to the  VAX.   On  the  command
        line  -x  is  one  of the above (-s,-r,-a) and FileName is the
        file to be sent or received.

        $ VAX2IBM InFile OutFile
        
        Routine  to  convert LF-only line termination to the CRLF line
        termination required by CP/M and MS/DOS compatible systems.

        $ IBM2VAX InFile OutFile

        Routine to convert CRLF line termination into the LF-only line
        termination required by the VAX RMS file system.  Also removes
        any CTRL-Z characters found (CP/M EOF marker).

    The DCL procedures in use are as follows:

        $ FSEND FileName

        Invokes  VAX2IBM to build a properly formatted text file, then
        FTP to send that file to the remote system.

        $ FRECV FileName
        
        Invokes  FTP  to  receive  a text file from the remote system,
        then invokes IBM2VAX to properly format that file for VAX RMS.

    A couple of notes are in order:

    The  FTP  routine is set up such that only ONE port is required in
                                                      Page 2


    order to run it, the terminal that issues the FTP command  is  the
    same  one  that  sends/receives  the  file.   The  use of a simple
    terminal emulator program to activate  the  VAX  is  all  that  is
    required.   The  protocols  are  set  up  for this form of delayed
    synchronization.  FTP has been tested at 9600 baud and should  not
    fall  behind.  When the VAX is heavily loaded, occasional timeouts
    may occur.  These  timeouts  most  often  manifest  themselves  in
    checksum  or  other errors.  The timeouts are necessary for proper
    synch of the protocol in case of errors, and may not be disturbed.

    DEC  C  runtime will output the LF's to the file during the IBM to
    VAX conversion.  This differs  slightly  from  the  way  it  would
    appear  on  the VAX in RMS native form (null characters, with some
    form of char count as termination).  If file is then copied  using
    the  DCL  COPY  command, the LF's are removed, and Null characters
    and char counts are inserted in their place.  The  only  places  I
    have  found  where  the  conversion format will cause a problem is
    with the DIFF command, and with CMS.

    With  DIFF,  use DIFF/IGNORE=SPACING to cause a comparison of file
    contents only.  With CMS, edit the file  and  save  it.   The  new
    version will be in the correct format.

    The  original  MODEM  program  was  developed  by Ward Christensen
    several years ago, and has undergone  extensive  modifications  in
    the  user  interface.   The  protocol  has  not changed, except in
    spin-off versions that play around  with  CRC  instead  of  simple
    checksums  for  verification.   These  are  normally identified as
    MODEM9 and and above.  

    There  may  be  other (possibly better) protocols around, but this
    one has become the de facto standard for the micro world.  If  you
    have  problems,  contact me before changing the protocol.  I could
    actually have an implementation bug (shock!).  It has  been tested
    fairly extensively with at least two other  systems, but bugs  are
    insidious.

    Bugs,  enhancements  and  any  other wild ideas should be reported
    via mail to LOAFMAN (TCC01 or TCC02), or via phone to:

        Kenneth W. Loafman
        work: (214)556-8889 (sometime during the day)
        home: (214)245-2618 (before 10:00pm weekdays)
========> [VAX84C.DFWLUG.UTC.OWN]AAAREADME.TXT;1 <========


        This is a rewrite of the OWN verb submitted in the spring '84
        SIG tape. 


        The program has three parts.

        (1) Parsing and expanding the file specification
        entered by the user to include the translated
        device, default directory + subdirectories if
        needed. 
        (2) Extracting the lowest parent directory from
        the expanded string to obtain the correct UIC
        for changing the files requested by the user.
        This is explained in detail in the
        documentation.
        (3) Changing the UIC in the file(s) requested
        by the user.


        This program does NOT change the file's UIC to the user's 
        UIC but to the lowest defined directory's UIC. Therefore, 
        you do not have to worry about someone using this verb to gain
        control of another users directory.


        We also found a bug in the old version. By setting your default 
        to the directory containing your default directory, as in 
        [000000], a user could change the UIC on anybody's default.DIR 
        to the same UIC value as it's parent . This meant the next time 
        the orginal user of the changed default.DIR logged in he would 
        not own his top level directory and could not access anything.



        Software support assures me that that file id FID for the top 
        directory is reserved by VMS and would not change between systems. 
        This is true on all of our three systems and the VAX's used by 
        software support. FID == (4,4,0).

        If in doubt do:

        DUMP/HEADER DRnn:[000000]*.DIR and look at the first word of the 
        back link file id. If this does not match you'll have to make a 
        modification in the code. The documentation tells you where to 
        do it.

        I have made an effort to fix the bug in the old version by 
        looking at the FID and DID of each file read before modifing it. 
        If either one contains a value of 4 in the first word 
        ( 3 words long ), I display an error and do no modification.


        Depending upon how your system and user's top directories are setup, 
        this may or may not solve the problem, but it's better than before 
        and it works for us.
                                                      Page 2




        I used macro instead of fortran since this is a low level RMS
        change and is harder to follow in a higher level language.
        I use QIO's whenever possible because it's easier to see whats 
        happening. The RMS fields are all described in the I/O USERS 
        GUIDE VOL.1 CH. 2. 



        INSTALLATION
        ------------


        This verb must be installed with SYSPRV.




                UNITED TECHNOLOGY
                BUILDING SYSTEMS
                433 Las Colinas Boulevard
                Irving, Texas  75039
                (214) 830 - 7501

        Attn: DUANE RIECH




========> [VAX84C.DFWLUG.UTC.PRINT]AAAREADME.TXT;1 <========






        INTRODUCTION
        ------------


                This is an update to the PRINT verb submitted in the spring
        '84 SIG tape. Some bugs were found and have been fixed. This verb
        makes remote printing transparent to a user.











                ***************************************************

                        INSTALLATION GUIDE FOR THE PRINT VERB

                ***************************************************



        1.      DESCRIPTION OF PROGRAMS


                a. DECPRINT.COM  -      This is a command procedure used
                on a local print.

                b. DIABLO.COM    -      This command procedure prints the
                output file(s) on a local, 80 column, letter quality 
                printer. You may not use this but it must be installed.
                It creates its own 80 column header page as a replacement
                for DEC's header page.

                c. FILTABLE.FOR  -      A fortran program to add or delete
                the computer's alternate choices if it determines a node
                is down.

                d. PRINTABLE.DAT -      The file created by the program
                FILTABLE.FOR. This file is an indexed file, with one key
                a character string 15 bytes in length.

                e. REMDIA.COM    -      This command procedure is used 
                for a remote print on a high quality printer as described
                above for DIABLO.COM.

                f. PRINT.CLD    -       The command language definition 
                                                      Page 2


                file describing the new print verb characteristics. Note
                that this description is identical to DEC's except for 
                the image activated by the verb. This cld must be executed
                for each user on login with the "set command" command or
                better yet at system startup inserting it in the dcltable.

                g. REMPRT.COM    -      This command procedure is used
                for normal printing to a remote node.

                h. REMPRT.FOR    -      This is a fortran program which
                is activated by the print verb. The program must be 
                edited to modify the open statement for PRINTABLE.DAT and
                the LIB$DO_COMMAND 's to point to the correct device and
                directory. No other programs are needed to compile and 
                link the program.



        2.      WHERE TO PUT THEM


                        I would suggest that the programs be put in their
                own directory . I have kept the working version on the 
                system disk under our library directory : 
                sys$sysroot:[utclib.network] .


                The directory should contain the following:

                decprint.com
                diablo.com
                printable.dat
                remdia.com
                remprt.cld
                remprt.exe
                remprt.for     (and executable)
                remprt.com
                filtable.for   (and executable)

                The default directory for DECnet (ours is [NETUSR]) should
                contain:

                remprt.com
                remdia.com

                This is repeated all nodes that are to participate
                in the remote print.




        3.      COORDINATING THE LOGICAL NAMES BETWEEN NODES


        Printer's logical names reflect location of the printer within the
                                                      Page 3


        building and not physical devices. This makes any routing by the 
        program transparent to the user. Printer logical names are three 
        characters long with the following syntax :

                P1A
        ________|||
        | _______||
        | |       |
        | |       v
        | |       Position of printer : Location of printer on a specific
        | |       floor. (A-Z). Could be thought of a the face of a clock
        | |       with A being 12:00 --> L being 6:00 --> Z being 11:59 etc.
        | |
        | v
        | Floor Number : This value specifies which floor the printer is 
        |                located on (0-9).
        |
        |
        v
        Printer type : Type of printer to be used. Currently, the software
                       supports two types :

                        P --> Normal printers
                        D --> Diablo printers (letter quality)



                At system startup logical names following the syntax
        just mentioned should be defined. Logical printer names 
        pointing to printers on that system will end with a single 
        colon ":" , signifying a physical device. Logical printer names 
        pointing to remote cpu printers will be defined with the remote
        cpu DECnet node name, always ending with "::". This is how the
        image determines if a remote print is needed. SYS$PRINT and
        SYS$DIABLO are also allowed as correct queue names. Here are
        some examples.


        DEFINE/SYSTEM P1A       TXD7:

        This a local cpu print , on a regular DEC printer, 1st floor,
        location A.

        DEFINE/SYTEM  D6D       IRIS::

        This is a remote cpu print, on node IRIS:: , on a DIABLO letter
        quality printer, 6th floor, location D.



        On the cpu node IRIS however, the definations would be reversed
        showing P1A as cpu node EAGLE::

        DEFINE/SYSTEM P1A       EAGLE::

                                                      Page 4


        and queue D6D as a local print to a physical device.

        DEFINE/SYSTEM D6D       TTB8:




                **********************************************


        If you have any problems feel free to contact me at


                UNITED TECHNOLOGY
                BUILDING SYSTEMS
                433 Las Colinas Boulevard
                Irving, Texas  75039
                (214) 830 - 7501

        Attn: DUANE RIECH


========> [VAX84C.DFWLUG.UTC.WHO]AAAREADME.TXT;1 <========




                        WHO VERB
                        --------



        The WHO verb allows a user to find the UIC, default device and 
        default directory for a given username on all nodes.

        Format:

        WHO username

        Specifies the username to be searched for. The username specified can
        be complete or a subset such as the following:

        WHO te

        This will display all occurances of usernames starting with te.
        NO wildcard specifications are allowed in the username.


        /UIC=

        Allows a search by specifying the UIC instead of the username. The UIC
        value must follow the standard VMS UIC format of [###,###] but no 
        leading zeros are necessary.

        Wildcard searches are allowed on either the group number or member 
        number.

        Such as:

        WHO/UIC=[20,*]  which will find all occurances of a group number of 20
        on all nodes.

        or

        WHO/UIC=[*,20] which will find all occurances of a member number of 20
        on all nodes.

        The /UIC qualifier cannot be used with a username specified.



        The WHO verbs works by reading the file SYSUAF.DAT. SYSUAF.DAT
        supports indexed reads of the username, total UIC and member number 
        of the UIC. It does NOT allow indexed reads of the group number. 
        This requires a sequential read of the file. This would take TOO much 
        time when considering how much SYSUAF.DAT is accessed by the cpu. 
        Because of this, I use a copy of SYSUAF.DAT to do my sequential reads. 
        As part of the nightly operator batch job we copy SYSUAF.DAT into
        SYSUAF.TMP. Therefore, all queries made on group number will be at 
        most 1 day old.
                                                      Page 2


                                                                        
        Macro program are necessary because the UIC keys are either 2 or 4 
        byte UNSIGNED values. I'm not aware of a way to declare that in a 
        FORTRAN program.


        COMPILE AND LINK
        ----------------


        Nothing special about creating the executable.

        FOR WHO
        MAC WHOREAD
        LINK WHO+WHOREAD


        INSTALLATION
        ------------

        The image must be install with SYSPRV to access the SYSUAF.DAT file.


========> [VAX84C.DUPONTES]AAAREADME.TXT;1 <========


                   DuPont Experimental Station's Submissions


                                 submitted by:


             Mark D.  Oakley
             DuPont Experimental Station
             Wilmington, DE
             (302)772-3522


     Two submissions are contained in this direcotry.  The author would  be
     interested  in  hearing  of  any  problems or suggestions which anyone
     might have regarding these submissions.  As usual, this submission was
     assembled at the last moment.  As a result, the documentation may be a
     bit  sketchy.   Please  feel  free  to  call  if  you   need   further
     information.

     1.  [.KEYDEF]
         KEYDEF consists of a DCL command procedure to down-line  load  the
         programmable  function keys on a VT-240.  The user is prompted for
         key number and  character  string.   On-line  help  is  available.
         Control  characters  (carriage  return,  line  feed,  etc.) may be
         stored in a function key using this procedure.

     2.  [.ZDEC]
         ZDEC (Zero Device Error Count) is a program to zero out the device
         error  count  of  a specific device without re-booting the system.
         Error counts for CPU and memory are not handled.

========> [VAX84C.DUPONTES.KEYDEF]AAAREADME.TXT;1 <========


KEYDEF.COM is a DCL procedure to downline load the programmable
function keys on a VT-240. The user is prompted for an appropriate
key number, and then a character string to store in the key.
The character strings are stored only in the "shifted" key. This
procedure does not support any of the locking or unlocking
features of the VT-240.

On-line help is available by entering a question mark to the
prompt for a key number. Control characters can be stored in
the keys by using the "caret/character" convention. For example,
^M designated carriage return, ^[ designates escape, ^A designates
ascii character "01", etc.
========> [VAX84C.DUPONTES.ZDEC]AAAREADME.TXT;1 <========



ZDEC (Zero-out Device Error Count) sets the error count field in the
device UCB (UCB$W_ERRCNT) to 0. This program requires CMKRNL privilege,
and executes at elevated IPL to lock the I/O database.

To execute this program a symbol should be set as follows:

      $ ZDEC :== $mydisk:[mydir]ZDEC

To run ZDEC, enter:

      $ ZDEC [/OVERRIDE]  device

where device designates a device. Logical names are accepted and translated.
If the device is allocated (that is, if the owner field in the UCB is 
non-zero), then ZDEC exits without changing the error count, unless the
/OVERRIDE qualifier is used.

Note that ZDEC does NOT zero out counts for CPU or MEMORY errors.

ZDEC was developed under VMS Version 3, and will probably fail under
Version 4. The author plans to support ZDEC and re-submit it when
Version 4 is available.

ZDEC has proven useful in zeroing out error counts without re-booting
the operating system. 
========> [VAX84C.FERMILAB]AAAREADME.TXT;6 <========


     [VAXF84.FERMILAB]AAAREADME.TXT


                Fermilab Accelerator Control System Submissions


                                 submitted by:


                               Dr. Frank J. Nagy
                     Fermi National Accelerator Laboratory
                P. O. Box 500 Mail Stop 306, Batavia, IL. 60510
                                 (312)-840-4935



          This directory tree is a submission from the Fermilab Accelerator
     Division.   The programs and command procedures in this directory tree
     are general utilities and system management utilities  either  written
     at  Fermilab  or  acquired  from  DECUS  (via  a  SIG tape or from the
     library) and modified.  In many cases the  software  can  be  used  at
     other  sites  without  modification;   some  of  the system management
     utilities are included as starting points from which sites can produce
     their custom versions.  Each of the next-level subdirectories includes
     an AAAREADME.TXT file which provides additional  details;   this  file
     provides an overview of the entire submission.


          This submission represents  files  added  or  changed  since  the
     Spring  1984 submission.  A complete resubmission has not been made of
     many of the files to help reduce the size of the SIG  tape.   To  make
     full  use  of  much  of the material in this submission, you must have
     access to the Spring 1984 SIG tape Fermilab  submissions.   Access  to
     the  Fermilab  Accelerator  Division  submissions on earlier tapes may
     also be helpful.


          Questions and comments on these submissions may  be  directed  to
     the  submitter  listed  above.   Fermilab will not provide support for
     this software on anything other than an informal basis as time allows.



     [.LIBRARY]


          This area contains object, macro and text libraries which provide
     extensions  to  the  system libraries in SYS$LIBRARY:.  The sources of
     new and changed routines are included (see Spring 1984  SIG  tape  for
     the  remaining  sources).   A  complete  copy  of  the FERMILIB object
     library and its Help file are included.


                                                                          Page 2


     [.PMU]


          This area includes a set of routines to  implement  post  mortems
     for  detached processes.  This is done via condition handlers to catch
     a severe (fatal) signal  and  produce  the  appropriate  dumps.   Post
     mortems  are meant to provide a means to locate infrequently occurring
     bugs in otherwise operational software.


     [.STARTUP]


          The command procedures in this area illustrate the management  of
     logically  disjoint disk sets from a pool of disk drives shared by two
     or more processors.


     [.SYSMGR]


          The command procedures in this area illustrate the implementation
     of  a  set  of  cyclic  batch  jobs  which  repeat nightly, weekly and
     monthly.


     [.UTILITIES]


          This area contains two small utility programs.  The  source  (VAX
     C),  build  and executable image files are included.  Documentation is
     included as comments in the source files.


          The GETREMUSR program is used to limit DECnet access  to  turnkey
     accounts  which  have  no  password  and are controlled by their login
     procedures to limit the  actions  a  user  may  take.   The  GETREMUSR
     program  returns  the  remote  user  name and DECnet node name when an
     account is being accessed via a network command terminal (SET HOST  at
     the  remote  end).  The values are returned in local DCL symbols.  The
     login procedure may then test these values  to  limit  access  to  the
     account.


          The TSTUSRPAR  program  allows  the  value  of  the  one  of  the
     site-specific SYSGEN parameters (USERD1, USERD2, USER3 or USER4) to be
     returned in local DCL symbols.  On  the  Fermilab  Accelerator  VAXen,
     USER4 is used to disable normal timesharing during a startup.  Many of
     the site-specific actions and defintions done by  the  normal  startup
     are  skipped  and  the  interactive  login  count is set to 0 by using
     TSTUSRPAR to test the  USER4  parameter  near  the  beginning  of  the
     SYSTARTUP.COM file.  This permits the system to be booted for software
     upgrades or other standalone  work  without  modifying  the  extensive
     startup  procedures  each  time.   In  addition,  by  using  a  SYSGEN
     parameter, a standalone startup can be made even after the system  has
     been  shutdown by using a conversational boot and setting USER4 (to 1)
     in SYSBOOT.
========> [VAX84C.FERMILAB.LIBRARY]AAAREADME.TXT;10 <========


[VAXF84.FERMILAB.LIBRARY]

 This submission contains some of the libraries stored under the logical
 name FERMI$LIB on the Fermilab VAXen.  These libraries are meant as
 extensions to various libraries in SYS$LIBRARY:.  Several of the other
 submissions reference one or more of these libraries.

 The files in this submission are:

        AAAREADME.TXT   This file.

        FERMILIB.OLB    Object library of general routines for VMS program.
                        Sort of additions to the VMSRTL/STARLET library.

        FERMILIB.HLP    Help on routines in FERMILIB, extracted from header
                        comments in the source code.

 The following files are sources for the routines in FERMILIB.OLB which have
 been added or changed since the Spring 84 SIG tape submission:

        ARGUTILS.MAR    Return number of arguments passed to calling routine,
                        check an argument for default.
        GBLSECUFO.MAR   Open a file to create a global (or private) section.
        GETDSKQUO.C     Get information from disk quota file.
        LIBABSQUE.MAR   Absolute queue instructions for HLL's.
        LIBBITS.MAR     Set, clear, test elements of a bit array.
        LIBFAOOUT.C     Combination of $FAO/$FAOL and LIB$PUT_OUTPUT.
        LIBOPRMSG.C     Output a message to operator console via OPCOM.
        LIBSECUFO.C     Enhanced version of GBLSECUFO.MAR.
        MAPIOSPAC.C     Map UNIBUS I/O space (any processor).
        MTHQDIV.MAR     Quadword integer division routines.
        RMSRENAME.C     Interface to RMS $RENAME service to rename a file.


        ***** NOTE NOTE NOTE NOTE NOTE NOTE NOTE *****

 The routines in the LIBABSQUE.MAR module (LIB_INSQUE, LIB_REMQUE, etc.)
 have had a major bug fixed.  This bug affects queues which are accessed
 by two different asynchronous instruction streams (two separate processes
 or AST and non-AST code in a single process).  This bug was causing queues
 to become mysteriously garbled in several of the processes in the Fermilab
 Accelerator Control System.  If you are using these routines, please use
 these new versions!
========> [VAX84C.FERMILAB.PMU]AAAREADME.TXT;11 <========


[VAXF84.FERMILAB.PMU]

 This submission contains the PMU library and the associate sources,
 Help and commmand procedures.  PMU stands for Post Mortem Utilities.
 The PMU library contains a set of routines to be used in condition
 handlers to get post mortem dumps of registers, the stack and portions
 of memory.  This can be useful for detached process which function
 properly for the most part but sometimes fail due to infrequent bugs
 or other mysterious problems.  It can be very hard to debug such
 processes (such as network servers) which fail only rarely and only
 under somewhat non-reproducible circumstances.  In such cases, post
 mortem informat can assist in isolating the problem.

 The Post Mortem Utilities are a synthesis of several sets of routines
 written for specific network-based applications at Fermilab.  The goal
 was to produce a more general package of greater applicability and
 to ease the maintainence for several applications.  The package includes
 utility routines called from condition handlers and a generic post
 mortem condition handler illustrating the use of the routines.

        ***** WARNING WARNING WARNING WARNING WARNING *****

 The development and testing of these routines is incomplete.  The final
 problem concerns the generic post mortem condition handler and the use
 of disk files for SYS$OUTPUT and SYS$ERROR output streams from single
 image (no DCL) detached processes.  In particular, although all the
 routines have been tested and debugged, none have yet been incorporated
 into any operational application at Fermilab (mostly due to a lack of
 manpower).  So let the programmer beware!
========> [VAX84C.FERMILAB.STARTUP]AAAREADME.TXT;7 <========


[VAXF84.FERMILAB.STARTUP]

 This submission includes a few of the procedures used in the VMS startup
 on the on the Fermilab Accelerator Controls VAXen.  Each procedure includes
 comments documenting its usage and actions.

 The files PUBDSK*.COM and MOUNTDSKS.COM were developed to solve the problem
 of locating and mounting public disks (mounted /SYSTEM) amoung a set of
 removeable media disk drives (RM03's and RA60's).  The problem was that
 disk packs could be moved around between shutdown and startup of the system.
 Our configuration includes a spare disk drive to which a pack may be moved
 from a failed drive, we wanted a automatic means of configuring the volumes
 so that no pack was explicitly tied to a drive nor were the accelerator
 operator's required to perform any special actions to reconfigure (other than
 to move the disk pack).  These same procedures can also assist V3 systems
 with dual HSC's to make the mounting of public user packs independent of
 which HSC is to used (assuming the drives are dual-ported to the two HSC's).
 At Fermilab, if an HSC fails all that is required is to reboot the system
 and the other HSC will automatically be used.  Of the files mentioned above,
 MOUNTDSKS.COM is specific to Fermilab and only included here is to illustrate
 the procedures described above.

 In a similar vein, the procedures DSKCONFIG.COM and SPAREDISK.COM are used to
 coordinate the usage of a pool of disk drives between multiple processors.
 The configuration in the Fermilab Accelerator Control System includes RM03
 and RM80 disk drives dual-ported between two 780's.  This past year, two
 HSC50's with several RA81 and RA60 disk drives were added.  The two systems
 used are the Operational system used to control the accelerator and, on
 the backup VAX, the Development system used to develope the software for
 the control system.  The Operational system uses only removeable-media
 disks for reliability - a pack can be moved from a failed drive to a standby
 and have the control system in operation after 10 minutes or less.  In
 addition, backups of the Operational disks are done pack-to-pack to provide
 an extra level of redundancy.  The Development system uses only fixed-media
 drives with backups maintained on tape.  The management problems associated
 with configuration were:

        1. Coordinating the identity of the standby RM03 and RA60 drives
           from the Operational system (given the startup procedures described
           in the second paragraph, above) to the Development system.

        2. Preventing access by users to the RA60 disk drives in actual use
           by the Operational system.

 The DSKCONFIG and SPAREDISK procedures were created to automatically enforce
 this management scheme.  The Operational system sets all fixed-media drives
 to /NOAVAILABLE, the Development system does the same for all removeable-
 media drives.  DECnet is then used to communicate the identity of the standby
 RM03 and RA60 drives from the Operational system to the Development system
 so the Development system may use these drives to access offline media.

 The procedures described above will be upgraded with VMS V4 and used to
 manage a system consisting of 3 785's configured as a single processor system
 and a two-processor VAXCluster with both systems accessing logically distinct
 sets of disks connected via HSC50's.
                                                      Page 2



========> [VAX84C.FERMILAB.SYSMGR]AAAREADME.TXT;6 <========


[VAXF84.FERMILAB.SYSMGR]

 This submission includes a few of the utility procedures used by the
 system manager on the Fermilab Accelerator Controls VAXen.  Each procedure
 includes comments documenting its usage and actions.

 These procedures are used at Fermilab to implement a set of cyclic batch
 jobs which run every night, every week (Monday morning) and on the first
 day of every month.  These batch jobs are then used to schedule other
 jobs and events for that particular time interval.

 The EVERY*.JOB files are submitted as the cyclic batch jobs.  These files
 provide for resubmitting the batch job for its next cycle.  All other
 actions of the batch job are handled in the EVERY*.COM procedure so that
 changes may be made without having to delete and resubmit the batch job
 (since the VMS batch job controller only remembers files by their file
 ids, not their file specifications).

 All the jobs provide a common facility for batch jobs to be submitted for
 other users (the EVERY* jobs run under the SYSMANAGER user, this is just
 another [1,4] account but without all the dangerous SYSTEM privileges).
 The USRSEJOBS.COM procedure implements the scan of the database (see
 USRSEJOBS.DAT for an example) and uses the SETUSER and GETUAF programs
 contained in the Fermilab submission for the Spring 1984 VAX SIG tape.
 With V4, USRSEJOBS.COM will be changed to use the supported SUBMIT
 qualifier /USERNAME to submit a batch job under another user (replacing
 at least the SETUSER program).
========> [VAX84C.INTEGRAPH]AAAREADME.TXT;1 <========


                HLISP INSTALLATION AND RELEASE NOTES


Installation of HLISP is relatively straightforward.  The executeable 
image file is named LISP.EXE, and may reside anywhere appropriate.
It is most easily invoked by defining a global symbol (usually in 
your LOGIN.COM) such as:

        $ LISP :== $dev:[dir]LISP

When HLISP is invoked in this manner, it will prompt for input at the 
terminal.  Input is EVAL'd, and the result is PRINTed.

Indirect command files are also supported on both the DCL command 
line, and during interactive use.  Command files may be nested up to 
three levels, and have a default file type of "LSP".

HLISP also has an interactive help facility using a VMS standard help 
library.  The filename for the library is LISP.HLB, and it is accessed 
by HLISP using the logical name LISPHELP.  To make this facility work, 
the following logical name assignment should be performed:

        $ ASSIGN dev:[dir]LISP LISPHELP

Note that the device and directory default to SYS$HELP if they are not 
specified in the ASSIGN.  To invoke the HLISP help facility 
interactively from within LISP, evaluate the following form:

        (HELP)

LISP will prompt for additional inputs while in the help mode, just as the VMS
HELP command does.  An alternate form permits an initial topic to be 
specified:

        (HELP <topic>)

where <topic> is the name (or the first few characters of the name) of a topic 
in the help library.

Further documentation on HLISP is contained in the HLISP Reference Manual, 
included in the delivery in the file LISP.MEM.

Please note that this LISP is intended to be most compatible with Standard 
LISP as defined by the paper "Standard LISP Report", by J. Marti, et al.
It is not yet, nor will it likely ever be a fully compatable implementation of 
this particular definition, however it is the preferred baseline.
This LISP presently implements about three fourhts of this standard, but
contains many extensions to make the things I am presently working on easier
to do.  Copies of this paper are available upon request.

PLEASE, give me some feedback on what you like and dislike. I'm afraid I am
able to do only limited verification, so I would especially appreciate hearing
about any problems.  Also any items on your wish list may get added to mine!

Below are the release notes for all official releases, in reverse
                                                      Page 2


chronological order.  The trouble report logs are also included in each
release as a seperate file. 

                                Release Notes

                                  Version 6

*** The following new functions have been added:
        ASPAWN  spawn an asynchronous subprocess
        ATTACH  attach the user's terminal to another process (like DCL's)
        HASHSTR return an integer in a given range, hashed from a string

                                Release Notes

                                  Version 5

*** This release is largely a bug fixing release.

*** The function SQRT has been added.

*** The pretty printer has been modified to be slightly more efficient.

                                Release Notes

                                  Version 4

*** A list structure editor has been added.  Together with some support 
routines, it is now possible to edit a list, a function definition (assuming 
that it is not a compiled or builtin routine), or a variables value.  The new
functions defined for this new capability are: 
        EDD     edit a function definition
        EDL     edit a list
        EDP     edit a variable's property value
        EDV     edit a variable's value
        EDLAUX  auxiliary function used by all of the editor functions
        EDLNXTCMD auxiliary function
        EDLNXTVAL auxiliary function
These functions are builtin but not compiled.
Also, with the addition of these functions, the E function has been deleted.

*** The following new functions have been added:
        COPY    returns a copy of its argument (no cyclic structures please)
        FLAG1   flags a single id
        GETP    get the property list of an id (CDR of an id no longer works)
        LAST    return a list containing the last element of its argument list
        OUTF    redirect output temporarily, evaluate arguments (not compiled)
        REMFLAG1 removes a flag from a single id
In addition, in an effort to migrate more toward the standard, the following
functions have also been added:
        CONSTANTP return T if argument is a constant
        DIVIDE  return quotient and remainder as dotted pair
        EXPT    return arbitrary power of a number
        FLAG    add a flag to a list of ids
        FLAGP   test for the presence of a flag on an id
        MAX2    return the larger of two values
                                                      Page 3


        MIN2    return the smaller of two values
        MINUSP  return T if argument is a negative number
        ONEP    return T if argument equals 1 (or 1.0)
        PLUS2   return the sum of two values
        REMFLAG remove a flag from a list of ids
        
*** The pretty printer routines were made smarter.  Improvements were made in
the formatting of LISP code (primarily LAMBDA LET LOOP PROG), and in the
way quoted items are output.  This also resulted in a new auxilliary function 
(PPAUX2) being defined to assist the other pretty printing routines, and 
extending the PRLENGTH function to permit it to compute the print-lengths of 
expressions using the short hand format for quoted items.  PPPL was also 
improved to not produce to PNAME property, which is non-portable.  All of the 
pretty printer routines that the user is likely to invoke interactively have 
been modified to invoke TERPRI before they terminate.  This required adding a 
new routine PPINT (PPI with no TERPRI call) for use internal to PPAUX...

*** In previous versions there was a problem interrupting garbage collection 
by using a control-C.  As a result, garbage collection messages were defaulted 
on so the user would beware.  This has now been changed now so that control-C 
is disabled during garbage collection, and garbage collection messages are now 
defaulted off.  Note that when garbage collection is in progress, a control-C 
will be ignored so you may need to try again if LISP fails to respond to your 
control-C.

*** The implementation of function definition storage and lookup has been 
changed.  The functions GETD, PUTD, and REMD must be used to access a 
function's definition, since the definition is no longer kept on the property 
list of the id.  This change was made primarily for efficiency.
Also, the property list may no longer be accessed using CDR.  The function 
GETP has been provided for this purpose.

*** The reference manual has been improved by adding more detail to the 
descriptions.  The help library has also been updated and improved.

*** Various minor fixes to make function conform more closely to the LISP
Standard LISP Report and to improve shortcomings.

*** The functions CSET and CSETQ have been deleted, since they are 
non-standard and add nothing to the implementation, with the possible 
exception of confusion.

*** SETQ was extended to permit multiple assignments in a single invocation.

*** The name of the HLISP help library file has been changed from LISPHELP.HLB 
to LISP.HLB.

                                Release Notes

                                  Version 3

*** One of the most significant new features of this release of HLISP is the 
addition of a reference manual.  The manual is still in preliminary form, but 
anything is better than nothing.

                                                      Page 4


*** Additional MAP composite functions have been added:
        MAP     apply a function to CDR segments of a list
        MAPC    apply a function to CAR segments of a list
        MAPCAN  build a concatenated list of results from applying a function
                        to successive CAR elements of a list
        MAPCON  build a concatenated list of results from applying a function
                        to successive CDR segments of a list
        MAPLIST build a constructed list of results from applying a function
                        to successive CDR segments of a list

*** Vectors have been added, according to the definitions in the Standard 
LISP Report.  The new functions are:
        MKVECT  create a vector
        UPBV    determine the upper bound of a vector
        GETV    get a vector element
        PUTV    store a vector element
Each vector element is initialized to NIL, and may reference an arbitrary 
S-expression.  The vector itself is allocated dynamically as new virtual 
address space, however S-expressions referenced by it must be allocated from 
the LISP heap.

*** The ability to expand the LISP heap has been provided via the function
GROWMEM.

*** The builtin LISP condition handler was made a little smarter so that when 
the user overflows the LISP call stack, the resulting access violation error
message also includes an indication of the cause of the problem.
The error checking routines used internally by many of the builtin primitives
have been made smarter, e.g., the expression (SET !*GC T) will no longer give
an access violation if !*GC has no APVAL, but return the normal error message.
[This expression should more probably have been (SETQ !*GC T).

*** The garbage collector now prints messages at the beginning and ending of
the collection process by default.  This was found desirable because a
control-C during garbage collection tends to leave the system in a rather
worthless state.

*** The SSPAWN function was modified to return the completion status of the
process.  This status is an integer, which is a standard VMS completion
status.  The function GETMSG was added to convert this number into the
corresponding system message string.

*** The message produced by STATUS was made slightly more self explanitory,
and the TERPRI call before the message was made conditional on there actually
being something in the output buffer.

*** MSG was converted from an FSUBR to an LSUBR so that it formats the output 
based on the result of the argument after evaluation.

*** The function QUIT was added as the standard synonym for EXIT (to exit from
LISP to the operating system).

*** The function PAIRP was added as the standard synonym for CONSP (to detect 
dotted pairs).

                                                      Page 5


*** The function OBLIST replaces the old function SYMLIST to display the 
ob-list.

*** Various minor fixes to make function conform more closely to the LISP
Standard Report.

                                Release Notes

                                  Version 2

*** READ now supports list syntax using square brackets (aka "super brackets")
in addition to parentheses.  A right bracket may be used to terminate
parenthesized lists early, to any depth.  The outermost list is implicitly
enclosed in brackets. (Note that these extensions are not supported in LINT.)

*** PP.LSP now is much smarter about maximizing the amount of text on a line.
PPUAX (the internal smarts used by all of the pretty printer functions) is
also smarter about some of the forms it is working with. 
There are also new functions:
        PPI             Pretty print indented
        PPPL            Pretty print property list in DEFPROP comapatible form
        E               Spawn an edit command line to DCL
Note that the E function will probably need to have the command line 
modified to properly invoke your favorite flavor of editor.
PP is now also much faster than in the past due to bringing many of its 
computational chores into the interpreter as normal primitives.
PP is now also builtin, though it is still implemented in LISP.

*** The following new functions have been added:
        APPEND1         append an atom to the end of a list
        DOWNCASE        convert to lower case
        EXIT            exit from LISP to VMS
        LET             define & initialize local variables for a list of forms
        LOCSTR          locate a substring within a string
        LOOP            convenient PROG-like iteration
        OCML            invoke indirect command file programmatically
        POP             pop element from stack
        POSN            return current position on output buffer
        PRLENGTH        return print length of an s-expression
        PUSH            push element onto stack
        REVERSE         return a copy of the input list in reverse order
        UPCASE          convert to upper case
See the help file for further information.

*** When LISP is initializing, it now checks to see if the logical name
LISP_INIT is defined.  If it is, its value must be the name of a LISP command 
file (default type is .LSP).  This command file is then executed before 
control is started at the terminal.  E.g., the DCL command line:
        $ASSIGN PP LISP_INIT
will cause LISP to load the PP command file before prompting at the terminal.

*** Minor extensions were made to the definitions of the following functions:
        DEFPROP         now handles multiple property-value pairs

*** All of the internal calls to builtin LISP functions such as CONS, READ, 
                                                      Page 6


RATOM, PRIN1, TERPRI, etc., have been made non-traced so that it is now easier 
to debug macros and such by tracing these primitives without having all of the 
internal calls cluttering up the trace listing.

                                Release Notes

                                  Version 1

This release of LISP is now the "official" version 1, dated August 5, 1983.
This version and all subsequent versions will have a builtin symbol defining 
the current version.  This symbol is VERSION.  It may be PRINTed.

This release has many new features and bug fixes.  The previous version was 
considered to be an alpha test version.  This version is considered to be a
beta test version.  The trouble report log for the alpha test (pre-version 1)
version is included in the distribution, as it will be for all subsequent 
releases, for anyone who is interested.

This version contains a couple of incompatabilities with the previous version.
The DR form for defining readmacros has been changed to DRM, for compatability 
with other implementations.  The trouble report log mentions the other, the 
special symbol returned by READCH for an end-of-line has changed.  Other than 
these two items, all other changes are believed to be extensions.

This version also contains an updated version of PP, and several other tools, 
as well as an updated version of SIR, and some example rules.
Several other LISP goodies are also in the works.
A new version of LINT has also been added, with a more convenient command line.
========> [VAX84C.JOHNSON.SYSUTL.DEVTOOL]AAAREADME.TXT;1 <========


DevTool 

          DEVTOOL Is an interface between the VAX operating system and the
     user. DevTool enables user-assigned default parameters for specific
     system commands. The user may also define a default filename
     specification for the entire set of DevTool commands. DevTool is
     TRANSPARENT to the user. 


          DEVTOOL was originally written in DCL at Milton Bradley Co.  This
     much improved BASIC/DCL version was written at Amherst Associates in
     order to improve speed, versatility, maintainability, and general 
     operation.  DEVTOOL has been extensivly tested and used, in all its
     incarnations, for several years now so it should be "Bug Free", but
     as we all know....


          DEVTOOL has been tested under VMS V4.0 and works well.  A V4.0 
     version of DEVTOOL is included. To use DEVTOOL under V4.0 simply 
     rename NewDevV4.EXE to NewDev.EXE
     

          It is advisable, for speed reasons, that a system-wide logical be
     set up for the DevTool directory...

          $ Assign/System Sys$SysRoot:[SysUTL.DevTool] Sys$Devt:

                                     ... and that the program NewDev be
     installed on the system...

          $ run sys$system:install
          Sys$Devt:newdev.exe/open/shared/header
          /exit


          The program SHDEV.EXE provides a fast way to see what Work_Areas
     #1-#9 have been set to.  Define this in your DevSetUp.com...

          $ wh :== $Sys$Devt:ShDev

     If you envoke ShDev with a work_Area on the commandline you will be
     shown that Work_Area's definition in BOLD.



     ***********************************************************
     *****                                                 *****
     *****  For more information please read DEVTOOL.DOC.  *****
     *****                                                 *****
     ***********************************************************



          If you have any questions, Comments, or Suggestions please
     contact...
                                                      Page 2



                          Paul Lind
                       22 Ward Street
                        Amherst, Ma.
                                  01002
========> [VAX84C.JOHNSON.SYSUTL.DICT]AAAREADME.TXT;1 <========


ProofRead

          PROOFREAD is a user-freindly (ugh... that phrase!!) spelling checking
     program.

     For Documentation please read PROOFREAD.DOC


          If you have any questions, Comments, or Suggestions please
     contact...

                          Paul Lind
                       22 Ward Street
                        Amherst, Ma.
                                  01002

========> [VAX84C.JOHNSON.SYSUTL.NAMELIB]AAAREADME.TXT;1 <========


NameLib
          NameLib is a package of subroutines intended to be used to Parse
     a forign commandline, to Parse filenames, and to handle default filename
     fields.


          NameLib was originally written, by Robert S. Harris at Milton 
     Bradley Co., in PASCAL.  It was transported to Amherst Assosiates where
     for mantianance reasons it was translated into VAX-11 BASIC (Sorry Bob)
     and somewhat improved.  Many of the original bugs, or were they features,
     have been removed or repaired.  


          To use NameLib include NameLib.Def in your main program.
          
               %INCLUDE 'Sys$SysRoot:[SysUTL.NameLib]NameLib.Def'

          Link your program with Sys$SysRoot:[SysUTL.NameLib]NameLib/LIB.


          NameLib has been tested under VMS V4.0 and works well.


          If you have any questions, Comments, or Suggestions please
     contact...

                          Paul Lind
                       22 Ward Street
                        Amherst, Ma.
                                  01002
========> [VAX84C.JOHNSON.SYSUTL.SCANLIB]AAAREADME.TXT;1 <========


ScanLib

          ScanLib/lib contains a series of subroutines which allow the keyboard
     to be scaned for input using QIO calls.  

          To use ScanLib include ScanLib.Def in your program...
     
          %INCLUDE 'Sys$SysRoot:[SysUTL.ScanLib]ScanLib.DEF'

     and link your object to ScanLib/LIB


     For more information see ScanLib.Def.


========> [VAX84C.JOHNSON.SYSUTL.TOOLS]AAAREADME.TXT;1 <========



Directory SYS$SYSROOT:[SYSUTL.TOOLS]


CLRTIME          
          A digital clock program... to use just run ClrTime


DELTREE.COM           
          A program from the VAX Professional magazine and modified.
     Deletes entire directory trees.


DOWN.COM         
          Yet another set default program.  Define Dowm :== @Down and use
     this program to get to subdirectories.


ENCIPHER         
          A program to encrypt text and program source just give it a 
     word to use as a seed... The same word is used to DeCrypt.
                      

ESCAPE.COM       
          A program containing VT100 escape sequences to...
     @ESCAPE CLEAR  -- Clear Screen
      "  "   SPLIT  -- A fun clear screen... try it!
      "  "   SMOOTH -- Smooth Scroll
      "  "   JERKY  -- Jerky Scroll
      "  "   RESET  -- Reset Terminal
      "  "   VT100  -- Set ANSI mode
      "  "   VT52   -- Set VT52 mode


OUT.COM
          A terminal lock program.  Accepts a Key code and locks the
     terminal with a message telling folk where you are.  On control_Y
     the program requests a Key Code.  If it is correct the terminal is
     unlocked.


REPEATER.COM     
          A program to repeat a single DCL command every N seconds.





                 *********  DECNet programs.  ********
     

NETCOM.COM       
          A program to allow the writing and exicuting of a command file
     on sequential remote nodes...   This program will have to be 
     modified to deal with your sites node names.  See NetCom.Hlp for
                                                      Page 2


     more info.


TRANSFER.COM     
          A program to allow the transfering of files from or to remote 
     nodes.  Will retry the transfer, n times, if the transfer fails.
     This program will have to be modified to deal with your sites 
     node names.





               *******  Local Printer Programs *******


               VT102, DecPRO, VT200 series Local printer port programs. 
           NOTE: These programs send escape characters for DEC Printers. 
          (LP50, LP100, Etc.)
               
SETPRINT.COM     
          sets printer charateristics accepts 2 peramerters 
     P1 = 80 or 132  sets printer character size for 80 or 132 coloms.
     P2 = D or L     sets for Draft mode or Letter Quality mode.

PRINT.COM        
          Sends the specified file to the local printer.

FORMPRINT.COM    
          Sends the specified file to the local printer and formats the
     output with header and page number.
========> [VAX84C.JOHNSON.SYSUTL.VTLIB]AAAREADME.TXT;1 <========


VT1Lib

          VT1Lib.DEF contains VT100 and VT52 escape sequences for inclusion
     in VAX-11 Basic programs.

          VT1Lib.DEF should be fairly self explanitory.
========> [VAX84C.JPM.DECUS]AAAREADME.TXT;1 <========


This directory contains two sub-directories:

PDP
        Contains programs / subroutines for automatically logging
        into an RSX-11M system from your VAX, and executing commands
        on the RSX system.

COMMANDS
        Miscellaneous command procedures:

        CD          Another change directory command.

        DIRCOMP     Compare two directories and optionally delete
                    files that are the same.

        LOSTFILES   Find files that are in a directory owned by the
                    someone else.

        ONLYUSER    Ensure that only one user logs into a given account.
                    To be used as part of a captive command procedure.


        LOGINMSG    Display login message to certain classes of users.
                    Messages are given a Start and Stop date/time, so
                    you can enter a message for next months PM to begin
                    the day before PM and end when PM is scheduled.
                    See MSG and CLEANMSG.

        MSG         Enters messages into the message file.

        CLEANMSG    Deletes expired messages.



If you have any problems with or corrections with these programs, please
let me know.  Of course, in the unlikely event that any of them trash
your system or do anything else unpleasant, don't blame me.  Use them
at your own risk.


John P. McGrath, Analyst
American Newspaper Publishers Association
Technical Research Department
P.O. Box 17407, Dulles International Airport
Washington, D.C.  20041

(703) 620-9500
========> [VAX84C.HGRAPH]AAAREADME.TXT;1 <========
          date:     December 7, 1984
           
          to:       HGraph DECUS Users
           
          from:     Dennis V. Jensen
                    Ames Laboratory
                    310 Metallurgy
                    Ames, Iowa  50011     515/294-4823
           
          subject:  HGraf3 - An HGraph DECUS Release for REGIS.


               The initial DECUS release of HGraph was at the Fall
          1983  Symposium.   Release one was coded entirely in DEC
          Fortran 66 compatible  code.   The  second  release  was
          distributed  at  the Spring 1984 symposium.  Included in
          the second  release  was  a  new  WRTSTR  (extracted  as
          WRTST2.*)  which  would  generate  characters as vectors
          (stroke font);  it was not dependent on  any  particular
          terminal's  character  generator.   Also, included was a
          cubic  spline   interpolation   line   drawing   routine
          (extracted  as  SMOOTH.*)  which was compatible with the
          DASHLN  calling  convention.   HGR550  files   on   this
          distribution are the same as the second release (Hgraf2)
          files which support the Visual 550 (TEK4014  compatible)
          and the Bausch and Lomb DMPL plotters.

               This  third  release  includes  support  for  REGIS
          compatible  terminals.   It  was initially developed for
          the VT-125 terminal although it should work  with  other
          REGIS compatible terminals.  Refer to the VT125.DOC file
          for information on which modules were modified to  adapt
          Hgraph to this terminal;  it includes insights as to the
          conversion for other terminals if users  would  like  to
          make changes.  The HGR125 files support a REGIS terminal
          and the Bausch and Lomb DMPL plotters.

               Hgraph is coded in FLECS.  This structured  Fortran
          code   is  contained  in  the  .FLX  files.   The  FLECS
          generated Fortran 66 code is in  the  .FOR  files.   The
          HGraph  document  is  in  the  HGraph.DOC  file with the
          associated Runoff file as HGraph.RNO.   An  RT-11  FLECS
          translator  FLECS.*  (RE:   RT SIG Fall 81 Tape) is also
          included for reference.  Refer to the VAX  Fall  82  SIG
          Tape  [VAX82B.FORDAERO.UTIL.FORDUTIL]  (or  something to
          this effect) for a VMS FLECS  translator.   Other  Flecs
          translators  are  available from SIG tapes and the DECUS
          library.

               PLOT3D.FOR is included as a separate file.  A FLECS
          version is not included as it does not exist.  PLOT3D is
          known to have bugs, but will work for  many  of  the  3D
          plots   you  may  wish  to  do.   Although  considerable

          HGraf3 - HGraph DECUS Release - REGIS support.    PAGE 2



          development is occuring at the Ames Laboratory on the 2D
          versions  of  HGraph,  no  additional  work is currently
          planned for the 3D code;  PLOT3D should  be  treated  as
          unsupported.

               In general, you will find that the source  code  is
          quite   transportable   to   other   operating  systems,
          especially if you transport the .FOR files.  Hgraph  was
          designed  to  provide  graphics support on small systems
          but is quite extendable to larger systems.  

               You can look forward to a new interactive  graphics
          editor  called  UGraph  which is based on Hgraph.  It is
          menu   driven   and   requires   no   programming.    It
          unfortunately  is  getting  larger  though  and is being
          developed on the VAX.  An overlayed  version  for  small
          systems  may be possible, though.  It is running in test
          mode now and will likely be available in the  Spring  of
          1985.

               The following notes relate primarily to  Hgraph  on
          RT-11  (small)  systems.   They are included as they may
          help you isolate setup problems:

               When using HGRAPH it is  common  to  encounter  the
          message  "LINK-F-Library  list  overflow".  Increase the
          library list size with the /P switch when linking.   For
          example:
          		r link
          		prog/P:400=prog,sy:hgraph

               A  commonly  occuring  run-time  error  when  using
          HGRAPH is "?MON-F-Trap to 4 NNNNNN" or "Stack Overflow".
          This message likely indicates a lack  of  program  stack
          space.   The  solution  is  to  increase  the  amount of
          program stack space using the  /B  linker  option.   For
          example:
          		r link
          		prog/B:1400/P:400=prog,sy:hgraph
          The default value of B is 1000 octal.  This problem will
          undoubtedly be encountered when using threaded code.

               All code included in this distribution  is  in  the
          public  domain  and  may not be marketed for profit.  It
          may be altered without the explicit  permission  of  the
          authors.   Any  corrections or significant modifications
          to HGraph are of interest to  the  authors  and  may  be
          communicated  to  the  address  above.   The authors and
          their  employers  assume  no  responsibility   for   the
          correctness   or  the  appropriatness  of  the  software
          included in this distribution.
========> [VAX84C.LEVINE]AAAREADME.TXT;1 <========


        This submission to the FALL 84 symposium consists of two
subdirectories, each of which contains a fuller description of the
programs.

[.INDEX]        FORTRAN Cross Referencer and Flow Chart Generator

[.MISC]         Assorted tools

                FRAG    Files-11 Level 2 disk fragmentation statistics
                DIR     Disk Directory Structure
                SYS     Who is doing what on the system.
========> [VAX84C.LEVINE.INDEX]AAAREADME.TXT;3 <========


                INDEX FORTRAN Cross Referencer and Flow Chart Generator

          INDEX is a FORTRAN source cross-referenceing  and  flow  charting
     utility  that  allows  the  user  to  look  at individual source files
     (optionally saveing the data for an overall SUPER INDEX) and determine
     what  variables  are  used  on  what  lines  and  how  they  are used.
     furthermore the user can select for display only variables  or  COMMON
     blocks with the characteristics that he is interested in-global/local,
     assigned value/not assigned value, used/unused, imported/exported, etc
     in  any  combination.   Also available is the optional ability to show
     the  variable  storage  information  (local,  in  COMMON,  passed   by
     argument,  etc)  and useage in FUNCTION/SUBROUTINE calls (routine used
     in and argument number)  in  both  the  basic  and  SUPER  INDEX.   If
     selected,  the  user may at the same time generate a flow chart of the
     source file currently being cross-referenced.

          In addition the user can also save the  selected  variable/COMMON
     block   names   (with   optional   user  specified  tags  for  further
     identification and/or variable storage location information ) or entry
     point  information  from multiple files and output the accumlated data
     as a super index (with a great deal of user control over the  form  of
     the  data  display)  or  as an entry point cross reference showing who
     calls who and is called by who (with optional graphical tree output).

          Before building, the system manager should read the last half  of 
     the  document  INDEX.DOC  generated  by  the  command  @DOCUMENT.
========> [VAX84C.LEVINE.MISC]AAAREADME.TXT;2 <========


        FRAG.MAR        Reads the specified disk's [000000]BITMAP.SYS
                        (requires read access to that file) and
                        outputs the disk free space fragmentation.
                        Information includes distribution of free
                        fragment size as an absolute value, as a percent
                        of disk total free space and of disk total space.
                        Just needs to be assembled and linked.
                        Uses LIB$GET_FOREIGN so it can be set up in
                        the global symbol table as
                        FRAG :== $FRAG
                        and run
                        $ FRAG DRA0:
                        This program based on one of the same name found
                        on various RSX SIG Tapes.

        DIR.COM         Requires BYPASS priv. Runs through the current
                        SYS$DISK outputing to the terminal and to
                        the file DIRECTORY.MAP a map of all the
                        directories and subdirectories on the disk, also
                        the number of files and blocks they contain.

        SYS.COM         Requires SETPRV or WORLD and GROUP priv. and
                        a VT100. Modified from an example in the 
                        "Guide to Useing Command Procedures" in Vol 2B.
                        Shows who is doing what in the system.
========> [VAX84C.LJK.DECUS.PAGESWAP]AAAREADME.TXT;3 <========





                                 submitted by:


                             Lawrence J. Kilgallen
                              Box 81, MIT Station
                           Cambridge, MA  02139-0901



          Copies of Pageswappers published since the last tape.
========> [VAX84C.MADISONDE.MICRO]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     Enclosed is some  of  the  more  useful  public  domain  software  for
     personal  computers  that we have gathered from various sources.  Most
     of this software  has  come  from  various  Fidonet  BBS  systems  and
     Digital's  LCG  Market  system.   The latest versions are available on
     Michael's Fido BBS system ((608) 233-8449).

          We would like to thank Prof.  Murray Thompson,  Director  of  the
     University of Wisconsin's Physical Sciences Lab (PSL), for sharing his
     VAXcluster with us to make this submission possible.




     [.CPMRB]


          CP/M-86/80 programs for the Rainbow.


     [.FIDONET]


          Rainbow versions of Fidonet BBS software.


     [.KERMIT]


          MS-DOS (PC-DOS) versions of Kermit for the Rainbow,  IBM-PC,  and
     Wang-PC.


     [.MISC]


          Miscellaneous information.


     [.MSRB]


          MS-DOS programs that are Rainbow specific.
                                                                          Page 2


     [.MSDOS]


          General MS-DOS that  should  run  on  most  computers  running  a
     version of MS-DOS or PC-DOS.
========> [VAX84C.MADISONDE.MICRO.CPMRB]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     This subdirectory contains Rainbow Specific CP/M-86/80 programs.




     [.CPMRB]


        DOSFLX.CMD;1    Access MS-DOS and PC-DOS disk files (from DEC)
        PACMAN.CMD;1    Demo (try this on MS-DOS with AME86)
        SETPORT.CMD;1   Set printer/comm. port parameters (from DEC)
========> [VAX84C.MADISONDE.MICRO.FIDONET]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     Rainbow versions of Fidonet  BBS  software.   The  latest  version  is
     obtained  by  calling  a  Fidonet  node  (see NODELIST in [.MISC]) and
     downloading it.  Use the LU.EXE utility to unpack  the  libraries  and
     the USQ.EXE utility to unsqeeze the *.*q* modules.




     [.FIDONET]




        BBSFILS.LBR     BBS-FILS.LBR file for version 9K distribution
        FIDO10A.LBR     Version 10A update to files in FIDO9K.LBR
        FIDO9K.LBR      Version 9K Fidonet distibution
        FIDOHLP.LBR     Distributed with version 9K.
========> [VAX84C.MADISONDE.MICRO.KERMIT]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     MS-DOS versions of Kermit.  Get the  latest  version  from  DEC's  LCG
     system (see [.MISC]).




     [.KERMIT]


        MSIBMPC.EXE     IBM-PC version
        MSKERMIT.DOC    Documentation
        MSRB100.EXE     Rainbow version
        MSWANG.EXE      Wang version
========> [VAX84C.MADISONDE.MICRO.MISC]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     This subdirectory contains some miscellaneous information.  There is a
     demo  session  linking  to  Digital's  LCG  Market  system, the VAX-11
     FORTRAN source for a VAX XMODEM implementation, a listing of DEC micro
     user groups, and a listing of Fidonet nodes.




     [.MISC]


        AREAS.TXT       LCG file areas
        COMMANDS.TXT    LCG commands
        DECUSERS.DOC    DEC micro users groups
        DEMO.LCG        Log of LCG session with added comments
        FIND.TXT        LCG aid to finding files
        KERMIT.HLP      LCG help using Kermit
        LENGTH.TXT      LCG help in estimating file size
        NODELIST.DOC    List of Fidonet nodes
        VAXVMS.LBR      VAX-11 FORTRAN implementation of XMODEM protocal
========> [VAX84C.MADISONDE.MICRO.MSDOS]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     Here is a  collection  of  useful  MS-DOS  modules.   The  modules  in
     libraries  (*.LBR)  must  be  extracted  with the LU.EXE utility.  The
     documentation for LU is in LU.DOC.  Any  module  with  a  "Q"  in  the
     second character position of the filename extension (i.e.  SAMPLE.DQC)
     has been "squeezed" so that it takes up less space (and costs you less
     to  download  it).  It has to be "unsqueezed" to be used.  Look at the
     documention for USQ.EXE in USQ.LBR.




     [.MSDOS]


        ALTER.DOC       Alter directory attributes of a file
        ALTER.EXE
        AME86.LBR       Allow CP/M-86 program to run under MS-DOS
        ASCII.LBR       Print table ASCII/Hex/Decimal/Octal characters
        ASK.COM         Yes/No batch prompting program
        ASK.DOC
        ASMGEN.COM      Dissassembler
        ASMGEN.DOC
        CALC.EXE        Reverse-Polish notation desk calculator
        CC.C            C language checker
        CC.EXE
        CHMOD.EXE       Change directory attributes of a file
        CLIP.COM        Change disk volume label
        COMSPEC.ASM     Patch COMSPEC parameter
        COMSPEC.COM
        COREWARS.LBR    Game from Scientfic American
        CV.COM          Create disk volume labels
        CV.DOC
        CWEEP.DOC       SWEEP file utility
        CWEEP.EXE
        DELBR11.EXE     Another library utility, v1.1 6/6/84
        DELETE.COM      Wildcard file delete with prompt
        DELETE.DOC
        DIAL.COM        Dialer
        DIAL.HLP
        DIRFIND.ASM     Directory search function for C86
        DOS2.DOC        MS-DOS "Hints and Kinks"
        DOSTIPS.DOC
        FDATE.COM       Alters a file's date
        FDIR.COM        Fast directory display
                                                                          Page 2


        FGREP.DOC;1     UNIX like pattern match utility
        FGREP.EXE
        FILT.C          Text filter
        FILT.EXE
        FLY100.EXE      Cessna 152 flight simulator
        FREE.COM        Display available disk space
        INDEX.DOC       Text file index generator
        INDEX.EXE
        INUSE.COM       Displays "INUSE", requires password to continue
        INUSE.PAS
        LOOK.COM        Byte search program
        LU.DOC          Librarian utility for maintaining *.LBR files
        LU.EXE
        MAKE.LBR        UNIX-style "MAKE" utility
        MAKEDB.C        Programmer's tool - converts binary file to DB
        MAKEDB.DOC
        MICROLIN.C      Control codes for Microlin printers
        MICROLIN.DOC
        MICROLIN.EXE
        NRO.DOC         Environment type text formatter
        NRO.LBR
        NUSQ.COM        New file squeezer utility (small and fast)
        NUSQ.DOC
        RAMDISK.DOC     RAM disk for MS-DOS 2.xx
        RAMDISK.SYS
        RENDIR.COM      Rename subdirectory
        SCAVENG2.COM    MS-DOS 2.00 bad sector mapper
        SCRUB.C         Text file filter
        SCRUB.EXE
        SD.COM          Sorted directory listing utility
        SD.DOC
        SQ.COM          File squeezer utility.
        SYSCALL.DOC     MS-DOS 2.00 system calls
        TEXTFORM.C      Text formatter (prints Wordstar format files)
        TEXTFORM.DOC
        TEXTFORM.EXE
        TIDY.ASM        Creates new alphabetized directories
        TIDY.DOC
        TOUCH.COM       Set directory date/time of file entry to current
        TOUCH.DOC
        TPRINT.C        Print utility (useful for listing C programs)
        TPRINT.DOC
        TPRINT.EXE
        TREEDIR.COM     Display tree directory structure
        TREEDIR.DOC
        USQ.DOC         Unsqueeze utility (use with *.*Q* files)
        USQ.EXE
        USQ.LBR
        UTILITY.DOC     MS-DOS utility extensions documentation
        VDEL.COM        Delete with verify
        VDEL.DOC
        VECTS.EXE       Display MS-DOS interrupt vectors in use
        WASH.DOC        Disk management tool
        WASH20.COM
        XLISP.LBR       Experimental object-oriented language
        Z.COM           Switch directory/pathnames
        ZAPLOAD.DOC     Converts binary file to Intel hax format
                                                                          Page 3


        ZAPLOAD.EXE
========> [VAX84C.MADISONDE.MICRO.MSRB]AAAREADME.TXT;1 <========


                Madison Wisconsin Local Users Group Submissions


                                 submitted by:


             Michael K.  Mansfield           William T.  Patterson
             University of Wisconsin         Almark Enterprises, Inc.
             302 Hiram Smith Hall            6425 Odana Road
             Madison, WI 53706               Madison, WI 53719
             (608)262-7730                   (608)274-3140


     These MS-DOS files will work only on a Rainbow.  The *.LBR files  must
     be processed by the library utility LU.EXE in [-.MSDOS].




     [.MSRB]


          MS-DOS programs that are Rainbow specific.
        CLRDTR.ASM      Clears the Rainbow Comm. port DTR
        CYCLE.LBR       Color graphics demo
        DESIGN.BAS      Another graphics demo, use with GWBASIC
        DIAL.SCR        Dialing example script file for LCTERM
        IO20501.LBR     Update for MS-DOS IO.SYS, speeds screen I/O
        LCTERM.EXE      Kermit and XMODEM transfer program version 3.30
        LCTERM.MEM
        PTPDEMO.LBR     Demo of PTP editor from Newline Software
        RBDOS.TXT       Notes on undocumeted MS-DOS calls
        RBLCTERM.C      Latest source we can find for LCTERM v2.26
        RBLCTERM.DOC
        SCROLLCK.ASM    ????
        SETPORT.EXE     Sets Rainbow printer/comm. ports (from DEC)
        VIEW.EXE        Fast text file display (from DEC)
        VT100.BAS       VT100 screen functions in Basic
========> [VAX84C.MILLER.VAXNET]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

     Now residing at:

        Nothern Telecom Inc.
        Airport Road
        Concord, New Hampshire 03301
        (603) 224-6511 X2024

        Program:        VAXNET
        Author:         Robin Miller
        Date:           Fall 1984

     Description:

         VAXNET  is  a  program  which allows communcations between two
     computers using an asynchronous terminal port.  The systems can be
     connected either directly using a null modem cable or via a dialup
     modem.  Communications  with  the  remote  system  is accomplished
     using a second port on the local system.

        This  is  the  6th submission of VAXNET.  Sorry but there still
     isn't  a  User's  Manual available although the help file has been
     updated. I hope to have a manual put together by the Spring DECUS.
     This  is VAXNET Version 8.6 which has the following new features:

        o  The  SHOW SIGNALS command has been updated to show modem
           signals both asserted and not asserted.

        o  A  SNDRCV  program  was  written  in  TECO to allow file
           transfers  with systems supporting TECO.  The unsquished
           TECO macro (SNDRCV.TES) contains excellent documentation
           on the VAXNET protocol.

        o  Minor bug fixes.


                                                      Page 2


     Program Features:

        o  Virtual Terminal Mode. VAXNET runs in virtual terminal mode
           at  any  baud rate.  I've run at 19.2K baud without loosing
           characters as long as the remote system responds to the XON
           / XOFF  flow control protocol.  Running a slower baud rates
           does not require this support since incoming characters can
           be processed fast enough.

        o  Log File Capability.  By using the log file capability, all
           output from the remote system can be written to a disk file
           on  the  local  system.  The  log file is later reformatted
           using the REF utility and can then be edited and/or printed.
           This capability is very useful for generating documentation
           or  for tracking changes you've made at a remote site (such
           as patches).

        o  Support  Multiple  Protocols.  Current  the original VAXNET
           protocol and the XMODEM protocol are supported.  The KERMIT
           protocol will be added in a future release.

        o  File Mishing Utility.  The  MISH program is used to convert
           any type of file into printable ASCII for file transmission.
           The  program uses HASP data compression and stores the file
           attributes  in  a  header  record  which  is  later used to
           convert the file back into it's original format.

        o  Autodial Modem Support.  Currently  the  DEC DF03 and RIXON
           R212  autodial modems are supported.  The next release will
           support  two  types  of VADIC modems, the HAYES Smartmodem,
           and the US Robotics autodial modem.

        o  Dump Mode Operation.  The  DUMP  command  is  used  to send
           files  to  a system which doesn't have the SNDRCV or VMODEM
           programs  for transferring files with error checking.  This
           capability used in conjunction with the log file feature is
           an  alternate  method  of  transferring ASCII files between
           systems. This is the method used for bootstrapping a system
           which doesn't have one of the file transfer programs.

        o  Script Mode Operation.  In  script  mode, a remote terminal
           session  can  be driven by commands in a script file on the
           local  system.  This   file  contains the prompts to expect
           from the remote and commands to send when these prompts are
           received.

        o  Batch Mode Operation.  Using  an  autodial modem, the auto-
           login capability,  and a script file, you can automatically
           send files to another system. These features have been used
           to succesfully  send TELEX's or MAILGRAM's via the EASYLINK
           system and to send mail between VMS systems.


     Future Features:

                                                      Page 3


        o  Additional autodial modem support.  You will also be able
           to specify multiple autodial modem ports to automatically
           select the first free modem available.

        o  The  next  version  will also allow you to set the remote
           terminal parity to either EVEN, ODD, or NONE.

        o  Partial support for a SLAVE command has been added.  This
           will  allow  you  to  transfer  bulk  ASCII data from the
           remote  system  to  a  local  disk  file  or line printer
           without  the  overhead  of  virtual  terminal  mode.  For
           example, a spooled terminal port on the remote system can
           send it's output to a local printer.

        o  Support  for  the  KERMIT protocol.  Although a VMS version
           of KERMIT exists (the one I was using was written in BLISS)
           VAXNET supports features unavailable in KERMIT.


     Problems:

        Software overrun errors will occur at high baud rates unless
     the alternate typeahead buffer is enabled for the remote port.

        The  system  manager must allow read, write, and logical I/O
     operations to the remote terminal port.  This is done using the
     DCL "SET PROT=(,,,RWL)/DEVICE device:" command.


     Build Procedures:

        The executables are available and are ready to go when you are.
     If you should need to rebuild it, the following command files are
     available:

     VAXNET.COM         Compiles all the FORTRAN modules.
     VAXNETLBR.COM      Generates the VAXNET object module library.
     VAXNETBLD.COM      Generates the VAXNET executable via LINK.
     COMP.COM           This command file is used to compile and replace
                        individual modules in the library.

     [VAXNET.SNDRCV]    Contains  the  files  for the VAX and RSX SNDRCV
                        program  and  a  SNDRCV  TECO  macro for systems
                        which  supports  TECO.  This TECO macro has been
                        used  on  RSX-11M/M+,  VAX/VMS, and RT11 running
                        version 36 of TECO.

     [VAXNET.RSXNET]    Contains the files for the RSXNET program.  This
                        is  a subset of the VAXNET program which runs on
                        RSX-11M/M+.

     [VAXNET.MISH]      Contains the files for the file mishing utility.
                        This program is used to convert any type of file
                        into  an  ASCII  format  for  file transmission.
                        After  the mished file is received on the remote
                                                      Page 4


                        system this program converts  the file back into
                        it's original format with attributes retained.

     [VAXNET.REF]       Contains the files for the reformatting utility.
                        This  program  is used to reformat the log files
                        generated by the VAXNET/RSXNET programs. It also
                        has  useful  features  such  as  EBCDIC to ASCII
                        translation.

     [VAXNET.VMODEM]    Contains  the files for the VMODEM program which
                        supports  the XMODEM protocol.  The UNIX version
                        also available in this directory.
========> [VAX84C.MILLER.VAXNET.MISH]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

        Program:        MISH
        Author:         Robin Miller / Gary Larsen
        Date:           Fall 1984

     Description:

        This  program  is used to compress and convert input files into a
     printable  ASCII format.  The file attributes are stored in a header
     record  which is used when decompressing to restore the file to its'
     original  file  format.  This  mished  file format is useful for any
     communication program which transfers ASCII files.

        A special version of the MISH program called MISHALL is available
     to aid in bootstraping the SNDRCV program.  This source file has all
     analyze code and comments removed to reduce the size.  The using the
     DUMP  command  in RSXNET/VAXNET, the program can be sent to a remote
     system where it can be assembled and taskbuilt.  A mished version of
     the SNDRCV program is then dumped to the remote system, decompressed
     by MISHALL, and you are ready to transfer files with the remote.

******************************************************************************

Example:

>dir mish.tsk

Directory DB0:[263,70]
3-DEC-84 15:50

MISH.TSK;1          60.     C  14-AUG-84 10:24

Total of 60./60. blocks in 1. file

>mish
MISH>/he
                                                      Page 2


  
  MISH is a program used to compress and convert input files into printable
  ASCII files.  These files can be submitted on HASP reader streams and can
  be transmitted using VAXNET/RSXNET.  After the file is received at the
  remote system, MISH is then used to decompress the files back into their
  original file format.  All file attributes are restored using the header
  record from the compressed file.
  
  Command line format:
  
       input_file/switches output_file/switches
  
  Where switches are:
  
    /ANALYZE    - Used to analyze the header record and/or data of a file
                  which has been compressed.  Additional sub-switches that
                  can be used are /DATA, /OCTAL, & /REVERSE.
    /COMPRESS   - Used to compress files.  This is the default mode.
    /DECOMPRESS - Used to decompress files into their original file format.
  
MISH>mish.tsk mish.mis
File: MISH.MIS, total number of blocks = 60, total number of records = 474
MISH>^Z
>
>dir mish.mis

Directory DB0:[263,70]
3-DEC-84 15:50

MISH.MIS;1          68.        03-DEC-84 15:45

Total of 68./68. blocks in 1. file

        ************************************************************
        *       The /ANALYZE switch displays the file header.      *
        ************************************************************

>mish
MISH>mish.mis/anal
$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*

MISH FILE HEADER

        File name: MISH.TSK
        Owner UIC: [263,070]
        Protection:  System: R, Owner: R, Group: R, World: R
        Mished Date: 3-DEC-84
        Contiguity Options: contiguous

FCS/RMS FILE ATTRIBUTES:

        File Organization: sequential
        Record Format: fixed
        Record Attributes: 
        Maximum Record Size: 512
                                                      Page 3


        Longest Record: 512
        Blocks To Allocate: 60, Default Extend Size: 0
        End-of-file VBN: 61, Offset: 0

$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*
MISH>^Z
>
        ************************************************************
        *    The mished file is then transferred to the remote     *
        *    system using the RSXNET and SNDRCV programs where     *
        *    it is decompressed back into it's original format.    *
        ************************************************************

>mish
MISH>mish/decompress
File: MISH.TSK, total number of blocks = 60, total number of records = 474
MISH>^Z
>
========> [VAX84C.MILLER.VAXNET.REF]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

        Program:        REF
        Author:         Gary Larsen / Robin Miller
        Date:           Fall 1984

     Description:

        REFormat is a program used to convert input files into variable
     length  output  files  with implied carriage control.  During this
     conversion, the control characters NULL, XON, XOFF, and DELETE are
     stripped.  The program will also optionally do ASCII to EBCDIC and
     EBCDIC  to  ASCII  conversions.  This program is generally used to
     reformat the RSXNET & VAXNET log files.
  
     Command line format:
  
       input_file/switches output_file/switches
  
     Where switches are:
  
     /ASCII     - Convert input file from ASCII to EBCDIC.
     /EBCDIC    - Convert input file from EBCDIC to ASCII.
     /VFU       - Input file contains line printer Vertical Format Control.
     /TOTAL     - Output number of records and bytes written to output file.
     /BACK (D)  - Remove delete sequences from the input file.
     /ESC  (D)  - Break output records on cursor positioning escape sequences.
     /NAME (D)  - Output the name of the reformatted output file.
   
     Switches can be negated by prefixing the switch with a '-' or 'NO'.
========> [VAX84C.MILLER.VAXNET.RSXNET]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

        Program:        RSXNET
        Author:         Robin Miller / Gary Larsen
        Date:           Fall 1984

     Description:

        RSXNET is a program which allows asynchronous communcations between
     two computers (systems).  Communications can be either directly between
     the computers using a null modem patch cable (see "HELP PATCH" for the
     wiring diagram), or over a dialup line (modem).  Communications with
     the remote system (the system you want to talk to) is accomplished
     using a second port (asynchronous line) on the local system.

     RSXNET is a sub-set of the VAXNET program which runs on VAX/VMS.  The
     VAXNET program is being submitted to the VMS SIG tape for those who
     may be interested.

     Program Features:

        o  Virtual terminal support with no speed limitations.  The remote
           system must use the XOFF/XON flow control protocol to run at
           high baud rates (typically greater than 1200 baud) or a loss
           of characters will result.

        o  Logging of the remote terminal session to a disk file.  After
           exiting from RSXNET, a program called REFormat is used to create
           an output file which can then be printed/edited without problems.

        o  File transfers to a remote system.  The SNDRCV program (either
           FORTRAN or TECO version) is used to transfer files to a remote
           system with error checking.  When this program is unavailable,
           the DUMP command within RSXNET can be used to send ASCII text
           to the remote system running any program which accepts input
           (such as an editor).

                                                      Page 2


        o  Ability to transfer binary files.  The MISH program converts
           any type of file to a printable ASCII format (also compressed)
           which can be transferred to the remote then converted back into
           its' original file format.
========> [VAX84C.MILLER.VAXNET.SNDRCV]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

        Program:        SNDRCV
        Author:         Robin Miller
        Date:           Fall 1984

     Description:

        The  SNDRCV  program is used on a remote system to transfer files
     ASCII files with either the RSXNET or VAXNET communication programs.
     There are three versions of SNDRCV in this directory; an RSX version
     written  in  FORTRAN, and VMS version written in FORTRAN, and a TECO
     version  which  runs on any system which supports TECO.  The version
     of TECO used when testing was version 36 on an RT11 system.
========> [VAX84C.MILLER.VAXNET.VMODEM]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

        Program:        VMODEM
        Author:         Robin Miller
        Date:           Fall 1984

     Description:

        VMODEM is  the VMS version of the UMODEM program which uses the
     XMODEM  protocol  used on many micros.  I've included this program
     because  the VAXNET program now supports this protocol and you may
     wish  to  use  this program instead of the SNDRCV program for file
     transfers.  The XMODEM protocol has better error checking than the
     SNDRCV protocol but only allows sending or receiving a single file
     at a time.  It also has the advantage of running on UNIX where the
     SNDRCV program does not.

     WARNING:

        Receiving  files from the VMODEM program works just fine (doing
     a  VAXNET  GET  command).  But sending files to VMODEM has lots of
     overhead since it does single character reads.  At slow baud rates
     this isn't too bad but at higher baud rates it eats up VMS.
========> [VAX84C.MILLER.VTL]AAAREADME.TXT;1 <========


                               Free software BY
                     Project Software & Development, Inc.

     This  software  is  furnished for free and may be used and  copied as
     desired. This software or  any  other copies  thereof may be provided
     or  otherwise  made  available  to any other person.  No title to and
     ownership of  the  software  is  hereby transferred or allowed. 

     The information in this software is subject to change  without notice
     and  should  not  be  construed  as  a commitment by PROJECT SOFTWARE
     AND DEVELOPMENT, INC.

     PROJECT SOFTWARE assumes no responsibility for the use or reliability  
     of this software on any equipment whatsoever.

        Project Software & Development, Inc.
        14 Story St.
        Cambridge, Ma. 02138
        617-661-1444

     Now residing at:

        Nothern Telecom Inc.
        Airport Road
        Concord, New Hampshire 03301
        (603) 224-6511 X2024

        Program:        VTL
        Author:         Robin Miller
        Date:           Fall 1984


     Description:

        This program is used to list file(s) on a VT100 family  terminal.
     The  file(s)  are  displayed  one screen at a time for easy viewing.
     Various commands can be entered to change listing parameters  or  to
     position  to a particular portion of the file.  Many of the commands
     are the same as the Digital editor EDT.   Commands  can  be  entered
     either by using keys on the VT100 keypad, or by entering commands to
     the prompt at the bottom of the screen.  Some of the major  features
     of the program are outlined below:

       o  CTRL/C detection for aborting searches, etc.
       o  Delete the file being displayed.
       o  Display a ruler along the top of the file.
       o  Display the next file or next the directory.
       o  Display record numbers along the left margin.
       o  Display the file header of file being displayed.
       o  Print the file being displayed.
       o  Search (forward only) for a specified string.
       o  Shift the display window left or right.
       o  Split screen mode to display two files.
       o  Teco compatible see-all mode.
       o  Write portions of the file being displayed.
                                                      Page 2



     The maximum record size that can be  displayed  is  512  characters.
     All  commands  have a repetition count of one.  Relative and indexed
     files are not supported.

     The  special  wildcard  characters "* and %" can be used with VTL on
     RSX-11M using FCS for I/O instead of RMS. Previously these were only
     valid  on VMS since a native image was being called to lookup files.
     The  Digital  files  ASCR50.MAC and PARSFN.MAC were modifed to allow
     this  type of wildcard lookup.  Unfortunatly, since they are Digital
     source  files I can't submit them to the SIG Tape.  I hope to submit
     an article on this to the RSX News Letter in the near future.  These
     modified  modules  are  in  the  object library (VTL.OLB) and can be
     extracted  an  used with other programs.  Refer to module VTLOPE for
     further information on using these (must save the file name block).

     [ File "VTL.MEM" contains full documentation for this program. ]


                        VT100 File Listing Utility
                        --------------------------

  NEW VERSION:

  This is the second version of the VTL program.  The new features added
  are listed below:

     o  Multiple files seperated by commas can now be specified on VMS.
        For example:  $ VTL [miller...]*.com,home:login.com,t.dat

     o  The Find and Page commands will now search backwards through the
        file.  The Find and Find Next commands display the direction of
        the search if the search string if not found.

     o  The Page, Find, Number, and Bottom commands now display a working
        message every two seconds.  The current record number is also
        displayed along with the working message to let you know how far
        through the file you are.

     o  The control keys are now recognized.  Control keys defined are:
        CTRL/U and CTRL/C deletes the command line and/or aborts a prompt,
        CTRL/R and CTRL/W refresh the screen, backspace backs up one line,
        and the delete key deletes the last character.

     o  The return key no longer terminates the search string prompt. This
        was done to allow searching for carriage returns within the file.

     o  The Print command now works on VMS.  The compatibility mode print
        routine previously used doesn't work with RA81/RA60 disks.  The
        print command is now performed by spawned the PRINT command to
        DCL.  Only the logical names are copied during the spawn process.

     o  The program no longer exits automatically at the end of file as
        you are scrolling through the file.  You must use the EXIT/NEXT
        command or CTRL/Z to exit the program or display the next file.
                                                      Page 3



     o  Messages are now displayed if you try to scroll past the top or
        bottom of the file.

     o  The margin indentation is now displayed when it is automatically
        indented to display a search string which is off the screen.  The
        command "SHOW MARGIN" can also be used to display the indentation.

     o  The program now presumes the terminal has the Advanced Video Option
        (AVO).  This only affects files displayed in 132 column mode since
        only 14 lines can be displayed.  If your terminal doesn't have the
        AVO option you must specify a /NOAVO switch on the command line or
        use the "SET NOAVO" command when you're displaying a file.

     o  The ruler is now displayed properly if the line numbers are being
        displayed for each record.

     o  The "SET LINES n" command allows a low limit of 2 lines to display.
        This is the smallest scrolling region that can be set on the VT100.

     o  The "SHOW SECTION" command displays the current section size.  This
        is the number of lines scrolled forward/backward when the keypad
        key 8 is pressed.  Note that this size can be changed with the
        "SET SECTION size" command.  By changing this to a large value, you
        can move through the file in large sections (i.e., every 100 lines).

     o  The keyword ALL (same as WHOLE) can be used with the WRITE command
        to write the entire file to an output file.
========> [VAX84C.NSWC]AAAREADME.TXT;4 <========





                        [VAX84C.NSWC]AAAREADME.TXT



    PARMQUAL PROGRAM
    ----------------


        The  PARMQUAL  program is designed  to be used  inside command
        procedures.   It parses the arguments  passed to the procedure
        (the  DCL  Symbols P1 through P8),  which are assumed to be in
        the format of DCL command parameters and qualifiers,  and sets
        local symbols to the values  derived from the arguments.   For
        instance, if:

                P1 = "AAA/BBB/CCC"
                P2 = "DDD"
                P3 thru P8 = ""

        Then PARMQUAL sets the following symbols:

                PARM1 = "AAA"    PARM2 = "DDD"    PARM3 = ""
                QUAL1 = "/AAA"   QUAL2 = "/BBB"   QUAL3 = ""

        Thus the procedure  does not need  a lot of statements to cor-
        rectly  split symbols  into atomic parts,  and to discriminate
        parameters from qualifiers.



    PARALLEL COMMAND
    ----------------    


        The  PARALLEL  command appends two files side by side, instead
        of end to end, as the  VMS  command  APPEND does.  This can be
        used, for instance, to annotate and print a report or document
        file with remarks without placing permanent remarks within the
        file.  See PARALLEL.HLP for more information.



        These programs were developed and run under  VMS  V3.7;  it is
        not known if they still work under V4.0.


    ------------------------------------------------------------------

        Submitted by:  Alan L. Zirkle     Naval Surface Weapons Center
                                          Code N41
                       Fall 1984          Dahlgren, Virginia  22448

                                                      Page 2




========> [VAX84C.RECOVER2]AAAREADME.TXT;2 <========


                          Recover2

                 ODS-2 Disk Recovery Tools

                  Anthony E. Scandora, Jr.

                    921 E. Parkway Drive
                     Wheaton, IL  60187

     One Friday afternoon, I got a phone call from a poor
soul who had initialized the wrong disk in a cluster, was
sorry, and wanted it back.  The volume was mounted on
another CPU, but VMS let it be initialized, anyway.  The
system's TU77 had been busted for a few weeks, so the only
tape backup was too old to be useful.  I looked at Mike
Higgins' and Phil Cannon's disk recovery tools from old RSX
SIG tapes, but they assumed that the index file was still
available.  Unlike RSX, which creates a reasonably sized
index file by default, VMS just creates a little index file
by default and extends it a lot.  Fortunately, the
initialize command had no arguments in it (except, of
course, the wrong device name), so all we had to do was find
all of the blocks that were in the old index file and use
them to recover their files.

     What does an index file block look like?  I looked in
starlet.mlb for a macro describing it, but I couldn't find
one (now I feel stupid for forgetting to look in lib.mlb).
TSC had a huge manual on the subject, but they didn't want
to read it to me over the phone.  A long time ago, an
ancient ODS-2 document for the PDP-11 fell into my hands.
It was worth a shot.  Sure enough, it still describes ODS-2.
It even names the macro fhdo2$, which is in rsxmac.sml.  I
translated that macro to VAX macro, and we were in business.

     I wrote scan2 to read every block on a disk, decide if
it could have been in the index file, and if so, write some
of the fields (see indexf.dtr) into a file called indexf.seq
on a good disk.  Then I converted it to indexf.idx, and let
Datatrieve analyze it.

     Good old ODS-2 has back file pointers, which point to
files' directory files.  We had Datatrieve write a report
sorted by back file pointer and file name, which produced a
great sigh of relief.

     The other half of the program, recover2, reads every
record in indexf.idx, and for each record that is marked to
be recovered, reads a file header by LBN from the dead disk
and restores the file to the directory logically named
recovered:.

     That program is driven by recover2.com, which takes two
arguments:  a directory name and its FID on the dead disk.
It calls Datatrieve to mark all files whose back file
Recover2 ODS-2 Disk Recovery Tools                    Page 2


pointer matches the directory's FID to be recovered, creates
the destinatation directory and assigns the logical
"recovered" to it, runs recover2, and calls Datatrieve again
to change the status of all of the files to be recovered to
done.

     Finally, we marked all unprocessed files to be
recovered, and let recover2 put them in syslost.

     They only had an ancient PDP-11 DTR, which appears to
read commands from its terminal, so I had to "mcr dtr @file"
to call it.  The Datatrieve procedures could be a lot better
for VAX Datatrieve.  The old DTR uses the size of the pic to
decide if comp fields are words or longs.

     There were no multi-header files on the disk, so
recover2 doesn't do them.  It could be added.  I started to
have it create the file with XABs, but it got too
complicated.  I commented out that code and had it write the
header.  I think there is code in there for more than 64K
files.  The high byte of the relative volume is the high
byte of a three byte file number.  To do it right, the
program should be changed to swap the bytes of the relative
volume number and use that as the high word of a long file
number.

     This was done on a commercial system, so this SIG tape
submission does not contain any of their directories.
========> [VAX84C.RIT]AAAREADME.TXT;1 <========



        these directories contains a bunch of simple (and somtimes 
        useful) utilities.

        Questions concerning these submissions should be directed to:

                Andrew W. Potter
                Rochester Inst. of Techology
                ISC-Technical Support
                One Lomb Mem. Drive
                Rochester NY. 14623
                Phone (716) 475-6994

programs are:

        NEWS     A general news utility that runs when users login and
                 gives them a brief listing of all unread news. When the 
                 user reads the news in full, the login message is removed
                 for that user. A nice alternative to a lengthy SYS$WELCOME
                 file. The program must be installed with SYSPRV and SYSLCK

        CD       A fast unix(tm) like chdir written entirely in fortran
                 (no dcl)

        FINGER   a utility to finger a user in sysuaf...safe enough to
                 be installed with SYSPRV. Tells you more if you have OPER

        GMAIL    A general purpose public bulletin board facility.

        KILL     a rewritten version of an earlier submission which
                 now uses CLDs, error definitions and has force image exit opt.

        NETCOPY  A preprocessor for copy which uses getjpi to get a username
                 and inquires for the password separately(noecho)...
                 (The username can still be specified explicitly)

        NETUSERS a graphic program which (on a GIGI or VT-125) will
                 display in colered bar graph form the user and batch job
                 counts on up to 5 decnet nodes.

        NODESHOW a utility which will allow users to look at other DECNET
                 nodes without actually logging on to them.

        WHERE    The result of playing with SYS$FAO...gives a 2 line
                 summary of the local system load and shows where and
                 who you are...(handy for login.coms)

========> [VAX84C.RIT.CD]AAAREADME.TXT;1 <========


                                CD

This is yet another CHDIR program. however it offers the following
features:

        1) it is written entirely in a high level lang..not DCL
           hence it is much faster.

        2) it supports 2 syntaxes ...one for the UNIX (tm) diehards
           and one that has cropped up in many DCL versions.

           the following 3 commands are the same.

            $ SET DEFAULT [--.FOO.BAR.SUB]

            $ cd ../../foo/bar/sub

            $ cd ^^foo.bar.sub

        3)  cd checks to see if the target directory is accessable
            and issues an error if it is not...hence you cannot
            cd into nonexistant or protected directories.

        3)  cd has a built in help which is invoked by:

                $ cd ?

        4)  Cd has a mechanism to allow for simple hopping about in 
            system directory...it translates the logical names 
            SYS$SYSROOT and SYS$SYSDEVICE so these commands will
            work on any normal VMS rooted system directory tree
            on any system device. CD ? will list the system tree commands

        disadvantages:

        1)  it must be defined as a foreign command. (CLD definitions
            work poorly because DCL has special interpretations of the "/"
            character.  place the following line in SYLOGIN.COM or
            individual LOGIN.COM routines.

                cd == "$disk:[directory]cd"  ! where ever you put cd

         2) It has a site specific syntax to change directory to
            a volume called "LIB$DISK" (this can be changed inthe source)


        required files:

                CD.FOR          source
                CDMESS.MSG      error message definition
                CD.RNO, CD.MEM  User guide
                MAKCD.COM       Routine to compile and link CD

========> [VAX84C.RIT.FINGER]AAAREADME.TXT;1 <========


                                   FINGER

        FINGER a fortran program to read the system authorization file
        and read a user record by either uic or username

        install with sysprv...

        if the calling account has oper priv then finger will supply
        the entire owner field, priv mask, login.com and default device 
        and directory.

        Finger is designed to run in an academic environment.
        Therefore non prived users (those without OPER)  cannot call
        finger from a command procedure or a subprocess. (an attempt 
        to keep users (students) from running brute force programs to determine
        the username of every user on our 14,000 user systems

        Since our site keeps the users SSN in the first 9 chars of the owner
        field FINGER will mask first 9 chars of the owner to non prived users
        if the first 9 chars are all numeric...if they are non-numeric then
        finger will output the entire field.

        FINGERBLD.COM builds the image from FINGER.FOR and FINGERMSG.MSG

        INSFINGER.COM will install the FINGER program in sys$system and update
        the System DCL tables as well as the system help help file

========> [VAX84C.RIT.GMAIL]AAAREADME.TXT;1 <========


 
     INTRO:
 
        Bulletin Board Mail Program (GMAIL)
 
        Written By:     Matthew W. Goheen
        Date:           June 8, 1983
 
 
     USAGE. 
 
        This uses a keyed file for the storage of messages. This file
        is stored in the directory defined by the LOGICAL name.
        GML$DIR. If the file does not exist then the program will
        attempt to create the file in that directory. The user account
        that creates the data base file will be considered the MASTER
        gmail account and will be authorized to perform master account
        operations within GMAIL. (deleting other users messages, BROADCASTing
        a header message, and no message limits)
 
        To compile gml:

           $ fortran/nodeb/nocheck=all gml
           $ link gml/nodeb/notrace


        if you do not have fortran then the .EXE supplied should work...


        To start GMAIL up do the following:
 
            From a Privileged account issue the following command
 
            $ define /system GML$DIR disk:[gmaildir]  ! wherever you put it

        then:

            log on to the account which will be the master GMAIL 
            account and will have write access to the gmail directory
            (this account does not need any special vms privileges) 

            $ set prot=(g:e,w:e) disk:[000000]gmaildir.dir
            $ run gml$dir:gml
            BROADCAST
                
                               GENERAL MAIL IS NOW UP { or whatever }
 
            EXIT
            $ set protection=(w:rw) gml$dir:gmail.dat
            $ set prot=w:e gml$dir:gml.exe


            Put the following line in you system startup routine
 
                $ define /system GML$DIR disk:[gmaildir]  ! wherever you put it
                                                      Page 2


 
            users can now access gml and post messages by typing:

                $ RUN GML$DIR:GML
            
     PURPOSE:

        This program was written to try
        to take some of the strain off of the regular MAIL program (strain
        meaning wasted disk blocks sending general MAIL to users who don't
        want  or need it).  My  thanks to Andy for his  helpful  hints and
        ideas that made this a better (looking) program. To all of you out
        there who are snickering at this code, let me say just two things:
 
                1) I DON'T CARE!!
                2) Go ahead and make it better.
 
 
     GENERAL:
 
        Currently, this program  uses a keyed file with two keys  defined.
        The first key (primary key) is simply a (hopefully) unique integer
        that each message is assigned. The second key is USERNAME which is
        used mainly for two procedures  (CHECK and LIST).  There are three
        SPECIAL records. The primary keys for these records are, 1, 0, and
        -1.  Each of these records has  a  special function,  described as
        follows:
 
            1: Contains the broadcast message, see section on special
               commands for the MASTER account.
 
            0: Contains information about the data base. Most of this
               information may  or  may not be actually correct. When
               I began to write this program, it was my idea to store
               all critical information  in  this record.  This turns
               out to be very problematic.  As it stands now,  record
               zero contains the MASTER account name and that's about
               it.  It USED to contain the date and time  of the most
               recently sent massage along with the  primary  key  to
               that record. This proved to be very difficult to main-
               tain  during  muli-user  operation.  Therefore, it was
               replaced  by two procedures (INIT and GETCURR).  These
               seem to work much  more  reliably although quite a bit
               slower.
 

========> [VAX84C.RIT.KILL]AAAREADME.TXT;1 <========


        Kill is a revision of an earlier DECUS submission which now:

        Uses a command language definition (CLD).

        Allows a user to FORCE an image exit on a process using the SYS$FORCEX
        system service (KILL/FORCE).

        Allows a user to kill a processes of his own without having to
        answer a verification and without having a brodcast sent to the target
        process (KILL/SILENT) (useful for indirect command files).

        Has a help file documentation entry.

        restriction on a specific range of UIC ... useful to prevent
        KILL from being run from a class or another public account.
        currently coded to prevent uic group range 60 to 67 from running KILL
        but easily changed in the source parameter definition

        No restriction on uics less than 16 (parametered)(for privileged users)

        Error messages are now implemented using the system error message
        facility.

        KILLBLD.COM compiles the FORTRAN source and error message definion 
        files.

        INSKILL.COM installs KILL, the help and the and CLD out in the system.
        (users must log out and back in for the updated DCL tables to
        take effect.

========> [VAX84C.RIT.NETCOPY]AAAREADME.TXT;1 <========





NETCOPY supplied files.

        NETCOPY.FOR     fortran source
        NETMESS.MSG     error message source.
        NETCOPY.CLD     DCL command definition
        NETINS.COM      Command procedure to install NETCOPY in sys$sytem
        NETCOPY.HLP     HELP definition file
        NETCOPY.ABS     Abstract
        NWTCOPY.MEM     User guide

========> [VAX84C.RIT.NETUSERS]AAAREADME.TXT;1 <========



        NETUSERS

            authors:
                Andrew W Potter         ! network object stuff
                Terry Peploski          ! REGIS graphics

            Rochester Institute of Technology

            20 April 1984

            permission is hereby granted to copy, distribute, modify,
            repair (but not sell) this software provided that some mention
            of the original authors remains. (if anyone makes it better
            then we would like to see it)

        This program generates a graphic display of the user and batch
        job count on up to 5 decnet systems. currently this program
        looks at decnet nodes named vaxa,vaxb,vaxc,vaxd, and vaxe.
        (this can be changed by assigning logical names for these names)

        The display runs continiously updating itself every 5 seconds 
        until a ctrl /c is hit (which attempts to get you out of graphics
        mode)



        This program will run on either a GIGI (VK-100) or a VT-125 

        If you have a vt-241 then issue the following command before running

              $ SET TERM/DEV=VT125

        to run this program the following environment must be set up:


   1)
        On the system that this program will be run the following logical
        names must be defined. (if you want to make it available to all
        users then place the logical names in the system table.)

        $ define vaxa  _node1::
        $ define vaxb  _node2::
        $ define vaxc  _node3::
        $ define vaxd  _node4::
        $ define vaxe  _node5::

        Do this for each of your nodes (up to 5 max)

        Where "_node1::" thru "_node5::" are the decnet names for your nodes.
        The program will run if there is at least one node name logically
        defined.

   2)  Place the following files in the default DECnet account
        on each system that will be monitored by netusers
                                                      Page 2



                SYS$SYSDEVICE::[DECNET]NETUSE.COM;1

                        which contains:

                           $ define/user sys$output sys$net
                           $ run sys$login:usecont

        and:

                USER:[DECNET]USECONT.EXE;1

                           this program (supplied in this directory)
                           reads the system values for IJOBCNT and BJOBCNT
                           and dumps them into standard output (which is
                           defined to be SYS$NET)

        If you are running vms v3.4 or later then protect the default
        DECNET account from owner access (W:E) and make the directory and
        the above files belong to SYSTEM. (this will keep the NETSERVER.LOG 
        files out of the default directory.) If you want, you can make 
        NETUSE a known decnet object and place the above files in 
        SYS$SYSTEM. (i didn't bother)

        If have non-VMS decnet nodes that you wish NETUSERS to report
        from, then a network object similar to USECONT must be developed
        for that node. Currently only a VMS version of the USECONT object
        is supplied.

        NOTE: While netusers is running, there will be one link established
        to each of the nodes that it is monitoring (2 to the local node if
        it is included in the list) 


========> [VAX84C.RIT.NEWS]AAAREADME.TXT;1 <========


        NEWS program

         To install:
                
                $ create/dir/prot=w/own=[1,4] sys$sysdevice:[news]
                $ copy *.* sys$sysdevice:[news]  !copy all these files
                $ set default sys$sysdevice:[news]
                $ @MAKENEWS  ! (if you have fortran, If not then the
                             !  executable files provided should work)
                $ @INSNEWS   ! Installs news in the system.

This package of programs allows for the display of system news to
users. yet relieves the user of the problems of have screen fulls of
stuff forced on him each time the log in.

       news is divided in to 4 programs. (one run by users and 3 by the
       system manager)

         NEWS.EXE    This program is the one run by users to read all unread
                     news. the NEWS commands cause this program to be run
                     Install only this program (/SHARE/PRIV=(SYSPRV,SYSLCK))
 

                     $ NEWS        ! reads unread news and updates user
                                   ! entry in NEWSUSERS.DAT to point to
                                   ! the last read message number (This
                                   ! command will remove all news login
                                   ! messages until a new message is added

                     $ NEWS/LOGIN/BRIEF
                                   ! lists the first line of all unread
                                   ! news messages with a message to enter
                                   ! "NEWS" to read the messages in full.

                     $ NEWS/ALL    ! Displays ALL news messages in full
                                   ! regardless of whether the user has
                                   ! has read them or not.

                     $ NEWS/ALL/BRIEF
                                   ! Displays the first line of ALL the news
                                   ! messages.

                     $ NEWS #      ! reads news item number specified by "#"
                                   ! "NEWS 2" reads the 2nd news item

         NEWSINIT.EXE        (management program run by system manager)

                     $ NEWS/INIT

                                   ! initializes Both NEWSTEXT.DAT and
                                   ! NEWSUSERS.DAT (makes new versions)
                                   ! this program requires the files:
                                   ! NEWSUSER.FDL and NEWSTEXT.FDL reside
                                   ! in NEWS$DIR:

                                                      Page 2


         NEWSUPD.EXE         (management program run by system manager)

                     $ NEWS/ADD filename

                                   ! Adds filename as the latest news item
    
                     $ NEWS/DELETE #
                                   ! removes news item specified by "#"
                                   ! news/del 2 removes the 2nd item from news

                     $ NEWS/UPDATE=# filename
                                   ! replaces News item specifed by "#" with
                                   ! the contents of "filename"

                     $ NEWS/EXTRACT=# filename
                                   ! extracts entry "#" from NEWSTEXT and
                                   ! stores it in a text file specified by
                                   !  "filename"

          NEWSDIS.EXE        (Management program run by system manager)

                     $ NEWS/DIS=username

                                   ! causes "username" to not be considered
                                   ! as a news user and hence will not get
                                   ! news login messages. NOTE if "username"
                                   ! enters "NEWS" he will be put back in
                                   ! to the news system.

                                   $ NEWS/DISABLE=SYSTEM
                                   $ NEWS/DISABLE=DECNET
                                   $ NEWS/DISABLE=MYACCOUNT

Below is listed a sample news item. The First line MUST be non blank
because that line is the one displayed in "NEWS/BRIEF operations"

     the maximum record length is 72 characters

*****************************************************************************
*****************************************************************************
14-AUG-84  -  A system wide purge of user accounts on VAXA - VAXD.
 
On  the  weekend of August 18th,  a system-wide  purge of  all accounts
will occur. This consists of the  deletion of VMS mail files (MAIL.MAI)
from all student accounts, the removal of all but the latest version of
files from faculty, staff and  student accounts and the deletion of all
object  files  (.OBJ) from student and staff  accounts.  If you have an
object file that you do not want deleted then use the RENAME command to
save the file.
 
      Example:
                 $ RENAME SPECIAL.OBJ  SPECIAL.SAV
 
The purpose of this purge is  to  return much needed disk space to the
systems.
                                                      Page 3


                             IMPORTANT NOTE
 
      Due to the increased user  load on the  VAX/VMS  systems,  a
      similar file purge will be  performed on the  first  weekend
      after final exams of each quarter.
 
***************** end of sample news item *****************************
************************************************************************
******

           news documented in "HELP NEWS"
========> [VAX84C.RIT.NODESHOW]AAAREADME.TXT;1 <========


nodeshow:       a utility that activates simple network objects
                some objects are included

                more complete documentation on how to set up
                a CLD definition or how to modify the system
                SHOW  command cld as well as how to set up your
                network objects in your default network accounts
                is described in the fortran source file: NODESHOW.FOR

                It is recommended to place the CLD in the system dcl tables
                to make them known to the system. Be sure you have edited 
                the CLD file to reflect the proper place for the image.

        $ SET COMMAND/OUTPUT=SYS$LIBRARY:DCLTABLES -
                /TABLES=SYS$LIBRARY:DCLTABLES NODESHOW.CLD

         OR: (to install the NODESHOW as a modification to vms "SHOW")

        $ SET COMMAND/DELETE=SHOW/TABLES=SYS$LIBRARY:DCLTABLES -
                /INPUT=SYS$LIBRARY:DCLTABLES SHOW.CLD

                Note: it is recommended that you be running at least VMS
                version 3.4 to allow no owner write access to the default
                network directories thereby keeping netserver.log files
                out of the way


                The subdirectory [.objects] contains a few DCL network
                objects that can be placed in the default network account

========> [VAX84C.RIT.NODESHOW.OBJECTS]AAAREADME.TXT;1 <========


This directory contains a bunch simple objects that can be put out in
the default decnet directory.

It is recommended that one creates the default decnet directory  with
system ownership proctected with world read + execute access

These object files can be placed in the directory with w:re protection
and belonging to system.

        this scheme offers the following advantages:

                users cannot delete or change the objects via the default
                network account.

                netserver.log files will never be created. 

        you must be running at least vms v3.4 to do this!!


        these objects can then be accessed from any DECnet node
        via the NODESHOW program or the dcl command:

        $ TYPE NODE::"TASK=object"



========> [VAX84C.RIT.WHERE]AAAREADME.TXT;1 <========


This is a simple program to output who you are, where you are,
what you are and what the user load is on your system in just 2 lines

to compile

$ fort/nodeb where
$ link/nodeb/notrace where,sys$system:sys.stb/sel

the output in interactive mode looks like:


User: AWPSYS logged on to VAXD, terminal TTB1: (VT102)
Load on Friday, April 27, 1984  4:47 PM is: 9 users, 0 batch jobs.



in batch it will look like:


User: AWPSYS (Dept: 754-TS) running on VAXD.
Load on Friday, April 27, 1984  4:47 PM is: 9 users, 0 batch jobs.


========> [VAX84C.RMA.DECUS]AAAREADME.TXT;1 <========


AAAREADME.1ST------------------------------------------------------------------

    Unless otherwise noted, all programs provided are for the VAX 11/780.

    See files with the extension INS for installation instructions.

    This directory contains the following programs:

        KERMIT      -   This is a file transfer program.  The protocol was
                      developed by Columbia University Computer Center.  This is
                      a partial implementation of version 5.  Also provided are
                      a version for the DEC-10 (partial version 5) in the
                      subdirectory DEC10 and a version for the Z100 (version 2)
                      in the subdirectory Z100. The file KERMIT.DOC contains the
                      locally written version 3 documentation and KERMIT5.DOC
                      contains the locally written version 5 documentation (this
                      is a prerelease of KERMIT5.DOC).

        SCOOP       -   This is a program to handle entry and updating of the
                      system login messages ( ANNOUNCE.TXT & NOTICE.TXT ).
                      Automatic expiration of scoops and flashes is provided.
                      The unprivileged mode allows display of scoops without
                      the ability to modify them.

        COMMENT     -   This is a program used by users to make comments and
                      complaints to the staff. It also allows properly privileged
                      processes to view, purge, and output comments.

        SYSTAT      -   This is a program used to display information about
                      processes on the system in a variety of orders.  Limited
                      wildcarding is also available. See SYSTAT.HLP for more
                      information.

        PATH        -   This is a program used to change default device and
                      directory during a login session.  It performs the same
                      function as SET DEFAULT in addition to providing extra
                      facilities such as path existance checking and named
                      paths.

        TAIL        -   This is a program used to type the last 22 lines of
                      a text file on a DEC compatible scope terminal.

        CRT         -   This is a program used to type a text file 22 lines at
                      a time to a DEC compatible terminal.  The program will
                      pause at the end of each page and give the user the option
                      of going to the next page or returning to DCL.  The output
                      may start at any line in the file.  The number of pages
                      to be output may also be specified if a starting line
                      number is given.

        FINDER      -   This is a program used to find all the files owned by
                      a given UIC on the disk which is the current default
                      no matter which directory they are in (provided the user
                      has read access to the directory).
========> [VAX84C.RMA.DECUS.Z100]AAAREADME.TXT;1 <========



        This version of KERMIT for the Z100 implements version 2 of the 
KERMIT protocal.

        The files are:
                KERMIT.ASM - Source code.  Just assemble it with MASM (or
                             whatever whoever calls it) and LINK it.  It is
                             complete unto itself.
                KERMIT.HLP - This is the help file given out with this version
                             of KERMIT.  It is just a document and is not used
                             by the program at all.
                KERMIT.EXE - This is the executable KERMIT.  It was not munged
                             into the easily transported form that the micro
                             KERMITs on the distribution tapes are usually in.
========> [VAX84C.SHEAPDUMP]AAAREADME.TXT;1 <========


                             Pro Computing
                            222 Third Street
                          Cambridge, Ma 02142

                     Jared M. Spool & John Dunning


                   SHEAP - SuperHeap for Pro Pascal.

The SHeap is a way to allow your Pro Pascal programs to get more memory.
It  deals  with a data structure called a super pointer which is 32 bits
big.  The first 16 bits are the region number and the last 16  bits  are
the pointer within the region.

When you create a region, it creates a  region  with  the  name  SHPxxx,
where  xxx  is  the  number  of  the region that it created.  If you are
multi-tasking, you can have one task send a pointer to another task, and
connect to it, thus sharing data.

There are three files in this directory:

     1.  SHEAP.MAC - The source file.  Just PMA this and then  link  the
         OBJ into your task image.

     2.  SHEAP.DOC - This describes all of  the  calls,  and  also  some
         symbol  definitions  you  need  to  include in your PAB command
         file.

     3.  SHEAP.INC - This is an include file for your Pascal programs.


The functions are self explanatory.
========> [VAX84C.SSG.GLG.MTEXCH]AAAREADME.TXT;1 <========


MTEXCH is a utility for processing foreign tapes under VMS, and has previously
been submitted to the VAX Tape Copy.  This submission contains the two most
recent versions of MTEXCH.  The newest version has been modified to properly
handle VMS V4.0 file specs.

The following files are included:

BLDMTEXCH.COM;1         Command procedure to build MTEXCH      
DESCRIP.MMS;6           MMS make file to build MTEXCH
MTEXCH.HLP;3            Help file for MTEXCH
MTEXCH.MAR;8            VMS V3.7 version of MTEXCH
MTEXCH.RNO;1            Source for MTEXCH documentation.
MTXMSG.MSG;1            Message source for MTEXCH
SMAC.MAR;14             Source for macro library used with MTEXCH
SMAC.MLB;9              Macro library needed to build MTEXCH
V4MTEXCH.MAR;1          VMS V4.0 version of MTEXCH


Questions or comments can be addressed to me at:

Gary Grebus
Battelle Columbus Labs
505 King Avenue
Columbus, OH  43201

(614)424-7156
========> [VAX84C.SYSUT.DECUS]AAAREADME.TXT;1 <========


           System Availability Report Writer and Downtime Log Manager

          The availability program allows a  system  manager  to  keep
     track  of downtime and to generate a report on the performance of
     the system.  The report lists such items as  scheduled  downtime,
     unscheduled  downtime,  percentage  availability,  and  mean time
     between unscheduled downtimes.  The format of the report is up to
     the  user.   Many different breakpoints and output formats can be
     specified.  DEFINE.COM contains the necessary logical name to run
     the   package.   See  the  users  manual  (MANUAL.MEM)  for  more
     information.  If any problems contact:
                         John Scheibe and Jeff Belvill
                         Pacific Lutheran University
                         Computer Center
                         Tacoma, WA 98447
                         (206) 535-7527
========> [VAX84C.SYSUT.DECUS.DEMO]AAAREADME.TXT;1 <========


        This DEMO directory contains a partial CRASHED.SYS downtime log,
and some examples of a listing and reports. LIST.LIS contains a listing
of everything in the downtime log. It was generated by using the list
module with a file name of LIST.LIS and ALL data (hit return at beginning
time prompt). REPORT.LIS is an annual report for the period March, 1982,
to March, 1983. It was broken down by months with the data specified in
hours and minutes. It was generated using the REPORT module, output file
name of LIST.LIS, the system base date (the first date in the log), and
1-MAR-1983 as the ending date. All other prompts were defaulted (i.e. just
hit return). REPORT2.LIS is similar to REPORT except that the ending date
was 1-JUN-1982 and it was generated by week, with the data in hours and
minutes.
        The CRASHED.SYS downtime log is just included for demo purposes.
It's intent is to allow you to experiment with the system as soon as you
get it off of tape without having to type in extensive data, and without
worrying about ruining your data. To use it, just copy it to wherever you
have AVAIL$DIR defined. If you decide to use the system for real data, just
delete CRASHED.SYS in AVAIL$DIR and start from scratch.
========> [VAX84C.USERLIB.CPM.XMODEM]AAAREADME.TXT;1 <========


This is USERLIB subdirectory .CPM.XMODEM

Here is a Fortran version of XMODEM for CP/M file transfer
using Ward Christensen protocol, runable on VAX/VMS V3.0 and higher.

Current version XMODEM 5.53 June 23,1984
All timeouts implemented,
supporting BATCH (multiple file transfer)
and internal TEXT conversion.

See XMODEMFOR.DOC and XMODEM.HLP .

The files in the package are:

AAAREADME.DOC  This document
ABSTRACT.DOC   DECUS Library abstract
XBUILD.COM     FORTRAN and LINK the programs
XMODEM.FOR     Equivalent to CPM's XMODEM 5.0:  binary files,
               with checksum or CRC, most timeouts, and with BATCH,
               in VAX Fortran (special I/O dependency encapsulated in two
               subroutines so it should be translatable to other
               Fortrans that can do 8-bit I/O with timeouts).
               works up to 9600 baud on a moderately loaded VAX 11/780
               running VMS version 3.0 or higher.
XMODEMFOR.DOC  Another version of this document
TOXMOD.FOR     Converts VAX text file (variable length
               records with no CRLF) into CP/M compatible file
               for transfer by XMODEM (fixed length 128 byte records
               with CRLF at ends of lines).
FROMXMOD.FOR   Similarly converts CP/M file from
               the form received by XMODEM.FOR to a VAX text file.
EXETOXMOD.FOR  Converts .EXE file (512 byte fixed length) to 128 byte records.
XMODTOEXE.FOR  Converts 128 byte record file to .EXE file (512 byte records)
               You should probably COPY/CONTIGUOUS the .EXE file afterword
               so it is not too fragmented.
XMODEM.HLP     A VAX HELP file about the three programs.
XMODEM.COM     A VAX command procedure file defining XMODEM,TOXMOD,FROMXMOD,
               XSEND,XREC as
               foreign commands.
QIO.DCK        Obsolete include file.
BATPROT.COL    Describes the batch protocol
MODMPROT.COL   Describes the Christensen protocol (by Christensen)
XMODEM.CRC     Failed attempt to use LIB$CRC to calculate CRC
XMODEM.BUG     Known bugs in XMODEM.
XMODEM.OLD     An old version of XMODEM.FOR.
*.EXE          Coresponding executables for the *.FOR programs.

The normal file format received by XMODEM is 128 byte fixed length records.
These files may PRINT and TYPE reasonably, but to edit them on your VAX
they must be converted to ordinary VAX text files by FROMXMOD.
If you forget which files have been converted by TOXMOD or FROMXMOD,
just do a DIRECTORY/FULL to see the file format on the VAX.
Similarly XMODEM will only send text files reasonably using the TEXT option
or if they have been converted to CP/M form by TOXMOD,
otherwise the FORTRAN input statements in XMODEM will append
                                                      Page 2


lots of blanks to each line of text and no carriage returns will be sent.

Problems:
Batch mode: Long VAX filenames are truncated at 8 characters before the type.
            CP/M filename characters converted to "A" if invalid on VAX.
Sometimes it may be advisable to DEFINE SYS$ERROR filename
to get error messages that may not go into XMODEM.LOG when XMODEM crashes
due to unexpected system error such as divide by zero, file open failure, etc.
during a file transfer.
Since XMODEM.LOG is kept in current directory, S *.* will crash XMODEM
when it tries to send XMODEM.LOG since it is open for write already.

A version of MODEM7 for the VAX is also available.
 
If anyone hears of XMODEM or MODEM7 available for other MAINFRAMES 
I would like to hear about them.  Send mail to me at the address below. 

History:
        I translated TMODEM.C ( a Unix C language version of XMODEM )
into Fortran then used the XMODEM.ASM version 5.0 8080 source code as a guide
for timeouts and error handling, and translated the specific
CRC algorithm used there to Fortran.  Richard Conn added my CP/M - VAX
text conversion routines to XMODEM.FOR .  I speeded up SEND by making
it do a single QIO per block.  Steve Gill completed timeout implementation.
        The program has been in use for over 2 years here and
on several other VAXes scattered across the country.
It is VAX-96 in the DECUS (DEC User's Society) library.
There is an old version
on the DECUS Users group VAX tape for Fall 1983.  Another on SIG/M library.

J. James (Jim) Belonis II
Computer Cost Center Manager
Physics Hall FM-15
University of Washington
Seattle, Washington 98195
(206)-545-8695
========> [VAX84C.VASSAR]AAAREADME.TXT;1 <========


Fall 1984 DECUS submission from Vassar College.

This submission contains two directories:

[.spell]

This directory contains the files for a comprehensive spelling checker which
can correct files containing text and embedded commands for a number of
different word processors. All necessary files are provided, including
dictionaries. The checker includes guessing algorithms which may optionally be
invoked if a wrongly spelled word is encountered, a facility for creating
personal dictionaries, and provision for the automatic submission of words not
found in the dictionaries to a maintenance person so that the main dictionaries
may be periodically updated. The checker creates a corrected file as output,
and optionally also produces a log file showing all changes made. It is
a new submission for this DECUS tape.

[.reserve]

This is a re-submission of the RESERVE program that appeared on the Fall 1983
SIG tape. Functionally, the program remains the same, but two important
bugs have been fixed, one created by a bug in the PASCAL V2.5 compiler (as
yet unfixed by DEC) and the other a date problem which did not come to
light until 1-JAN-1984! RESERVE is an on-line terminal reservation system
suitable for use on VAXen which have hard-wired terminals - i.e. not
port-switched or network terminals.

Submitted by:

Mark Resmer, Vassar College, Poughkeepsie NY 12601 (914) 452-7000 Ext 2437
(RESMER@VASSAR on CCnet and BITnet).
========> [VAX84C.VASSAR.RESERVE]AAAREADME.TXT;3 <========


The files in this submission constitute an on-line terminal reservation
system for use under VMS V3.0 or higher. Full details of the system are
given in the Implementor's Notes (IMPLEMENT.TXT), the  descriptive file
(RESERVE.DOC) and the Help  Menus displayed by the system when running.

This  submission  is  an  updated  version  of  the  program  which was
originally submitted  to  the  DECUS  Fall  1983  SIG  tape.  The  only 
differences  are  a  re-coding  of  the  MACRO routine into PASCAL, and
two minor bug fixes, one of which caused the program to fail in January
and the other  of  which  caused  an access violation under Pascal V2.3
and higher.

It is to be hoped that the program will continue to run under V4.0,  if
not then it will be updated and resubmitted to DECUS.

The program is written in VAX Pascal Version 2.5. The sources are fully
commented, and modifications should be relatively trivial. 

Author:         Mark Resmer
                Box 248
                Academic Computer Center
                Vassar College
                Poughkeepsie
                NY 12601

                (914) 452-7000 Ext 2437

                RESMER@VASSAR (BITnet or CCnet)
========> [VAX84C.VASSAR.SPELL]AAAREADME.TXT;3 <========


This directory contains the files for a comprehensive spelling checker which
can correct files containing text and embedded commands for a number of
different word processors. All necessary files are provided, including
dictionaries. This file contains a full description of the program and
installation instructions.

Files:
*****

AAAREADME.TXT   - this file
BUILD.COM       - installation procedure
COMMONWRD.DAT   - sequential file of most common words
LEXIC08.DAT     - main dictionary for words of <8  letters - indexed file
LEXIC16.DAT     - main dictionary for words of <16 letters - indexed file
LEXIC32.DAT     - main dictionary for words of <32 letters - indexed file
NEWGOOD.TXT     - new word file - indexed
SPELL.EXE       - SPELL program compiled under VMS v3.7
SPELL.HLP       - HELP library module for SPELL
SPELL.OBJ       - object file of SPELL
SPELL.PAS       - VMS Pascal source text of SPELL

Total of 12 files, 4263/4343 blocks.

Functionality:
*************

SPELL reads standard VMS text files - such as those created by EDT, and will
recognize the syntax for embedded commands in RUNOFF, TeX and SCRIBE word
processor input files, thus preventing many spurious "errors" from being
registered. The program makes extensive use of VT100 screen formatting
abilities, and as supplied, can only be used on VT100-compatible terminals.
The entire program is written in Pascal, and should be readily modifiable
for other terminals, or if additional functionality is required.

The checker includes guessing algorithms which may optionally be invoked if a
wrongly spelled word is encountered, a facility for creating personal
dictionaries, and provision for the automatic submission of words not found in
the dictionaries to a maintenance person so that the main dictionaries may be
periodically updated. The checker creates a corrected file as output, and
optionally also produces a log file showing all changes made. 

Installation:
************

There is an installation procedure in this submission which should make
installation relatively painless. Unlike SPELL, it is not extensively
error-trapped, so be careful when using it - hopefully, you will only need to
use it once! To use this procedure, copy all the files in this directory
to an empty directory on your system (not necessarily on your system disk),
set your default to that directory, and invoke the procedure with an @BUILD
command.

Re-installation:
***************

                                                      Page 2


If you ever need to re-install SPELL (for instance because of an operating
system upgrade), do NOT use the BUILD procedure provided without looking
through it carefully, and commenting out any sections which deal with
updating the dictionary files. Unless you do this, you will create new
copies of the dictionaries, and will lose all the site-specific words
that you have added since you first installed the program! This caveat
also applies to sites running the Temple PROOFREAD program (see "Origins"
below).

Internals: 
*********

Spell operates by constructing an ordered tree of all new words as they are
encountered in a document. Any word in the document is first checked against
this tree, and if it is already in the tree, it is copied intact. If the word
under test is not in the tree, and it is not one of a small number of very
common words which are held in an array in memory, one of the three indexed
files which constitute the main dictionary is searched, depending on the length
of the word. If the word is still not found, an optional personal dictionary in
the user's default directory is searched, and failing this, the list of words
which users have marked as "right" but which have not yet been checked by the
dictionary-person. If the word appears in this last list, the user is warned
that it may not be correct, and given the opportunity to reject it.

If a word is not found in any of these searches, the user is presented with
two lines of context, with the word highlighted, and given a number of
choices:

  C - you want to check alternative spellings in the  dictionary.  I will
      prompt you for words to check until you find one that is correct or
      you decide to give up checking.
  
  G - you want me to offer you some suggestions about possible spellings.
  
  I - you want to ignore the word - for instance an uncommon name.
  
  P - you want me to add the word to your Personal Dictionary.
  
  Q - you want to quit SPELL without checking any more of the file.
  
  R - the word is right and should be added to the main dictionary.
  
  W - you  agree that the spelling of  the word is wrong.  I will ask you
      for the correct spelling or give you the option of asking me to guess.

If the result of a "wrong", "guess" or "check" operation is to change the
word being questioned by spell, the program will attempt to automatically
match upper and lower case to the case of the word being replaced. If this
turns out to be impossible, the user is prompted to supply the case.

Wrong words are linked into a double tree together with replacements. If
they occur again in the file, the user is prompted to decide whether
they wish to make the same change again.

Right words are added to an indexed file in the system dictionary
                                                      Page 3


directory, which is automatically accessed when the dictionary person
invokes the SPELL/UPDATE command.

SPELL writes a workfile called SPELLWRK.TMP, and if the session terminates
successfully, and any changes have been made to the file being checked,
then the workfile is renamed to the next higher version of the file being
checked.

The "front-end" of SPELL is a small DFA lexical scanner. This can easily be
modified to include support for other word processors. All pre-processing of
text is handled by this scanner, including recognition of words, constructs
such as apostrophes and quotations, and recognition of embedded word-processor
commands. Any word or character which is not recognized as a possible
"legitimate" word is simply copied to the output file, and the remaining
candidates for testing are made into a simple linked-list which contains some
attributes of the words as well as their text, and allows simple manipulation
of the text if errors are encountered. 

As supplied, SPELL operates with Control-Y disabled. This is not strictly
necessary, given that an intermediate file is used for output, but in
practice, we have found this to be a good idea in avoiding problems with
accidental exits from the program. If you don't like this idea, taking
out the call to the disabling routine is trivial.

Almost all terminal I/O is handled using direct calls to QIO rather
than Pascal I/O (sigh) since the latter is generally unsuitable for the
types of screen and keyboard operations involved.

Origins:
*******

The SPELL program is based on a program called PROOFREAD which was written
by Matthew Temple of Smith College, Northampton MA. His ideas and permission
to use them are gratefully acknowledged.

Submitted by:
********* **

Mark Resmer, Vassar College, Poughkeepsie NY 12601 (914) 452-7000 Ext 2437

resmer@vassar on CCnet and BITnet
========> [VAX84C.VEVLE.SOURCE.UAB]AAAREADME.TXT;1 <========





   _______              _______         __________________________________
  |       |            |       |       /                                  \
  |       |            |       |      /                                    \
  |       |            |       |     /       __         ____________        \
  |       |            |       |    /       /  |       |            \        |
  |       |            |       |   /       /   |       |             |       |
  |       |            |       |  /       /    |       |____________/       /
  |       |            |       | /       /     |                           /
  |       |            |       |/       /______|        ____________       \
  |       |            |                               |            \       \
  |        \__________/                                |             |       |
  |                                  __________        |____________/        |
   \                                /          |                            / 
    \                              /           |                           /
     \____________________________/            |__________________________/
   


                    The University of Alabama at Birmingham



                   Submissions for the Fall 1984 VAX SIG tape
                   ------------------------------------------

    [...UAB.RMDEMO] --  Update of RMDEMO,  a dynamic user display program.
                        Uses  the  terminal  independent  screen routines.
                        Has been modified to allow multiple display pages,
                        among other updates and bug fixes.

    [...UAB.GRADE]  --  New submission. A class grading program. Uses the
                        terminal  independent  screen  procedures and the
                        VTxxx line drawing character set.  Should be used
                        on a  VTxxx terminal.  Allows dropping of grades,
                        selectable by  the instructor.  Calculates scores
                        needed  to  make  A,  B, and C.  Calculates class
                        overall average as well as class average for each
                        score. Has  various  types of printouts including
                        some  suitable  for posting and some suitable for
                        distribution  to  the student.  GRADE  will  also
                        build  a  sequential, ASCII file for easy storage
                        and  will load from a sequential,  ASCII file for
                        easy recall of student information.
