
========> [VAX84D.CD.CDPACK.PDP.RT]AAAREADME.TXT;1 <========






                                ZG 0178

                                -------



                FORMAT RT-11            DATE 4/29/83

                                    UPDATES: 5/24/84 - DOCUMENTS ADDED,

                                                       CDLIB.OBJ REMOVED





               SUBJECT:  RT-11(V4,V5)  CDPACK ROUTINES and RELATED TESTS

               --------



               DESCRIPTION:  A Library of the CDPACK routines for the DR11-W

               -----------   High Speed Interprocessor Communication Link.





                               CONTENTS

                               --------



        1. README.TXT   -       This file



        2. CDASGN.MAC   -       CDPACK MACRO-11 Source

        3. CDCMPL.MAC   -       CDPACK MACRO-11 Source

        4. CDDRV .MAC   -       CDPACK MACRO-11 Source

        5. CDERRM.MAC   -       CDPACK MACRO-11 Source

        6. CDERRN.MAC   -       CDPACK MACRO-11 Source

        7. CDERRT.MAC   -       CDPACK MACRO-11 Source

        8. CDMACL.MAC   -       CDPACK MACRO-11 Source

        9. CDMODE.MAC   -       CDPACK MACRO-11 Source

       10. CDPACK.MAC   -       CDPACK MACRO-11 Source

       11. CDPREF.MAC   -       CDPACK MACRO-11 Source

       12. CDRSX .MAC   -       CDPACK MACRO-11 Source

       13. CDRT  .MAC   -       CDPACK MACRO-11 Source

       14. CDSTAT.MAC   -       CDPACK MACRO-11 Source

       15. CDUINT.MAC   -       CDPACK MACRO-11 Source

       16. CDUTIL.MAC   -       CDPACK MACRO-11 Source

       17. CDWAIT.MAC   -       CDPACK MACRO-11 Source

       18. END   .MAC   -       CDPACK MACRO-11 Source



       19. CDPMAC.COM   -       A command file to create

                                CDPACK Object Library 



       20. RCVTST.FOR   -       Test: receive a Message Block or SIGNAL

       21. XMTTST.FOR   -       Test: transmit a Message Block or SIGNAL

       22. RCVLUP.FOR   -       Test: receive several Message Blocks

       23. XMTLUP.FOR   -       Test: transmit several Message Blocks

       24. ECHO.FOR     -       Test: loop-around xmt/rcv Msge Blocks

       25. DLPACK.TXT   -       Text library used in #22 - #24



       26. RCVTST.SAV   -       Test: Executable for #20

       27. XMTTST.SAV   -       Test: Executable for #21

       28. RCVLUP.SAV   -       Test: Executable for #22

       29. XMTLUP.SAV   -       Test: Executable for #23

       30. ECHO.SAV     -       Test: Executable for #24

                                                      Page 2





 

                Fermilab Documents (* - MEM+RNO in RUNOFF format)

       31. PN159.*      -       CDPACK - FORTRAN callable routines

                                for interprocessor communications

 

       32. PN174.*      -       Packet type code assignments



















                References:   1. ZG-0177 (Vault tape) - RT11 CD Driver

                ----------                            

                              2. The documents (Manuals, Specs, Notes, etc.)

   o    RT-11 SYSTEM PROGRAMMERS MANUAL  (DIGITAL EQUIP. CORP.)

  **    RT-11 USERS GUIDE                (DIGITAL EQUIP. CORP.)

  **    RT-11 FORTRAN USERS GUIDE        (DIGITAL EQUIP. CORP.)

  **    RT-11 FORTRAN REFERENCE MANUAL   (DIGITAL EQUIP. CORP.)

                Fermilab Documents

        DS77        DR11-W Link transmission protocol

   o    DS78        RT DR11W driver design spec

   o    DS83        Four RTMULTI Connected Machine Applications

   o    IN90        RT11 CD Driver: Signal Spec

  **    PN159       CDPACK - FORTRAN callable routines

                     for interprocessor communications

        PN160       High Speed Interprocessor Data links using the DR11-W

                     (DECUS general paper on connected machines)

   o    PN161       Using the DR11_W for interprocessor communication in RT-11

                     (DECUS RT Driver paper)

        PN162       An RSX device driver inplementing Network protocols on

                    the DR11-W (DECUS RSX Driver paper)

        PN166       RSX Communications Driver

        PN173       Guide to RSX Communications software

  **    PN174       Packet type code assignments

        PN179       VMS Communications driver



        The documents marked (**) are essential for understanding and

          correct use of the CDPACK routines.

        The documents marked (o) are useful but not essential.

        Other documents are listed for reference only.

                                                      Page 3







                        A Brief Guide to Using the CDPACK routines.

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





        1. INSTALLATION.



        1.1 Install the RT-11 CD Driver as described in the guide provided

with the ZG0177 tape (on the RT11 CD Driver).



        1.2 Copy the library of CDPACK routines to your disk by issuing 

the following command from your terminal:

                COPY  MT:CDLIB.OBJ  DK:*.*



If you wish to create your own LIBRARY, refer to CDPMAC.COM (#19) for

an example.



        1.3 Compile your FORTRAN program

                FORTRAN  MYPROG



        1.4 Link your program using the CDPACK library

                LINK   MYPROG,CDLIB



        1.5 Run your program

                RUN   MYPROG



        2. IN YOUR PROGRAM ...



        Read PN159 which describes in detail how to use the CDPACK in

your program, and contains some examples. For more examples see (##21,22).




========> [VAX84D.CD.DRIVER.RT]AAAREADME.TXT;1 <========






                                ZG 0177

                                -------



                FORMAT RT-11            DATE 4/28/83

                                    UPDATES: 5/17/84 - CD DRIVER W/SET OPTION.





               SUBJECT:  RT-11 (V4 and V5)  CD DRIVER and RELATED TESTS

               --------



               DESCRIPTION:  A Device Handler for the DR11-W

               -----------   High Speed Interprocessor Communication Link.





                               CONTENTS

                               --------



        This ZG tape contains the following files:



        1. README.TXT   -       This file



        2. CDRT11.MAC   -       CD Driver Source

                                    Default SET options (Vector and CSR):

                                        (VECTR0=300, CSR0=172414)  



        3. CDRTRD.MAC   -       Test: single read (with display of data read)

        4. CDRTWR.MAC   -       Test: single write (with display of data written)

        5. CDRTAT.MAC   -       Test: multiple read/write (loop-around test)

        6. CDRTBT.MAC   -       Test: multiple write/read (loop-around test)

        7. CDRTSF.MAC   -       Test: open PTC .SPFUN



        8. CDRTRD.OBJ   -       Test: Object for #3

        9. CDRTWR.OBJ   -       Test: Object for #4

       10. CDRTAT.OBJ   -       Test: Object for #5

       11. CDRTBT.OBJ   -       Test: Object for #6

       12. CDRTSF.OBJ   -       Test: Object for #7



       13. CDRTRD.SAV   -       Test: Executable for #3

       14. CDRTWR.SAV   -       Test: Executable for #4

       15. CDRTAT.SAV   -       Test: Executable for #5

       16. CDRTBT.SAV   -       Test: Executable for #6

       17. CDRTSF.SAV   -       Test: Executable for #7



       18. CDRT11.COM   -       Command file to build and install

                                the CD Driver (CD.SYS)

                Fermilab Documents (* - MEM+RNO in RUNOFF format)

       19. DS77.*        DR11-W Link transmission protocol

       20. DS78.*        RT DR11W driver design spec

       21. DS83.*        Four RTMULTI Connected Machine Applications

       22. IN90.*        RT11 CD Driver: Signal Spec

       23. PN159.*       CDPACK - FORTRAN callable routines

                          for interprocessor communications

       24. PN160.*       High Speed Interprocessor Data links using the DR11-W

                          (DECUS general paper on connected machines)

       25. PN161.*       Using the DR11-W for interprocessor communication 

                                                      Page 2





                          in RT-11 (DECUS RT Driver paper)

       26. PN162.*       An RSX device driver inplementing Network protocols

                          on the DR11-W (DECUS RSX Driver paper)

       27. PN174.*       Packet type code assignments













                References

                ----------                            



        1. ZG-0178 (Vault tape) - CDPACK routines



        2. The documents (Manuals, Specs, Notes, etc.)

   *    RT-11 SYSTEM PROGRAMMERS MANUAL  (DIGITAL EQUIP. CORP.)

   *    RT-11 USERS GUIDE                (DIGITAL EQUIP. CORP.)

                Fermilab Documents

    $   DS77        DR11-W Link transmission protocol

   *$   DS78        RT DR11W driver design spec

   *$   DS83        Four RTMULTI Connected Machine Applications

   *$   IN90        RT11 CD Driver: Signal Spec

   *$   PN159       CDPACK - FORTRAN callable routines

                     for interprocessor communications

    $   PN160       High Speed Interprocessor Data links using the DR11-W

                     (DECUS general paper on connected machines)

   *$   PN161       Using the DR11-W for interprocessor communication

                     in RT-11 (DECUS RT Driver paper)

    $   PN162       An RSX device driver inplementing Network protocols on

                    the DR11-W (DECUS RSX Driver paper)

        PN166       RSX Communications Driver

        PN173       Guide to RSX Communications software

   *$   PN174       Packet type code assignments

        PN179       VMS Communications driver



        The documents marked (*) are essential for understanding and

          correct use of the CD Driver.

        The documents marked ($) are included in this ZG tape.

                                                      Page 3







                        A Brief Guide to Using a CD Driver.

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





        1. INSTALLATION.



        1.1 Build the CD Driver.

                (a) Assign the logical name "DK:" to the device

                     containing files CDRT11.MAC and CDRT11.COM 

                     (your kit device).

                     For example, if your kit device is "DX:", then

                     type ASSIGN DX: DK: on your keyboard.

                (b) Execute the Driver build command procedure by typing

                     @CDRT11

                     Make sure you don't have a file CDPREF.MAC on your

                     system disk (SY:), since this file is created and

                     then deleted by the Driver build command procedure

                     (CDRT11.COM)

 

        1.2 Verify and set, if necessary, the DR11-W VECTOR/CSR pair 

             in the CD Driver.

             The CD Driver is built with the following default set-up

                VECTOR=300, CSR=172414

             If your PDP-11 installation has different DR11-W VECTOR/CSR 

             set-up, for example, VECTOR=340, CSR=172434,

             type the following commands:

                SET CD VECTR0=340

                SET CD CSR0=172434





        1.3 Execute the following RT-11 Monitor commands to make sure

             the right device handler is installed:

                REMOVE  CD

                INSTALL CD

                SHOW DEVICES

             The last command will print out a list of device drivers and

             their installation status. If this list does not show the

             CD Driver as "installed", then REMOVE one of the installed

             drivers you don't need and repeat step 1.3





        2. IF YOU use the CDPACK routines you can use the guide provided

            with the ZG0178 tape and you can skip the rest of this guide.





        3. LOAD



        The CD Driver can be loaded either with a RT-11 Keyboard Monitor

        command (LOAD CD) or via a system call in your program (.FETCH).





        4. IN YOUR PROGRAM ...



        4.1 Open a channel using the .LOOKUP system call.       

                                                      Page 4







        4.2 Make sure you have enough queue elements available (minimum 3

             is advised). Use the .QSET system call to allocate additional

             queue elements.



        4.3 Open a READ session (make sure you do not use conflicting

             PTC numbers - see DS78 and PN174 for details.



        4.4 Now you can issue your .READx, .WRITx or .SPFUN <signal> system 

             calls to the CD Driver (use .READW or .WRITW with caution - 

             your program could hang) - see DS78 for details.



        4.5 End your program with a .HRESET system call to disable the 

             DR11-W interrupts.



        4.6 For examples of using .FETCH, .LOOKUP, .READW, .WRITW, .SPFUN

             and .HRESET system calls refer to test listings (files ##3-7).




========> [VAX*$D.CD.SPR.RSX]AAAREADME.TXT;1 <======== 






THIS COMMUNICATIONS SOFTWARE HAS BEEN USED EXTENSIVELY IN TEST SITUATIONS

 

ON A SINGLE PROCESSOR AND IN A THREE PROCESSOR/THREE LINK CONFIGURATION,

 

WHERE ONE THE MACHINES HAS TWO OF THE LINKS.  IT HAS NOT YET BEEN USED

 

IN A RUNNING EXPERIMENT AT FERMILAB AND SO WILL VERY PROBABLY

 

STILL CONTAIN SOME BUGS.  HOPEFULLY THEY ARE NOT SERIOUS ONES

 

 

PN172.MEM ON [77,200] IS THE PRELIMINARY VERSION OF THE FERMILAB GUIDE

 

TO INSTALLING AND USING THE SOFTWARE.  IT CONTAINS A COMPLETE LIST OF  

 

THE CONTENTS OF THE TAPE BY UIC. PAPERS PRESENTED AT THE DECUS

FALL 82 SYMPOSIUM AND OTHER DOCUMENTATION RELATING TO COMMUNICATIONS

 

SOFTWARE CAN BE FOUND ON [77,200].

 

 

THE AUTHORS WILL BE GRATEFUL IF USERS OF THE SOFTWARE WILL FEED BACK

 

THEIR EXPERIENCES AND REPORT ON BUGS FOUND, PREFERABLY IN WRITING.

 

 


========> [VAX84D.KERMIT]AAAREADME.TXT;1 <========
 

[KERMIT]AAAREADME				Dec. 1984



			KERMIT



	  	  submitted by the 



	Columbia University Center for Computing Activities





This is an update distribution.  The last complete distribution was

onthe Spring '84 SIG tape.  Only submissions which have substantially

changed have been included.



For information from the original tape, see 00README.TXT in this

(Top Level) directory.



Please also read COMMER.DOC which contains a policy statement on

guidelines for redistribution of KERMIT particularly as it affects

commercial software houses.



VMS tape organization

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



This save set was prepared from the standard KERMIT distribution tape

and arranged for VAX use.  The standard tape does not use subdirectories.

Files have been moved into subdirectories in this distribution where 

appropriate. 



The following organization scheme has been used:



Top Level:



00README.TXT	-	Cover document from original Kermit tape

AAAREADME.DOC	-	This document

BYTE.DOC	-	Article submitted to BYTE magazine

COMMER.DOC	-	Commercial policy statement

CURRENT.DOC	-	Current version status

FLYER.DOC	-	Flyer

KPROTO.DOC	-	Protocol Manual

KUSER.DOC	-	User Manual

MAIL.HLP	-	Explanation for MAIL.TXT

MAIL.TXT	-	Archive of Arpanet distribution list

VERSIONS.DOC	-	Summary of work done or in progress



Subdirectories:



[.CPM80]	-	CPM Kermit

[.CPM86]	-	CMP-86 Kermit (Rainbow etc.)

[.MACINTOSH]	-	Apple Macintosh Kermit

[.MSDOS]	-	MS-DOS Kermit (IBM-PC, Rainbow, etc.)

[.PDP11]	-	PDP-11 Kermits (RT, RSX, RSTS, POS)

[.UNIX]		-	Unix Kermit

 

     
========> [VAX84D.KMSKIT.VAX]AAAREADME.TXT;5 <========
 

			VAX KMSKIT V3.7/V4.0



	Included in this submission are the subdirectories.



[KMSKIT.SYSMGR]  - Useful command procedures for controling the system

                   and making life generally easier for all.  Many updates 

                   and changes since last release.  Powerfail monitor.

                   Automatic login notification for operators if the system

		   is having hardware problems.  Easy way to switch between

		   configurations from one boot to the next.  Incremental

		   restore procedure than works with the incremental backup

		   procedure.  A very powerful improved set of procedures

		   for establishing an operator account.  Procedure for 

		   implementing dual passwords for dial-in users. Procedure

		   for setting up a terminal as the right type at login

		   (even if VMS does not yet support it).  Privileged command

		   procedure catcher.  Procedures for using a using a port 

		   multiplexer to stretch you existing ports.



[KMSKIT.SYSUTL]  - Useful things.

                   a) VAX CALC update which has online help.  

		   b) Improved auto-logoff facility, 

		   c) SETMODEM to enable DMF lines 0 and 1 to be used 

		      with 4 wire cables.  

		   d) An improved (albeit slightly considering the work

		      which originally went into it) version of AVATU.

		   e) TEKGRAPH, A program which creates graphs on VT125's,4014's

		      and VT24x terminals.  Bug fixed, features added.

		   f) A modified version of TVG which knows about our 

		      4014 terminals (/DEV=FT1) and our VT240 terminals.  

		      This is probably not R. Grandle's current version, 

		      but it is used by VPW.

		   g) Power fail catcher



[KMSKIT.TVG]     - TVG as adapted for VT240s.  Not, however, the "official"

                   version.  



[KMSKIT.VAXSUBS] - Migrating from RSX to VAX the easy way. Bugfixes to last

		   release.  Not many, but some.  New support for SEND and

		   RECEIVE directives.  Bug fixes.
 
		   Please, if you are interested in this area and have 

		   written any mapping subroutines, please send them on to 

		   me.  I would like to establish a collection of them for 

		   DECUS.



[KMSKIT.VPW]     - V4.0 of the VAX Professional Workstation.  

		   Not quite ALL-IN-ONE,  but close, very close, 

		   (and getting closer) and Oh, so much cheaper !!

		   including WINDOWS with typeahead!  VPW V4.0 is

		   MUCH FASTER, very modular, uses logical names so easy

		   to reconfigure.  

		   Included with this release is 

		   a) GraphMaster, an interactive procedure for

                      graphics (graphs, slides, etc).  Graphs may

		      be generated either with DECgraph, TEKgraph,

		      or DTR (on VT125's or VT24x's).  Support for

		      curvfitting, and some graphics data file transformations.

		   b) Support for VT240 graphics.

		   c) A new version of NOTEBOOK which which can edit

		      (like a spread sheet calculator) our type 1

		      X-Y graphics data files (used by TEKgraph).

		      More flexible command line interface,  handling

		      of VT240 terminals, etc.

		   d) Procedures support VT2xx terminals.

		   e) Procedures support FULL editing windows (with a 

		      window banner that stays and stays and stays.....)

		      and which supports typeahead.

		   f) A new version of EDT (VPWEDIT)which supports WINDOWS

		      (again with a full editing screen and a banner

		      that stays....) and a clipboard and INSTANT system

		      level help from within the editing session.  

		      Note, this requires you to have EDT V3.0 (which by

		      the time you get this tape you should have).  

		   g) A version of EDT to use for browsing files.

		   h) A "rubber band" menu dispatcher (the VAX Toolbox)

		   I) A VAX Problem Reporter (an automated internal

		      SPR system).

		   j) VAX DTC (Date Book Calendar).  Replaces DATEBOOK.

		      You have to see it to believe it.  All RSX bugs fixed.

		      Context sensitive help!, Display wierdness's fixed.

		      Print and Purge commands.  Integrated with VPW.

		   k) Privileged command procedure dispatcher.

		      



Please, note that the procedures, programs etc, may assume site dependent

information not applicable to all sites.  Command procedures may have to

be modified to work to reflect the correct location of files.  Some

command procedures assume the existance of certain files or executable

images (generally, but not always, available from DECUS tapes).  I 

appologize for not having something which goes in as easy as a VMS Update kit.



As always, complaints, suggestions, or praise (preferably the latter)

may be directed to:



		James G. Downward

		KMS Fusion, Inc.

		PO. Box 1567

		Ann Arbor, Mich. 48106

		(313)-769-8500

		03-Dec-1984

 


========> [VAX84D.KMSKIT.VAX.CDD]AAAREADME.TXT;2 <========
 

   A number of VPW functions use the CDD (via DTR32).  The

CDD entries necessary for these functions to work are in

VPWCDD.SAV.  To insert them into the CDD do the following



	$ MC DMU

		CREATE CDD$TOP.SYSTEM

		RESTORE VPWCDD.SAV CDD$TOP.SYSTEM

	$ EXIT



The CDD entries contain plot file definitions for VT240 terminals

and DTR (Note DTR32 still does not work correctly with VT24x terminals even

though it is supposed to.  Try for example the PAUSE command.  These 

definitions work.  Also DATEBOOK now uses DTR32.  This will be the last time

these plot definitions are supplied since support for DATEBOOK is terminated

with this release.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR]AAAREADME.TXT;1 <========
 

			[KMSKIT.SYSMGR]



	This directory contains;

			COMFILE.DIR	System command procedures

			EDTSYS.EDT	Put on SYS$SHARE for VPWEDIT

			EDTSYSSLO.EDT	Put on SYS$SHARE for VPWEDIT

			HELP.DIR        HELP libraries to go on SYS$HELP

			OPERATOR.DIR	Operator account

			STARTUP.DIR 	How we get it up

			TERMLOC.FIL	[.CMDFIL]MONTRMUSE uses this



			[SYSMGR.STARTUP]



	The directories [.STARTUP] and [.STARTUP.SYSBOOT] exist so you

	can see how we get our system up and in case some site specific code

	is needed for you to get other components of KMSVAXKIT up.  Look it

	over, some of it is neat (interactive boots, automatic switching

	of system configuration, suppression of dumb DECnet messages)



			[KMSKIT.SYSMGR.COMFILE]



     This directory contains command files we have found to be of general

     use for system management.  Typically all command files reside on 

     SYS$COMFILE which on our system is generally SYS$SYSROOT:[SYSMGR.CMDFIL].

     We have tried to convert all [.CMDFIL] references to the

     system logical SYS$COMFILE but a few command procedures may yet be

     unconverted.  If so, sorry.

     Many command files assume that TESTFILE is defined as a foreign command, 

     ie 



		TESTFILE==@SYS$COMFILE:TESTFILE.COM.



     Help files are supplied for command files as appropriate.





1.      CHKPASWRD.  Uses DECnet to see if the password the user enters

belongs to a specified account.  Used by operator procedure and DIALIN.COM

(for verifying dialin access).  Needs DECnet to be turned on, but a multi-

node dECnet system is not required. Nifty.  No idea if it will work on 

V4.0 but I sure hope so.



2.	CMD.	Starts up command files on SYS$SYSDEVICE:[SYSUTL] and passes

them command lines.



3.	COPYTREES.  My version of of the DECUS tape copy program which

works with rooted directories and the operator account.  Does not have to

write all over the protected DECUS directories as does the original.



4.	DAILYBKP.   Example of a batch procedure which incrementally backs

up any changes to the system and user disks which have happened within the

past two weeks.  If the procedure fails (lack of space, or whatever)

the last previously good save set is retained and the system manager

is notified (via mail) that a problem has occued.  Note this and

other procedures assume the system wide logical VAX$MANAGER points

to the current system manager (VAX$MANAGER_2 points to alternate).



5.	DECUSCPY.   Used by operator procedure to make copies of

either RSX or VAX sigtapes.  Uses VPWDIRECT to provide online index

(on [VPW] directory), and COPYTREES.  Knows about the need to initialize

tapes (if factory fresh) on TS11's so do not have run-away tape drive.



6.	DEFAULT.   Another version of a simple way to change your default

directory and device.  There are so many of these thay you may well ask,

"Why another?".  The reason is that this one does things that others don't

do (but does not have some of the fancy move around commands).  This version

has two special features we find very, very useful.



     First, if the user has the correct privilege levels, it also changes

the UIC to the UIC of the target directory using the SETUIC program.  

Second, it works with rooted directories.  Third it works with RSX [UIC]

style rooted directories (Yes Virginia, almost a virtual ODS-1 RSX disk

sitting right there hidden on your ODS-2 disk).  Forth, DEFAULT will not

let you change your default to a directory which does not exist.



7.	DIALIN.  At present VMS does not force users to either have

passwords of a certain minimum length or force them to change the

paswords frequently.  On doing a bit of experimenting, I discovered

I could write a program that probed for users passwords and could 

quite easily break into accounts with passwords 3 characters long (or 

less long).  Since I wanted to continue to allow dial-in access to our 

system, and had no control over user's passwords, DIALIN.COM implements

a second level of password security with a password I can change frequently.



	Now implementing all this is quite easy.  Use AUTHORIZE to create

a dummy account DIALIN with a password you know (and can tell others).

Make the password as complicated as you think a phone line and your

users can stand.  The account should be locked so as to prohibit logins

onto it.  Next, if you haven't done so already, force all users to pass

through a system wide login command file.  In this command file, before

exiting to the user's LOGIN.COM file, check to see if the terminal the

user is logging on at is a dial in line.  TERM.COM does this, and sets

a variable which SYSLOGIN.COM can test.  Finally, if it is a dial-in line,

call DIALIN.COM and behold the user will be prompted for a second password,

and the password will be verified against authorization file, and if the

user is accepted, well and good.  Otherwise, the user is logged off.

Now if the dial up line characteristics are set for HANGUP, the user

has to redial to try again.



	Note that this procedure uses the TESTFILE routine and presuposes

DECnet running on the system.  I think it is pretty general, and foolproof,

but check it out carefully before hard wiring it onto your system.  It would

be very sad to get logged off each and every time you logged on.  You will

note from the code that I am paranoid about such things since two (count 'em)

trap doors exist, one for the system manager and one so that only our

dial in line (TTA7:) will have a log out forced.  You probably will want to 

modify this.  Also note that all dial-in accesses (both success and failure) are

logged both to OPA0: and a seperate log file on SYS$MANAGER:  If you want

the logging to work correctly, first create the log file and give the

world write access to it.



8.	DTRSTART.	This is set via the logical DTR$STARTUP to be

the DTR initialization file.  Note that logical DTR$PLOT is set in

TERM.COM to refledt whether the terminal is a VT125 or VT240.  If you

haven't noticed the distributed plot files work very badly on

VT240's.



9.	DTRNEWUSR.      A different version of the DTR NEWUSER.COM

that creates the appropriate CDD entries for the user, gives the

user (optionally) a private CDD dictionary (or assigns him/her to

a group dictionary) and optionally gives him/her the example files.

 

10.	ERRORDSP.  Quick and dirty to display the error message associated

with a VMS error number.  If defined as a foreign command, type

ERRORDSP <errnum>, or if using the CMD procedure, CMD ERRORDSP <errnum>

to see why VMS is rejecting your efforts.



11.	INCBACKUP.  Performes incremental backups of a systems disk

and keeps a logfile of what it did and when it did it.  Used with

OPERATOR.COM.  See also INCRESTOR.

 

12.	JNLBACKUP. Provides an easy way for users to back up their files.

Creates a journal file of files backed up and a directory log file of 

all kinds of things (tape name, backup set name, tape number, backup

date range, errors encountered on tape, etc).  Insures that all backup 

sets have unique names.  Nifty.



13.	MERGEFILES. Every boot/shutdown various log files are merged

into monthly container files.



14.	LARGE.   Puts VT100/VT2xx in 80 column mode



!5.	LOGTMPLT.  Used by OPERACNT.COM to create prototype LOGIN.COM

for a new user.



16.	MONERROR. Displays errors on a given device.  Only updates error

count if number of errors is changing.



17.	MONTRMUSE.  Uses ACCOUNTING utility to produce a formatted

report on terminal usage by user.  Needs SYS$MANAGER:TERMLOC.FIL (sample

file on this account.  Fill in new names/data and use it).



18.	NEWUSER.MEM.  Put your new user documentation here.



19.     NEWUSRLGN.    Invoked by user from initial LOGIN.COM file.

Insures password is changed the first time round.



20.	OPERACNT.     Lets system operator add/modify accounts.  Keeps

a log of all transactions and notifies manager each time it happens.

Invoked from OPERATOR.COM



21.	OPERATOR.	Invoked from operator account to do all kinds

of things.



22.	OPERCMD.	Allows operator to execute special command files

and to log their invocation.



23.	PAGE.		Erases the screen on all kinds of terminals

(VT100, 4014, VT125, VT2xx, etc.).



24.	RESET.		Resets a VT2xx when it goes bannanas.



25.	RESUBMIT.	Used for nightly rescheduling of system jobs.



26.     RMSERROR.       Uses SYS$HELP:RMSCODES.HLB to display the RMS

error code.  No more searching through the appendix to find out what the

wierd error codes mean!



27.	SETPASWRD.	Used during initial new user login to force

him/her to change to new one.



28.	SETVPWSYM.	Invoked by SYSLOGIN.COM so user can use

VPW conveniently.



29.	SMALL.		Sets terminal to 132. character mode.



30.	SPR.	Automatic SPR generator for VMS and RSX.  This is neat.

SPR administration will take SPRs prepared this way if you staple them to

a blank SPR form.  Maybe someone could modify it to run without operator

intervention.  Start it up at night, come in in the morning and find a 

neatly typed list of SPRs describing all current system problems known

and unknown.  However, until then, you do have to type in the problem

but editors are so much more fun than typing a multi-part form!!



31.	SUMMARY.	Produces a summary accounting report file

suitable for showing what is realy going on.  A monthly report totaled

by month, by group, and by user.



32.	SYSBACKUP.	Backs up system disks.  Used as part of operator

backup procedure.



33.	SYSLOGOUT.	Invoked if user sits on INMAC Port Multiplexer

to request the terminal to send the disconnect sequence back to the VAX

(which gets trapped by the PM which then disconnects the PM).



34.	TERM.		Invoked during SYSLOGIN to set up all the

things needed for terminals to work correctly, and to set any special

symbols needed which relate to which terminal a user has logged on to.



35.	TESTFILE.  Emulates the .TESTFILE on RSX.  Faster (by far) than using

an image to check for the existance of a file.



36.	TREESIZE.	For user with operator DECUS tape copy procedure.



37.	UTL.	   Automatically starts up tasks on [SYSUTL] and passes them

command lines.  Saves having a zillion foreign commands.



38.	XQT.	   Simulate the RSX .XQT command.  



39.	ZAP.	Fast wipeout of directory structure.  Be careful.  Not 

aggressively tested, but seems to work very well.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.COMFILE]AAAREADME.TXT;1 <========
 

Lots of goodies here.  Many are used by VPW, or the operator account or

some such.  SYS$COMFILE is where we place our command procedures (except

VPW) which have general utility.  Any one can be activated by our CMD

foreign command, IE $CMD cmd_proc_name, activates the command procedure

on SYS$COMFILE and passes parameters to it if specified.



Note the help library on this directory, RMSCODES.HLB.  It should be

placed on SYS$HELP.  It and RMSERROR.COM provide an easy way for users

to decode what those strange RMS error codes realy mean without spending

minutes (hours) trying to guess where they are listed in the V3.x

RMS manual.



Now there is some help on this directory.  Some help for some procedures

in in SYSUTL.HLB.  Other help and documentation may exist in memos I have

written but have forgotten to include.  If there is a particular item

which just cries out for documentation (which seems to be missing),

please let me know so I can try and get it in next time around.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.HELP]AAAREADME.TXT;1 <========
 

Place RMSCODES.HLB on sys$help

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.OPERATOR]AAAREADME.TXT;1 <========
 

	On our system we have an operator account with a password

known to all operators.  The operators can do all kinds of privileged

things.  To insure system security, not only is the common password

for the account required, but the user also must be known to the system

as a valid operator to use the account, and that users private password

(for their normal account) is verified.  The command procedure's capabilities

can be expanded substantially beyond that presented here, but this

part of it should provide other users with a template for implementing

such a system.  The operator account command procedure in turn invokes

command procedures on SYS$SYSROOT:[SYSMGR.CMDFIL].  Called command

procedures include OPERATOR.COM OPERACNT.COM, SYSBACKUP.COM, OPERCMD.COM, 

INCBACKUP.COM, DECUSCPY.COM and probably more.



	To use the facility, create an operator account [OPERATOR] with

the required privileges.  



Username:  OPERATOR     Owner:  SYSTEM OPERATOR                 

Account:   SYSTEM       UIC:    [300,300]

CLI:       DCL          LGICMD: LOGIN

Default Device: SYS$SYSDEVICE:

Default Directory: [OPERATOR]
Login Flags: DISCTLY DEFCLI

Primary days:   Mon Tue Wed Thu Fri Sat Sun  DISDIALUP

Secondary days:                             

No hourly restrictions

PRIO:     4  BYTLM:        4096  BIOLM:          6

PRCLM:    2  PBYTLM:          0  DIOLM:          6

ASTLM:   10  WSDEFAULT:     150  FILLM:         20

ENQLM:   25  WSQUOTA:       200  SHRFILLM:       0

TQELM:   10  WSEXTENT:      500  CPU:     no limit

MAXJOBS:  0  MAXACCTJOBS:     0  PGFLQUOTA:  10000

Privileges: 

  CMKRNL SYSNAM GRPNAM ALLSPOOL LOG_IO GROUP PRMMBX SETPRV

  TMPMBX OPER NETMBX PRMGBL SYSGBL MOUNT PFNMAP SYSPRV





When the operator logs on LOGIN.COM executes after SYSLOGIN.COM.

LOGIN.COM invokes SYS$SYSROOT:[SYSMGR.CMDFIL]OPERATOR.COM which 

requires that a list of valid user names exist in OPERATORS.DAT.  The

names in OPERATORS.DAT should be the standard USERNAMES the users would

log onto the VAX if they were logging on to their own account.  This

is because, they are then going to be asked for their password, at which

time they should enter their normal VAX password (which won't echo). 

Then some magic occurs, and the USERNAME/PASSWORD of the users normal

account is verified.  If it is AOK, the operator is logged on to the account

and can do all kinds of things including 



	issue any command (a log of special commands is kept)

	Add Accounts

	show account status

	Make DECUS tapes

	Generate errorlog listings.

	load a shared gobal section

	perform full disk  backups

	perform rotating incremental disk backups

	initialize a new tape

	Shutdown the system



A log of all operator accesses to this procedure is also kept.

The OPERACNT.COM procedure uses WHO.EXE from the VMS V2.5 kit (it works

just fine on V3.0) installed with the correct privilege (SYSPRV) so it can

read the account file.  Writing a seperate task or subroutine to do this

is easy, however.  See the code in REMINDER.FOR in [KMSKIT.VPW.REMINDER].

You will have to modify these procedures to your own sites needs.  For

example our VAX has a node name STAR:: and that is assumed.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.OPERATOR.NOTICE]AAAREADME.TXT;1 <========
 

Here we have a collection of prepackaged notices which catch the

eye (on VTxx terminals).  Copy any one of them to NOTICE.TXT

edit as appropriate and it will get displayed by SYSLOGIN.COM.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.STARTUP]AAAREADME.TXT;1 <========
 

The files on this directory are normally on SYS$MANAGER:.  I am including

them, because they illustrate how to interactively boot different systems

and how users desireing to use VPW should be logged on.  These files 

will need modifications to use on other systems.

 


========> [VAX84D.KMSKIT.VAX.SYSMGR.STARTUP.SYSBOOT]AAAREADME.TXT;1 <========
 

The files on this directory normally reside on SYS$SYSROOT:[SYSMGR.SYSBOOT].

They should not be used without tailoring or being sure they are suitable

for your system.  The network loading files are included because I have managed

to omit most console messages from a standard system boot.

 


========> [VAX84D.KMSKIT.VAX.SYSUTL]AAAREADME.TXT;8 <========
 



                               James G. Downward

                                KMS Fusion, Inc.

                                  PO BOX 1567

                             Ann Arbor, Mich. 48104

                                 (313)-769-8500

			        December 2, 1984



Note to VAX Sig Librarian:  



     I am supplying images also because last release many sites complained 

     that they did not have Fortran and could not build the images.  Note 

     also, that some sources may have been duplicated on previous KMSKIT

     releases.  My problem is that I have made so many changes this time

     around, that I can not tell which has changed and which hasn't.  Moreover,

     since the VPW package operates as whole, supplying it with missing

     critical pieces, does not seem quite right.





Note to VPW implementers.



     Some images are supplied on this directory without sources.  Documentation

     for these images, and where they come from is normally found in SYSUTL.HLB.

     Most (if not all) these images come from past DECUS VAX Sig tapes.  My

     philosophy for this, is that if the image is necessary for the mainline

     of VPW to work,  I supply it unless the size of the images (ie

     Dennison Spelling package is huge) is very large.  If you want sources

     you will then have to go back to the original DECUS tape and get them

     for yourself.



Note to Security Conscious System Managers:



     To the best of my knowledge, no supplied image contains any "Trojan

     Horses".  I feel confident that none of the images we developed pose

     security holes and for all but images linked against licensed libraries

     (ie TEKGRAPH) all sources are supplied.  This is not the case

     with some images obtained from DECUS so as a rule, we never install

     images with privilege for which we do not have sources.  If running

     the images non-installed (by potentially privileged users) poses security

     worries for you, you should modify the various command files to save

     the user's privileges, set minimal privileges, and then restore the 

     privileges when the DECUS image is finished.  The version of VPW

     supplied on another directory, does not incorporate this feature yet.







	This subdirectory contains useful system utilities.



1. CALC.  VAX CALC is modified for online help.  Any time CALC is prompting

the user may type HELP and get help (or type HELP topic .....).  The

CALC help library is included.  It is ment to be part of the help library

SYS$SYSDEVICE:[SYSUTL]SYSUTL.HLB and CALC will print lots of nasty little

messages telling you the library isn't there if it isn't.  The updated

Fortran source for the VAX CALC mainline and CALC.EXE are provided.

CALC.EXE is on [KMSKIT.VPW]. If you want all the sources, get them from DECUS.

Much more user friendly.



2.  NOUNLOAD.  We have a dual ported RK07.  One port talks to our PDP-11/45

(running RSX) and the other talks to our VAX.  If we mounted the RK07 from

the VAX end (readonly) and dismounted it, it would spin down.  This made

the RSX side of the world very, very, very unhappy.  NOUNLOAD is a freebe

from the friendly VMS group (they sometimes answer SPRs with answers other

than 'fixed in a future release') for the problem presented to them in

Jan 1982.  While written for VMS V2.x, it also correctly builds and works

for VMS V3.0.  To use it, after you mount a disk, type NOUNLOAD dduu:

(NOUNLOAD must be a foreign command).  Now the disk will not spin down when

dismounted.  Now to make the whole process bulletproof, the mount command

is replaced by an indirect command procedure MOUNT.COM which checks to see

if an RK07 or RA81 is specified, and if so issues the NOUNLOAD command

transparently without the user suspecting a thing.  Note however, emulating the

mount command completely with a command procedure is impossible since leading

qualifiers do not get handled correctly.  Qualifiers must be appended to the

device. 



3.  SETUIC.  SETUIC allows users with group privileges to change UIC's within

their groups, and users with world privileges to change UIC's accross groups

as long as the group number is larger than a specified maximum.  On our system

this value is 300. This value is easily set in the code.  Note SETUIC is a 

privileged image and should be rebuilt each time a new version of VMS goes in.

SETUIC also displays the current UIC of the process.  Please note that this

UIC limit on this version of SETUIC is now set at 300.  More importantly,

please note, that the group number 340 (octal) is now 'magic', ie one

needs SYSPRV to switch over to it.  This is because the [340,*] UIC's on

our system run with a higher degree of confidentiality than others.  

Normally all users are allowed to read all other user files on the system.

However, administrative services files (with UIC [340,*]) have more

restrictive read access rights.  Consequently, the World Manager must

is also restricted from setting his UIC to their account.



4.  SETMODEM.  SETMODEM allows the RTS and DTR bits on ports 0 and 1 of a 

DMF32 to be turned on.  This is necessary if one wants to 1) connect

a local terminal to port 0 or 1 of a DMF32, 2)use only a 4 wire cable,

and 3)Use a special purpose pigtail on port 0 and 1 to strap one of the

forced high lines (RTS or DTR) to Carrier Detect.  If carrier Detect is not

high, terminals will not talk to a DMF32 on ports 0 or 1.



5.  AUTOLOG.  Steve Moores (ASDU) originally wrote this.  I modified it

so that its timeout period is more reasonable (27 min) and settable and so

that the user gets lots of warning messages prior to the terminal being

logged off.  The warning messages for subprocesses (idle) indicate

that it is a subprocess getting warned (axed).  This makes it a lot

more friendly to use when using edit windows and VPWEDIT.



6.  ZEUS.  A modification to the ZEUS on the SIG tape such that two

classes of users exist.  There is the normal class of users (the good

guys) and those who for some reason we choose to discriminate

against (they are CPU hogs, they should go buy their own machine,

etc.).  This list of groups (account) is hard coded into a table in ZEUS.

When ZEUS finds a user belonging to a normal user being a CPU hog, the priority

of that user is droped to 3.  However, if the user's account group is

in the specified table, he/she is droped to priority 2.  We call this group

our Batch Class group.



7.  TEKGRAPH.  Read TEKGRAPH.RNO (make it a DOC file first).  This program

will plot data files on Tektronix 4014, VT125's or VT240 terminals.

TEK 4014 terminals should be /DEV=FT1 and VT240 terminals should be set

to be VT100 terminals with /REGIS/NOWRAP.  The source for the mainline is 

included but not the graphics library it is linked with.  It was linked with a

modified version of the Tektronix Advanced Graphing II subroutines and I really

can not distribute them since they are licenced software.  However, most all of

AGII is built into TEKGRAPH. 



8.  TVG.       R. Grandle is probably submitting TVG to this tape.

However, this version has been modified to work on VT240 terminals

(as /NOWRAP/REGIS VT100's and 4014 terminals.  Since it is used by

VPW & GRFMASTER & TVGMAKER I am enclosing it because the my most current

"official" TVG release still does not support REGIS termials in REGIS

mode as well as my modified version supports VT240's in 4014 emulation

mode.



Terminals should be set in the following way



	      $	SET TERM/PERM/LA120/SPEED=9600-     ! 

			/NOTAB/HOSTSYNC        TTB2:! Tek 4014 Laser

	      $	SET TERM/PERM/FT1/NOWRAP       TTB2:!  "   "    "



	      $	SET TERM/PERM/DEVICE=VT00/REGIS/NOWRAP-

				   /SPEED=9600 TXA2:! VT240





9.  PLOTEDIT.  Allows one to do line mode edititng (for video mode,

    use NOTEBOOK) on our x-y plot files.



10. POWERFAIL. POWERFAIL is a detatched process which wakes up if and

    when the system is hit with a power failure.  The action it takes

    is completely user tailorable by changing the command file,

    SYS$SYSROOT:[SYSMGR.SYSBOOT]POWERFAIL.COM.  To build POWERFAIL

                    $ FOR POWERFAIL

		    $ LINK/NODEBUG POWERFAIL

    To start it up as a detached process (from SYSTARTUP.COM) use

    RUNPOWRFL.COM.  POWERFAIL will keep a current log of all power failures

    and the action it takes in [SYSMGR]POWERFAIL.LOG and composit log

    in POWERFAIL.ALL (built up each system boot).  Because resetting the

    DMF32 modem bits was our prime concern in implementing this program,

    the command file SYS$COMFILE:RESETDMF.COM is also provided.  If the 

    terminal is free, it will use SETMODEM to reset the modem bits.  If 

    the terminal is logged on for interactive use (and is now hung by the 

    power failure), it will stop the user's process, and then use SETMODEM 

    to reset the modem control bits.



11. Lots of help files in SYSUTL.HLB.  Note that the item F_Deallocate

    corresponds to help on the FD.EXE images which was found on the last

    VAX Sig tape under [.DEALLOC].  RESETDMF uses the Force_Deallocate

    command to deallocatat an active DMF32 line which must be reset if

    a powerfailure occurs yet someone is using it.



12. DGTAPE.  A general purpose program to read Data General tapes.

    Written by Clare Russell at Columbia.



13. Images for FD (from [.DEALLOC]) and QD from the last SIG tape are

    provided since they are required by procedures supplied with this tape.

    (VPW needs the QD display for killing print jobs).

 


========> [VAX84D.KMSKIT.VAX.SYSUTL.DGTAPE]AAAREADME.TXT;2 <========
 

DGTAPE is used to read Data General tapes on a VAX.  Its use is

somewhat straightforward, if you are used to the way DG does things.

I am enclosing this program courtesy of



	Claire Russell

	Columbia Univ

	538 W. 120th St.

	New York,NY.  10027

	(212) 280-8140 or 280-2819



who developed it.  I am enclosing it because it is very easy to use,

seems to work well, and as far as I can tell, no other DECUS VAX

utility does what it does.



I made a few cosmetic changes to the input prompting, and added some

help files.

 


========> [VAX84D.KMSKIT.VAX.SYSUTL.TAPECHECK]AAAREADME.TXT;1 <========
 

This is a new version of a 1982 VAX Sig tape submittal.  The main

difference with this version and the previous, is that all terminal

output is directed toward SYS$OUTPUT so that this utility can now

be used as part of a batch procedure.  We use it as part of the

CHECKTAPE command procedure on SYS$COMFILE.



	James G. Downward

	KMS Fusion, Inc

	PO Box 1567

	Ann Arbor, Mich. 48104

	(313)-769-8500

	2-Dec-1984

 


========> [VAX84D.KMSKIT.VAX.TVG]AAAREADME.TXT;2 <========
 

The VMS community owes R. Grandle a vote of thanks for converting

TVG to run on VMS.  I think he will be submitting his latest version

of it on this tape.  The sources and OLBs here are base on his

Sept 1983 baseline.  I also have a more recent version from him which

works on any VT125/VT240 in regis mode.  However, I have not yet

had time to fold in my changes and certain features of the new version

work worse in regis mode then they do in Tektronix emulation mode.

And sadly, speed is no faster.



In order to get it to work with our terminals (older 4014 terminals and

VT240 terminals), I had to make a number of changes including



1.  WHOAMI.  Recognize VT240 terminals.  If a VT240 terminal, place it

    in 4014 emulation mode.  If a vT240, establish an exit handler to

    return it from whence it came on exit.



2.  Fix baud rate problems on 4014 terminals (fixed in IGLREPLAC.FOR

    by padding output with nulls).



3.  Various cleanup and bug fixes in the TVG*.FOR modules so that

    TVG handled error conditions more "ROBUSTLY", and so that the

    A/N characters on a VT240 in 4014 mode could be read.



Since, I have not yet had a chance to merge my changes with R. Grandle's

latest, I am enclosing the files required for users wishing to build

TVG for use on VT240 terminals.  I am also inclosing the files for

rebuilding SETS, since it is mentioned as being available in the documentation

file, TVGUSE.RNO.

 


========> [VAX84D.KMSKIT.VAX.VAXSUBS]AAAREADME.TXT;4 <========
 



                               James G. Downward

                                KMS Fusion, Inc.

                                  PO BOX 1567

                             Ann Arbor, Mich. 48104

                                 (313)-769-8500







			[KMSKIT.VAXSUBS]



30-May-1984



	This directory contains useful subroutines which we use for

migrating RSX applications to VMS.  Our goal is to be able to run 

identical source code on both machines.  The modules in VAXSUBS.FOR

try and emulate (correctly) the RSX subroutines in native mode.

Use of these subroutines has drastically reduced conversion work from

RSX to VMS.  Eventually, we hope to be able to emulate all reasonable RSX

subroutine calls in VMS native mode subroutines.  The subroutines in 

VAXSUBS.FOR have been extensively used.  VAXSUBS.FOR now has all support

routines including the new support routines for the SEND, REQUEST, RECEIVE,

SUSPEND, and RESUME directives. I think these latter work, but the testing has

not been as extensive as the other modules. 



     This release includes "full" support for RSX-like SEND, REQUEST, and

RECEIVE (or RECEIVE DATA OR EXIT) directives.  To use these directives,

you will first have to "install" the task via RSXINSTAL.  There is considerable

discussion in the subroutine code as to what it means under VMS to have a

task RSX-INSTALLED.  Note "installing" a task RSX-Style, requires privileges.

One must be able to create permanent mailboxes and enter system wide logical

names.  Otherwise, all should proceed very similarly as on RSX.  There are

a few "gotchas" (can not receive data from specified task -- for now) but

generally it seems like a workable emulation.  



     Event flag support has increased.  Both local (VMS Process local) and 

Group Global (VMS Process Global) event flags are allowed and map correctly

dispite the 32 flag gap.



     Likewise, SUSPEND/RESUME and WAITFR/STORFR seem to work.  Again, 

remember that the name of the "task" to be suspended/resumed is taken from the

process (subprocess) name, and is limited to 6 characters (just like RSX). 



     ARGCNT.MAR and GETADR.MAR are used to let a Fortran subroutine

know how many parameters have been passed to it or whether an optional

parameter has been omitted.  Very, very useful routines for writing

bomb proof subroutines.  QUADMATH.MAR is borowed from a past DECUS tape

and a routine was added to complete the math functions.



     IESC is a real goodie.  It allows a running program to check to see

if the user has typed anything on the keyboard and if so take appropriate

action.  I think you will like it.  We use it all the time for controling

real time interactive displays from the keyboard.



     The compilation specific requirements for each routine are handled with a

OPTIONS statement before each subroutine, so to compile the package, a simple

FOR VAXSUBS should suffice.  Note, that integers in the subroutine calls are

assumed to be I*2 (just as RSX does).  If you send the routines I*4 data,

expect trouble and you will not be disappointed. 



28-Sept-1984



	I apparently inadvertantly left off IADDR.Mar from previous 

distributions.  Sorry, here it is.

 


========> [VAX84D.KMSKIT.VAX.VPW]AAAREADME.TXT;10 <========
 

		The VAX Professional Workstation V4.0

			    December 3, 1984



VPW V4.0 has many new features including; windows with typeahead!, a real

Desk Top Calendar, support for MASS11, MAIL access from all menus,

privileged command procedures, an internal VAX problem reporting and

tracking procedure, menu bypassing, support for any foreign command

from a menu prompt, a rubber-band toolbox menu system, support for VT2xx

terminals, and much, much more. It has been restructured for modularity and

maintainability, and made significantly faster.  However, because functions

are invoked as subroutine command procedures rather than as part of a

monolythic command file, each VPW user has more files opend and charged

against FILLM. 



The VAX Professional Workstation is a collection of all kinds of things.

Since it has evolved piecemeal I have never tried getting it installed,

up and running from scratch. However, I think all required files are here.

Setup of the system to use VPW should be straightforward. On [KMSKIT.SYSMGR]

are all the files (suitably edited) we use to get our entire system

including VPW up and running.  Note what goes on in SYSTARTUP.COM,

the various files on [.SYSBOOT], and during SYSLOGIN.COM.  Expecially

note that TERM.COM sets up symbols escential to VPW's operation.

During SYSTARTUP.COM the following logicals must be defined;



	$ASSIGN/SYSTEM SYS$SYSROOT:[SYSMGR.CMDFIL] SYS$COMFILE	!

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[SYSUTL]      SYS$UTILITY	!

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW] 	   SYS$VPWFILES	! For VPW

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW.WP] 	   SYS$VPW_WPFILES!

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW] 	   SYS$SYSVPWFILES!

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW.CAI] 	   SYS$VPWCAI	!

	$! Set up help library.  _x is " ", "_1", "_2" etc.

	$ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW]VPW.HLB HLP$LIBRARY_x





The files on directories SYS$COMFILE and SYS$UTILITY must exist.  

SYS$COMFILE: files correspond to [KMSKIT.VAX.SYSMGR.COMFILE], and

SYS$UTILITY: files correspond to [KMSKIT.VAX.SYSUTL].  



For the convenience of a potential VPW installer, the command procedure

VPWINS.COM is available for tailoring for your site.  Please note, that

I have never used this procedure per se. and that it must be customized

for a given site's needs.  Also available as a convenience, is VPWLOGIN.COM

which can be used as a template for modifying a system wide SYSLOGIN.COM

or invoked on a per user basis.



The Document Preparation System uses the Dennison Spelling package.

In order for the spelling checker to work, you need the spelling checker

program from the Spring 1983 VAX SIG tape.  Also, the correct logical

logical assignment must be set up.  The logical name for the spelling checker

should be assigned during SYSLOGIN.COM



	$ASSIGN SYS$SYSDEVICE:[xxx]  ENGL$



Users wishing to have a special directory on which their WP files

reside may define a special logical WP_DIRECTORY, for example;

.lit



	$ ASSIGN DRA0:[Username.RUNOFF] WP_DIRECTORY



.end lit

Control of the pitch of the letter quality printer is set by the

system logical symbol LQ_PRINT_1 (should only be 10 or 12).

Documentation on using the VAX Professional Workstation can be found in

the subdirectory [.MANUAL].  Please note, that the manual for VPW V4.0 is

FAR, FAR from complete.  Right now it is unpolished and its organization

is probably not optimal.  I have tried to update its various chapters to

reflect the current state of the procedures and images, but I am sure

that at this stage there are probably still some inconsistancies.  

The manual stands at 160 pages or so not counting an index (not yet done)

or a Table of Contents.  It turned out to be a far bigger job than

I had intended.



All files on [KMSKIT.VPW] should be placed on their appropriate directories

and the logical assignments made.  Note that most files reside on

SYS$SYSVPWFILES but the CAI files reside on SYS$VPWCAI and most word

processing command files (except WP2.COM) reside on SYS$VPW_WPFILES.  If

this directory were taken to be SYS$SYSVPWFILES:, then [.WP] would be

SYS$VPW_WPFILES:, and [.CAI] would be SYS$VPWCAI:. 



During SYSLOGIN.COM both @SYS$COMFILE:TERM.COM AND @SYS$SYSVPWFILES:SETVPWSYM

is executed.  Once that is done type VPW and all should go OK.  Of course, as

things generally work, I am sure there will be a few difficulties, but I am

confident that they will be minor and easy to fix. 



On this directory are a number of useful images.



1.  ASK.EXE.  This is a new version of the ASK program which appeared

on the previous SIG tape.  I modified it so escapes sequences from a 

VT100 keypad could be input and for handling upper/lower case conversion

a bit better.  This version supports long escape sequences from VT2xx

terminals.  Should be installed.



2. BROADCAST.  Allowes non priviledged users to broadcast (just like RSX)

each other messages.  Must be installed.  Tracks you down where ever you

are hiding.  Now supports broadcasting to OPA0: and tracking down logical

names.  



3. CNVDCALXY.  This program will convert a DECalc dump file of x-y data

into a KMS cannonical X-Y graphics data file.



4. CURVFIT.  This program takes a canonical x-y data file and allows one

to do simple fits of the data to a linear polynomial or an exponential

or power function.



5.  FLOLDRINDX and VPWDIRECT.  Small mini programs to provide formatted

outputs of directories and text libraries for use with the word processing

command procedure.



6.  MAILMSG.  Sets a VMS symbol showing the number of unread mail messages

a user has.



7.  NEWWINDOW.  Supports the WINDOW command.  "Ask and Ye Shall Receive".

Not as good as provided by a real window system, but what the heck, it's

easy to remember where one is (the sticky banner on top), and performance

is tollerable.



8.  NoteBook.  Not quite a poor man's DTR, but a fast simple way, of

using and maintaing personal data bases.  Very versitile and reasonably

fast.  All kinds of neat uses.   This version supports VT2xx terminals

and editing our cannonical X-Y data files (like a spread sheet calculator).

New way of command line parsing.



9.  PRVCOMFIL.  Used as part of our implementation of privileged command

procedures.



10  REMINDER.  Everyone needs this.  Works with REMINDUSR.COM to provide

a way of leaving oneself (or others) dated reminder messages which get

delivered at the specified time..  For it to work correctly, BROADCAST 

must be installed with the correct privileges. 



11.  SWAPXY.  Takes a cannonical X-Y graphics data file and swaps the

X-Y values.



12.  TYPEPAGE.  This program types out a section of an ASCII text file

from one specified line to another.



13.  VAXDTC.    At last, a real Desk Top Calendar for the VAX (that doesn't

cost much)!.  The original RSX version was done by Mitch Wyle.  It was then

modified by Glen Everhart and this time by me.  It replaces the DATEBOOK

command procedure of the previous version.



14.  VPWEDIT.  Here it is,  EDT with "Windows" and "Clipboards"!!!!!





Noteworthy command procedures include



1. VPWV4.COM.   The root procedure for the VAX Professional Workstation.

The things command procedures can do never ceases to amaze me.  Of course

whether or not they should be made to do them is another issue.....

VPW V4.0, is modular, faster, supports graphic work stations and much more!

You realy have to look through the documentation, help libraries and the 

like to appreciate it.  It is very tailorable and site customizable.



2. WP2.COM     Given that we do not have a real word processing package on

our system, this works verywell.  One secretary used it for months

(she lost her real word processor to a personell shuffle).  Our system

has two printers set up, TTA0: (an LA120) and a Diablo 630 letter quality

printer (TTA1:) and if your system does not have its printers set up this

way I suspect you will have to change WP2.COM about to suit your needs.

WP2.COM has been restructured so this should be very easy to accomplish.

WP2.COM is a central dispatcher for many other command procedures, one

per major function.  At the expense of having more open files, this makes

it faster than previous versions, and far easier to maintain and improve.



3. DATEBOOK   DTC replaces DATEBOOK this release.  However, my most recent

version is included here for those sites who don't like DTC.  DATEBOOK is a

guick and dirty personal datebook.  The DATEBOOK command procedure now uses

VAX Datatrieve and the CDD.  Being rather new to VAX Datatrieve, I hope I

have the installation of the record definitions into the CDD correct and

foolproof.  If not I hope one of you will tell me. However, I do have it

running on my system and those CDD record definitions did go in.  Moreover,

the format of the datebook files has not changed. How's that for upward

compatability?   Note if DATEBOOT does not get the records into the CDD,

[KMSKIT.CDD] has the required DMU style backup SET to insert into the CDD. 



4. TAPEXFER   Here is a procedure with which users with mindless ease

can transfer files to (and from) an IBM system which will magically be

able to find what files are on the tape and do the appropriate things

with the files.  At present, the files may be just printed (on the IBM's

ever so fast but incredibly dumb printer [no U/L or TABS please]), saved

as a unique file or inserted into a partitioned data set (it had better

exist first).  TAPEXFER uses AVATU from the VAX81B VAX Sig Tape (you can

find it on [VAX81B.DFWLUG.AVATU]). 



All in all, AVATU is the best IBM/VAX transfer utility I have seen.  I

discovered it after fruitless years trying to get the IBM group to get a

utility that would transparently read PIP or COPY ANSI format tapes. 

For whatever reason (perhaps IBM does not believe in ANSI tapes), the

search on the IBM side was fruitless (ran into lots of dead ends and

things which almost worked). Then AVATU appeared on the VAX tape and

life suddenly became so much simpler.  Thanks MOSTEK!! 



AVATU has had a few mods made to it.  Control-Z on any input now cleanly

exits.  A bug with zero length records was stomped out. Also AVATU now

allows logical device names with embedded '$' and '_'. Consequently,

AVATU.MAR is included along with AVATU.EXE and AVATU.DOC.  However, to

rebuild it you will have to get the other sources from the original

distribution. 



Now all IBM sites are a bit different and they seem to have a lot of

operating systems.  We run MVS/TSO.  Initially when we wanted to

transfer files, the IBM managment always wanted to know the names

of each and every file we wanted on their system.  Given that we wanted

the ability to do wild card transfers, this presented a real pain

(guess where?).  To solve this problem, this transfer procedure

was set up.  As the first file on each tape, it includes the JCL

necessary for getting all the other files off the tape.  The IBM 

side has a cataloged PROC which always reads off the first file

and starts up its JCL (after converting it to fixed length format).



To implement this on the IBM end, you probably will need an IBM systems

programmer.  To help in this process, the JCL files we use are included.

A program [.IBM]VBSTOFB (Variable Block Spanned to Fixed Block) is

needed to convert the file format supplied by AVATU to something which

our IBM likes for certain applications.  The Cobol source (yes Cobol!)

is provided (VBSTOFB.COB).  It is entirely possible, that you will have

to change the embedded JCL in TAPEXFER.COM or the JCL files supplied

(*.JCL) or VBSTOFB.COB to run on your IBM. 



In practice, TAPEXFER uses AVATU to produce a tape.  We then carry

the tape to the IBM operator who then mounts the tape and starts

up the PROC called DECRDR for the user.  From that point on

all should go without additional intervention.  Note, however,

that if files are being transfered to a PDS on the IBM, it must

exist already.  Note also, that individual files transfered

get a data set name preceeded by a 'DEC.' and that they overwrite

any existing data set names with identical names (version numbers,

what are they??).  Finally, to create a tape on the IBM side which

our users can use, we use the IBM utility IEBGENER.  



5. VAXPRBLM.  Here it is!  A internal SPR system.  We call them VPRs

for VAX Problem Reports.  It allows any user to submit a report and

any problem manager to log an answer.  The problems and their solutions

become available for all to see.  To implement this required developing

privileged command procedures.



6. PRIVCOM.  It is rather simple to implement privileged command procedures 

and PRIVCOM.COM works with PRVCOMFIL.EXE to provide this functionality.



7. Generate UDK load files for your VT2xx terminals.



8. VPWTOOLBX.  A rubber band display of utility options.  The menu is kept

in a text file.  The parsing and dispatching is kept in TOOLBX.COM.  Can

move back and forth in the menu at the flick of a key.  Place all your 

site specific utilities here for easy access.



9. WINDOW.  The things one can do with a command procedure never cease

to amaze me.  Of course that doesn't meed all the things one can do

one should do.  This one probably falls into the latter catagory, but...,

it is ever so useful.  It works with VPWEDIT to provide users with a full

DCL window which may be accessed from within the EDT editor. With

internal typeahead buffering, no less. We realy love it and wouldn't

dream of running without it.  I hope it is as useful for you.   If one of 

you gets ambitious and converts most of WINDOW.COM to a .EXE, please let

me know.  Doing such a conversion is on my agenda, but so many other

things are happening here right now that I am unsure which month, year, 

or decade I will get to do so.



10..... And lots more.  Most are used by VPW, however.

 


========> [VAX84D.KMSKIT.VAX.VPW.DOCUMENTS]AAAREADME.TXT;3 <========
 

Here is some documentation.  I wish it were more.  



Users wishing to use "Windows", read WINDOWS.RNO to see how to set up

VPWEDIT (rather simple).



The VPW manual is in the [VPW.MANUAL] subdirectory.

 


========> [VAX84D.KMSKIT.VAX.VPW.DTC]AAAREADME.TXT;1 <========
 

	 	    VAXDTC - The VAX Desk Top Calender



		            James G. Downward



		              August 2, 1984



			

		

Based on:	DTC  -  The Desk Top Calender

		Mitch  Wyle

	        December 1982

	 	Version 1:  Glen C. Everhart



			Original Abstract



	The  idea here  is to automate an appointment calender.  Most

	appointment  calenders  give  only  one of Month-At-A-Glance, 

	Week-At-A-Glance, or  Day-At-A-Glance.   DTC is an attempt to 

	give all of these functions in a paperless, fast, menu-driven 

	format.



	DTC  is  one  of a number of Paperless Office programs I have

	been developing  for  two years.  Other  related programs are

	an on-line telephone directory, an electronic mail system, an

	automatic "While You Were Out"  message  taker  which  spawns

	mail directives, Memo and Form letter templates and programs,

	and software tools for writers in a business environment.



	Mitchell F. Wyle

	Data Systems Supervisor,

	NUS Pittsburgh Radiological Laboratory

	5350 Campbells Run Rd.

	Pittsburgh, PA  15205

	(412) 788-1080 x405



			Revision 1 Abstract



	Revision 1: Glenn C. Everhart



	I have added a few extras to the program to make it more

	usable and fix a few small bugs. The following has been

	done:



	* Date bugs in displaying weeks at the beginnings of months

	are fixed.

	* The E in Evening now is a pseudo time and gets displayed as

	17:00 on the weekly summary. You can enter evening appointments

	using the D command with E for time. (EV works OK too.)

	* Most commands are accepted in lower case or upper case.

	* Commands T (Today), R (Reminder), and C (Calendar) correspond

	to Day, Week, and Month exactly but cause DTC to exit after

	they are executed. This permits them to be used from MCR

	with instant exit, thus to be placed into login.cmd files for

	an "auto reminder" service.

	* Time ranges may be input (so long as it is done with no format

	errors) in the form hh:mm>h2:m2 (e.g. 09:00>15:30) which will

	replicate the appointment part of the line into DTC.DAT

	over the indicated range.

	* Purge of old appointments (clear out appointments from before

	a given date, defaulting to today)

	* Reverse display of week/month times permitting FREE times to

	be found and displayed rather than occupied ones (potentially

	for a group of people)

	* A second level of data files, permitting an appointment file

	to contain pointers (1 level deep) to other files which can be

	searched as well as the first

	* Multiple appointment files, changeable on command (permitting

	"private" appointment calendars)

	* Scheduling of appointments in multiple files (useful for setting

	up meetings or maintaining multiple files)

	* Lookup for free times of length n * 30 minutes (where n is any

	number in the range 1 to 18) over a week period; display of

	times is made in Week format. Valid start times for meetings of

	given lengths are shown.



	New commands:



P [mmddyy]	- Removes all appointments from current calendar file

		whose date is BEFORE the date specified. If no date

		is specified, today's is assumed.

N(command)	(for example  NW [mmddyy] )

		- Displays FREE time instead of scheduled time in week or

		month formats. Not deemed useful for Day format, so left

		out there.

F filename	- Closes current calendar file (defaults to DTC.DAT

		initially) and opens filename instead

S [mmddyy hh:mm[>hh:mm]] appointment/meeting

		- Schedules appointment /meeting at the given time.

		If current calendar file contains pointers to other files

		(see below; year=99 and appointment part has 'filename='

		in it) then each of those gets a notice of the appointment

		or meeting added to it as well as the current calendar.

		Otherwise only the current calendar file is updated in the

		D format.

L [mmddyy] nn	- Locate a period of nn half-hours in the week containing

		mmddyy. Displays the free time in week format. Used to

		schedule meetings. nn must be 01 thru 18 and is clamped

		to this range



POINTERS in CALENDAR FILES

	The calendar file format is sequential records of the format:



YYMMDDTTTappointment text of 60 characters length



in which every record has this form, and the time TTT is in the range

(for correct files) of

080 through 170 (for 08:00 through 17:00). The third digit is always

either 3 or 0 as well, since DTC only schedules half hour periods.

	Indirection is accomplished by editing your calendar file

(with any editor) or just entering an "appointment" for year 99 (by which

time somebody should have hacked some more on this to fix it up not

to mess up real appointments). The text of the "appointment" should

be just filespec=, with the = sign as the terminator of the file spec.

This will lead to the file you specified being opened and treated as

if it existed inside your own calendar file (except you need to use

the S function rather than the D function to enter appointments in

it as well as your own.)



	DTC is a bit touchy about illegal inputs. Be sure you input

the mmddyy in the format given (i.e. July 4, 1983 is entered as

just "070483", NOT as "7/4/83" or "7483" or anything else. If

DTC seems to generate weird displays, edit DTC.DAT (or whatever

else is your calendar file) and remove or edit lines in which the

date or time are in illegal format.



			Revision 2 - VAXDTC

			James G. Downward



	I have cleaned up program, made screen formating work on VAX,

	added extensive HELP support, VPW window support, added a

	PRINT command improved command line parsing and fixed lots of

	bugs.  Some features of Revision 1 are no longer visibly supported

	as I think they will be redone in a different format in the 

	next release.



	1.  All commands are case insensitive. Cleaned up command line

	    parsing.

	2.  VAX exit handler to clean up DTC and fix terminal screen

	    if DTC stopped with ^Y.

	3.  QCHECK command (Quite Check) for use by VPW

	4.  Check Command prints out message not calendar.

	5.  Time parsing rock solid.  Leading 0's not required for hours

	    error trapping implemented.  

	6.  Bug in Purge routine fixed.

	7.  Scheduling latent but the current method has to be redone

	    for the VAX.

	8.  Lots of HELP.

	9.  Started conversion to character data where possible.

 


========> [VAX84D.KMSKIT.VAX.VPW.IBM]AAAREADME.TXT;1 <========
 

These files are provided for an IBM guru to use in configuring their

IBM for automatically reading transfer tapes.  They are not for use

on a VAX except possible for printing.

 


========> [VAX84D.KMSKIT.VAX.VPW.NOTEBOOK]AAAREADME.TXT;1 <========
 

The modules LOD*.FOR have an include line 



	INCLUDE 'SYS$LIBRARY:LBRDEF.FOR'



On this directory, LBRDEF.FOR is supplied.



With the release of VMS V4.0 and Fortran V4.0, change the line

to 

	INCLUDE '($LBRDEF)'



This directory has three programs

		     Program     Build with

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

		1.   Notebook -> NOTEBOOK.COM

	        2.   VPWDIRECT-> VPWDIRECT.COM     Four column index

		3.   FOLDRINDX-> FOLDRINDX.COM     .TLB 4-column index

 


========> [VAX84D.KMSKIT.VAX.VPW.UTILITIES]AAAREADME.TXT;1 <========
 

Here are some utility programs used by VPW. The curve fit mainline is 

provided.  Unfortunately, to rebuild it you need access to a licensed

software package.  However, CURVFIT should run on your system on either

Tektronix 4014 terminals (/FT1) or /REGIS terminals.



SWAPXY takes our canonical X-Y data file and swaps X and Y data.



TYPEPAGE displays text between two line numbers in a text file.  It is

used by VPWTOOLBX.



CURVFIT does all kinds of curve fitting.  More to come one day I hope.



CNVDCALXY converts a DECALC dump file into our canonical X-Y format



MAILMSG is used to give VPW a symbol showing how many mail messages

are waiting to be read.

 


========> [VAX84D.KMSKIT.VAX.VPW.VPWEDIT]AAAREADME.TXT;3 <========
 

			VPWEDIT



VPWEDIT is an EDT V3.0 front end and tries to exactly emulate the distributed

EDT and provide WINDOWS.  It uses the XLATE function of EDT and a bunch of

rather fancy footwork with SYS$VPWFILES:WINDOW.COM.  When F20 (VT2xx in

VT200 mode) or GOLD V on VT1xx terminals is pressed (key definitions must

be part of EDTSYS.EDT), EDT spawns an @SYS$VPWFILES:WINDOW the first time

it is invoked.  WINDOW.COM displays a window banner, sets up a scrolling

region, and prompts for input.  Control-Z exits the window back to

EDT (Attaches back to main process) but leaves the subprocess ready for more

action.  A LOGOUT deletes the window and returns to EDT.  Subsequent

invocations of the WINDOW command first try to attach to the previous

subprocess.  If successful, WINDOW.COM again starts up, displays a header

and prompts.  If unsuccessful, EDT spawns a new process and proceeds

as it did the first time.



As stated above, WINDOW.COM does a lot of fancy footwork.  After each

command it finds out where the cursor is sitting so that it can return

there (but only within the scrolling region) to the right spot after 

repainting the banner.  In the previous release, typeahead was not 

supported because it is a tad bit tricky to get a command procedure

to distinguish between the terminal response to a "where are you cursor"

command and asynchronously input user input.  Also, emulating the

above in a command procedure slows things down.   Well, my users loved

windows but bitched about missing typeahead.  



So, after some sole searching, much head scratching, and after

putting on my little spiked hat with the stars and funny symbols on 

it, I came up a command procedure which "supports" typeahead emulation.

So far, it looks like the emulation works.  Now because the 

typeahead is saved in an internal buffer (not terminal buffer), if one

makes a mistake, typing a ^U will not flush the buffer.  Rather one can

press the REMOVE key on VT2xx terminals in VT2xx 7-bit mode or ^Y on other

terminals to flush the buffer as it is prompting for the rest of the line. 

You know when it is ready and prompting because the "$" prompt appears with

any typeahead characters following it. Note, however, that when in window

mode, continuation lines are not supported (and easily lead to chaos) and

that quotes are bad news and lead to even grater chaos.  However, all else

is great and works just like a VTxxx terminal with a 20 line screen (albeit

a tad bit slower).  Users not liking the banner (etc.) can speed up things

considerably by removing the banner generation code in WINDOW.COM. 



As a side benefit VPWEDIT also provides a CLIPBOARD function. I am not

satisfied with the way this function works, so it may or may not be present

in subsequent versions of VPWEDIT.  At present, I am keeping the

functionality a secret from my users.  The reason for this is that it is

easy to get into a terminal lockout situation requiring the process to be

stopped.  This can happen if you request a DCL function with output to go

to the CLIPBOARD which does not terminate (ie not SHOW PROCESS/CONTINUOUS).

Subprocesses spawned with /WAIT have Control-Y disabled for the main

process while the subprocess executes. 



The EDTINI files EDTSYS.EDT (EDTSYSSLO.EDT for dial-in terminals) should be

placed on SYS$SHARE:.  On VT2xx terminals in VT2xx mode, F20 activates the

window.  On VT100 terminals GOLD Control-V does the same.  The clipboard is

activated by GOLD Control-D (at present, no commitment to the future). 



Ideas for improving VPWEDIT are welcome.  Until then.... Enjoy!



 


========> [VAX84D.NCS]AAAREADME.TXT;1 <========
 

NATIONAL COMPUTER SYSTEMS

Financial Systems Division

VAX Technical Support

1300 Center Drive

Dunwoody, Georgia  30338



Charles T. Smith, Jr.    404-391-1958

Dennis J. Boylan         404-391-1960







The files in this subdirectory are results of the last minute attempts

to gather a few items of general interest for DECUS.  The following 

subdirectories are included:



[.IBMTAPE] - Contains a tape from an IBM system with a few programs

             and many interesting posters, including Mr. Spock and

             a 4-wide VARGUS poster.  Poster files are in ANSI format,

             and can be converted using the SEQFTN.FDL file as follows:

 

             $ CONVERT/FDL=SEQFTN.FDL filexx.dat filexx.pos



             This convert statement will copy the file and set the 

             FORTRAN carrage control attribute.



[.READPREV] - Bliss routine read backwards on an RMS file.



[.REC] - Collection of games. [.REC.RECMGR] contains systartup and

         sylogin definitions, [.REC.RECCOM] contains a .com file

         for each game, [.REC.RECEXE] contains the game directories,

         executables, and data files, and [.REC.RECSRC] contains

         what sources were available.



[.XWING] - XWING poster.  This poster was created by Neal White III and

           Alan Dorn Dutton of Georgia Tech.  This is the first time

           it has appeared in the DEC world.





Corrections, suggestions, and additions (especally for the REC directory)

will be cheerfully accepted.  We would especally like to know of any problems

encountered with the RPRV code.  

 


========> [VAX84D.NCS.REC.RECSRC.MILLIPEDE.SRC]AAAREADME.TXT;1 <========
 

			VT MILLIPEDE



	Developed by    Ron Bartell

			c/o TRW

			Bldg O2, 1769

			1 Space Park

			Redondo Beach, Ca 90278



			(213) 535-3371



	Comments are welcomed.



These files make up the MILLIPEDE game - it must be played on a VT100

(or a VT100 emulator, of course).



INSTALLATION:

Put all the files in one directory.

Compile it all by doing an  @MILCOMP * T /CREATE

Link by doing an @MILLINK



All the MILLIPEDE.* files are needed at run time; you may want to place them in

a separate directory.  You will need to set protection so everyone has the

necessary access to these files.



    FILE     PROTECTION          PURPOSE

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

MILLIPEDE.COM    R	Run-time command file to run the game

	 .EXE    E	Executable image

	 .HLP    R	Run-time help text file

	 .MSG    R	'How to invoke the game' text file

	 .SCO    RW	Score file - created first time MILLIPEDE is run



Edit MILLIPEDE.COM to look for the files on the correct device and in the

correct directory.  Only the one line with the comment "SITE DEPENDENT"

needs to be changed.

Look at MILLIPEDE.HLP to see what to do.

Do an @MILLIPEDE to run it.

Watch out for the MILLIPEDE (not to mention the SPIDER)!

 


========> [VAX84D.RCA.SPREAD]AAAREADME.TXT;1 <========
 

RCA Submissions for Fall 1984



The main item in this directory tree is AnalytiCalc (PortaCalc), another

version still faster and more capable than the last. (There has been

a major speedup added.) Also now has logical names and a few more bells

and whistles. The [.pccvax] version is the common documents, command

files, and the VAX version. Build with @COMPILVMX.COM to get the

thing going. The [.pccpdp] subdirectory has the PDP11, PRO3xx, and

also a VAX version. The PCCPDPNEW.COM file builds (more or less) the RSX

flavor. PCCPRO.COM builds PRO 3XX version. PCCMAKI.COM builds for VAX.

	The PCCOBJ directory has object libraries for those who don't

have Fortran. Now you too can run PortaCalc. PCCVM is the standard

VAX one. Note: you may have to bump your VIRTUALPAGECNT parameter

to use this version. If it fails try the PCCX.OLB variant which

is a lot easier on memory and not TOO much slower unless your

scratch files are huge.

	There are SQ.* and USQ.* there too which are CP/M compatible

Squeeze and Unsqueeze utilities to compress arbitrary files. They

will help you save space on transmissions.

	All this stuff runs fine on V3.7 and hopefully won't break in

V4.0. It's all native mode so should fly OK even on microvax.

	Also in the [.misc] directory is a compat mode multicolumn

lister I made a couple mods to. It will do just about any multicolumn

listing trick I ever heard of, and is a handy tool to keep around.

	Also included is SEDT from the DECUS library. It's a really

great replacement for EDT, runs 2 or 3 times faster, and does all that

EDT does in approximately the same way as EDT Keypad mode. It can be

called from a program or programmed itself too.



		Glenn Everhart

		RCA GSD Engineering ms 206-1

		Rt. 38

		Cherry Hill, NJ 08358

 


========> [VAX84D.RCA.SPREAD.PCCVAX]AAAREADME.TXT;2 <========
 

	PortaCalc

This file is VAX build notes:

For VAX PortaCalc use the @compilvmx procedure in this

account. For RSX, use the [312,371] account and edit

pccpdpnew.com to make a suitable compile file. Then make

needed libraries and build with PCCNAT.CMD and PCCNAT.ODL.

Inspect PCCNAT.ODL to see what object files to make libraries

out of.

For PRO 350, use PCCPRO.COM or a mod to compile, then build with

PCCNAT.* again as in RSX (do it on the PRO). The PCCMAKI.COM

file in [312,371] is to build the VAX variant of that form of

PortaCalc.

	This version may need your VIRTUALPAGECNT sysgen parameter

to be increased (perhaps to 20000) to link. Do so if you need

to.

	ALWAYS BUILD FROM SOURCE IF POSSIBLE.

	For those with Fortran, the COMPILVMX.COM file builds

these files from source. You can edit the HVKLUGPR5.FTN file

first (compilvmx.com copies it to vklugprm.ftn for inclusion in the

compiles) to set your max sheet sizes if the ones supplied are too

small. The maxima possible then are large enough you are very

unlikely to need to go into sources to edit them.

Look over the READMEs before doing your build please!!!!!!!!!

	The file PortaCalc.rno can become a VAX help library

and be integrated with your system help if desired. The graphics

utility is described separately in PCG.DOC and there is a file

called KEYPAD.DOC in the distribution which describes various files

of PortaCalc commands which implement auxiliary keypad functions.

It should be edited to reflect any system default changes if

these features are to be generally used. Note that if CMDMUN.FOR

is compiled with the /debug qualifier, these files reside on device

DK:, which may be ASSIGN/USER'd to a particular system area prior

to running the local PortaCalc version.

	The PortaCalc.rno file must be passed through Runoff (possibly

DECUS runoff as opposed to DSR) to convert it to a VAX help file

format. It is designed to fit on 2 columns (using the LISTRS program

to reformat it, available in various places in the DECUS library

including 11-SP-6), but can fit on other sizes output with a little

editing. Column size of less than 60 characters may fail in some

places.

	I now have an 8088 version of this program. It sells

for $49.95/copy on IBM PC DSDD disks, and needs 256K RAM.

There's a  $5 s/h charge also, and NJ residents must add

6% sales tax. Order by writing Glenn Everhart, 409 High St.

Mt. Holly NJ 08060 and ask for General Engineering ANALYTICALC-88

giving your name, address, and enclosing payment. I can't handle

credit cards. Specify whether you need the 256K version or the

320K version. The latter is not overlaid and includes logical

naming for cells. The 256K version does not have the cell

naming.

I'm considering an interface

to the public domain RIM DBMS instead, since that DBMS is pretty

good and available from COSMIC for a (large) copy fee. However, the

difficulty of providing a general purpose DBMS interface is

considerable where values need to be returned. Therefore, a usable

general purpose database interface may wait on a commercialized version

which will integrate various other tools as well (including hopefully

editing, more complex graphics, and timekeeping).

		Glenn Everhart

		6/14/1983

Additional note: 8/18/83

	This version of PortaCalc has 2 VAX versions of interest. The

older one uses a random access workfile to hold formulas, and may be

used where the workfile provides insurance against crashes or other

faults. Since this is a burden on some sites with tight disk quotas,

a second version, here called PortaCalc-VM, is provided for VAX only.

It is built by running the COMPILVMX.COM procedure (possibly after edits

to HVKLUGPRM.FTN) and it uses a memory array to hold formulas. The

WRKFIL.F4 source of the routine that handles this array is pretty

crude and could easily be adapted to keep better track of which

array elements are in use, but it works reliably. In this version,

the S command allows resetting title and default format specification,

but does not modify the data. The ZA command clears data out of the

array (virtually; actually, it only zeroes the bitmap), and the

X and XD commands are identical. The VM version of PortaCalc does

not ask any questions about workfile names (since there are none).

	Since VMS will treat the big array as demand-zero pages,

it normally will hit only those you use, so a large sheet is

not a major liability. If it won't link on your system, you may need

to increase the VIRTUALPAGCNT (I think) parameter; the default

of 8192 is too small for some versions. Boost to 20,000 or so

while doing your links. We leave ours at 60,000.

	PDP11 users will find a PortaCalc that uses VERY

much smaller workfiles in the [312,371] area on RSX SIG tapes.

No total build file exists for RSX at my site (though a file to

build in compat mode on VMS is supplied, with working ODL), but

it should be pretty clear what to do from the compat mode file

that IS supplied. The current version supports a 10,000 cell

array on PDP11 with NO special bells & whistles like I/D space

or virtual arrays. If you can use virtual arrays or I/D space

you should be able to reduce the complexity of the overlay structure

and substantially speed the program up.




========> [VAX84D.RCA.SPREAD.SDBMS]AAAREADME.TXT;1 <========
 

This area contains a simple DBMS system in C. Originally for VAX, it

has been somewhat modified for IBMPC but since full sources are

here, it shouldn't be too hard to change back if anyone needs it.

	From a PC-sig disk (#147).

 


========> [VAX84D.RCA.YASS]AAAREADME.TXT;2 <========
 





                   Yet Another System Status Display Program





                                 Submitted by:





                                Brian S. Griffin

                                    RCA/MSR

                        Borton Landing Road  MS 108-239

                              Moorestown, NJ 08057

                                 (609) 778-7781







          YASS (Yet Another System Status) is a program that  will  display

     information  about  the  processes  on  the  system.  It runs on VT100

     compatible terminals ONLY!  If the program is to be used by all users,

     it  must  be  installed  with GROUP and WORLD privileges, or, in other

     words you must have these privileges for the program to run  properly.

     So  who  needs another "SHOW SYSTEM"?  Just take a look at these added

     bells and whistles:



      >  Processes are sorted by TERMINAL name or alternately  by  USERNAME

         (interactive option).



      >  Subprocesses are displayed immediately below their owners.



      >  CPU rates are computed for all processes in terms of %CPU usage so

         that CPU hogs can be easily identified.



      >  BIO rates are computed for each processes so that IO hogs  can  be

         easily identified.



      >  Page fault rates can also be displayed.



      >  Displays can be limited to interactive jobs, batch jobs, or system

         jobs.



      >  All options are selectable interactively.



      >  Here's the zinger:   Using  the  arrow  keys,  a  process  can  be

         selected and acted upon in one of six ways:



         1.  GOLD 1:  SHOW PROC/CONT



         2.  GOLD 2:  SET PROC/PRIO=4



         3.  GOLD 3:  SET PROC/PRIO=3



         4.  GOLD 4:  SET PROC/RESUME



         5.  GOLD 5:  SET PROC/SUSPEND



         6.  GOLD 6:  STOP /ID=





                                                                          Page 2





          System  managers  may  find  this  utility  useful  for  actively

     adjusting  jobs  according to external priorities (e.g.  The boss just

     told me to finish this job by this afternoon).  In our environment  it

     was  necessary  to determine which subprocesses belonged to which jobs

     and how their CPU and BIO rates affect the  system.   Most  everything

     else was added by a programmer gone wild.



          There is no need to worry about people stopping  other  processes

     with this program that they couldn't otherwise do for themselves.  The

     commands are executed in a subprocess which has only the privileges of

     the owner, not the installed privileges of YASS.





                                   Known Bugs



          Occasionally, when the screen is scrolling, the program will miss

     an  XON  (^Q),  and will stop.  When this happens, it will be obvious.

     Just simply type ^Q to start things rolling again.



          Don't attempt to execute a GOLD n command when the cursor is  not

     visible  on  the  screen.   Doing  so will either crash the program or

     affect some process you may not wish to affect.





                                  Source Files



          Here is the list of source files that comprise YASS:



         DOING.C -- This is the main program, read the header of this  file

         for details.



         INSERT.C -- Inserts a processes record into the linked list.



         SORTB.C -- Sorts the data by terminal or username or pid and  then

         by subprocess.  It does this by building a list of pointers to the

         data and returns a pointer to the list.



         FIXIMAGE.C -- Simply strips the device, directory,  and  extension

         from the image name.



         STIME.C -- Converts absolute time in 10-ms.  to  ascii  string  "d

         hh:mm:ss.cc".



         CALRAT.C -- Computes CPU rate and BIO rate for each process.



         INIT.C -- Initializes the ilist for GETJPI.



         PTIME.C -- Takes the system time and  prints  the  day,  date  and

         time.



         QIO.C -- Handles all the terminal input and command decoding.



         HELP.C -- Prints help screen.



         JOBTYPE.C -- This routine determines  the  job  type  of  selected

         process.

                                                                          Page 3





         DOCOMMAND.C -- This  routine  is  passed  a  string  of  the  form

         "$command\n"  and  spawns  a  subprocess passing to it the command

         string.



         DOING.H -- Structure definitions for YASS



         STATEDEF.H  --  Process  state  macros  extracted  from   LIB.MLB,

         module=$STATEDEF.



         PCBDEF.H -- Process status flags macro definitions.



         DESCRIP.MMS -- MMS description file for building YASS.





          As far as I can tell, YASS should work under VMS V4.0.   However,

     no guarantees or warranties are expressed or implied.


========> [VAX84D.SHADOW]AAAREADME.TXT;1 <========






	This is a copy of the slides from the presentation

	on disk volume shadowing.






========> [VAX84D.VFE]AAAREADME.TXT;1 <========






     VFE is a block-oriented, type insensitive VMS file editor.  File

contents can be displayed in ASCII, hex, and integer.  Whole or partial

blocks can be changed and compared, and single block transfers between

files are permitted.  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 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


========> [VAX84D.WISBELL]AAAREADME.TXT;1 <========






This area contains the following procedures developed or modified at

Wisconsin Bell:



	LOAD		Automates the distribution save-set loading

			described in the Pageswapper.  This separates

			the media load time from the product installation

			time (which usually requires a stand-alone system).

			Documentation is at end of procedure.



	DELTREE		This is a revision of the Fermi-Lab revision of

			the published procedure for deleting subdirectory

			trees.  This allows any legal directory spec

			including relative references such as [.XXX].

			It also checks that the active system root is

			not being deleted.  If an MFD or a subdirectory

			of the system root is deleted, it will request

			confirmation.





Any questions may be referred to R. Bartlein at Wisconsin Bell

				(414) 678-5359 or

				(414) 871-4133.



Suggestions or new revisions are welcomed.


