========> [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 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 , or if using the CMD procedure, CMD ERRORDSP 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.