========> [VAX87C.ANLJOHNO]AAAREADME.TXT;1 <========


                     FALL 1987 VAX SIG TAPE SUBMISSION

                                John Osudar

                           Electronics Department
                        Argonne National Laboratory
                                  205 A-051
                           9700 South Cass Avenue
                           Argonne, IL 60439-4837

                               Phone numbers:
                               FTS: 972-7505
                              (312) 972-7505

                         Electronic mail addresses:
                         Bitnet:  B35049 at ANLCMT
                            MFENET:  B35049@AN2

This directory tree contains the following software:

(1) A DCL interface for simple submission of single-command batch jobs, with
    preservation of current environment (logical names, symbols, default
    directory) -- defines a BATCH command that's similar to SPAWN but creates
    a batch job instead of a subprocess

(2) A new version of the general, multi-threaded VMS "executive" server
    symbiont (EXECSYMB) that originally appeared on the Spring 1987 tape.
    This version contains some bug fixes, and provides support for 
    "permanent" queue servers.

(3) A DECnet object that is a $GETxxI server, along with some programs that use
    it to implement cluster-wide status display (e.g. SHOW SYSTEM/CLUSTER)

(4) A memory disk driver that is faster and more efficient than the one that
    comes with VMS

All directories have their own AAAREADME.TXT files, which provide more 
complete documentation of their contents.


                                DISCLAIMER

All software in this directory tree is provided "as-is".  This software 
represents "work in progress", not completed products, and as such, may 
contain bugs or other "undesirable features".  No guarantee of functionality 
is expressed or implied.  My employer, Argonne National Laboratory, and I make 
no commitment to provide any type of support for any of this software.  
However, as time permits and for mutual benefit (since I use this stuff too), 
I will respond to phone calls, hardcopy mail or electronic messages regarding 
bugs, enhancements, or questions about this software, and I will try to submit 
corrected or enhanced copies of this stuff to future VAX Sigtapes.
========> [VAX87C.ARC]AAAREADME.TXT;1 <========


                                  * * * * * *         
                                 *    *       *       
                                *     *       * * *   
                               *      *      *      * 
                              * * * * * * * *         
                             *        *      *      * 
                            *         *       * * *   
                   
                             Access Research Corp.

This contains information regarding the submissions to DECUS
Symposium Tape.

---[Directory]----     ----- Comment -----------------------

    [.LASER_PRINT]              Directory contains command procedure,
                        LPRINT.COM that prints files on HP
                        Laserjet's and Laserjet Plus.  Included
                        are the files for inclusion into
                        SYSDEVCTL.TLB for form setups.  Also
                        included is a listing of the forms.
                        
                        
    [.TPU]                              Directory contains various TPU
                        procedures - some are revisions of
                        EVEPLUS procedures and others are
                        are own design.
                        
    [.VAX_2_IBM]                Directory contains our version of
                        a program and command procedure that
                        convert VAX ASCII files to IBM EBCDIC
                        or visa versa.


All inquires regarding these programs and procedures should
be directed to:

            Steven MacNeil
            Access Research Corp.
            9655 Towne Centre Dr.
            San Diego, CA  92121
            (619) 535-1070

Any improvements, suggestions, comments or updates to any
of the submissions would be greatly appreciated.
========> [VAX87C.BASSETT]AAAREADME.TXT;1 <========


                        [.jgb]Stuff

        Author:         Fred Bassett
                        JG Boswell Co
                        PO Box 457
                        Corcoran, CA 93212
                        (209)992-2141

        Software:       Vax VMS -       V4.6
                        Basic   -       V3.1
                        CDD     -       V3.4-1
                        Cobol   -       V3.3-47
                        Datatrieve      V4.1
                        FMS     -       V2.3
                        TDMS    -       V1.6
                        Fortran -       V4.6-244
                        RDB/Vms -       V2.3


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

1.              [.bassett]
                submissions by Fred Bassett
                A.      [.business]
                a collection of loan and investment programs
                they contain their own menu system (see [.menu_fortran])

                B.      [.games]
                Not included

                C.      [.golf] revised June 1987
                a pretty neat golf handicap/information system
                originally written in fall 1984 as an exercise in using
                the then new Vax Rdb/Vms product

                D.      [.kill]
                our slightly modified version from the decus kill program
                as in watchdog this one gives the option of $forcex or
                $delprc system services

                E.      [.menu_fortran]
                a slightly modified version of a menu system written in
                fortran using the Screen Management Facility from a previous
                decus symposium tape
                our version does scrolling

                F.      [.misc]
                a collection of miscellaneous things
                        1.      VT241 Regis Color Selection
                        2.      Terminal Type Identification revised June 1987
                        3.      Autodial
                        4.      Print By Number revised Nov 1987
                        5.      DCL Menu
                        6.      TALARIS Font Library
                        7.      Functions to add to dtr$library:dtrfnd.mar 
                                                                Page 2


                        8.      various tpu things

                G.      [.news]
                our slightly modified version of the decus news programs
                also included here for more exposure to decus members as
                we feel this is an excellent user news/message distribution
                program

                H.      [.reminder]
                our slightly modified version from the decus VPW programs
                for use outside of VPW, program has been modified to
                reflect sysuaf.dat file changes of Vms V4

                I.      [.users ]
                yes another show users program, this one written in cobol

                J.      [.watchdog]
                our modified version of the decus standard watchdog program
                this one checks to see if user is in an image then
                does a $forcex system service if in an image
                or   a $delprc system service if not in an image (at dcl)
                this sure helps if you have some sort of transaction
                journaling in your applications

------------------------------------------------------------------------------  
========> [VAX87C.BATTELLE]AAAREADME.TXT;1 <========



BATTELLE

The submissions on this tape include:

 1) ARGNUM - Short routine to return the number of arguments
             passed to a subroutine

 2) BATUSS - Pair of user-written system service to (temporarily)
             change a process uic to the uic of an image file.

 3) FID - Program to display file name given file id.

 4) FILES - Program to quickly locate files based on size, uic, etc.

 5) PASENVS - Pascal environment files.

 6) PWD - Program to save and restore "hashed" password in UAF.

 7) SMAC - Strucutred MAcro Library

 8) TPU - TPU procs to show/set directory, expand number of function
          keys in an "EMACS-like" fashion, encode/decode text.

More information on each submission is included in the AAAREADME.TXT
file in each subdirectory.

Questions and comments are invited. Address your responses to:

        Mark Oakley
        Battelle Memorial Institute
        505 King Ave
        Columbus, Ohio        43201

        614/424-7154

        ARPAnet:  oakley@battelle.arpa
========> [VAX87C.BZL]AAAREADME.TXT;1 <========


     This submission contains various items (other than those
related to Datatrieve, which will be found in the DTR/4GL SIG
Library collection elsewhere on this tape).

[.LSE]          Language Sensitive Editor templates for RUNOFF (and LSE)

[.PSI]          A sample program on how to make an outgoing connection
                with X.29 (PAD) services: I'm hoping someone can add
                this to Kermit, VAXNET, etc.  (The DEC supplied example
                is for incoming connections only.)  Also a "C" header
                file for PSI definitions.

[.ERLANG]       A re-submission of a program which solves Erlang Blocking
                formulas (and some text showing why it's used).

[.SPEED]        Some VAX updates on programs which directly measure CPU
                instruction execution speed.  Maybe we can really find
                out how fast one VAX processor is versus another.

B. Z. Lederman
ITT World Communications
67 Broad St. 28th Floor
New York, NY 10004-2464
========> [VAX87C.CI]AAAREADME.TXT;2 <========


SUBMISSION:  VARIOUS SOFTWARE ITEMS FROM COMPASSION INTERNATIONAL

Submitted by:

        Ken Richardson
        Compassion International
        PO Box 7000
        Colorado Springs, CO  80933
        (303) 594-9900

        This software is made available to the public with no warranties,
        guarantees, or liability for its use or any consequences thereof.
        After all, it's free.  However, I wouldn't submit it if I didn't think
        it worked correctly.  And the code written at our site tends to be
        well-structured, efficient, clean, and debugged.

        If you have any questions or comments, you can find me at the address or
        phone number listed above.  I'd cheerfully discuss any questions or
        comments you may have.  However, I'm not easy to get by phone, nor am I
        likely to return a call if there's no message; (I'd assume it was a
        sales call, and I always let salesmen do the calling).

        This submission contains my "standard" DECUS contribution.  Many of the
        items have been upgraded since the last Fall DECUS tape.  A few have
        not.


CLOSE_VMS_ACCT.COM

        We use this command procedure to close our VMS accounting files every 
        month.  This facilitates usage analysis and archiving of accounting data
        by month.  Nothing fancy, but if you don't have it, here it is.

COUNTREC.EXE

        I got tired of copying files to the null device in order to find out how
        many records they contain (copy/log file.dat nl:), which can be quite
        slow and resource-intensive with large files, so I wrote this simple
        record-counting program.  If you define it as a foreign command, you can
        specify the input file on the command line.  Otherwise, it prompts you. 

COUNT_RECORDS.COM

        This procedure allows wild-carded counting with COUNTREC.EXE.  We have a
        COUNT command defined as @CI$COMMAND:COUNT_RECORDS.COM, which lets us
        type "COUNT filespec" to count records in a bunch of files. 

DIALUPINI.EXE

        We use US-ROBOTICS hayes-compatible modems on our dialups (the kind that
        use the AT command set).  They work fine, and we use the same lines both
        for dialing in and for dialing out (I only mention that because I saw
        someone complain in the pageswapper that you can't do it).  However,
        when the modems power up, they default to sending useful information to
        VMS (like "RING<CR>" and "CONNECT<CR>") every time someone dials in.
                                                                Page 2


        The only problem is that VMS doesn't find it all that useful.  So we run
        DIALUPINI.EXE to tell the modems not to be quite so useful; they're much
        more useful that way.

        DIALUPINI.EXE expects a logical name (DIALUP) to point to the port that
        needs to be reset, and it expects you to already have allocated the port
        and set the appropriate speed (assuming you are using autobaud on the
        port).  You might need a privilege to allocate the dialup port,
        depending on how your ports and system parameters are set.  I think it's
        SYSPRV.  For more info about DIALUPINI.EXE, see INIT_DIALUPS.COM.

DROIDS.EXE

        This game lets you get chased by robots on a 24x40 field.  Only in a
        weak moment will I confess who wrote it.  (I'm also not telling which
        language it's written in; no, it's not BASIC.)  However, it runs quite
        efficiently, using only one QIO per screen update and one per input.  It
        requires write access to a ci$games directory, which is where it stores
        the "droids champions" list (droids.dat).  If more than one player will
        be using the same droids.dat file, you need to SET FILE/PROT=W:RW to the
        file after the first player creates it.

ENPAGE.DOC

        This documentation file describes the ENPAGE utility to some non-zero
        degree.  For more info, see ENPAGE.EXE or read ENPAGE.DOC.  (I just
        realized that I'm documenting documentation.  This might be the first
        meta-documentation that I've ever written.)

ENPAGE.EXE

        When we got our nifty new LN03 laser printers, we needed a way to put
        all that power in the hands of our office staff.  ENPAGE is how we did
        it.  In naming ENPAGE, I was inspired by the writer of that venerable
        and ever-useful ENTAB utility, which we use extensively for on-line
        reports.  ENPAGE reformats a text document, adjusting margins (left,
        right, top, & bottom), pitch (both vertical & horizontal), orientation
        (portrait or landscape), point-size, and stuff like that.  It
        compensates for imbedded tabs regardless of the left margin you specify.
        If you've never encountered that problem, please ignore the previous
        sentence.  For people who write letters, ENPAGE can optionally output
        the first page separately from the rest of the document (we have a
        dedicated letterhead printer).

        ENPAGE output can be directed either to devices or to files.  ENPAGE
        output is suitable primarily for LN03 laser printers (it inserts LN03
        control sequences into the results).  To use the output on some other
        printer, you'd probably have to edit the device control sequences out of
        the first and last lines of the output files.

FORCEX.EXE

        Have you ever had a program get into an infinite loop?  Well, neither
        have I, but just in case it ever happens, this program will exercise the
        VMS system services just enough to list out all the processes on the
                                                                Page 3


        system and ask you if you want to force-exit any of them.  It's not any
        fantastic new discovery, but it does have the advantage of stopping just
        the current image rather than the entire process.  The process returns
        to the $ if it's interactive, or to the next line in the command
        procedure if it's batch.  FORCEX requires WORLD privilege, GROUP
        privilege, or the same username, depending on the target process.

INIT_DIALUPS.COM

        We have three dialup lines; they are known by system-wide logicals
        ci$dialup_1, ci$dialup_2, and ci$dialup_3.  We initialize the modems on
        those lines during system startup and once per hour (in case someone has
        been using a modem and left it an a non-standard condition).

        The INIT_DIALUPS.COM command procedure looks for all devices pointed to
        by ci$dialup_n.  For each such unallocated device, INIT_DIALUPS.COM
        allocates the device, sets the speed, initializes the modem (using
        DIALUPINI.EXE), and deallocates the device.

LASER2.COM

        This is the procedure that drives the ENPAGE utility.  Actually, at our
        site we have another procedure that provides novice users with somewhat
        simple access to rather sophisticated printer characteristics on several
        printers throughout the office, including our plain-bond laser printer.
        However, LASER2.COM shows the basics of using ENPAGE.EXE when driving a
        letterhead/plain-bond printer combination.

LOCK_TERMINAL.EXE

        This is a simple program that accepts and verifies a password, then
        locks your terminal until you type the password again.  Useful for
        leaving an account logged in while you go away for a couple of minutes.
        It traps CONTROL-C and CONTROL-Y.  However, if you are logged-in
        remotely using $SET HOST, CONTROL-Y could still be used by a malicious
        user to return to your original process on the local node.  For this
        reason, I use it mainly on local nodes.

REMINDPRT.COM

        This is a simple command procedure to provide access to REMINDPRT.EXE.

REMINDPRT.EXE

        Are you using the REMINDER utility that has been on recent DECUS tapes?
        (If so, there's a rumor that you'd better patch out the timebomb that
        limits the useful life of REMINDER to about one year).  Well, we needed
        more flexibility in printing out reminders, so we wrote a program to
        print simple calendars from the reminder file.  No REMINDER user should
        be without it.  Output goes to CI$OUTPUT.

REMRESCHD.EXE

        One of the annoying things about REMINDER is that it deletes old
        reminders automatically, even if you never got to see it.  Well, every
                                                                Page 4


        night right after midnight I run REMRESCHD.EXE to reschedule old
        reminders up to today.  That way REMINDER becomes a to-do list that
        won't let me forget a reminder unless I explicitly delete it.

        Caution:  If your login.com automatically displays your reminders
        ($REMIND ME) like mine does, you need to jump over that line when f$mode
        is "BATCH" so your midnight rescheduling job can run REMRESCHD on your
        reminder file before REMINDER gets to it.

SYSTATUS.EXE

        Here's SYSTATUS version 4.7.  It's a somewhat flexible system status
        monitor.  We'd be lost without it.  To use it, you just type RUN
        SYSTATUS at the $.  All commands are one-character (no <CR>).  On-line
        help is available by typing the letter "H" while it is running.

        Changes since version 4.4 (on the Fall '86 DECUS tape):

                Automatic sensing of your terminal width and height.  If your
                terminal is in 132-column mode, you get more info than in
                80-column mode.  If you have a terminal with more or fewer than
                24 lines, the display will scroll correctly. This all assumes
                that you have done a $SET TERMINAL/WIDTH=n/PAGE=n type of
                command. 

                At program initialization, an internal table of process info is
                initialized more efficiently than before.  This is done by
                relying on the maximum process count that you have specified in
                SYSGEN.  The highest MAXPROCESSCNT that SYSTATUS can handle is
                256. 

                The ability to process commands before displaying the first
                screen of info.  One way that I use this feature is when I dial
                into the system and just want to see the "active" processes
                (command "A").  By typing the "A" before the first screen of
                info, I avoid seeing the other umpteen inactive processes at
                1200 baud. 

                New DEBUG messages.  You won't ever see them unless you toggle
                debug mode on.  I rarely do. 

                If SYSTATUS can't display its buffer with one QIO, it tells you
                why and exits.  It used to ignore the problem.  The reason for
                the QIO failure is usually EXQUOTA.  This can be corrected by
                increasing the SYSGEN parameter MAXBUF, which I have set at
                something like 6000 for our systems. 

                The ability to get a clean display of your own processes without
                GROUP or WORLD privilege.  Also, the ability to display other
                processes in your group with GROUP privilege.  Originally,
                SYSTATUS was designed to require WORLD privilege for a clean
                display. 

                New PAGEFILE/SWAPFILE/NODE info.  Also, a new "P" command to
                toggle this info on/off. 
                                                                Page 5



        We have SYSTATUS installed shared.  It needs GROUP or WORLD privilege to
        look at processes other than your own.  We install it without these, so
        that only users with these privileges can watch other users' processes. 

        If you also give it ALTPRI, it temporarily boosts its own priority to 16
        during each brief data-collection interval, thus improving the accuracy
        of the results.  It disables control-y before boosting the priority, and
        restores the previous state of control-y (usually enabled) after
        dropping back down to the original base priority.  If you're running any
        realtime stuff on your system at priority 16, I suppose you wouldn't
        want to install SYSTATUS with ALTPRI (nor run it from an account with
        ALTPRI turned on).  For the other 99% of VAX sites, I do recommend that
        you install it with ALTPRI for the most accurate results. 

SYSTATUS3.EXE

        This is an older version of SYSTATUS for VMS version 3.

VMSDOWN.COM
VMSDOWNUP.COM

        We run a fairly secure site.  For example, the computer operators don't
        have many privileges.  They do backups from a captive account.  They
        can't read system backup tapes without a special captive account that
        restores files back where they came from originally.  And as a side
        effect of this kind of security, they can't take VMS down.  (Actually,
        this is a side effect of the granularity of privileges granted by VMS
        privilege bits, but that's another story.)

        However, I want my underprivileged operators to be able to take VMS
        down, or to take VMS down and bring it right back up.  This is useful
        when I've changed a system parameter during prime-time and I want it to
        take effect ASAP, but the first window for downtime is after my bedtime.

        VMSDOWN.COM and VMSDOWNUP.COM satisfy this need.  They are submitted to
        a batch queue on hold (submit/hold), and the operator releases them when
        it is convenient (set queue/entry=#/release).

USING COMPASSION INTERNATIONAL SOFTWARE

        If you use any of the software in this submission, you will probably
        need to edit our command procedures or define logical names to account
        for the conventions that we use at Compassion.  The items you will
        probably need to change or define include:

        LOGICAL NAMES:

        ci$command      The directory that holds our local command procedures.
        ci$dialup_n     The dialup ports at our site (n = 1, 2, 3, etc.).
        ci$games        The directory that holds games and related files.
        ci$images       The directory that holds our local images.
        ci$input        The primary input device for a program.
        ci$output       The primary output device for a program.
        ci$output_2     The secondary output device for a program.
                                                                Page 6


        ci$workfiles    The intermediate directory commonly used at our site.

        QUEUE NAMES:

        laser$print_1   The name of our plain-bond print queue.
        laser$print_2   The name of our letterhead print queue.

        FORM NAMES:

        letter1         The form type normally mounted on laser$print_2.
        plain_bond      The form type normally mounted on laser$print_1.
========> [VAX87C.CLEMENT]AAAREADME.TXT;1 <========



     BONNER LAB RUNOFF                                                  Page 1
     

                                      AUTHOR:
                                      -------


                                  --- VMS/RSX ---
                                   John Clement
                                 T. W. Bonner Lab
                                  Rice University
                                   P.O. Box 1892
                                Houston, Tx, 77251
                              Tel (713) 527-8101x2037
                        Arpanet:  CLEMENT@PHYSICS.RICE.EDU
                               Bitnet:  BONNER@RICE

                                   --- Rt-11 ---
                                  Robert Walraven
                                  Multiware, Inc.
                                   437 F Street
                                  Davis, CA 95616


                                     ABSTRACT

                              Bonner Lab Runoff (RNO)

     Bonner  Lab Runoff is a text formatter that, 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 can 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 can completely change  the  look  of
     the  pages.   Table layout is simplified by right justified and 'decimal'
     justified tabs.  Permanent margins that apply to  the  page  headers  are
     available.  These simplify the setting of header and text margins.  

     All  special  characters  are  redefinable.  The user can define new com-
                                                                Page 2


     mands, and text macros.  By defining commands you can make  this  program
     resemble other text formatters, or other versions of RUNOFF.  You may de-
     fine 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.  

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

                             SPY
This  is a little program you may install that performs some
of the same functions as SHOW PROCESS.   It  however  allows
you  to select the process to show by USER, IMAGENAME, NAME,
Terminal name, or MODE.  It  produces  either  a  continuous
display,  or  a  single  display.   If  installed with WORLD
privelege,  then  all  users   may   use   it.    You   must
SET COMMAND SPY  before  using  it.   If you wish to make it
available to all users:  
     $ @DCLTABLES SPY 
To generate the documentaion an help files:  
     $ @DOCUMENT spy 
The help file may be put into SYS$HELP:  
     $ LIBRARY SYS$HELP:HELPLIB/help spy 

========> [VAX87C.CLIB]AAAREADME.TXT;1 <========


    Please  note  that the C library contained herein expects that the
    main function provided by the user program is  ZMAIN  rather  than
    MAIN. This is because the DEC compiler treats the symbol MAIN as a
    special  case  and this library does not support any special entry
    points that the DEC compiler generates. 

    The change is simple: just change the name of your main to  zmain.
    The following program is then included in your link file, 


        .title main     ;needed for dec c compiler
        .ident /main01/
        .entry main,^m<>
         jmp     zmain+2
        .end

    and you link as follows, 


$ here := SYS$DISK:'F$DIRECTORY()'
$link/exe=grep/nouserlib/map='here'grep.map   sys$input/opt,-
        'here'cheader,main,-
        'here'grep, -
        runtime/lib
!sys$library:runtime99.exe/shareable=nocopy
$!end

    The  symbol  HERE  is  just  shorthand  for  the  current  default
    directory. 

    Note  "cheader,main"  precedes  your  module(s)  and   runtime/lib
    follows.  The  module  cheader has a transfer address (making it a
    true main program) which calls an internal routine  to  parse  the
    command  line  followed  by a call to main(argc,argv). The program
    main.mar (as shown above) just transfers control  to  zmain.  This
    allows us to avoid declaring main in a C program which causes some
    extra code to be generated that we do not want. 

    Note the line 

        !sys$library:runtime99.exe/shareable=nocopy

    this  may  be added (remove comment) if you build the library as a
    shared library. Then, runtime99.exe (the  99  is  added  to  avoid
    collisions   since   libraries  go  into  sys$library).  The  file
    makelib.com is used to build it. 

    Feel free to distribute this library  as  you  wish.  It  contains
    public  domain  objects  only. This library is also an update to a
    prior library that was on a DECUS tape a few years back. 

                                                Eric Levy 6-11-84
========> [VAX87C.COSTELLO]AAAREADME.TXT;10 <========



                Cornell University Submissions

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

                                607-255-2329

TPC - Author: Dennis Costello

        VAX Native Mode replacement for the TPC utility. This version fixes 
one small bug in the version submitted to the Spring 86 (Dallas) tape, where 
the tape drive specified on the command line was required to be MS:. Turns out 
that the string 'MS:' appeared in one spot in the code, but I only noticed 
this very recently, because I had defined MS (and MSA, MS0, MSA0) to be 
logicals which translate to MUA0: when I got a TU81. My apologies to any who
were confused. New versions of TPCIN.COM and TPCOUT.COM are also enclosed.

        Source, object and executable 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 (the compiles and link were performed under 
VMS 4.6): 

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

        To use TPC to copy a tape using a TU81 (TU81+, TK50) tape drive, issue
the following commands: 
        
        $ mou mu:/for/cache=tape_data/nowrite
        $ tpc mu: disk:[directory]file.tap
        $ dism mu:
        $ mou mu:/for/cache=tape_data
        $ tpc disk:[directory]file.tap mu:
        $ dism mu:

        TPCIN.COM and TPCOUT.COM (included on the tape) have been set up to do 
the two sides of the copy operation automatically. I usually submit these as
batch jobs. 

        Note that the /CACHE=TAPE_DATA speeds up TPC by a factor of about 4, 
in that TPC does not perform overlapped I/Os and therefore has no other hope
of getting the tape to stream. If the output tape should be 6250, include 
/DENS=6250 on the MOUNT command for the output tape. This has not been tested 
with long file names (I usually use .TAP as a filetype with TPC). The output 
tape need not be the same density, nor written on the same drive, as the 
input tape, but note that there is no attempt to handle premature end-of-tape 
or other I/O errors with any element of grace at all.
========> [VAX87C.CSDHBO]AAAREADME.TXT;1 <========


[.filter]
The filter program is intended to run in a cluster environment.
Run as a subprocess on every operator's console in the cluster
it will filter out most broadcast messages from other nodes
in the cluster.  This will save much aggravation, headaches from
beeping consoles, and wasted paper.

[.syslib]
This area contains useful routines which make using system services
easier or perform functions not available as system services or
run-time library procedures.  Print userlib.mem for more detailed
information.

Jonathan Welch
Vax System Programmer
HBO & Co.
Amherst, MA. 01002

(413) 549-7100

Bitnet: JHWELCH@amherst
========> [VAX87C.DJM]AAAREADME.TXT;2 <========


On the other hand, I am always glad to talk about my work.  You can contact
me by US Mail:          D.J.Maus
                        Fermilab
                        P.O.Box 500 MS306
                        Batavia, IL 60510
or telephone:   (312) 840-2431
or Bitnet:      MAUS@FNALAD
                

[DJM]0CATALOG.LIS;3                       6/6
        Document giving some details on contents of this submission.

[DJM]COM.DIR;1                            4/6     
        Directory of various command procedures. Electronic telephone
        book, invoke Authorize in any directory; define VT2xx keys;
        invoke editors; improved directory; info re identifier; tell
        what files would be purged; see who uses a command procedure;
        ASCII list; list of VMS docset.

[DJM]LIB.DIR;1                            1/3     
        Directory of various refernce material.

[DJM]WHO.DIR;1                            1/3     
        Directory containing the files for the WHO utility.

========> [VAX87C.DOLGEN]AAAREADME.TXT;1 <========


Submissions by: William L. Baker

                Dollar General Corp.
                427 Beech St.
                Scottsville, Ky. 42164
                (502) 237-5444 x 214

Directory [*.DOLGEN.DECALC] contains a few command procedures to make the 
conversion to DECALC version 3 a little easier:

        CLEANUP.COM     This procedure generates delete commands for all decalc 
                        version 2 related files.
        
        CONVERTER.COM   Convert all the users on a given pack and continues
                        when severe errors are detected. Allows you to determine
                        which grids will not convert and send a pre-conversion 
                        action listing to each user.

        DECAL2.COM      This is our command file for starting a user DECALC 
                        session. It is set up to run:

                                Version 2 and version 3 in parallel.

                                Accept passwords for the conversion.

                                Allow the user to convert one grid at a time for
                                testing. CALC$CONVERT_GRIDS.COM is a hog!

        NULL_KILLER.COM This command will find any users with version 2 private 
                        directories without a grid or name file.

        SHOW_V2_NAME.COM This procedure will display grid names from a version 2
                         name file.

Directory [*.DOLGEN.DISKREO] contains a command procedure to reorganize a disk:

        DISK_REO.COM    This procedure will create a copy of the input disk. The
                        copy will be divided into three zones to minimize head
                        contention:

                        Zone 1: Places INDEXF.SYS, all directories, [SYSTEM], 
                                and user files in the middle logical blocks. The
                                user files are selected and ordered according to
                                a parameter file. Places one half of the free
                                space on each side of zone 1.

                        Zone 2: Places short life files around the zone 1.
                                Program ZONE.BAS determines which files are 
                                included in zone 2 and zone 3. Zone 2 will have
                                .LIS files for example. The files are copied in 
                                sorted order by file extension and size.

                        Zone 3: Places long life, low access files around the 
                                zone 2.

                                                                Page 2


        DISK_REO_DATA_CHECK.COM A procedure to assist with the maintenance of 
                                the zone 1 user file placement parameter files.

        HEAD_ANAL2.COM          A procedure to list a file(s) retrieval pointer
                                logical block numbers and allocated size. 

        LOGIN.COM               A captive command file to run the disk 
                                reorganization.


========> [VAX87C.DOWN]AAAREADME.TXT;3 <========


                                 DOWN Utility

BRIEF DESCRIPTION OF THE UTILITY
================================
  The DOWN utility provides an easy means to "move around" in your
  directory tree.  This utility allows you to move deeper in your
  directory tree or up through your directory tree or even to change
  the directory tree you are in even if it exists on another device.

  You do not have to specify a path name as you would have to use with the
  SET DEFAULT command.  All that is needed is the file name portion of the
  directory that you wish to make your default.  This utility will find a
  directory that matches that specification regardless of where that
  directory is located in your directory tree. 

INTENDED USE
============
  To be used as an aid to or a replacement for the DCL SET DEFAULT command.
  This program uses 100% VMS normal syntax but also allows for abbreviated
  syntax (including wildcards).  This utility can be used like the set
  default command (i.e. specifying the desired directory on the command
  line).  If you do not specify a directory it will list all of your
  directories and allow you to choose one by moving the cursor to it or by
  specifying it by its number as indicated on the screen.  This utility
  IS device independant.
                                    
Written in VAX BASIC V3.1

Comments are welcome:
Send any questions, comments, enhancements, bug reports and wish lists to:
Michael W. Wheeler  ( Bitnet address: mww@tntech.bitnet )
Systems Programmer
Tennessee Technological University
Box 5071
Cookeville, TN  38505
(615) 372-3977
========> [VAX87C.DTREDIT]AAAREADME.TXT;2 <========


                                                        December 1987

If you can't afford to buy FMS or TDMS, you know how frustrating modifying 
long Datatrieve fields can be.  This program can be installed "into" the 
datatrieve image to give a crude but effective editing capability.  It 
requires VT100 or compatible terminals (see comments in code for what features
are used) and is most effective used from procedures, thus:


                DTR> NAME=FN$STR_EDIT(NAME)

                DTR> READY PERSONNEL MODIFY
                DTR> FIND PERSONNEL WITH LAST_NAME="SMITH"
                DTR> SELECT
                DTR> MODIFY USING ADDRESS=FN$STR_EDIT(ADDRESS)

 Editing keystrokes are the same as for VMS line recall editing, with one
 extension; CNTRL/W for advancing one word.


I have included a help file.  Use LIBRARY/CREATE/HELP to put it together and 
assign the logical name HELP$LIBRARY (or HELP$LIBRARY_1, HELP$LIBRARY_2, or 
whatever your system is not using) to it so that help will be available from 
datatrieve.

Comments, questions, improvements should be sent to :

        David M. Swan
        Box 322 
        Greenwood, Nova Scotia
        CANADA          B0P 1N0

** NOTE **

        There is one outstanding bug.  With a large field (234 characters at 
last try), put the cursor at the last position then hit backspace (^H) to go 
to beginning of line.  >CRASH!<  I haven't got around to looking for this one, 
yet.
                                                dms
========> [VAX87C.DTRSIG]AAAREADME.TXT;1 <========



        This is a combined effort by the DATATRIEVE / Fourth
Generation Languages SIG to produce a library of items related to or
using DATATRIEVE.  (** indicates new material for Fall 1987)

[.ACCOUNTING]   Programs to convert System Accounting and PSI Accounting
                data to a normalized form readable by Datatrieve (and
                other languages) with record definitions.
             ** Also has a procedure to measure terminal useage (an
                Erlang traffic study on terminal sessions).

[.ALLIN1]       Contains DTR definitions to work AI1 logging and data files.
                     The document database also works with WPS-PLUS/VMS.
             ** Contains some revisions and improvements for Fall 1987

[.CORPHONE]     DTR replacement for the AI1 corporate phone directory,
                     which also works quite well on it's own.

[.FUNCTIONS]    User defined functions including SPAWN and FN$STR_LENGTH,
                Datatrieve procedures for cataloging, defining, and
                generating functions.
             ** Some new functions for Fall 1987

[.NEWSLETTERS]  Past issues of the Wombat Examiner Newsletter.

[.PLOTS]        Additional PLOTS and articles on adding your own plots.

[.RECALL]       Use SMG to give you command line recall while using DTR.
                        Plus DAB definitions in "C", Macro-32

[.RSX_ACCOUNTING] Process RSX-11M-Plus system accounting with DTR, also
                RSX console logs, and a routine for all 11s to convert
                the DTR (and VMS) DATE types to/from ASCII (without DTR).

[.SESSIONS]     Transcriptions of some Symposia sessions.

[.SYSMGR]    ** Datatrieve definitions for Disk Quotas, SYSUAF, rightslist,
                network proxy logins, etc.  Plus a method of processing an
                INSTALL/LIST/FULL listing to find out which are the most used
                images, shared images, etc. 
                (Also a FORTRAN program to do this if you don't have DTR).

B. Z. Lederman DTR/4GL SIG Library Representative

========> [VAX87C.ELLIS]AAAREADME.TXT;1 <========




        Note:  These programs are at least rudimentarily debugged,
        however errors may still exist in pïrtions of the code.  I
        do not get paid to support or write code and as such will 
        accept no phone calls regarding this software.  If yïu
        locate any bugs you may write the following address:

                Bruce Ellis
                Independent Consultant
                16263 W. 70th Place
                Arvada, CO  80004
        Upon acceptance of this software it is assumed that these tools
        will be used in a non-profit personal use fashion.
        NOTE: THESE PROGRAMS TYPICALLY RUN IN KERNEL MODE AND RUN
        WITH THE ASSOCIATED RISKS.

        Description of tools:

        ADDRESS_TRANSLATION.MAR;16:     This program will perform address
        translation on any P0/P1/S0 space address entered in the context
        of the process designated (To the degree possible).  This code is
        undocumented (see dallas session notes for documente version)

        DEADPT.MAR;3:   This program lists the dead page table scans
        that have occured on the system since the last boot.  It runs in
        user mode and as such will not cause any crashes.

        DEALO.MAR;3:    This program deallocates a device allocated to 
        another user.
        DUMP_BLOCK_COUNTS.MAR;27/LOAD_BLOCK_COUNTER.MAR;18/
        UNLOAD_BLOCK_COUNTER.MAR;6:     These programs may be used to 
        obtain counts of reads/writes/size of reads/size of writes/
        paging ios/swapping ios/split ios to a given spindle.  
        LOAD_BLOCK_COUNTER is run to monitor the disks (it only handles 
        one disk at a time).  DUMP_BLOCK_COUNTS spills out all of the 
        information logged since the counter was loaded.  UNLOAD_BLOCK_COUNTER
        cleans up the pool and restores the start io entry point of
        the driver.
        
        SHOW_PROC_FILES.MAR;39/FIDTONAME.MAR;34/SPILL_FILE_INFO.MAR;24
        SHOW_PROC_FILES.mar will locate and display all open files
        by a given process, including the number of reads and writes
        since the file was opened, the number of mapping pointers in the
        file.  FIdTONAME converts the file id to file name.  
        SPILL_FILE_INFO displays the info.  These modules should
        be linked together.  I do not believe that this will work
        on volume sets.

        GET_HIT.MAR;5:  This is a subroutine when linked with a program
        will return the global buffer hit and miss rates on any file
        with a rab address passed as input.  (see INDEX.FOR as an 
        example of calling this routine.

        PFM.MAR;6/PFMFILWRT.MAR;9/PFM_FORMAT.MAR;8
                                                                Page 2


        PFMFILWRT.EXE should be copied into sys$system:.  PFM is linked
        in with any program and will enable pagefault monitoring.
        PFM_FORMAT will format the output.  This is a fairly simplistic
        implementation and may require extensive modification.

        SHOWBASE.MAR;26:        This program will show the base
        virtual addresses of all shareable images as well as the main line
        program, while a process is running the linked image.

        SHOW_SHARE.MAR;14;      This program wil show the number of
        pages actually being shared in a given set of global sections
        with a section name of "name_".

        WSBLASTER.MAR;5:        This program will purge another
        processes working set.

        FAULT.FOR;38:   A simple exercise with ASTs.

        PERF.C;8:       A c program to display performance stats.
        Link as follows:

        $link perf,sys$system:sys.stb,sys$input/opt
        vaxcrtl/share
        ^z
        ¤



        Be carefull out there!  be
========> [VAX87C.EROS]AAAREADME.TXT;1 <========


                               EROS DATA CENTER

        The following programs have been submitted by the USGS/EROS Data center;


        [EROS.BATCHACC]

                This directory contains Batchacc, a program that sets the
                account number of the current batch job to that of the
                submitting process at the time of submission.

        [EROS.HOGS]

                This directory contains a revised version of a very useful
                system monitoring utility found on a previous symposium tape.

        [EROS.LIMITER]

                This directory contains Limiter, a program which enforces
                a limit to the number of interactive sessions per usercode.  It
                also gives the user a "barometer" of system performance.

        [EROS.NOPE]

                This directory contains Nope, a utility which lists files
                that would be purged if a purge were performed.  Nope handles
                full wildcarding, and indicates filenames and sizes of files
                that would be deleted, along with a grand total.

        [EROS.PASS]

                This directory contains a re-release of Pass.  This program
                disallows re-use of passwords.  One bug is fixed, and several
                improvements have been made.

        [EROS.PCT]

                This directory contains PCT, a utility which allows users to
                monitor their CPU usage since login and since last run of PCT.

        [EROS.SYSTAT]

                This directory contains Systat and Memstat.  Systat shows
                information about batch and interactive processes.  Memstat
                shows information about memory usage by processes.


        NOTE:  I have begun a total rewrite of the BOUNCER idle terminal
               killer.  The new version should be very adaptable to most systems
               and will allow the system manager to select exempt users and
               terminals.  Many other parameters will also be selectable and
               the code will be even more efficient.  The new version should
               be ready well before the Spring 88 DECUS symposium.

********************************************************************************
                                                                Page 2


* DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * 

        Neither I nor the U.S. Geological Survey assume any responsibility
whatsoever for any use, misuse or abuse of this software.  This software is
provided with the intent that system managers will use it wisely to enhance
their systems.

* DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * DISCLAIMER * 
********************************************************************************


        EROS stands for Earth Resources Observation Systems and is not related
in any way with the skin mag of the same name.  We are a government agency
which primarily archives, enhances and sells products utilizing LANDSAT and
other remote sensing data.

        Written and submitted by:


                Thomas Bodoh
                U.S.G.S. / EROS data center
                Mundt Federal Building
                Sioux Falls, SD  57198
                (605) 594-6830
========> [VAX87C.EVEUPDS]AAAREADME.TXT;1 <========


                              EvePlus 2 Abstract

         This is an upgrade to the EvePlus package that will extend the
       already powerful Eve editor based upon VMS 4.x TPU (Text
       Processing Utility).  EvePlus provides a number of new commands
       to Eve, but more importantly it serves as a superb example of how
       to customize Eve much in the same way the EDTINI.EDT file
       customize the EDT editor.  This specific addition adds a few new
       commands and also initiates a standard keyboard command
       assignment that should make it easier to move from one VMS system
       to another.  Due to Eve's nature, refining and extending EvePlus
       and the proposed keyboard is highly desirable, yet a forum such
       as DECUS is needed to distribute 'the keyboard' is necessary.

       An internal SHIFT HELP buffer is created while the keyboard
       definations are being made so that it is easy to see the new
       assignments by hitting the SHIFT HELP key.  A forward delete
       character is available on keypad 6, placeing the character in a
       seperate area than the INSERT HERE buffer.  The seperate area is
       restore by hitting SHIFT INSERT.  Delete word deletes from the
       current postion to the end/beginning of word and is kept in the
       same place as the forward delete character is saved.  A ruler is
       quickly inserted into text to aid in counting characters and/or
       adjusting column alignments.  Three profiles are defined; Text,
       Fortran, and Pascal (and others are easily added) so that rulers,
       margins, etc are changed together.  For example, Fortran sets the
       right margin to 72 and the ruler is prefix with a C so if its
       left in by accident it is treated as a comment.  A transpose last
       two characters command is added to help with my typing
       impediment.  Setting left and right margins is easier by letting
       it default to the current column the cursor is in.  Writting out
       files while remaining in the editor is easier by letting it
       default to the buffer's file name, also making it easy to update
       the currently edited file without exiting.  A page command is
       added to make it easy to jump to the next form feed.  When going
       to a line number or marker EvePlus remembers the last one that
       was refered to.
========> [VAX87C.FLECSVMS]AAAREADME.TXT;1 <========


1STREADME.TXT                   MAO                     2-Dec--87
 
        The files on this tape are the sources for the FLECS and ALECS
structured language preprocessors for DEC FORTRAN and MACRO respectively.
On the VAX both preprocessors now run in native mode.  FLECS now generates
DEC F77 output code.
 
                                NOTE
 
Unlike previous versions of FLECS & ALECS, there are now two task
images:  FLE & ALE.
 
The files and sources have been used under VMS V4.2-4.5;
I have not tested them under any other systems.
 
        For a VMS version (native mode) of FLECS/ALECS:
 
        1. Restore all files from the BACKUP tape.  Common sources are
under [.FLEALECOM], FLECS specific things are under [.FLEALECOM.FLECS],
and ALECS specific things are under [.FLEALECOM.ALECS].
 
        2. Execute the file [.FLEALECOM.FLECS]FLEBLD.COM.  This will
compile the sources and link FLE.EXE.  Do NOT answer "Y" to the question
at this stage; because of the use of in-line comments in the .FLX
sources on this tape, old versions of FLECS cannot properly translate the
.FLX files on this tape.
 
        3.  Execute the file FLETST.COM.  The file will tell if the
new version of FLECS works correctly.
  
        4.  At this point you may wish to execute FLEBLD.COM and answer
"Y" to the question; this will give you a completely new set of files
for FLECS/ALECS (and destroy the distribution copies on the disk).
This file is actually intended for use if you wish to modify
FLECS/ALECS after you have a working version.
 
        5.  To get ALECS, use [.FLEALECOM.ALECS]ALEBLD.COM.
 
        6.  See files FLE.COM and ALE.COM for the method of running
FLECS/ALECS under VMS.

        Below is a list of files on the tape:
 
                [.FLEALECOM]--Stuff common to FLECS and ALECS
 
1STREADME.TXT   This file, an ASCII text file.
 
A.FLX           Source file, line analyzer subroutine.
 
ASUB.FLX        Source file, special ALECS code generation.
 
FILDAT.INC      Include file used by FILE, etc.
 
FILE.FLX        Upper level file IO routines.
 
                                                                Page 2


FILERSX.MAC     Lower level file IO for RSX-11M.
 
FILEVMS.MAR     Lower level file IO for VMS.
 
FLECSUIM.MEM    A copy of the UIM in text format for those who don't have
                DSR.
 
FLECSUIM.RNO    FLECS/ALECS User Instruction Manual in Digital Standard
                Runoff format.
 
FLECSUIM_UPDATE.RNO/MEM Updates to the above manuals.
 
FLECS_FUTURE.RNO/MEM My future plans for FLECS.

FLERSX.MAC      Source file, FLECS/ALECS MACRO routines (old code).
 
FSUB.FFF        Source file, FLECS/ALECS FORTRAN support routines.
 
INCDAT.INC      Include file for .INCLUDE statement.
 
ISUB.FLX        Source file, .IMPLICIT NONE processor.
 
L.FLX           Source file, listing subroutine.
 
LAMPFI.FLX      Source file, image initialization.
 
M.FLX           Source file, main routine.
 
STRING.FLX      Source file, string handling.
 
*II.*           Special versions of FLECS files that generate FORTRAN II
                code instead of DEC FORTRAN 77 (for use with some 
                microprocessor Fortrans we have)

                  [.FLEALECOM.FLECS]--FLECS specific
 
A.FLL,.FTN,.LST Files from translating/compiling A.FLX.
 
FILE.FLL,.FTN,.LST Files from translating/compiling FILE.FLX.
 
FILE[VMS]/[RSX] Files from assembling FILE[VMS]/[RSX].
 
FLE.BLD         Scratch file generated by FLETKB.COM

FLE.CMD/COM     Command file to use FLECS under RSX-11M/VMS
  
FLE.EXE         VMS V4.5, FOR V4.6 executable for FLECS.

FLEBLD.CMD/COM  Command file to compile and link FLE.TSK/EXE.
 
FLECMP.CMD/COM  Command file to compile FLECS/ALECS sources
                (used by FLEBLD.CMD/COM).

FLEPRT.CMD/COM  Command file to list all FLECS/ALECS command files
                and listing files on LP:.
                                                                Page 3


 
FLETKB.CMD/COM  Command file to taskbuild/link FLE.TSK/EXE
                (used by FLEBLD.CMD/COM).
 
FLETST.CMD/COM  Command file to test newly created FLE.TSK/EXE.
 
FSUB.LIS,.OBJ   Files from compiling FSUB.FFF.

ISUB.FLL,.FTN,.LST Files from translating/compiling ISUB.FLX.
 
L.FLL,.FTN,.LST Files from translating/compiling L.FLX.
 
LAMPFI.FLL,.FTN,.LST Files from translating/compiling LAMPFI.FLX.
 
M.FLL,.FTN,.LST Files from translating/compiling M.FLX.
 
STRING.FLL,.FTN,.LST Files from translating/compiling STRING.FLX.
 
TST*.FLX        Used to test translation of FLECS keywords.

              [.FLEALECOM.ALECS]--ALECS specific files
 
See the list for [.FLECS]--files are similar, but because of
Conditional translations contain some differences.
 
               [.FLEALECOM.FLECSII]--FORTRAN II related stuff

               [.FLEALECOM.OLD]--Old compatibility mode version

               [.FLEALECOM.QLIB]--QLIB library sources
 
Library QLIB contains subroutines called by FLECS/ALECS.  Sources
for these subroutines and a copy of the library are in this directory.
 
               [.FLEALECOM.TRAN]--Translate old FLECS to DEC F77

NOT completely debugged!!!  Converts old FLECS statements (like WHEN/ELSE)
into DEC F77 (like IF/THEN/ELSE).  Internal procedures and FLECS
directives (eg. .PASSIF) are left untranslated, due to lack of F77
equivalents.

        Michael A. Oothoudt     (505) 667-4354 or (505) 667-5241
        P.O. Box 1663, Mail Stop H828
        Los Alamos, NM 87545
 
END OF FILE 1STREADME.TXT
========> [VAX87C.FLOWERS]AAAREADME.TXT;1 <========


CUSTOM COMPUTER APPLICATIONS - A subsidiary of Traveler's Express
Fall 1987 DECUS Submissions

Most of the submissions are DCL command procedures.  Some I wouldn't be without
and others are merely useful.  Several are documented internally.  A few of the
procedures require VMS V4.4 or later (GOSUBs).  At any rate, I suggest reading
the command procedures before using them.  As always, neither myself nor Custom
Computer Applications accepts any responsibility for the use or reliability of
these submissions.  They may not be sold for profit, but may be distributed
freely otherwise.  Enjoy!
                                              Harry Flowers
                                              Custom Computer Applications
                                              1780 Moriah Woods Blvd. #6
                                              Memphis, TN  38117
Contents:
AAAREADME.TXT   This submission documentation file

        Disk Utilities
COMPRESS.COM    Gain wasted disk space from over-allocated files
DELZER.COM      Delete zero length files
DISK.COM        Show disk space - previous DECUS submission patched
                for longer disk names under VAXclusters

        Directory Utilities
DOWN.COM        Go down directory tree
UP.COM          Go up directory tree
DRAWTREE.COM    Draw the directory tree - previous DECUS submission
                patched to default to SYS$LOGIN

        File Utilities
EDTINI.EDT      A short but documented EDT initialization file
EDTWILD.COM     Wildcard file editing
WIDE.COM        132 column TYPE
UGLIFY.COM      Upper cases, compresses, and trims a file (for DIFFERENCES)
UGLYDIFF.COM    Uses above command procedure and runs DIFFERENCES
EVEPLUS.TPU$SECTION EVEPlus - See [VAX87B.RCAS87.EVEPLSPLS] for sources
EVEMAN.TEX      LaTeX version of original SCRIBE documentation for above EVEPLUS
EVEMAN.LN3      LN03 (with a RAM cartridge) printable version of LaTeXed EVEMAN

        LaTeX Document Style
MANUAL.STY      -+A document style based on the "book" style, which supports  
MAN10.STY        |page numbering by chapter, LaTeXing only selected pages, and
MAN11.STY        |always produces right-handed odd-numbered pages (chapters   
MAN12.STY       -+start on right-hand pages).  Details inside MANUAL.STY.     
                                                            
        Misc Useful Utilities
VT2XXDEF.COM    Download key defs to a VT200 series terminal - really nice
                for setting up terminal servers and for use within programs
                where there is no access to DCL DEFINE/KEY definitions
                (It's amazing what can be done with DCL)
MAILUAF.PAS     -+ Nice utility for maintaining VMS mail data.  May be
MAILUAF.OBJ      | invoked as a foreign command ($ MAILUAF SHOW/ALL).
MAIL_TABLE.CLD   | This is NOT the previous DECUS version, and is more
MAILUAF.HLP      | powerful (SHOW/ALL/FULL is very helpful).
MAILUAF.COM     -+ Thanks to John Gill for writing this one.
                                                                Page 2


MODEM.COM       Invoke Kermit on an available dialout modem line
DELQJOB.COM     Delete jobs in a queue
CHKPRI.COM      Check process priorities
LOOK.COM        Look at process quotas
SAFE.COM        Create a "safe" non-privileged environment
RESTORE.COM     Restore file(s) from a backup tape

        Misc Not-particularly-useful Utilities
DATIME.COM      Date/Time display
TOPROMPT.COM    Silly screen-clearing DCL environment
========> [VAX87C.GAMES.HACK]AAAREADME.TXT;4 <========


This is the game HACK, a rogue style game ported from the UNIX operating 
system to VMS.
I have converted it to use the "C" screen management routines (curses) instead
of a termcap file under UNIX.  Most of the information on HACK is located in
the various README files in this directory.  All readme files with a .unix
extention are the original files I received.  Most of the source files have
only been renamed to fit the VMS file specifications, but I don't think this
can be moved back to UNIX and built there.

There seem to be some bugs in the screen management, and I have found that the
best way to fix the screen is to reset the terminal, and redraw the screen.
I am still working on the proper fix.

In order to run, the logical name "hack_dir" must be assigned to the directory
where the HACK files are.  The executable must be there, as well as all the
data files: record.lis,data.dat,hack.doc,help.,hh.,info.dat,perm.,rumors.
To run, type "@hack_dir:run".

I have included the source,object and the executable files.  HACK may or many
not have to be built depending on which version of VMS and C you are running.

The most important command to know in HACK is "?".  It will show you all
the commands available.  Happy HACKing !!!

Any bug fixes or improvements can be addressed to me via E-mail at

asl1.hac.com!grover@usc-oberon.usc.edu

Or sent to:

Dean Grover
Hughes Aircraft Co.
P.O. Box 902
EO/E52 MS D222
El Segundo, Ca. 90245


My thanks to Jim Moore of Purdue University, who transferred the files to
our VMS system and assisted with the changes.  He also spent many long hours
testing our changes.
========> [VAX87C.GRC]AAAREADME.TXT;1 <========


[.GRC...]

This set of subdirectories contains tools from General Research
Corporation's Scientific Computer Network located in sunny Santa Barbara,
California.  Each subdirectory contains a tool with source, documentation
and an AAAREADME.GRC file. The AAAREADME.GRC has a complete explanation of
the tool and describes the files in the subdirectory, installation of the
tool and any other important information.  Listed below are the
subdiectories with their corresponding tool and a short description.

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

[.GRC]-----------[.DAVID]---------[.CALC2SMG]
              |                |--[.EDTXLATE]
              |
              +--[.GREG]----------[.MODOBJ]
                               |--[.TIMER]

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

[.GRC.DAVID.CALC2SMG]

      CALC2SMG is an emulation of a Hewlett-Packard reverse polish
calculator for video terminals.  This is a resubmittal of our earlier
version of calc2 which has been rewritten to use the screen management
services making it useable on any video terminal recognised by the VMS
operating system.

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

[.GRC.DAVID.EDTN]

     EDTNSECINI.TPU is an EDT editor written in VAXTPU.  This editor 
was built starting with the EDTEM editor and adding numerous features 
from EVE, EVEPLUS, EDTPLUS, various other editors, and a few features 
of our own. 

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

[.GRC.DAVID.EDTXLATE]

     EDT_XLATE is an enhancement of the EDT editor which allows the user
to obtain a directory listing while in the EDT editor without spawning a
subprocess.

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

[.GRC.GREG.MODOBJ]

      MODOBJ is a program which modifies object files (modules).  Reasons
for wanting to modify object files, the exact modifications performed, and
usage instructions can all be found in the source file MODOBJ.C.

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

                                                                Page 2


[.GRC.GREG.TIMER]

     TIMER.MAR accurately times machine instructions on a VAX 11/780 or
equivalent architecture.  Instructions can be found in the source. 

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

Questions may be addressed to the corresponding contributors at the
following address:

        CONTRIBUTORS:           ADDRESS:
        David Deley             General Research Corporation
        Greg Janée              Scientific Computer Network
                                P.O. Box 6770
                                Santa Barbara, CA 93160-6770
                                (805) 964-7724
========> [VAX87C.GROVER]AAAREADME.TXT;1 <========


1. Updated EDT plus extensions to EVEPLUS
2. SWING, useful graphically and screen oriented directory
        management program.
========> [VAX87C.HOWE]AAAREADME.TXT;4 <========


EVEX (EVE-Extended) is an extension of DEC's EVE interface.  All extended
features are documented in the online help library and in the manual. A
brief description of EVEX features is given in the file EVEX_HELP.HLP. To
install EVEX and to obtain a copy of the manual (LaTeX required), read the
file INSTALL.DOC.

Comments and suggestions to:

Herb Howe
9201-2, Y-12
Oak Ridge National Laboratory
Oak Ridge, TN 37830
MFEnet: HOWE@ORN
========> [VAX87C.JSCLUG]AAAREADME.TXT;1 <========


FORDENV.DIR;1             1/1       18-DEC-1987 13:05
                        FORD AEROSPACE & COMMUNICATION CORP.

                        WILLIAM BAKER
                        SYSTEM MANAGER

                        713-483-5353
-------------------------------------
SETUSER:

        PROGRAM TO CHANGE USERNAME TO THAT OF SOME OTHER USER ON THE
        SYSTEM.  PROVIDES A GOOD UTILITY FOR SOME SYSTEM MANAGER FUNCTIONS.
-------------------------------------
MAILUTIL:

        PROVIDES THE CLOSEST THING TO A VMS VERSION OF RETURN RECEIPT
        AVAILABLE.  LET'S A USER SEE IF HIS MAIL HAS BEEN READ BY
        ANOTHER USER.  PROXIES MUST BE ESTABLISHED FOR NETWORK FUNCTION.
-------------------------------------
SPEEDLOGIN:
        SPEEDS UP THE DEFINITION OF THOSE SYMBOLS THAT ARE DEFINED
        GLOBALLY IN THE SYLOGIN.COM FILE.
LABSTAR.DIR;1             2/2       18-DEC-1987 13:06
        I JUST STARTED WORK ON THESE PROGRAMS FOR RUNNING A LABSTAR SYSTEM.
        THEY ARE NOT PROVEN, AND ARE STILL IN THE DEVELOPMENT STAGE.
        HOWEVER THEY ARE FAR ENOUGH ALONG THAT WITH A LITTLE EFFORT,
        THEY COULD BE OF BENEFIT TO SOMEONE.

        THE GENERAL IDEA IS THAT WHEN PERFORMING A/D IO (OR D/A IO) ON A
        LABSTAR, YOU DON'T WANT TO REWRITE THE IO ROUTINES EVERY TIME.
        YOU COULD USE A OBJECT LIBRARY TO GET AROUND THIS, BUT IN ESSENCE
        YOU'D STILL BE AT THE MERCY OF THE OBJECT LIBRARY FOR YOUR
        PARTICULAR TEST ENVIRONMENT.  WHAT I'M TRYING TO DO HERE IS TO
        CREATE AN ENVIRONMENT THAT ALLOWS THE USER TO CONFIGURE THE A/D
        DEVICES ON HIS SYSTEM AND RUN A TEST WITHOUT THE NEED TO WRITE
        SPECIAL LIO$ CODE.  I'VE CREATED A SHARED COMMON DATABASE THAT
        CONTAINS ALL THE CURRENT DATA, AND A BUFFER OF THE LAST 120
        DATA POINTS RECEIVED.  THEN I HAVE A MAINIO PROGRAM THAT PERFORMS
        ALL THE SETUP OF THE DEVICES AND THE IO TO THE SHARED COMMON.
        IN ADDITION I'VE CREATED TWO PROGRAMS WHOSE JOB IT IS TO FILE
        THE DATA TO DATAFILES WHEN THE BUFFERS BECOME FULL.  FINALLY
        I'VE ATTEMPTED TO CREATE A MENU DRIVEN ENVIRONMENT FOR CONTROLLING
        THE A/D BOARDS, AND DISPLAYING ANY DATA RECEIVED IN THE COMMON.
PRINT.DIR;1               1/1       18-DEC-1987 13:07
        TPRINT ALLOWS THE USER TO PRINT TEXT FILES TO A LOCAL PRINTER
        ATTACHED TO HIS VT102 TYPE TERMINAL.   TPRINT PROVIDES A
        COMMAND LANGUAGE INTERFACE FOR THE PROGRAM TO DETERMINE THE
        TYPE OF PRINTER ATTACHED TO THE TERMINAL.  THIS IS VALUABLE
        FOR THOSE PEOPLE USING PC VT102 EMULATORS.  ADDITIONAL
        FEATURES ALLOW FOR DIFFERENT STYLES OF PRINT.  THE MOST
        COMMON STYLES OF PRINT ARE:  NEAR LETTER QUALITY, BOLD,
        AND COMPRESSED.
TAPECNTRL.DIR;1           1/1       18-DEC-1987 13:07
        THIS PROGRAM WAS INTENDED TO BE A QUICK ROUTINE FOR LOADING FOREIGN
        TAPES WHERE YOU HAD WORKED OUT A PROCEDURE FOR LOADING, OR KNOW THE
                                                                Page 2


        THE CONTENTS OF THE TAPE AHEAD OF TIME.  IT SEEMS TO WORK WELL WITH
        LITTLE SYSTEM IO OVERHEAD INVOLVED.  IT SHOULD WORK ON ANY TAPE DRIVE
        ATTACHED TO A VAX SYSTEM.  I HAVE NOT TRIED IT ON A TK50, BUT THAT
        SHOULD NOT BE A PROBLEM.  I HAVE USED IT ON TU77'S AND TU78'S.
TELEMAIL.DIR;1            1/1       18-DEC-1987 13:07
        William Baker
        Ford Aerospace & Communication Corporation
        1322 Space Park Drive
        MS: B2C
        Houston, Texas  77058

        NASA Life Sciences Project
        NASA/JSC, Building 37
        MS:  SD
        Houston, Texas 77058

=========================================================================

GENERAL COMMENTS:

        The following set of command procedures and programs were written
        in order to support the NASA Life Sciences Division.  There purpose
        is to provide an environment where mail on the GTE/TELENET system
        (or any system using the GTE/TELENET mail protocol) can be read
        via a batch program and delivered to the users VAX mail or A1
        mail.  As such, logical outcomes of the project were programs to
        send mail to the TELEMAIL system, and to read bulletin boards
        on the TELEMAIL system.  The basic programs were written with the
        use of the DECUS VAXNET program as the seed program.  In fact many
        of the major modules still maintain 100% integrity with the latest
        version of VAXNET, leaving on 2 or 3 main driving routines that
        were added to make the system work.  As the source code is written
        now, only the modem control module needs to modified to allow
        this set of programs to be run outside the NASA/JSC telephone system.
        When the NASA/JSC phone system was recently brought into the 20th
        century, I decided not to try and support all the modem protocols
        that VAXNET currently supports.  However, since the calls to the
        modem module from the main program are fairly standard (and I beleive
        the same as what VAXNET uses) you should have no difficult in just
        substituting the VAXNET version of MODEM.FOR for my MODEM.FOR.
WATCH.DIR;1               1/1       18-DEC-1987 13:09
        Short program to watch other processes...
========> [VAX87C.KETECH]AAAREADME.TXT;1 <========


This directory contains utility routines that allow you to present a
standardized menu interface for applications.  The same menu screen may
be used from within an image OR from DCL command level.  Two versions
of the utility are provided, one requiring FMS support on the machine, and
the second not requiring FMS.  Both versions of the utility allow for
a maximum of fifteen choices on the screen.  Any more than this and you
are overloading the user's desire to read anyway.  There are four basic 
pieces that comprise the two versions of the utility.  These are:

        menu.obj - Included in object module library MENU.OLB.  This routine
                is written in fortran and can be called by a user image.
                The routine expects FMS to be supported on the machine.
                A conflict with assigned channels can appear if used by
                program images that also make calls to FMS.

        dclmenu.exe - Image to execute from DCL command level that 
                provides the same menu interface (FMS support) as the
                subroutine in menu.obj.  While use of this does require
                an image activation for the menu, performance can be
                enhanced by installing the image.

        menu1.obj - Included in object module library MENU.OLB.  This routine
                is written in fortran and can be called by a user image.
                The routine requires no layered products on the machine.

        dclmenu1.exe - Image to execute from DCL command level that
                provides the same menu interface as the subroutine in
                menu1.obj.  While use of this does require an image 
                activation for the menu, performance can be enhanced
                by installing the image.        

        Sample fortran programs that call each menu interface are included
as SAMPLE-FMS.FOR and SAMPLE-NON-FMS.FOR.  Sample command files are also
included to demonstrate the proper use of the menus from DCL.

        Two other command files are included; (1) build.com to compile
all modules and link, and (2) setup.com to define necessary dcl symbols.

In addition to the menu utilities, one other program is included:

        setuser - Another in a long line of utilities to modify username,
                etc.  This program allows the user (provided enough
                privileges are present) to set (1) username, (2) uic,
                (3) default privileges, and (4) default directory to
                that of another user.  An opcom message is generated
                and sent to SECURITY operators when the program is
                executed.  This program requires (CMKRNL .AND. SYSPRV)
                .OR. SETPRV.             

For those of you desiring extra credit assignments -- the setuser utility
could be modified to be callable, combined with the menu utility, wrapped
in a user written security module, installed with privileges and become a 
poor-man's ACMS.

Comments, criticisms (caveat emptor), and expressions of undying 
                                                                Page 2


gratitude may be expressed to:

                        Richard Snyder
                        The KeTech Corporation
                        2626 Parrish Avenue, Suite 326
                        Owensboro, Kentucky 42301
                        502-686-7280



                                                         
========> [VAX87C.KKA]AAAREADME.TXT;1 <========



        The following items are presented here for the benefit
        of the DECUS user community by the Multimission Image
        Processing Laboratory (MIPL) of the Jet Propulsion 
        Laboratory (a NASA center):

        [MIPL.FOREIGN_TAPE_READER] --
                The program TAPES which received rave reviews
                when posted to the INFO-VAX teleconference in
                September of 1987.

        [MIPL.EVE_EXTENSIONS] --
                Three useful procedures for extending EVE: one
                to delete buffers, and two for processing the
                error message listings generated by compilers.

        [MIPL.VMS_SHAR] --
                A popular and useful archive packing procedure,
                widely used on the INFO-VAX teleconference.
                Presented here by the courtesy of the author as
                he is unable to attend this symposium.


        All subdirectories have their own 000READ.ME files to
        provide details of the included files.

        Address any correspondence to:

                System Manager
                Multi-mission Image Processing Laboratory
                Jet Propulsion Laboratory, MS 168-427
                4800 Oak Grove Drive
                Pasadena, California 91109

        or, via network:

        Internet:  Vicar@Mipl3.JPL.Nasa.Gov (128.149.1.28)
            SPAN:  Mipl3::Vicar             (5.153)


========> [VAX87C.LATSHAW]AAAREADME.TXT;1 <========


EDTEM
-----

Introduction
------------
EDTEM is a versatile, TPU-driven text editor. It has the basic keypad
configuration (and capabilities) of DEC's standard EDT, and some of the power
of the more advanced EMACS series of editors. Included are the following
features:

        - multiple windows (as many as is desired)
        - DCL command and output capture
        - subprocess spawning (without leaving the editor)
        - pattern searches
        - inline compilation of current buffer (FORTRAN, PL/I, RUNOFF, etc.)
        - simple language sensitivity

The editor is intended for all types of users, from beginners who would
use the basic EDT-like features, to advanced programmers who can take
advantage of more powerful capabilities.

History
-------
EDTEM was first released on the fall 1986 DECUS tape. This is the second
release, and it includes many new features, as well as improvements (I hope)
and bug fixes to existing functions.

Among the new features:

      - editing and replacing text / macro library modules

      - string searching (and replacing) can be limited to a range of columns

      - various control character aids
          - searching (and replacing)
          - displaying control characters

      - more versatile position remember/restoring capabilities
          - multiple markers are supported

      - inline compilation now supports an interactive repair mode for
        FORTRAN and PL/I

      - reframing of comment boxes made by <ctrl>F

      - improved word processing capabilities
          - simulated tab mode which employs spaces instead of tabs
          - free cursor mode
          - auto-wrap mode
          - text justification (as well as filling)
          - auto-indent mode

      - multiple mapping of application keypad

Notable revisions include:
                                                                Page 2



      - toggling between insert and overstrike editing modes is now done
        by entering <ctrl>A. The old keystroke was <gold><ctrl>W.

      - window sizes are automatically adjusted as windows are added and
        removed from the screen.

      - sequential selective search and replace has been greatly enhanced
        (at the expense of changing some of the keystrokes within the function).
          - IF THEN ELSE construct supported

      - learn mode now is invoked via <ctrl>R, and has been somewhat
        simplified

      - go to buffer (<gold>B) now uses a menu method

The above lists are in no way exhaustive.

You who are familar with the first release will note some differences,
especially with <gold>R and <gold>B, but it is believed the benefits far
exceed the temporary inconvenience of adpating to a different set of keystrokes
in a few functions.

One of three methods of adjusting window sizes (the <gold><up arrow>
and <gold><down arrow> pair) is no longer available.


Installation
------------
Refer to SETUP.DOC for help on installing the editor at your site.

For More Information
--------------------
TUTORIAL.DOC contains a first-session example on the use of some of the
more basic functions.

REFERENCE.DOC contains a more in-depth description of the editor, and a
list of commands.

EDTEM_TAB_SETTINGS.TXT is a sample user custom simulated tab stop
settings definition file (described in REFERENCE.DOC).

I am always interested in ideas for improvement to EDTEM. Constructive
comments are welcome. As there are some 14000 lines of code in the present
release, ample opportunity for bugs exists. And, unfortunately, ample time
to write an exhaustive manual on the editor does not - all of the .DOC files
were prepared by me in one week's time...


Mike Latshaw
Pacific Power and Light Company
Room 300 PSB
920 S.W. Sixth Avenue
Portland, OR 97204
(503)-464-6203
