========> [VAX85C.AMS]AAAREADME.TXT;2 <========


DEPROC -- A TeX Header for Formatting DECUS Proceedings Articles


DEPROC is a package that will format articles for the DECUS Pro-
ceedings.  It can be used by anyone who has access to the TeX
typesetting system.  DEPROC is a TeX header (macro package). 


The DECUS Proceedings have traditionally been published from copy
supplied by the authors, prepared according to rules devised for
typewritten material.  The power of the computer typesetting language
TeX has now been applied to this task, and a formatting package, named
DEPROC, has been submitted to the DECUS Program Library for use by
authors who have access to a working TeX system.  (The TeX program and
related software, created by Donald Knuth of Stanford, are in the
public domain.)

The documentation (which was itself produced by the DEPROC package--
see file DEPROCDOC.TEX) presents the important features of DEPROC and,
through examples, shows how it is to be used.  Use of DEPROC, which is
encouraged, will produce the author's work, nicely typeset, in the
standard Proceedings format.  There is a general description of how
the package works and of the mechanical requirements for camera copy
of Proceedings articles, which will be created on the author's local
output device. 

No prior knowledge of TeX is required, but authors using DEPROC will
be expected to learn some rudiments, especially if their papers
contain special notation or formats such as tables.  A sample table
appears in DEPROCDEV.TEX and DEPROCDEV.FIL, the files used to prepare
a table of output devices which have been interfaced to DEC computers.


Questions and suggestions about DEPROC may be sent to

        Barbara N. Beeton
        American Mathematical Society
        Post Office Box 6248
        Providence, Rhode Island  02940
        401-272-9500
========> [VAX85C.BATTELLE]AAAREADME.TXT;2 <========


The following utilities were created at Battelle Memorial Institute - 
Columbus Division.  This software is distributed for the use of the
DECUS community.  Most of it is in use at our site.  However, there are
no warantees that any of it will work.  In particular, the PTY software
is has not been extensively tested.  Use at your own risk!

The directories in this contribution are:

        FILES - a program that can find files based on size and/or
                ownership. This program contains bug fixes and
                enhancements.

        ZDEC  - Zero-out Device Error Count, a program to zero
                the device error counts without re-booting the
                machine. This program contains a bug fix, so that
                it will work properly in a system with virtual
                terminals.

        BYDISK- A utility to iterate a DCL command over all processes
                on a system which have their default directory on a
                specified disk.  Included is a command procedure which
                performs a "SHUTDOWN" for the users of a specified disk
                so the disk can be removed from service.

        KRON -  A utility to execute DCL commands at scheduled
                times.  Similar to the UNIX cron utility, except VMS-ified.

        PERMIT -A utility to add/remove a (IDENT=username,ACCESS=READ) ACL
                entry from a file.  Useful for niave users who don't want
                to battle the ACL syntax or ACL editor.  Also a useful
                example of manipulating ACL's in a program.

        PTY    -A pseudo-terminal driver for VAX/VMS.  This is a re-release
                of the version of my driver which Kevin Carosso modified fo
                VMS V4 (appeared on the Spring 1985 tape).  Some minor
                enhancements to the hangup logic.  Also a session logger
                program (PHOTO) with some minor bug fixes.

As this is the usual Friday at 17:00 tape submission, documentation may
be minimal.

The authors listed below welcome any questions or comments regarding 
these software contributions:

  Gary L. Grebus                   Mark Oakley
  Battelle Memorial Institute      Battelle Memorial Institute
  505 King Ave                     505 King Ave
  Columbus, Ohio        43201      Columbus, Ohio        43201
  614/424-7156                     614/424-7154
========> [VAX85C.BELONIS]AAAREADME.TXT;1 <========


This is the University of Washington Physics Department submission for the
Fall 1985 DECUS Symposium.
All the following work on VMS 4.2 (at least).

BACKUP.COM  a menu and default driven tape BACKUP interface.

[.HOST]   a dial-out program for VAX (originally by William Tanenbaum, Harvard)
[.MODEM7] a dial-out file transfer compatible with micro versions (uses HOST)
[.XMODEM] a dial-in file transfer program compatible with microcomputer versions
[.ACCOUNT] a flexible VMS 4.x accounting system.
[.QPOST]  Talaris laser printer graphics and TeX integration
          for those of you without Talaris' QDRIVE program.

[.MOVE]   yet another SET DEFAULT replacement (we think it is the best)
[.SIX]    a flexible and extremely FAST 'tail' program (SImple eXtractor)
          which displays particular lines from files.
[.TERMS]  LOGIN.COM compiler.
[.LIB]    library of routines for linking the above three programs

[.TAR]    a unix TAR-format tape reader for VMS
[.VVCODE] translates VMS arbitrary file and header into printable characters
          for transmission to another system over arbitrary communication
          methods. (and translates back to original file structure).

J. James (Jim) Belonis II
Computer Cost Center Manager
Physics Hall FM-15
University of Washington
Seattle, Washington 98195
(206)-545-8695
BELONIS@UWAPHAST via BITNET
========> [VAX85C.BONNER]AAAREADME.TXT;10 <========


     BONNER LAB RUNOFF                                                  Page 1
     

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

     BONNER LAB RUNOFF                                                  Page 2
     






                                     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.  A
     variety of LAYOUT and STYLE commands may completely change  the  look  of
     the  pages.   Table layout is simplified by right justified 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.  By defining commands you can  make  it  resemble
     other  text  formatters,  or  other  versions  of RUNOFF.  You may define
     numeric symbols to facilitate  constructing  lists  of  arbitrary  items.
     These  allow page and section references.  A 2 pass option allows forward
     references to symbols defined later in the text.  
                                                                Page 2



     This  runs  under  VMS-native  mode, RSX, IAS, RT11, TSX, P/OS, and RSTS.
     RNO occupies a minimum of 30 to 37 kbytes depending on the operating sys-
     tem.   Complete  documentation,  help  files, and test files are supplied
     with the program for all operating systems.  

     BONNER LAB RUNOFF                                                  Page 3
     

                                   Distribution

     This  distribution  contains all files necessary for building RNO for any
     supported operating systems.  Nearly All file names are 6  characters  or
     less  to  acommodate all operating systems.  Once you have built the exe-
     cutable image, you can use it to generate documentation  and  help  files
     for  your  operating system.  Several files are included to document this
     version.  

          1.  BUILD.DOC contains instructions for building the program and do-
              cumentation.  

          2.  RNOBUG.DOC lists bugs that have been fixed.  

          3.  CHANGE.DOC lists the latest enhancements.  

          4.  RUNOFF.DOC  is  the  full document for VMS.  This is not distri-
              buted on small (floppy) kits, but  is  included  with  mag  tape
              kits.  

          5.  INTERNALS.DOC is for wizards only.  

          6.  RNO.EXE is the VMS executable image.  All other users must build
              RNO.  

          7.  *.TST are test files for various RNO features.  


========> [VAX85C.BRIDGE]AAAREADME.TXT;1 <========


This submission contains a selection of programs from Multiware and 
California Analytical Labs.


DOCUMENT.DIR;1          Container for program documentation facility
LIMS.DIR;1              Various LIMS/SM support programs
WHO.DIR;1               Utility to see who's on the system.

Total of 3 files, 8 blocks.

Directory DUA1:[MULTIWARE.DECUSF85.LIMS]

DBQ.DIR;1                       Useful DBQ templates
DTR_PROCEDURES.DIR;1            Datatrieve reports for LIMS/SM
LIMS_UTILITIES.DIR;1            Utility programs for LIMS/SM
REPORT_WRITER.DIR;1             LIMS/SM report writer

Total of 4 files, 7 blocks.

Directory DUA1:[MULTIWARE.DECUSF85.LIMS.LIMS_UTILITIES]

BACKLOG.DIR;1                   FORTRAN backlog report support
COUNT_SAMPLES.DIR;1             C program to count samples on system by status
LAB_TICKET.DIR;1                FORTRAN programs to write Lab tickets
LIST_SAMPLES.DIR;1              C program to list samples in LIMS by stats


If you find these useful/destructive please write with further information
to:

        Adam Bridge
        Multiware, Inc.
        437 F Street
        Davis, CA       95616

        (916) 756-3291

We will be substantially upgrading the LIMS report writer for the next tape.
Adding documentation, help, and improving the efficiency substantially.
We would like your input on what the report writer should do, and perhaps some
contributions.  The idea is to make a DECUS tape library submission in January
of 1987 with a full set of LIMS/SM an LIMS/DM utilites from a variety of
sources.  Your help is essential if we are to make the most of this system as
DIGITAL cannot possibly do everything we need to have done.

        Adam Bridge
========> [VAX85C.BULLETIN]AAAREADME.TXT;1 <========


                                  Mark London
                            MIT Plasma Fusion Center
                            167 Albany St.  NW16-262
                              Cambridge, MA 02139
                               MRL%PFCVAX@ZERMATT


     This submission  contains  a  new  version  of  BULLETIN,  a  bulletin
     board/announcement   system   for  VMS.   ANNOUNCE.MAI  describes  the
     features added and bugs corrected, including a change  to  the  BBOARD
     feature which broke with VMS version 4.

          See AAAREADME.DOC for instructions on building BULLETIN.

          Librarian's note:  This package was copied from the  ARPANET  and
     put  on  the  tape  with  the  permission of the author.  Since I have
     expanded but  not  compiled  and  run  the  programs/procedures  I  am
     including  the  raw  mail  files  as  I  got  them  from  the  net  in
     [.NET_FILES].
========> [VAX85C.COSTELLO]AAAREADME.TXT;7 <========



                Cornell University Submissions

                Coordinated by: Dennis P. Costello
                                National Submicron Facility
                                G02 Knight Lab
                                Cornell University
                                Ithaca, NY 14853

                                607-256-2329

BRUIN - Author: Dennis Costello

        A command file which copies a BRU backup onto an ODS-2 rooted
directory. Specify the backup set name and the device name on which the rooted 
directory should be created, eg:

        $ @BRUIN RSX85B DU1

VAXBRURDR.EXE, as provided here, is required. (This is a copy of the one on 
the RSX85A tape). Before running BRUIN, change the line in BRUIN.COM which 
reads:

        $ vmsbru :== $[manager.bru]vaxbrurdr

to point to the correct location of VAXBRURDR.EXE on your system.

        To read in multiple backup sets from one tape, use the command file 
BRUALL.COM:

        $ @BRUALL DU1

This will make a list of all backup sets on the tape, and read each into its
own subdirectory. All files on the tape must be BRU backup sets, or the command 
file will probably die horribly. As in BRUIN.COM above, you should change the 
following 2 lines to point to appropriate directories:

        $ vmsbru :== $[manager.bru]vaxbrurdr
        $       @[manager.bru]bruin 'name' 'p1'

This command is quite appropriate to run as a batch job.

TPC - Author: Dennis Costello

        VAX Native Mode replacement for the TPC utility. TPC will make an image 
copy of a tape to a disk file, then back out to another tape. It has worked 
quite well on RSX systems for years, however, it does not seem possible to 
coerce it to work on VMS Version 4, even with VAX-11/RSX Version 1. 

        This is a very rough, preliminary version, without most of the neat 
features of the original. Its only advantage is that it works. Source and 
object files are included. Simply change the appropriate line in TPC.CLD to 
point the correct location of the image file, then issue the following commands:

        $ pas tpc                       ! optional
                                                                Page 2


        $ for tapeio                    ! optional
        $ mar read                      ! optional
        $ link tpc, tapeio, read
        $ set command tpc
        $ libr /insert sys$help:helplib/help tpc

FAT - Author: Larry Muray

        Pixel doubler for Sixel files. A sixel file is a bitmap of an image.
Those produced by DECgraph (and probably by most other utilities) are images 
of a ReGIS terminal screen. When dumped to an LN03, only a small part of the 
page is used for the image. Also, LN03 displays a landscape-oriented image in 
portrait mode. FAT doubles each pixel in the sixel file, and prepends LN03 
control sequences to force landscape mode.

        This program is in a very preliminary version - an easier to use 
version should be available on the Spring 86 tape.

        The following commands will recompile FAT:

        $ define lnk$library sys$library:vaxccurse.olb
        $ define lnk$library_1 sys$library:vaxcrtl.olb
        $ define c$library clib.tlb
        $ cc fat
        $ link fat
========> [VAX85C.CWAX]AAAREADME.TXT;1 <========


                   ************************************
                   ***  P V T      S o f t w a r e  ***
                   ***                              ***
                   ***         Instructions         ***
                   ************************************



                         ***  THE LEGAL STUFF  ***

       Chemical Bank, New York, does  not, implicitly or explicitly, 
  warrant, support, endorse, or otherwise assume any liability
  whatsoever in the use of the PVT software.  


                           *** INFORMATION ***


       PVT is one of those command procedures that is very useful,
  but noone has the time to design and/or write.  With the PVT
  command procedure, one does not have to write from scratch, a way
  for a terminal to print files in their entireties.  PVT enables 
  users who have VT1xx or VT2xx terminals (or something that emulates 
  the VT's) with auxilary printer ports to print files neatly and 
  orderly.  If PVT is used to print several files, by using wildcards, 
  each file will start on a new page with a heading stating the file 
  name and the date/time.  PVT also displays, on the terminal screen, 
  the name of the file which is currently being printed on the printer.  
  PVT has been successful using a VT100, VT102, VT220, VT240, and Rainbow 
  with a LA50, LA100, LA12 (DECwriter Correspondent), and a LN03 
  (laser printer) under VMS 3.7 and VMS 4.1.
 
 



                      *** INSTRUCTIONS ***

  HOW TO USE PVT
  ==============
  To use PVT set up a permanent symbol as follows:
            PVT :== @pvt_device:[pvt_directory]PVT.COM
  where:
            pvt_device is the device where PVT resides
            pvt_directry is the directory for PVT
  
  To print a file type:
            PVT file_specification(s)
  

  EXAMPLES OF VALID SPECIFICATION(S)
  ==================================
  PVT SYS$LOGIN:LOGIN.COM
  PVT FILE.COM,*.COM;*
  PVT [...]*.BAS;2,[SMITH...]*.*.1,[000000...]*.LOG
                                                                Page 2


  PVT F1,F2,F3, F4, F5,F6,F7

  

  NOTES
  =====
  1.  The file specification can have spaces separating the
      different filenames; however, there can be only ten (10)
      spaces throughout the file_specification.  If no spaces
      are used, there is no limitation (except for the VMS limit 
      of a command line) as too how many files can be specified 
      to print.

  2.  Filenames without an extension specified are assumed to have
      an extension of .LIS (as does VMS).

  3.  PVT assumes that DIR.PVT is not present and is not used in the
      present default directory.

  4.  The parameters on the SET TERMINAL command can be modified so
      that page breaks are skipped.
      see VMS HELP: HELP SET TERMINAL/PAGE




                Questions and comments are welcome.  Please address 
                your responses to:
                
                        Andrew Wax
                        Bankwide Office Systems
                        Chemical Bank
                        52 Broadway - 4th floor
                        New York, New York  10004
                        (212) 701-5231


========> [VAX85C.DFWLUG]AAAREADME.TXT;6 <========



                   Dallas/Fort Worth Local Users Group

        The following are the contributions from the DFWLUG for fall of 1985.

Located in [.ALLIEDELC] subdirectory is a submission from Allied Electronics.
This submission consists of a group of subroutines written in VAX BASIC  V2.3,
comprising a system allowing the (relatively) simple usage of the new VAX
Screen Management System under  VMS  version 4.2.   Also  included  is a
demonstration program using it.  With this system, a programmer can create up
to  10  virtual  displays and  manipulate  them  quite  simply,  by  keeping 
track  of the sequence number of the intended virtual display  (1  through  10)
and  passing  that  number as an argument in the subroutine call. Specific
information about the  routines,  as  well  as  argument layouts  and  more 
detailed  explanations,  are  to  be found in SMGDOC.MEM, which is included in
the submission. 

Located in the [.ATT] subdirectory is a submission from AT&T Technologies
which will provide the user information about this environment.

Located in the [.MOBIL] subdirectory is a submission from Mobil Oil which will
extract the current up-time for the system and define a global symbol with that
time stored.

Located in the [.TECHDEVEL] subdirectory is a submission from Technology 
Development Corp. which will provide a output of the amount of disk space 
you have left on the disks mounted on your system as well as a re-sumission
of the SNAPSHOT program which has been reworded a bit to run V4.x of VMS. In 
addition, there is a submission which will allow you to enable/disable a 
terminal a 'operator' and also a program which will show you which terminals
are currently enabled as 'operator'.
========> [VAX85C.DMREV]AAAREADME.TXT;1 <========


                                  Rich Gregory
                       Pharmaceutical Research Associates
                                 Rt  1, Box 380
                           Charlottesville, VA 22901
                                 (804) 971-8182



          This is a revision to the DM (directory management) package which
     has  appeared  on  previous  VAX  SIG  Symposia  tapes.   It  provides
     enhancements to the older DM packages and provides for VMS  version  4
     long  filenames.   See  DM.DOC for installation instructions and for a
     description of the changes.
========> [VAX85C.ERI]AAAREADME.TXT;2 <========


HALFTONE converts grey-scale images so they can be printed on
an LA50 or similar device.  MACSNVAX 3.4a is a facility for
uploading and downloading Macintosh files to a VAX.  Page Setup
Customizer is a Macintosh program that allows you to define new
page sizes and names for the Imagewriter driver.
For more details (authors, phone #s, etc, see AAAREADME.MEM).
========> [VAX85C.EVEPLUS]AAAREADME.TXT;3 <========


!       Eve Plus - Extensions to EVE
!
!       This is a collection of TPU procedures to aid in building custom
!       section files.
!
!       This file doesn't contain any of the hacks, rather it defines a
!       few basic building blocks and three procedures comprising an 
!       "include" feature and then executes a buffer which includes the
!       various pacakages that make up "EVE plus". The three procedures
!       are used thusly:
!
!       eveplus_start_build;            ! Set-up to gather TPU$LOCAL_INITs
!       
!       eveplus_include("...");         ! Include the first file
!       eveplus_include("...");         ! Include the next file
!               :
!       eveplus_include("...");         ! Include the last file
!
!       eveplus_complete_build;         ! Compile the accumulated local init
!
!       See EVEPLS.ABS (EVE_PLUS.ABSTRACT) for more information - the fast
!               and easy way to get going is copy EVEPLUS.GBL to SYS$LIBRARY
!               define a symbol, say EVE == "$EDIT/TPU/SEC=EVEPLUS" and
!               have at it.
========> [VAX85C.EYE]AAAREADME.TXT;6 <========



        This directory contains the DISKMON, a program that will
        monitor your disk space, and notify you if the space starts
        to run a little tight.  The command file GO.COM will build
        the programs DISKMON, POS, and if you un-comment the right
        lines, a program called LOGINWARN.

        DISKMON runs detached, and notifies:

                o  Operators -- people with OPER priv on, or are
                   authorized with OPER priv, when disk space
                   drops below 2% free.  They will continue to be
                   notified if space drops in 0.1% increments
                   below that point,  until it reaches 1% free.
                   Then it notifies you for any drop in space, 
                   regardless of how small.

                o  Users are notified when space drops below 1% free,
                   IF they have active quota entries on the disk that
                   is tight on space.

                o  The OPCOM is notified if any of the above two 
                   notifications can't get through (From SET TERM/NOBROAD,
                   SET BROAD=NONE, no one logged on, etc.).

        No notification is done if the amount of free space is growing
        or is stable, even if space is critical. (i.e. If there is 1
        block free on the disk, DISKMON will warn you about the space
        running out.  If free space stays at 1 block, no follow-up
        messages will be sent.)

        POS tells you the status of all Files-11 disks, mounted read/write.
        The information is: Number of blocks on the disk, the number free,
        the percentage free, and the totals for all disks on the system.

        LOGINWARN was never finished -- i think it works -- if you want to
        play with it, have fun.  Its purpose is to warn the user about disk
        problems at login time.  For example, put it in the SYLOGIN.COM file
        to notify a user as he logs in about the space problems.

        Object files for the FORTRAN source are being provided so that you
        can link the programs if you don't have a FORTRAN compiler.  Note
        that these programs will run ONLY ON V4.x VMS systems.

        Some things you should be aware of:

                1) DISKMON will run without modification on a VAXcluster.
                2) DISKMON does not handle volume sets well -- you may
                   want to play with DISKSPACE.MAR to get it to work
                   with volume sets.
                3) DISKMON does not handle disks mounted /GROUP well,
                   either!

        RUNDISKMON.COM will start the DISKMON for you -- have fun with it,
        don't criticise my sloppy code too badly, and if all this stuff
                                                                Page 2


        written here doesn't make too much sense, keep in mind that I'm doing
        this in a hurry!


                                        Eric Richards
                                        Gould Ocean Systems Division
                                        18901 Euclid Ave.
                                        Cleveland, OH 44117
                                        216/486-8300 Ex. 3073
========> [VAX85C.FERMILAB]AAAREADME.TXT;9 <========


                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  and  Fall 1984 submissions.  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.


     [.ALLOCWATCH]


          This area  contains  the  program  and  command  procedure  which
     implements  the  dynamic management of shared devices between a set of
     VAXes (a VAXCluster and non-cluster systems) which use a single CI bus
     system.  The static management is implemented by the procedures in the
     [.STARTUP] area.  The dynamic management  is  handled  by  a  detached
     process  which  watches  the  allocation  status of specified devices.
     When one of these devices is allocated by a user, DECnet  is  used  to
     start  processes on the remote systems which are then used to allocate
     and "hold" those devices on those systems to prevent interference with
     the device owner's actions.


                                                                          Page 2


     [.EDTX]


          This is a submission of EDT-eXtended made using the Callable  EDT
     interface.   The  extensions  include a filename memory, wildcard file
     specifications and XLATE interfaces to spawn subprocesses  and  access
     system  help.   The beginnings of this version was the ED1 editor from
     the University of Arizona which was submitted on the Spring  1985  VAX
     SIG tape.


     [.EXPAND]


          This area contains a program  from  Mark  W.   Eaton  of  Harvard
     University.  EXPAND and XFORT are FORTRAN preprocessors which provides
     for conditionalizing FORTRAN  code.   EXPAND  and  XFORT  provide  the
     concept  of  a  pre-defined environment, a particular computer system,
     for  which  FORTRAN  source  may  be  conditionalized.   This  version
     supports  VAX,  CYBER,  FTN77, IBM and FPS environments.  We (Fermilab
     Accelerator Division) have just begun using EXPAND in combination with
     DEC/CMS  to manage the source code for FORTRAN programs which must run
     on several different machines (VAX, CYBER  175/875  and  FPS-164)  and
     have been quite pleased with the results to date.


     [.GETUAF]


          This is a resubmission of the GETUAF program to access items from
     records  in  the UAF file.  GETUAF has been modified to work under VMS
     V4.x and to return the last interactive login time.


     [.INCLUDES]


          This area contains command procedures which  process  Bliss  .REQ
     files  (such  as  LIB.REQ  and  STARLET.REQ found in SYS$LIBRARY) into
     prototype files from which include files for VAX C and VAX FORTRAN can
     be  constructed.   Included  in  this  area are a number of .H include
     files for VAX C which define constants and structures new to VMS  V4.x
     which  where  not included in the VAX C V2.0 VAXCDEF.TLB library (such
     as new $DVIDEF items, $GETSYI  items,  $GETQUI  items,  etc.   and  so
     forth).


     [.LA100SMB]


          This area contains an LA100 print symbiont which prints flag  and
     trailer  pages  at  16.5 characters/inch pitch to fit 132 columns on 8
     1/2 wide paper.  In addition,  a  device  control  library  of  common
     escape  sequences  for the LA100 is also included.  The print symbiont
     was developed from the HANDLESMB submitted to the Spring 1985 VAX  SIG
                                                                          Page 3


     tape by Gary Grebus from Battelle.



     [.LIBRARY]


          This area contains object, macro and text libraries which provide
     extensions  to  the system libraries in SYS$LIBRARY:.  Complete copies
     of the FERMILIB object library, its Help file and all the sources  are
     included.


     [.NODEIDS]


          This area contains a  program  to  define  a  system-wide  rights
     identifier based on the system (or DECnet) node name.  This identifier
     can be used to  protect  licensed  software  from  being  executed  on
     non-licensed nodes of a VAXCluster.


     [.SETUSER]


          This area contains a re-submission of the  SETUSER  program  from
     the  Spring  1984  tape.  This version of SETUSER works under VMS V4.x
     and uses VMS V4.x services to eliminate the need to explicitly provide
     the UIC associated with a username.


     [.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.  These procedures implement the static  management
     of  disk  drives  connected to HSC50's on a CI system which contains a
     VAXCluster  and  an  independent  (non-cluster)   VAX   system.    See
     [.ALLOCWATCH] for the package to provide the dynamic management.


     [.SYSMGR]


          The command procedures in this area illustrate the implementation
     of  a set of cyclic system batch jobs which repeat nightly, weekly and
     monthly.  In addition, a procedure  for  submitting  cyclic  jobs  for
     users  based on the system jobs (and SUBMIT /USER=name) and a database
     specifying which users and when is also included.


          A set of command procedures and TECO command files for performing
     mass  changes  to  the  UAF  records  is included in this area.  These
     permit the  extraction  of  information  from  the  listings  made  by
                                                                          Page 4


     AUTHORIZE  and  the  reworking  of  that  information  into  a command
     procedure.  This procedure can be  editted  and  executed  to  perform
     mass-adjustments   of  working  set  and  other  quotas.   These  were
     initially developed to facilitate the mass adjustment of  working  set
     quotas based on system performance information and the installation of
     additional memory.


     [.TELLSELF]


          This area contains a program to be installed with OPER privilege.
     It  then permits users have their subprocesses, detached processes and
     batch jobs "broadcast" a message to themselves  at  specified  points.
     The message is sent only to the owner of the process (or batch job) in
     which the program is executed.


     [.UTILITIES]


          This area contains several  command  procedures  which  implement
     general  utilities  in  use at Fermilab.  Some of these procedures are
     referenced in the submittals listed above.  Many of the procedures are
     stored in areas pointed to by the FERMI$EXE:  and FERMI$UTIL:  logical
     names and a refereneced by such above.  More information can be  found
     in the AAAREADME.TXT file in the [.UTILITIES] subdirectory.
========> [VAX85C.GARMAN]AAAREADME.TXT;1 <========


850102

DFRAG (Disk FRAGmentation) is a program that reads BITMAP.SYS
from a disk drive and prints a histogram of its analysis in terms
of lengths of runs of 1's (available blocks) and 0's (in-use).

The main FORTRAN program reads the entire bitmap into a byte array,
then counts runs of bytes of all zeroes, all ones, and mixed.
The current version (2.0G) attempts to extract information
from mixed bytes adjacent to 00 or FF bytes, and then does a
quick analysis of the remainder to extract information about
some combinations of single and double bits. The pseudo-log (base 2)
of the length of the run is used to establish the histogram bucket to be
incremented.  After the bitmap has been scanned, the histograms
are printed (individually scaled), in conjunction with arithmetic and
logarithmic means*, and the arithmetic median.  A blank line between histogram
lines indicates that one or more empty histogram buckets was skipped.
(* Logarithmic mean is the anti-log of the arithmetic mean of the pseudo-logs
of the run-lengths; as such it is a little more useful than the arithmetic mean
of the run-lengths, but has a quirk such that its value may be less than,
equal to, or greater than the median, depending on how many runs of length 1
were encountered (log(1) === 0), whereas arithmetic mean will always be
greater than or equal to the median.)  Output is paginated and time-stamped.

Two MACRO routines complete the package:

1) ACCBITMAP assigns a channel, and accesses BITMAP.SYS by its file-id (2,2,0);
   the statements
        ; ***   .ASCII  /_/
                .ASCII  /$255$/
   should be alternately activated or commented out depending on operation
   in or out of a cluster.

2) L2X2 performs the pseudo-log2 function with a scaling factor of 4 (2**2):
        L2X2(I) = log2(I)*4 + [(I - (exp2(log2(I)))/(log2(I)*4)]
   but it's really not that complicated: it floats its integer parameter,
   subtracts the exponent bias (to regain the "hidden" bit), and shifts
   to return the scaled value.

   Examples:     I   L2X2(I)
                 1       0
                 2       4
                 3       6
                 4       8
                 5       9
                 6      10
                 7      11
                 8      12
                 9      12
                10      13

   It has potential application for histogram scaling also, where the
   bins are linear but have an exponential range of values.

Generation
                                                                Page 2



        FORTRAN DFRAG
        MACRO ACCBITMAP
        MACRO L2X2
        LINK DFRAG,L2X2,ACCBITMAP       [ L2X2 first due to frequency of usage ]

Execution

        DFR*AG :== $dev:[directory]DFRAG
        DFRAG Dxyz options              [ produces output file Dxyz.DAT ]
                                        [ with FORTRAN carriage-control ]
                options:
                        /TRace  produce Dxyz.TRC showing runs and
                                adjacent-bit adjustment
                        /SHort  suppress output line for empty bins (default)
                        /LOng   print bin-number, with blank value,
                                for empty bins

   or

        RUN DFRAG               [ prompts for Dxyz ]
                        /SHort  option is the default, no /TRace

Caveats, problems, etc

The current version does not evaluate all run lengths in "mixed" bytes;
that is planned for version 2.1, after I figure out whether to do it by
table lookup or LIB$FF{S/C} calls.

The output (and trace) file(s) will be incorrect by the amount of
extent-caching current for the drive.  I have not been able to determine
how to (temporarily) force extent-caching to be disabled for a drive.
The following sequence will usually yield two different successive
versions of Dxyz.DAT:
        DFRAG Dxyz
        ANA/DISK Dxyz:          [ let run for a few seconds, then ^Y or ^C ]
        DFRAG Dxyz
If anyone can tell me how the VERIFY utility does it (I tried to figure it out
from the microfiche), the information would be greatly appreciated,
and quickly incorporated into the next release.

Device name MUST be 4 characters, and options MUST follow the device name
(spaces are not required, however).

User must have read-access to [000000]BITMAP.SYS in the disk in question,
either directly, or by SYSPRV or READALL privileges.

Charles Garman          609-866-8821
RCA MSR                 (soon to be GE?)
Borton Landing Rd, POW-2
Moorestown NJ 08057
========> [VAX85C.INQUIRE]AAAREADME.TXT;1 <========


INQUIRE and PROTO
Inquire and PROTO are DTR update and program generators.
They are described in INQUIRE.DOC and PROTO.DOC  respectively and
produce general purpose DTR inquiry procedures for your data.
========> [VAX85C.LEVINE]AAAREADME.TXT;3 <========


        Submission to Fall 1985 DECUS Symposium

        This submission is broken up into three(3) sub-directories

[DECUS.INDEX]
        Complete distribution package for the current version (3.14) of
INDEX-FORTRAN Cross Referencing tool 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/save for SUPER INDEX only those 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 up to four additional items
     of information for display during the regular and SUPER INDEX:

          The variable storage location information (local, in COMMON,
          passed by argument, etc).

          The variable type (REAL F_Floating, structured etc)

          Useage in FUNCTION/SUBROUTINE calls  (routine  used  in  and
          argument number).

          A user selected tag of up to 31 characters.

     The data saved for a SUPER INDEX listing (consisting of 6  data  items
     as  outlined  above) can be displayed with a great deal of flexibility
     as to the data item selection, order and format (or saved in  an  ISAM
     data  file for the user to work on directly).  A special option of the
     SUPER INDEX allows the output of a list of module entry  points  which
     pass  data  in and out by argument, the name of each argument and it's
     type , the name of any module which call that entry point  along  with
     the  the  name  of  each variable passed in the corresponding argument
     position and it's type.  The resulting information supplied allows the
     user  to  follow  the  flow  of  data throughout a program or find the
     useage of any selected data variable as required.

          If selected, the user may at the same time generate a flow  chart
     of the source file currently being cross-referenced.

          If wanted, the user can generate in place of the SUPER INDEX,  an
     entry  point  cross  reference  listing  showing  who calls who and is
     called by who (with optional graphical tree output).

[DECUS.VT200]
        This subdirectory contains several VT-200 family utilites that I have
found usefull.
        VT200.FOR               Makes the VT200 family screen control
                                sequences available to the FORTRAN programmer.
                                See document VT200.MEM and VT200.RNO.

        KEY.FOR                 When run, prompts the user for strings to be
                                                                Page 2


                                down line loaded to the keyboard. The output
                                of this program is a command file that when
                                invoked, will down line load the specified
                                key definitions. Note that this is a hardware
                                definition for VT2xx keys F6-F20 not to be
                                confused with the V4.x VMS software key
                                definitions.

        FONT.FOR                Generate/create/edit character fonts for the
                                VT2xx. On a character by character basis, the
                                user can create a new font or modify/edit an
                                existing font that can be down line loaded
                                to the VT2xx. On command, FONT will store
                                in internal representation, a font definition
                                in a data file where it can be recalled at a
                                later session. Also on command, FONT will
                                generate a command file that when invoked
                                will downline load a new font definition.
                                Included with this submission are several
                                fonts already defined-both as data files
                                and in command file form ready for down line
                                loading.

        RANDOM.FOR              One of the fonts supplied is nothing more than
                                random bits. If a different random font is
                                wanted, this program will generate it.

        WRITE.COM
        KEYBOARD.COM            Cause to be displayed the current fonts
                                defined for the VT2xx terminal.

[DECUS.MISC]
        Odds and ends that might be usefull

INACTIVE.FOR            Run as a detached job, deletes jobs that have been
                        inactive for a set period of time. See source code
                        on how to set check times, hours of activity and
                        what jobs this program does not touch.

LOCKOUT.FOR             Allows a user to lockout a teminal from use and
                        get it back later without anyone being  able to
                        use V4 features to recover the password.
                        Run the program-give the password. When ready
                        issue ^C or ^Y and give the password. If correct
                        LOCKOUT will exit with a message giveing the number
                        of attempts.

FRAG.MAR
FRAG2.MAR               Requires BYPASS priv or be system  user.
                        Give the fragmentation statistics of the selected
                        disk. FRAG2 differs from FRAG in that it also
                        outputs a map of the disk useage.

HELLO.COM               Assorted comments-randomly selected. requires VT1xx
                        or VT2xx terminal for full effect.
                                                                Page 3



DIR.COM                 Generates a graphical output on terminal and in
                        a disk file of the on disk directory structure.

RUN.COM                 Pseudo-user directory and sub directory delete.
========> [VAX85C.LJK]AAAREADME.TXT;1 <========


Pageswapper Files
        These are the Pageswappers since the last symposium.
        Larry Kilgallen, editor.
========> [VAX85C.MANTECH]AAAREADME.TXT;5 <========


                           Mark Crego and Joe Bingham
                          ManTech Services Corporation
                                 2320 Mill Road
                              Alexandria, VA 22314
                                 (703) 838-5600


     This submission consists of OBSERVE and DEFAULT.

         

              OBSERVE  allows  you  to  attach  your  terminal  to  another
         process'   terminal   output.    It   has   the   following  known
         problems/restrictions:

          .  Requires CMKERNL and EXQUOTA.

          .  Will not work if you are logged in over DECNET.  PLEASE  NOTE:
             As  of  this  writing  the  tape  is  in  its  final  stage of
             preparation and the version of observe on the  tape  has  been
             known  to  crash a VAX if you are on DECNET and the person you
             are attempting to observe also on DECNET.  If one of you is on
             DECNET OBSERVE will not work but should not crash your system.

          .  Your baud rate must be equal to or higher than that set on the
             observed terminal.

          .  "Illegal I/O function code" is a catch-all error  message  for
             most problems encountered - specific probem is not reported.


         

              DEFAULT is my "SET DEFAULT x" program which I have put on the
         tape  in  the  past.   This version is more compatible with rooted
         directories and version 4 filenames than past versions  but  still
         has  some  inconsistencies and bugs.  It has very cryptic syntax -
         after all that is the reason  for  using  this  type  of  program.
         Several  new  command  options have been included - e.  g.  define
         the current location as  a  rooted  directory  or  as  a  physical
         device/directory, step backward through the directories in a tree.
         I find these commands very handy tools as I  work  on  this  tape.
         For  instance  one  thing  I  do  is  make  sure  that  all of the
         directories  directly  under  [VAX85C]   and   [VAX85D]   have   a
         AAAREADME.TXT    file.     Having    CURRENT_DECUS    defined   as
         $3$DRA1:[VAX85C.], $3$DRA1:[VAX85D.]/trans=(conc,term) I  can  say
         "D,,D MANTECH", for instance to get to CURRENT_DECUS:[MANTECH].  I
         can then say "D,,N" to get to the next submission or "D,,K" to get
         to  the preceeding one.  Alternatively I could define [VAX85C.] as
         a rooted directory by setting default there and saying  "D,,B"  or
         setting default to one of its subdirectories and saying "D,,A".

              For more about the command syntax see DEFAULT.MAR,  DHELP.FOR
         and  the individual subroutines.  I have been making modifications
         to the program as I work on the tape together  so  a  lot  of  the
         comments  are  not  up  to date and I will not hold up the tape to
         work on them.  I will put a cleaner version of the program on  the
                                                                          Page 2


         next  SIG  tape.   Note  that  the  program should be defined as a
         foreign command, say 'D*EFAULT == "$DEFAULT"'.  It is not possible
         to set up a .CLD file and put it in DCLTABLES because DCL will not
         pass the commas on the command line to the program.

========> [VAX85C.NSWC]AAAREADME.TXT;1 <========





                        [VAX85C.NSWC]AAAREADME.TXT



    SCHEDULER UTILITY
    -----------------

        Did you ever forget to set or reset Daylight Savings Time?  Do
        you have weekly or monthly tasks  to do  or meetings to attend
        that you need to be reminded about every time?  Then SCHEDULER
        is for you.   A procedure runs every  midnight, reading a file
        of events (DCL commands), each with an expression telling when
        it should be run.  Expressions can be complex, like:

        * Run the next-to-last business day of every month

        * Run the day after the fourth Monday of every month (which
                                 could be the fourth or fifth Tuesday)

        * Run the day before every holiday occurring on a weekday

        * Run every Monday, every day, every business day, every week-
        day (i.e. every business day plus weekday holidays), the third
        of every month, every day in March, etc.

        SCHEDULER.COM will need to be configured to your site, and you
        will have to create a SCHEDULER.DAT file with your events.   A
        sample SCHEDULER.DAT file is included to show some of the cap-
        abilities.   See  notes in  SCHEDULER.*  for more information.
        SCHEDULER is really powerful when used with REMINDER.



    REMINDER UTILITY
    ----------------

        This is yet another  appointment-reminding utility.   This one
        reminds you when you log in, and 'tickles' you at fixed inter-
        vals as the time  of an appointment approaches.   The reminder
        message  tells  you  when  the appointment is, and what it is.
        The message is formatted in reverse video for VT100+ terminals
        and the bell rings.   It is very easy to add, remove, and show
        appointments.   For  further  information,  see  REMINDER.HLP.
        See REMINDERS.DOC for installation instructions.  This utility
        uses a detached process (which is usually hibernating) to send
        the 'tickler' messages. Use BLDREMIND.COM to rebuild the pack-
        age from its sources.

        This product has appeared on previous SIG tapes.   It has been
        updated extensively  to work correctly on VAXclusters, to eas-
        ily allow users to give other users permission to access their
        appointment data, to allow all inputs on the command line, etc.
                                                                Page 2





    SUBMIT_IF and FINDJOB
    ---------------------

        SUBMIT_IF  is a command procedure which  SUBMITs  a job if the
        job is not already in an input queue.  I use  SUBMIT_IF  in my
        SYSTARTUP.COM to ensure that  important batch jobs are queued,
        but not more than once.  I also use it in some of my SCHEDULER
        events (see SCHEDULER above).  FINDJOB is a program which will
        search  the input queues  for a given jobname.   It is used by
        SUBMIT_IF, but can be used independently for other uses.   Run
        BLDFINDJOB.COM to recompile and relink FINDJOB.



   NOTIFY COMMAND
   --------------

        This is a general message-sending utility.   It can be used in
        a batch process to send a message to the submitting user.   It
        can  be used in  an interactive command procedure  to format a
        message on the screen  (centered, bold reverse video,  bells).
        It can be used by the system managers to send messages to ter-
        minals (either by terminal name or by user name);  it produces
        a more readable message than REPLY.   See  NOTIFY.HLP  and the
        comments in  NOTIFY.FOR  for more information.   Use procedure
        BLDNOTIFY.COM to recompile and relink NOTIFY.   The SYSTEM.DIS
        file contains a list of system managers to whom users can send
        messages.  NOTIFY works cluster-wide.



    NSWC1LIB.OLB
    -------------

        Object library used in building the above programs.  This lib-
        rary is built from LIB1.FOR and LIB*.MAR. Some of the routines
        may be useful to you;  they are documented by prologues in the
        sources.



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

        Everything was built with FORTRAN V4.3 and VMS V4.1


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

========> [VAX85C.PFILE]AAAREADME.TXT;1 <========


                                PFILE

Submitted by:   Ken A L Coar
                General Dynamics
                12101 Woodcrest Executive Drive
                Creve Coeur, MO   63141
                (314) 851.4003



This program allows a user possessing CMKRNL to alter an additional level
of protection on a file.

Documentation concerning the implementation of this alteration is intentionally
sparse, due to its rather sensitive nature. Since the program uses semi-
documented features of VMS, no guarantee of its continued proper function is
either implied or explicitly stated, and neither the author nor General
Dynamics Corporation may be held in any way responsible for the program's
reliability, or for any effects which result from its use.

Each of the four ways of accessing a file (Read, Write, Execute, and Delete)
may be limited to succeeding IFF the requestor is running in a particular
access mode or higher. Since RMS runs in executive mode, this essentially
means that the file may be generally accessible or inaccessible for that
type of access, depending upon whether the processor mode of the requestor
is kernel or not.

        $ PFILE /DELETE=KERNEL SYS$SYSTEM:SYSUAF.DAT

would result in the UAF's being undeletable except by a program specifically
written to delete it using $QIO calls in kernel mode.

Good luck. I strongly recommend that the source be taken offline immediately
because of the security implications of this program.

#k
========> [VAX85C.RAINIER]AAAREADME.TXT;1 <========



     This DECUS submission contains two sets of VAX Ada software.  One set
is contained in the subdirectory [.TOOLS] and contains a set of Ada reuseable
packages.  Please note that several of these packages are "WITH"ed by the
other set of software, so it will be necessary to compile this set of software
first.

     The second set of Ada software found in the [.TAPSE] subdirectory is all
the software necessary to build The Ada Programming Support Environment (TAPSE)
as described at the Fall 1985 DECUS Symposium.

     If you have any comments or suggestions concerning this software, please
contact:

                           Stephen R. Rainier
                        c/o The MITRE Corporation
                        1820 Dolley Madison Blvd.
                           McLean, VA  22102
                           (703) 883 - 5543

========> [VAX85C.RAWIO]AAAREADME.TXT;1 <========







                          Forrest A. Kenney
                     1600 S. Eads ST. Apt. 425 N
                         Arlington, Va 22202
                          Days 301-731-4100
                          Home 703-979-6676
                            8 January 1986




     This directory contains a number of simple routines that  provide
an example of how to get UNIX CBREAK or RAW I/O using the VMS terminal
driver without having to have the line set to PASTHRU all of the time.
What  are CBREAK and RAW I/O?  Interpreting from the ULTRIX-32 manuals
I have come up with  the  following  descriptions  of  these  terminal
driver  modes.   In  RAW  mode  I/O all characters are passed directly
through  the  terminal  driver  to   the   reading   process   without
interpretation.   In  CBREAK mode, the terminal driver interprets only
flow control characters;  typically  CTRL/S  and  CTRL/Q.   All  other
characters  are  passed  directly  to to the reading process as in RAW
mode.  See AAAREADME.DOC for more information.
========> [VAX85C.SAOSTOIC]AAAREADME.TXT;3 <========


        RED is a text editor with some word processing features.

        STOIC is a stack oriented language reminiscent of FORTH.

        CALC is a calculator.


                                -Jonathan Mark


                                -Roger Hauck

========> [VAX85C.SKUNK]AAAREADME.TXT;1 <========




        The directory [.SETDEF] contains a SET DEFAULT DIRECTORY
utility program that runs under either VMS V3.x or V4.x.  The
directory [.EDT] contains a version of the EDT editor under VMS
V4.x that allows the user to spawn subprocesses from within the
editor.  The directory [.SEND] contains a program that will send
messages to terminals or users that are currently logged on. 

========> [VAX85C.SMGLIB]AAAREADME.TXT;5 <========







                        Screen Management System Subroutines



                                     Ken Messer
                                 Allied Electronics
                                 401 East 8th Street
                              Fort Worth, Texas  76102




          This submission consists of a group of subroutines written in VAX
          BASIC  V2.3, comprising a system allowing the (relatively) simple
          usage of the new VAX Screen Management System under  VMS  version
          4.2.   Also  included  is a demonstration program using it.  With
          this system, a programmer can create up to  10  virtual  displays
          and  manipulate  them  quite  simply,  by  keeping  track  of the
          sequence number of the intended virtual display (0 through 9) and
          passing  that  number  as  an  argument  in  the subroutine call.
          Specific information about the  routines,  as  well  as  argument
          layouts  and  more  detailed  explanations,  are  to  be found in
          SMGDOC.MEM, which is included in the submission.

          Librarian's note:   See also AAAREADME.DOC which I separated into
          a separtate file.

========> [VAX85C.TIMELINE]AAAREADME.TXT;1 <========


                                DECUS Tape Submission
                                ---------------------

VAX VMS V4
September 4, 1985
Joe Meadows
Timeline/WHY Systems
10607 N.E. 38th Place
Kirkland, WA  98033
   (206) 822-3140


This tape contains a potpourri of utilities to enhance VMS V4.  The
utilities are for those wishing to examine information that is usually
internal to VMS.

The main objective was to provide a public domain utility called
VERB which is similar the CLEX (allows you to extract/list verb
definitions from the command or process tables).  While compiling
this utility (no pun intended) I ran across other things that make
life livable.  All sources are provided along with command procedures
to aid in compiling and linking.

Utilities and command procedures included are:
        Compile (only compiles if source date has changed from object
                file date).

        Compress (example from the Fortran manual for compressing and
                uncompressing files, similar to squeeze and unsqueeze
                in the MS-DOS and CP/M world).

        Edit    (shows callable EDT off, spawns a subprocess from
                within EDT- with output deverted to screen or buffer)

        Info    (displays a mirrage of information on selected
                processes- you may select formatting, sorting,
                parameters, etc.)

        Unmessage (takes a system message file and decompiles so
                that you may edit and recompile).

        Psm     Example of a modified print symbiont.

        Verb    Extract verb definitions from command or current
                process table.

        Misc.   Some other executables, from my college hacking
                days, source code is all jumbled up and inaccesible
                currently. Included are programs to dump object files,
                (usefull for dumping SYS.STB), a program to search through
                the index file (it gets confused on extents, doesn't
                know about multiple volumes, but, still darn good)
                A program to examine memory, another to modify creation,
                modification, backup and expiration dates, and a program
                to broadcast messages to terminals.
========> [VAX85C.TPUEDT]AAAREADME.TXT;1 <========


These customizations to tpu's edt keypad emulator are 
implemented with the following files:

CHEATSHEET.RNO is the DSR source for a single-page summary of 
    the key definitions implemented in VMS, standard TPU EDT, or
    the  Kalamazoo College customizations. 

CUSTOM.RNO is the DSR source for a handout given to users 
    switching over from real EDT to this TPU emulation. 

KAZSECINI.TPU is the TPU source for the Kalamazoo College 
    customizations. 

TPUEDT.RNO is the DSR source for the paper on the programming of 
    the customizations, written as a candidate for last-minute 
    inclusion in the December, 1985 DECUS Symposium. 

TPUINI.TPU is the TPU source that serves as the users' command file.
========> [VAX85C.TSUME]AAAREADME.TXT;1 <========


Tsume - A C program to solve mating problems in Japanese Chess (Shogi).
        Testbed for directed tree searching. Rules given in TSUME.H
        Needs checkpoint facility and better heuristic to solve main
        problem which is known to require 113 moves.
========> [VAX85C.UAB]AAAREADME.TXT;5 <========





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


                    The University of Alabama at Birmingham



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

                  BY:   Mark R. Vevle
                        University of Alabama at Birmingham
                        244 BHS, THT 79
                        University Station
                        Birmingham, AL  35294

                        (205) 934-1973 / 2657

        I am  very  interested in  evolution of the  programs contained in
        this submission.  Please send me a description of any bugs,  fixes
        and/or  enhancements  you have made to these programs.  In turn, I
        will  give  you  credit in the  source  code  and  in  the program
        documentation  for  any  fixes/enhancements  which are used.  I'll
        also you send  an updated  copy (with your fix/enhancement) of the
        program.

    Location            Description
    -------------       --------------------------------------------------

    [...UAB.LIST]   --  NEW SUBMISSION.  A screen lister,  written in TPU,
                        which  uses  the  VT2xx  keypad  like  EDT  (where
                        aplicable).  I  am  sorry  the  source code is not
                        included.  I wrote  the  program  to learn TPU and
                        although LIST works and I have not encountered any
                        bugs (yet)  the source  code is not structured and
                        does not have any  documentation in it.  I plan to
                        clean up the source  and  submit it in the spring.
                                                                Page 2


                        If you send  me a tape or  RX01/RX02  floppy  with
                        return  postage  I'll send you the source  code as
                        soon as I get it cleaned up.

                        NOTE:   VAX  TPU  comes  with the VMS V4.2 update.
                                Therefore,  LIST will only work on systems
                                running VMS V4.2 or later.

                        Request to Users:
                        -----------------
                        I am open to suggestions for  functions for any of
                        currently undefined keys on the keypad and for any
                        changes to the  layout of the keypad.  Please send
                        a letter to the above address.  Thank you for your
                        input.

    [...UAB.RMDEMO] --  Update of RMDEMO,  a dynamic user display program.
                        Has been modified to use the SMG$ routines and has
                        gone to  132  columns rather  than 80,  and  other
                        updates and bug fixes.  Currently the  HELP screen
                        is not operational. Features broken by the VMS 4.0
                        update have been fixed (idle times, ect.).

                        Request to Users:
                        -----------------
                        I have changed the name of  RMDEMO to BIG_BROTHER
                        (BIGBRO) by  request  from users  since RMDEMO is
                        really DEC's RSX monitor program. BIG_BROTHER may
                        not be a suitable name either.  I am conducting a
                        poll of users for a NEW name. Please mail me your
                        favorite   suggestions   for  a   new   name  for
                        BIG_BROTHER.  I am also  open to  suggestions for
                        additions/deletions to the current display. Thank
                        you for your interest in BIG_BROTHER/WHAT_EVER.

    [...UAB.GRADE]  --  Resubmission of  class grading program which 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.

    [...UAB.SMAUG]  --  Resubmission.  We  run this program as a detached
                        process to lower the priority of users using more
                        than  their  share of the CPU.  A user's share of
                        the CPU is calculated as a function of the number
                        of  users on  the system.  SMAUG also  allows the
                        exclusion of some  programs  (we exclude FRODO if
                                                                Page 3


                        it is being run from terminal TXB2,  which is our
                        graphics station)  and SMAUG will not tamper with
                        users  who   are  already  running   at  elevated
                        priority (>4). SMAUG is written in VAX FORTRAN so
                        modifications should be simple if not trivial.
========> [VAX85C.UWRF]AAAREADME.TXT;7 <========


                     Fall 1985 VAX SIG Submissions from:
                     ----------------------------------

                          Academic Computing Center
                    University of Wisconsin - River Falls
                            River Falls, Wi 54022

This submission contains a variety of programs and command procedures developed
by  staff and students.  All are provided "as is" and may be used, modified and
copied  as you wish.  All of these items are currently in use under VMS 4.2 but
the  Univ.   of  Wis-River  Falls  assumes  no  responsibility  for  the use or
reliability of any of this software.

Many   of  the  command  procedures,  programs  and  help  text  may  reference
site-dependent logical names.  The logical names, and what they point to, are:

        ACC_USERUTILITY         Location of all utility programs  that  general
                                users would want to run.   These would be those
                                written by us  or  obtained  from  other  DECUS
                                tapes.  Nothing in this area would be  designed
                                for operators or system managers.

        ACC_SYSTEMUTILITY       Similar to  ACC_USERUTILITY  but  contains  all
                                those programs used by operators and the system
                                manager.

        ACC_USERCOM             Command procedures which can be used by general
                                users.

        ACC_SYSTEMCOM           Command  procedures  which  would  be  used  by
                                operators or the system manager.

        ACC_FILES               Location of data files  used  by  programs  and
                                command procedures found in any  of  the  other
                                locations.

[.ACCESS]
        A  software  package  to create and remove usernames.  It is especially
        designed  for  an academic environment where usernames for students are
        created  and  removed  frequently.   We  deal  with 800-1000 individual
        usernames which must be created and removed every 3 months.  The Access
        software  allows  the computing center to create usernames for students
        registered  for  a course and then gives the course instructors control
        over adding and dropping students.  The software is very site-dependent
        but  I  think it could be modified with minimal effort for other sites.
        The  software  does rely upon the Ingres data base software marketed by
        Relational  Technology  Inc.   but someone could modify the programs to
        use any other data base or file structure available.

[.CALENDAR]
        A   program   which  can  print  calendars  for  any  month  and  year.
        The calendar will fit on a single line printer page.  You can provide a
        data   file  with  up  to  2  lines  of  15  characters  each  of  text
        information   for   any  date.   This  text  will  be  printed  on  the
        calendar.   The  calendar  pages  are  also  sized to fit on 8.5" x 11"
                                                                Page 2


        paper  if  you  have a letter quality printer capable of printing at 12
        cpi.

[.EBS]  written by Allen Miller, student programmer
        Emergency  Broadcast  System.   This  program  is an alternative to the
        REPLY command and other such programs which have appeared on past DECUS
        tapes.    We   found   one   very   annoying  problem  with  all  these
        commands/programs.   The user could prevent the delivery of the message
        by  the  terminal  broadcast settings or if the terminal was in passall
        mode  (which  happens  with  one of our favorite editors).  EBS sends a
        message  to  the specified usernames and/or terminals using $QIO so the
        message  will always be delivered (unless terminal has been paused with
        ctrl-S).  It also has a /SELF qualifier that can be used by  anyone  to
        send themself a message - useful for notifications from batch jobs.

[.FRAGMENTATION]
        Prints  a  chart  showing  the  fragmentation  levels  of a disk.  This
        program  reads [000000]BITMAP.SYS.  It prints out the size and count of
        all free space found on a disk.

[.LISTER]
        A program listing program.  The main feature of this program is that it
        will  place titles at the top of each page of the listing.  By default,
        the title includes the filespec and the date and time.  You can specify
        the  title  within  the  program  by  enclosing  %TITLE  command within
        host-language  comment  delimiters.  Most of the source programs in our
        submission  use  this  program.  It makes it easy to find procedures or
        program   sections   in   large   printouts.   The  program  recognizes
        host-language  comments  for Basic, Cobol, Fortran, Macro and Pascal as
        well  as DCL.  It has only been used extensively with Pascal and DCL so
        I can't guarantee anything for the other languages (sorry - we aren't a
        Cobol shop).

[.PEN]
        Environment  files  for Pascal.  There are many files.  Some define DEC
        run-time  library  routines, others define routines in our own library,
        UPL.  These environment files are inherited by various programs in this
        submission.  On our system, these files are located in the area pointed
        to by the logical name SYS$LIBRARY_PASCAL:.

[.PRIV] written by Allen Miller
        Allows a user to set privileges based upon the authorized privileges of
        your  master process.  While SET PROCESS/PRIV= works for a main process
        to  enable  an authorized privilege not currently held, it doesn't work
        in  subprocesses  if  your  main  process  did  not  have an authorized
        privilege  set  when the subprocess was spawned.  PRIV will let you set
        the  privilege  from the subprocess.  Requires CMKRNL privilege to run.
        It  should  be safe to install with CMKRNL because PRIV makes sure that
        the  privilege  a  user  is  requesting is authorized.  Use at own risk
        however!  This  is  a new program for us new and it has not as yet been
        thoroughly  examined  from  a  security  stand-point (i.e.  redirecting
        logical names, etc.).

[.PROSE]
        A  text  formatting  program  similar  to  Runoff.   We used Prose on a
                                                                Page 3


        different  computer  system  before  we  got  our  VAX.   When  we were
        converting   we  looked  at  Runoff  and  discovered  that  Runoff  set
        limitations on page layouts and many other things which we weren't used
        to  dealing  with,  so  we  converted  Prose  to  run on the VAX (it is
        written  in  Pascal).   I won't claim that this program is for everyone
        but   all  the  documentation  on  other  programs  that  are  on  this
        submission  are  set  up  for  use  with  PROSE  so I included it also.
        PROSE  can  be frustrating at times; you have to be able to put up with
        its   unfriendlyness.    This  one  program  can  put  the  concept  of
        user-friendly  back  10  years.   We use it in the computing center and
        students  use it for resumes and term papers.  The source to Prose is a
        mess;  someday  we  hope to clean it up.  I haven't included it because
        you  really  don't  want to look at it.  If you are interested in using
        Prose and would like the source contact me directly and maybe something
        can  be  worked  out.   The  EXE  as included here should be sufficient
        to  print  any  of  our documentation files.  PROSE source files have a
        .PSI type and output files have a .PSO type.

[.QUOTA]
        Reads  the  disk  quota file on a disk using $QIO requests and prints a
        formatted list showing disk usage information.  We use this as a system
        manager's  program  to  replace  the  DISKQUOTA  SHOW  command.  It can
        produced  a list in one of several formats and it SORTS the information
        by identifier name or uic value.  One of the output formats will create
        a  listing  file in the same format as DISKQUOTA did under VMS 3.x - we
        needed  this  to make monthly accounting reports work since they relied
        upon  a  DISKQUOTA  SHOW output file.  Under VMS 4.x, the format of the
        listing file wasn't as consistent, we also needed the uic numeric value
        and DISKQUOTA always shows the uic in alpha form.

[.RESERVE]
        A terminal reservation package.  We operate a computer terminal lab for
        students  in any course to use.  Students can reserve up to 2 half-hour
        blocks  of  time a day on any of the terminals in this lab.  RESERVE is
        designed to run from a dedicated terminal in the outer area of our lab.
        We  run it for reserving 18 terminals but it was designed to handle 32.
        RESERVE  works  with  direct-access  and  indexed  files  to  keep  the
        reservation  data.   The  Ingres  data  base  software  from Relational
        Technology  Inc.  includes screen form routines and some of the support
        programs  use  these to set-up and initialize the other data files.  It
        would  require some modifications by others wishing to use it if you do
        not have Ingres.  All the programs are written in Pascal.

[.SCRUNCH]
        All  the  command  procedures we develop and use on a system-wide basis
        are  heavily  commented.   This  unfortunately  slows  down  execution.
        SCRUNCH  takes  as  input  the  file  containing  the commented command
        procedure  and  generates  an  output  file  with  all comments removed
        and   whitespace   and   multiple   lines  condensed.   SCRUNCH  itself
        is  not  highly  commented  nor  elegant  because  it  started  out  as
        a  test  program  which  has  since  been  inserted  into a much larger
        software  package.   But  it  does  work.   Make  sure  you  keep  your
        original source file around for modifications though!  SCRUNCH  follows
        the rules of DCL: if you start a symbol substitution with ', it expects
        to find a closing ' mark, quotes must be terminated on WRITE  commands,
                                                                Page 4


        etc.  If you take advantage of short-cuts in DCL, SCRUNCH may not  work
        properly.

[.SETFEEDER]
        A program to set-up a DIABLO 1630 letter quality printer for use with a
        cut-sheet  feeder.  This program sends escape sequences to the terminal
        port to which the DIABLO is connected.  It handles setting page length,
        margins and cpi.

[.SGO]  written by Anton Rang, James Miller, students
        Game  of  GO.   Very GOOD implementation; difficult to beat.  Uses SMG$
        routines.

[.SYSCOM]
        Command procedures designed for operators or system managers.

        PRIVCHECK
                Determines  if the caller has the needed privileges.  If caller
                has  SETPRV, PRIVCHECK will obtain the needed privileges.  This
                is used by other procedures.

        WARN
                Sends  warning  messages to all users at recurring intervals to
                inform  them  of  pending  backup.  This procedure uses the EBS
                program.   It  also uses the TIME program from an earlier DECUS
                tape.  This is set up to run as a batch job.

[.UPL]
        User   Procedure   Library.    Routines  written  as  run-time  library
        routines   for   use  in  other  programs.   There  are  many  routines
        included  here,  many  of  which  are  used  by  other programs in this
        submission.   We have this set up as a shareable library on our system.
        There  is  also a user system services file named ACCUSS which contains
        two routines needed by EBS.

[.USERCOM]
        Command  procedures  which  can  be  used  by any user; they require no
        special privileges.

        EBSALARM, EBSALARM2     written by Anton Rang, student
                Alarm  clock  to  run  as  a  subprocess.  Students use this to
                remind  them  when  it  is  time  to go to class.  Uses the EBS
                program.

        INUSE   modified by Anton Rang, Harlan Bloom, students
                Modification  of  a  procedure found in an earlier DECUS.  This
                locks a terminal and displays an inuse message on the screen so
                that the user can temporarily walk away without fearing for the
                safety of his files.

        PROTECT written by Harlan Bloom, student
                Simplifies use of the SET PROTECTION command.

        RECOMPILE, RELINK       written by Anton Rang
                Procedures  to  compile and link portions of a software package
                                                                Page 5


                only  if  the source files have changed since the latest object
                or exe files.

        RESET   written by Anton Rang
                Simple  command  procedure that can be used to prevent you from
                accidentally logging off if you have a subprocess running, such
                as an editor spawned.

        SYMBOL_EXTRACT
                System  symbols  and message symbols are a great invention.  It
                would  be  even  nicer  if they were easier to incorporate into
                non-macro programs.  This procedure provides a way to take such
                symbols  and  create  a file that can be included by Fortran or
                Pascal  programs.   The  procedure  will even generate either a
                CONST  type include file or a VAR [EXTERNAL,VALUE] type include
                file   for   use   with   Pascal  3.0.   This  procedure  needs
                SYMBOL_LIST.

        SYMBOL_LIST
                Provides  a way to list the values associated with any group of
                symbols,  such  as  $SSDEF,  $LIBDEF, etc.  It can be called to
                list  user  symbols  generated  from  message files also.  This
                routine is also called by SYMBOL_EXTRACT.   Also,  the  program
                PROSE is used by this procedure to create  a  nicely  formatted
                symbol listing.

        TESTFILE
                Used  by  some  of the other procedures.  Returns a status code
                indicating if a specified file exists or not.

        USERS   written by Anton Rang
                Program  usually  run  when  you log on to tell you who else is
                also  on  the  system.  The usernames you are interested in are
                contained in a file.

        XCOMPILE        written by Harlan Bloom, student.
                Performs  a  compile,  link  and run.  Designed to simplify the
                program  development process for students.  This procedure will
                handle  any  of the languages: Basic, Cobol, Fortran, Macro and
                Pascal.  It also uses XRUN.

        XDELETE written by Anton Rang
                Makes  it easy to delete files.  You can enter XDELETE TEST and
                it will get rid of TEST.*;*.

        XRUN            written by Harlan Bloom, student.
                Runs  a  user-specified program, directing the output to a disk
                file.   This disk file can then be printed on the line printer.
                This procedure was designed to make it easy for students to get
                a  hard  copy run of their assignments.  It doesn't do anything
                super fancy, just all the usual defines of logical names.   The
                program TRANSFORM  from  an  earlier  DECUS  is  used  by  this
                procedure; its purpose is to convert  from  one  type  of  file
                carriage control to another.

                                                                Page 6


[.VAXGUIDE]
        This  is  a  copy  of  our  user's  guide.   It  will obviously contain
        information  specific  to  our  site  but  when we first got our VAX we
        looked  around for something like this as a base from which to start so
        I  thought  someone  else  might  benefit from ours.  It is designed to
        be  used  with  PROSE.   I have included both the source and the result
        formatted for a line printer.

If  you have any questions, problems or comments about any of these submissions
you can contact:

                Marlys A. Nelson
                Academic Computing Center
                University of Wisconsin - River Falls
                River Falls, Wi 54022
                (715) 425-3583

For  generally  simple  questions  or problems, your best bet is to call.  I am
usually  available  to  provide quick assistance over the phone.  No support of
any  of  these  items  is  promised  however.   We  are a very small operation.
Responding  to  written  communications never seems to make it very high on the
list of fires to fight but you can try if you want.
========> [VAX85C.VFE]AAAREADME.TXT;1 <========


     VFE is a block-oriented, type insensitive VMS file editor.  It
can edit user files, FOREIGN-mounted tapes, and disk devices.  Data
can be displayed in ASCII, EBCDIC, hex, binary, and integer format.
User-defined sections of single or multiple contiguous blocks can be
changed, compared, and transferred within a file or between files.
VFE also has a very fast search which can target a string, hex or
integer constant.  All or part of a terminal session can be logged
to a sequential file for later lineprinter output.

     For more information, see VFE.DOC.

     This is the second release of VFE, with many useful enhancements.
If you are a user of the original version, released on the fall 1984
VAX SIG tapes, be sure to look at VFENEW.DOC.

     This utility was presented at the "VAX magic" session of the fall
1984 DECUS symposium.  Submitted by:

     Ward Condit
     Maricopa Community Colleges
     P. O. Box 13349
     Phoenix, Az.  85002
========> [VAX85C.WATCHDOG]AAAREADME.TXT;10 <========



                          W A T C H D O G



          This directory contains a program, WATCHDOG, original was taken
     from a DECUS  tape and  the  authors  unknown, it was  rewritten  at
     American  Satellite  Company.   This  program  monitors  interactive
     processes and logs processes off that have  been  inactive  for some
     time period.  A interactive process is a process that is attached to
     a terminal.  The process can be network  process, a spawned process,
     or an interactive  process  WATCHDOG  does not care as long as it is 
     connected to a terminal and not HIBERATING.

          When a process is being logged off a  message  is  sent  to the
     central operators.  Warning  messages  are  sent  to users terminals
     except under the condition  when  the process's main terminal is set
     for no broadcast or  when  a  main  process  is  suspended  and  the
     subprocess needs to be logged off.
     
          A  command  file  is  included  to  build  the  program  called
     WATCHDOG.BLD.  To start WATCHDOG you may use WATCHDOG.COM, this file
     may be put in your sys$manager:systartup.com.

        George H. Walrod III       MS-34
        American Satellite Company
        1801 Research Boulevard
        Rockville, MD, 20850-3186        (301)251-8485
