========> [VAX82B.ASDU]AAAREADME.TXT;1 <======== AUTOLOG and CONFPRINT PROGRAMS ============================== This directory contains only two programs, AUTOLOG and CONFPRINT. AUTOLOG AUTOLOG is a program used to logoff (time-out) terminal users who are idle. An idle user is one who uses none of the following three system parameters: CPU_TIME, BUFFERED_IO, and DIRECT_IO. If all of these parameters remain constant over a period of 5 minutes (IDLE_TIME), then the user's process is logged out (DELPRC). When a user is idle for 4 minutes (IDLE_TIME - 1), he is giver a warning message. To make AUTOLOG work, it should be run as a DETACHed process from SYSTARTUP. The process also requires WORLD and OPER privledges. The command to create it as a detached process is: RUN/UIC=[1,4]/PRIV=(WORLD,OPER)/PROCESS_NAME=AUTOLOG AUTOLOG Provisions are made in the program to allow special users not to be timed out. These usernames are entered into a table at the beginning of the source program. We also do not timeout OPERATOR if one of the special processes (CMS2P or CMS2S) are running on the system. If it is not running, he gets the axe. This program runs under VMS V2.5. It may have some problems in V3.0 with users attaching to SPAWNed processes. The root level process may get timed out and with it all of its subprocesses, including the active one. We haven't tried it yet under V3.0. Give it a try, all my worries may be for not. CONFPRINT CONFPRINT is a pre-processor used to put the classification of listings on the top and bottom of every page. If it is used, the file must be PRINTed/NOFORM. The program was written to be run from a command procedure, but we have yet to implement it in that form. Please see the listing for channel assignments. Two inputs are required, one is the classification, and the other is the file to be processed. For any further information, help, or to submit improvements/problems, contact me: Steve Moores Aurora Software Developement Unit C.F.B Greenwood Greenwood, N.S., Canada, B0P 1N0 (902) 765-3391 ext 864 ========> [VAX82B.BATTELLE]AAAREADME.TXT;2 <======== [VAX82B.BATTELLE]AAAREAMDE.TXT Submissions from Battelle Columbus Labs submitted by Gary L. Grebus Battelle Columbus Labs 505 King Avenue Columbus, Ohio 43201 (614)424-7156 This submission is a re-release of the MTEXCH utility for reading and writing a variety of foreign tape formats. This version contains several bug fixes needed for VMS 3.0. 1. MTEXCH Consists fo the following files: MTEXCH.MAR - Source code. MTXMSG.MSG - Source for error messages. SMAC.MLB - Macro library needed to assemble MTEXCH. SMAC.MAR - Source for macro library. MTEXCH.RNO - Documentation for MTEXCH. MTEXCHBLD.COM - Sample command procedure for building MTEXCH. MTEXCH.HLP - VMS help file for MTEXCH. Comments and suggestions about MTEXCH are welcome. Please contact me at the address shown above. ========> [VAX82B.CHRONOS]AAAREADME.TXT;2 <======== [VAX82B.CHRONOS]AAAREADME.TXT CHRONOS V3 Scheduler for VAX/VMS V3.0 I. Procedure Description CHRONOS is designed to initiate the running of jobs at specified intervals or on particular days and not on other days. In order to facilitate the batch submittal of jobs for various users, only the username of the active process need be modified, however a MACRO routine ADMIN.MAR is provided which can serve as the skeleton of username modification executables that modifies the UIC as well. A username macro execution must be provided in CHRONOS to properly modify the process username for all scheduled process submissions. The procedure CHRONOS.COM is invoked by SYSTARTUP.COM and at midnight thereafter. CHRONOS starts all processes that are due to be run on the following day. A companion procedure SENTINEL.COM is provided to ensure the successful submission of scheduled jobs by CHRONOS. Documentation is provided in [CHRONOS]AAAREADME.DOCREADME.DOC. II. Replaced Programs This directory replaces [VAXF81.CHRONOS] in total and is compatible with VMS V3.0. III. Contacts V3 V2 Author: B. Lee Jones Peter Fry INMOS Corporation INMOS Limited P.O. Box 16000 Whitefriars Colorado Springs, CO 80935 Lewans Mead (303) 630-4226 Bristol BSI 2NP England or Jim Lind Pikes Peak Area LUG Librarian INMOS Corporation P.O. Box 16000 Colorado Springs, CO 80935 ========> [VAX82B.CLEXTRACT]AAAREADME.TXT;2 <======== [VAX82B.CLEXTRACT]AAAREADME.TXT Submitted by: Joy Dorman Republic Management Systems Code 935 Goddard Space Flight Center Greenbelt, MD 20771 CLEXTRACT is a utility to extract command definitions from a CLI tables file and build an output file suitable for input to the Command Language Editor (SET COMMAND). The following caveats apply: 1. CLEXTRACT is version dependent. It works under VMS V3.0 and V3.1. If the format of the CLI tables files changes in a future release, CLEXTRACT will not work. If the list of the DCL or MCR internal images changes, the macros DCLIMAGES and MCRIMAGES must be modified to match and CLEXTRACT must be rebuilt. 2. MCR command definitions are extracted by CLEXTRACT when /CLI=MCR is specified. I have not tried modifying MCR commands and writing them back to MCRTABLES.EXE. To do so one would use the undocumented /CLI switch on SET COMMAND. Again--- I have not tried this. CLEXTRACT is very sketchy in its dealings with MCR. 3. A comparison of the command definitions built by CLEXTRACT with those on the fiche will yield some differences: . CLEXTRACT cannot build prefix statements. These statements cause symbols to be defined when the /SYMBOLS switch is used. The omission of prefix statements hurts nothing. . CLEXTRACT defines synonyms as separate verbs (with identical definitions). An example of this is RUN, RU and R. Again this hurts nothing. . The verb definitions generated by CLEXTRACT are only 4 characters long. This is the length of the verbs as stored in the CLI tables. Again this hurts nothing. 4. The generated command definitions for commands which are "immediate" or "foreign" include a warning message not to use the definition as input to the command language editor. These commands require different internal processing by DCL and should not be changed. DEPOSIT, DSM, EXAMINE, EOD, EXIT, HELP, IF, INQUIRE, MCR, ON, and WAIT are currently in this category. 5. CLEXTRACT is very lazy and will not find specific verbs unless they are specified as a full four characters (unless the full verb is less than four characters). For example /VERB=ACCO must be used for ACCOUNTING, /VERB=ACC will not work. More than four characters can be specified. CLEXTRACT.BLD is a command file to build CLEXTRACT. It contains all the installation instructions. Page 2 CLEXTRACT.HLP describes the format and qualifiers of CLEXTRACT. CLNOTES.TXT contains some miscellaneous notes on undocumented CLEDITOR features and some hints on modifying DEC commands. ========> [VAX82B.COLUMBIA]AAAREADME.TXT;2 <======== [VAX82B.COLUMBIA]AAAREADME.TXT This submission consists of 3 subdirectories: [.FINGER] a complete system for a show-system like utility which can serve as a local utility with features such as username, personal name, image, terminal location, up-time, # users logged on, etc. as well as personal information (plan-file and mail information) about specific users. This type of utility is sometimes called WHO or SYSTAT. It also serves as an outbound and inbound DECnet server able to talk to VAXes and other systems on DECnet and compatible with Tops-20 finger, and ARPAnet finger. [.MANAGER] Several utilities useful for system management, including .COM files to set up new accounts and directories, a program to "rationalize" process names (e.g. "_TTE2:" --> "SMITH_TTE2") a version of SCRFT supporting Hazeltine and Datamedia terminals, procedures for backup and archiving, a program to blank out the data in a file before deleting to prevent "scavenging" and others. [.UTILS] Several generally useful utilities, including procedures to run editors with file-name "memory", procedures to "do" a given command to a series of files, a program to map a file to memory and others. All programs have run for at least several months under VMS V3.0 and a number of them require V3.0. Separate documentation files are in each subdirectory. Any suggestions or questions would be welcome. Dr. Richard Garland Box 351 Havemeyer Hall Columbia University Chemistry Department New York, NY, 10027 (212) 280-3183 ========> [VAX82B.COLUMBIA.FINGER]AAAREADME.TXT;1 <======== A new version of the VAX/VMS finger program is now available. New features: Plan-file support New-Mail information Load averages, up-time, # users etc. Qualifiers: /BATCH, /ALL, /HELP - others coming Most old code was thouroughly cleaned up The finger server for the VAX was written at Columbia University Chemistry department in June-Nov. 1982. The intention was to learn how a user written DECnet task could be written all in a high level language, and to be compatible with the protocol of the DECsystem-20 at Columbia (this is also seems to work for the 20's at other sites and even over the ARPAnet) The program serves 3 main functions: o Identifies users of the system, where they are, what program, etc. For this function it serves as a personalized SHOW SYSTEM. o Finds a specific user, gives the above information if s/he is logged on, and in addition gives information about his/her mail and and an optional information file s/he may supply. (Plan file) o Serves as an in-bound and out-bound network server. Remote users can finger the local system as above and local users can finger remote systems that support the function. As part of the network "finger protocol" it performs explicit route-through. This is valuable in an internet situation such as going from DECnet to ARPAnet etc. ------- All relavent files needed are in this directory See in particular FINGER.DOC which gives complete (I hope) installation procedures. Installation should take 15 - 20 minutes not including constructing the terminal location database if you don't now have such a thing. I intend to submit this program to DECUS early this Dec. I would appreciate any suggestions as to ease of installations, problems etc. so that these can be fixed as soon as possible. Even if you are not interested in the program I would appreciate any suggestions, and if you have the time, install it (perhaps without the terminal database) and let me know if it does anything strange. -------- The Pieces: AAAREADME.DOC This file FINGER.DOC Installation instructions FINGER.FOR Source for the program Page 2 FINGER.HLP Help file for your help library FINGERCLI.CLD Command definition file FINGERCLI.OBJ Compiled version of above GETJPIDEF.FOR Include file for FINGER.FOR NODEINDX.FOR Program to create node database NODES.DAT Sample input for above NOTES.DOC Some imteresting program notes TERMINALS.DAT Program to create terminal database TERMINDX.FOR Sample input for above Notes- o A single program source runs for local or network finger: FINGER.FOR (needs 1 include file: GETJPIDEF.FOR) o 1 required and 2 optional files are used: 1) An ISAM file for identifying terminal location. The program will actually run without this, and will simply omit the location of the user. This file can be created with TERMINDX (included with sample input). 2) An optional node file (also ISAM) to establish node "nick-names", and to provide routing information transparently. This file (if used) can be created with NODEINDX (included with sample input). 3) An optional message file for message-of-the-day type information. See FINGER.DOC. o The personal name is found in the /OWNER field of SYSUAF.DAT o A command definition file FINGERCLI.CLD and a compiled version FINGERCLI.OBJ, which must be linked with FINGER, are included. o Other pieces which go into various system procedures are found in FINGER.DOC o A help file is also included for adding to your help library. Thanks to Peter Lucas and Mark Ohlund at CMU-PSYA who contributed many helpful ideas and routines and Frank da Cruz and Bill Catchings at the Columbia Computer Center who helped me get started. Rg CUCHEM::SY$GARLAND aka Oc.Garland@CU20B Richard Garland Box 351 Havemeyer Hall Columbia University New York, NY, 10027 (212) 280-3183 ========> [VAX82B.COLUMBIA.MANAGER]AAAREADME.TXT;1 <======== Richard Garland Columbia University Chemistry Department 24-Nov-1982 Command procedures & programs primarily for system management: AUTHORIZE.COM;23 - Run AUTHORIZE to set up new user, create directory etc. CREDIR.COM;46 - Create directory for user. Called by AUTHORIZE.COM DEFMGR.COM;6 - Set default to SYS$MANAGER, set UIC to [1,4] DELDIR.COM;22 - Delete directory tree. DELENTRY.COM;1 - Delete batch job from a queue. STARTQ.COM;2 - Start a queue. STOPQ.COM;1 - Stop a queue. WARN.COM;181 - Batch job for periodic warning message. ABORTQ.FOR - Stop the output from a print job. Installed. CRETTLOG.FOR;15 - Create /System logname for MSG program. DELTTLOG.FOR;1 - Delete same. DELFILE.FOR - This routine maps a file to memory and sets its contents to BLANK. This may be useful for obliterating sensitive information before deleting a file. It will negate the possibility of scavenging. MSG.FOR;50 - Send MSG to other user. Need also CRETTLOG, DELTTLOG. These programs are installed with privilege. PRCNAME.FOR - Change certain process names to sensible names. i.e. _TTE3: --> SMITH_TTE3 SCRFT.MAR - Version of screen package with Hazeltine 1500 and Datamedia 1521 support. There are also 2 subdirectories with sets of files: [.ARCHIVE] - procedures for backing up expired files, deleting them from the disk, and notifying the users by MAIL that this was done. [.BACKUP] - procedures for backup up and restoring disks, both IMAGE and INCREMENTAL. ========> [VAX82B.COLUMBIA.UTILS]AAAREADME.TXT;1 <======== Richard Garland Columbia University Chemistry Department 24-Nov-1982 Utilities of a general nature are in 2 subdirectories of this directory: [...COM] Command files [...FOR] Fortran files -------------------------------------- Command files: ( in [...COM] ) ALARM.COM;1 - Schedule a job to run and send an alarm message back. ALLOCWAIT.COM;1 - Try to allocate, wait and retry if busy. DEF.COM;1 - Set default procedure. DEFUP.COM;1 - Set default to next higher level directory (parent). DO.COM;1 - Do a given command on a set of files. DOB.COM;1 - Same as above in a batch job. EDIT.COM;1 - Run SOS with memory and purge prompt. EDITLIB.COM;1 - Extract from .TLB, edit, replace. EDT.COM;1 - Run EDT with memory and purge prompt. EDTFORLIB.COM;1 - Extract from .TLB, edit, compile, replace in .TLB and .OLB EDTREN.COM;1 - Edit and rename output. EXECUTE.COM;1 - Compile, link and run fortran program. FORLIN.COM;1 - Compile and link fortran program. FORTRNLIB.COM;1 - Extract from .TLB, compile, replace in .OLB. GIVE.COM;1 - Give file to another. INITWAIT.COM;1 - Try to init tape. Wait and retry if not ready. INS.COM;1 - Run EDT /ReadOnly with memory. LINK.COM;1 - Link program, prompt to delete .OBJ, purge .EXE MAILEDT.COM;1 - EDT for MAIL subprocess. MOUNTWAIT.COM;1 - Try to mount tape. Wait and retry if not ready. MOVE.COM;1 - Move files to another directory, delete original. ---------------------------------------- Fortran files: (in directory [...FOR] APPOINT.FOR;76 - Appointment calender program. APPOINT1.FOR;5 - Same as above - for LOGIN file. ASGNSUPR.FOR;8 - Used for "memory". qualify a file name, strip verno, assign. CRETTLOG.FOR;15 - Create /System logname for MSG program. DELTTLOG.FOR;1 - Delete same. DELFILE.FOR - This routine maps a file to memory and sets its contents to BLANK. This may be useful for obliterating sensitive information before deleting a file. It will negate the possibility of scavenging. DISKTAPE.FOR;1 - Reverse of TAPEDISK. ERASE.FOR;1 - Use screen pkg for terminal independent screen erase. MAPFILE.FOR;1 - Map a file to memory section. prototype program. MSG.FOR;50 - Send MSG to other user. Need also CRETTLOG, DELTTLOG. These programs are installed with privilege. PHONELIST.FOR;47- Phone directory maintainer. STRIPSEQ.FOR;7 - remove Sequence #s (ala IBM), remove trailing blanks. Cuts Page 2 file space IN HALF. TAPCOPLAB.FOR;1 - Copy Labeled IBM type tape. Ascii or ebcdic. TAPECOPY.FOR;9 - Copy any fixed block length tape. Ascii or ebcdic. TAPEDISK.FOR;1 - Copy ANY tape to disk for recopying to tape (DISKTAPE) TAPEIO.FOR;12 - Do arbitrary QIOs on tape. VTTITLE.FOR;19 - Write username in double high letters on VT100, set scrolling region below same. ========> [VAX82B.DENISON]AAAREADME.TXT;1 <======== At Denison University we have updated our program which checks spelling. The changes include an option to rigorously check the spelling of a word and an option to interactively correct misspelled words. The updated speller was designed with a focus on maintaining the program's efficiency. As a result, there are a large number of components, many requiring special attention. The word spelling checker, all the search algorithms, and some of the support routines were written in VAX-11 MACRO. The other routines and programs were written in VAX-11 BASIC. The program makes use of features available in VMS version 3 and the EDT editor. Therefore, this system will run only on Digital's VAX-11 machines running under VMS version 3.0 or higher. This program was originally released on the Fall, 1981 DECUS tape. Any new changes in the documentation file AAAREADME.DOC will be highlighted by an asterisk. Please direct all questions or comments IN WRITING to: Dr. Jeffrey S. Jalbert Director, Computer Center Denison University Granville, Ohio 43023 ========> [VAX82B.DFWLUG]AAAREADME.TXT;1 <======== [VAX82B.DFWLUG]AAAREADME.TXT DFW LUG Contributions coordinated by: John Jenkinson MOSTEK Corporation 1215 West Crosby Road P. O. Box 169 MS 32 Carrollton, Texas 75006 A brief overview of the directories: 1. GD contributions from Reb Burroughs of General Dynamics. In this case updates to the P and Q programs on the Spring 1981 VAX/VMS Sig tape to run on VAX/VMS V3.0. 2. MEAD contributions from Eddie Lui of Mead Office Systems. o FONT program to make alternate character set proms for the Printronix o LIB libraries for the contributions in [DFWLUG.MEAD...] o PASCAL PASCAL runtime enhancements including: + indexed file support + share file support + direct access simultaneous reads and writes + opening multiple files on same PASCAL file variable o PRINTRON PRINTRONIX raster converter program from VT100 graphics character set to PRINTRONIX plot mode file Page 2 o ZEUS program to lower priorities of interactive CPU bound processes 3. MOSTEK contributions from Gary Smith {STATS} and Kevin Klughart o DECnet templates for DECnet V3.0 initialization, definition and booting o PATCHES patches to the EDT editor and Print Symboint o STATS a great program for monitoring your system. Plots on VT100's. Produces PDL files. An answer to a system manager's prayers. See [..STATS.DOC] for more details. o SYSMGR improved startup and shutdown command procedures, template startup porcedure for VMS 2780/3780 PE, system-wide login command procedures. 4. UTCBA contributions from James Fisher of United Technologies Building Automation The AAAREADME file was lost in the making of the DFWLUG tape. SORRY. 5. WESTELECT contributions from Stuart Renes of Western Electric. o GAMES video games for VT100 (or interactive recreational tools if you aren't allowed to have games). Most of these came from the RSX/IAS SIG tape Spring '82. Galaxy came from Spring '82 VAX/VMS SIG from Stuart. o SYSMGR programs and procedures for system managment o UTILITY Page 3 lotsa good procedures and programs for VAX/VMS V3.n ========> [VAX82B.DFWLUG.MEAD]AAAREADME.TXT;4 <======== This is a submission from: Mead Office Systems 1307 Glenville Drive Richardson, Tx 75081 All questions or comments on the following submission are welcome. Eddie Lui 214-699-1500 x416 Before compiling or assembling any of the programs, the ASSIGN.COM in this directory should be executed to assign the logical names used by the compile and build command files. Following are a brief description of programs submitted: 1. PRINTRON - a printronix raster convertor program which takes a file containing VT100 graphics character set (with embedded ^N and ^O's) and produce a file suitable for printing on the printronix (plot mode). Note that the line printer should be in printall mode. [.PRINTRON] PRINTRON.PAS source PRINTRON.EXE image PRINT.FNT data file describing the font PRINTRASM.COM assemble command file PRINTRBLD.COM build command file 2. FONT - a program which aids in making alternate character set proms for the printronix which has the A-4 (12 sockets) board. It uses the VT100 attributes in helping to layout the font of the character. Then it produces a ascii file (Intel format) which can be downloaded to a prom programmer (Data IO) to program the new character set proms. It also has the ability to form fonts for a specific type of terminal (Direct 800's) which has downloadable font ability. [.FONT] FONT.PAS source FONTSUP.PAS source DATAIO.PAS source INTOASCII.PAS source FONTASM.COM assemble command file FONTBLD.COM build command file 3. PASCAL RUNTIME ENHANCEMENTS - this is a set of runtime procedures which enhances PASCAL V1.3. Among notable enhancements are the incorporation of index file support into the language (using the OPEN statement as a hook), , share file support (again using the OPEN statement), direct access simultaneous reads and writes to the same file without opening and closing the file multiple times (OPEN hook), and opening multiple files on the same PASCAL file variable (using the push - pop concept and the OPEN hook). I have heard that V2.0 PASCAL is suppose to do some of these enhancements. [.PASCAL] Page 2 PASOLBASM.COM library assemble command file PASOLBLIB.COM library build command file FIXIT.MAR main source file FIXIT.MEM documentation for enhancements plus other sources and include files 4. ZEUS - a program which has the effect of lowering priorities of interactive cpu bound processes so that io bound processes (edt) can have some chances at the cpu. This program is probably useful for you, if you have a very loaded system with several cpu bound job running on the system. [.ZEUS] ZEUS.MAR source ZEUSASM.COM compile command file ZEUSBLD.COM build command file [.LIB] contains macro and object libraries necessary to compile and link above programs cmnmlb.mlb cmnolb.olb pasolb.olb ========> [VAX82B.DFWLUG.MEAD.FONT]AAAREADME.TXT;1 <======== The font program uses the VT100 attributes in helping you to design a different character set for a Printronix printer which has the A-4 (12 sockets) board. To comile the program: @fontasm To build the program: @fontbld Prompts for program: enter file name> enter NEW if first time, else enter the saved filename (with no extension) if NEW then enter terminal type> currently, it will support PRINTRONIX and DIRECT (a terminal which has dynamic font ability). enter character index> enter the number (1-n) of the character you wish to see or modify when you are in character font mode, a ^Z will get you back to the prompt to the character index prompt. a ^Z at the character index prompt will get you to next command prompt. enter command> WRITE to save character font. enter filename> enter file name of saved character font. OUT to produce character font ascii program file. enter group number> enter the prom set (1-6) of the character font. It produces two files Pn.RIG and Pn.LEF where n is the group number. the files are suitable for downloading from the VAX to a prom programmer, but first you will have to change the record attribute of both files to NONE. ========> [VAX82B.DFWLUG.MEAD.PASCAL]AAAREADME.TXT;1 <======== This directory contains enhancements to the runtime of PASCAL V1.3 Please read the document FIXIT.MEM in this directory for complete details. To compile: @pasolbasm.com To build: @pasolbbld.com ========> [VAX82B.DFWLUG.MEAD.ZEUS]AAAREADME.TXT;1 <======== The ZEUS program came about because our VAX environment is heavily loaded with people developing programs (using EDT) and people run some very heavy duty cpu-bound type programs (interactively). It cause the interactive users who are trying to edit or such other io bound things to grieve quite a bit. So ZEUS is a background program which monitors the interactive processes (those with terminals) and lowers the priority of those processes which are cpu-bound. The interval of ZEUS scan is set such that it uses approx 1-2 % of the cpu. For us, this is worth the overhead since we do not have to monitor the system continuously to see who is hogging the system and it gives the interactive users better responses. To compile: @zeusasm To build: @zeusbld ========> [VAX82B.DFWLUG.MOSTEK]AAAREADME.TXT;1 <======== Mostek CAD DECUS Submission This represents submissions from the Computer Aids to Design Department of Mostek Corporation. Further information on this submission may be obtained from Kevin Klughart Mostek Corporation 1215 West Crosby Road Mail Station 600 Carrollton, Texas 75006 (214) 466-8813 The files in [.SYSMGR] represent a new and improved system startup and shutdown command procedures as well as template startup procedures for VMS 2780/3780 PE. Also included are a system wide login procedure which will rename processes automatically to include the username if not already present...check it out! The files in [.DECNET] represent templates for version 3.0 DECnet initialization, definition, and booting. These procedures are in much better condition than the samples provided with a virgin VMS system and should be of great help to anyone just starting to put together a network. The files in [.PATCHES] are patches to version 3.0 utilities to support site-specific print banners and the disable of autorepeat-inhibit logic within the EDT screen editor (helps with block mode terminals as mentioned in Spring '82 DECUS symposium). Both patches work and have been tested for VMS version 3.0 only!! ========> [VAX82B.DFWLUG.WESTELECT.SYSMGR.UTILITY]AAAREADME.TXT;1 <======== November 1st, 1982 -- VAX/VMS V3.0 System status and display utilities -- In this directory you will find two display utilities written in MACRO-32 for VAX/VMS.. 1] SYSTAT -- system status program (static) 2] SYSDPY -- dynamic updating version of above These programs were modeled after similar utilities found on the DECsystem-10. Help files suitable for inclusion in HELPLIB are also furnished. Please write or call me if you like what you see, or if you have suggestions for additions or improvements. These utilities will undergo continuing improvement as long as VMS lacks these kinds of tools. *** These are NEW, improved versions, written for VMS 3.0 and beyond. They will NOT run on previous versions of VMS. If you have older copies of these utilities, replace them with these NEW releases. (This is the THIRD release of SYSTAT/SYSDPY) *** Likewise, let me know if you find any bugs so I can get a corrected copy on the next VAX SIG tape....... Im sorry that I can't distribute the sources, but that is life in a big company. *** Stuart Renes Western Electric, Dept. 477 3000 Skyline Drive Mesquite, Texas 75149 1-214-288-2286 ========> [VAX82B.FORDAERO.NASALIB]AAAREADME.TXT;1 <======== ------------------------------------------------------------------------ [NASALIB] Tree - NASA Common Software Library ------------------------------------------------------------------------ Scott B. Sibley Ford Aerospace & Communications Corporation NASA Johnson Space Center (Houston, TX) ------------------------------------------------------------------------ Scott B. Sibley Work Phone: (713) 333-8214 2627 Plymouth Rock Dr. JSC VAX Lab: (713) 483-5353 Webster, TX 77598 Home Phone: (713) 554-6360 This set of directories contains FORTRAN and FLECS ("FORTRAN Language with Extended Control Structures") source & object code to support programs stored in the [UTIL] directory tree. These files are not needed unless the source will be re-linked or the library routines will be of general use. Not all of the code is well-documented. Some of the directories contain unfinished or experimental routines; however, most of the unused files were removed before these directories were saved. In any event, use caution when deleting "odd-ball" files (no matter how bad they look). Some of the [UTIL] programs use files from all over. The [NASALIB] tree should restore from tape as follows: $ tree [NASALIB] [NASALIB] NASA Common Software Library . CMDINTERP Common Command Interpreter . GRAPH Computer Graphics Software (NONE) . INPUT Generalized FORTRAN Input Routines . LSERRCODE Life Sciences Error Subprogram Code Directory . OUTPUT Generalized FORTRAN Output Routines . SCREEN Screen Control Routines (UNFINISHED) . VAXVMS Common VAX/VMS Interface Routines $ size Directory Name Files Blocks:Used/Alloc Lines _DBA0:[NASALIB] 9 23 / 36 276 _DBA0:[NASALIB.CMDINTERP] 65 482 / 555 5784 _DBA0:[NASALIB.GRAPH] 1 1 / 3 12 _DBA0:[NASALIB.INPUT] 30 130 / 159 1560 _DBA0:[NASALIB.LSERRCODE] 7 36 / 45 432 _DBA0:[NASALIB.OUTPUT] 4 197 / 204 2364 _DBA0:[NASALIB.SCREEN] 19 272 / 291 3264 _DBA0:[NASALIB.VAXVMS] 13 140 / 156 1680 Totals: (Directories - 8) 148 1281 / 1449 15372 ========> [VAX82B.FORDAERO.SYSNEWS]AAAREADME.TXT;1 <======== ------------------------------------------------------------------------ [SYSNEWS] - VAX System News MAIL Account ------------------------------------------------------------------------ Scott B. Sibley Ford Aerospace & Communications Corporation NASA Johnson Space Center (Houston, TX) ------------------------------------------------------------------------ Scott B. Sibley Work Phone: (713) 333-8214 2627 Plymouth Rock Dr. JSC VAX Lab: (713) 483-5353 Webster, TX 77598 Home Phone: (713) 554-6360 This directory is needed to support the "SYSNEWS" facility checked by command files in the [UTIL.FORDUTIL.NEWS] directory. System-oriented news would be MAILed to username SYSNEWS. Non-operator users would run the "SYSNEWS" command to read the [SYSNEWS] mail file, without any worries of updating it. The well-known MAIL utility is thus used to organize announcements of system events and to allow users to "REPLY" to whichever system person MAILed a particular system announcement. The only requirement for the SYSNEWS username is to have the same UIC group number as the OPERATOR (or whoever maintains the system news). The MAIL.MAI file should be protected against the system, SYSTEM:RE, to prevent uncontrolled MAIL (the protection SYSTEM:RW allows anyone to send MAIL to SYSNEWS); however, give the GROUP:RW for OPERATOR updates to SYSNEWS. Whoever has the password to SYSNEWS can sign on and run MAIL to make new news OLD or to delete (or archive) very old news. The OPERATOR could be given this responsibility. All associated files are described in the local "WHERE." file. ========> [VAX82B.FORDAERO.UTIL]AAAREADME.TXT;1 <======== ------------------------------------------------------------------------ [UTIL] Tree - NASA Utility Software ------------------------------------------------------------------------ Scott B. Sibley Ford Aerospace & Communications Corporation NASA Johnson Space Center (Houston, TX) ------------------------------------------------------------------------ Scott B. Sibley Work Phone: (713) 333-8214 2627 Plymouth Rock Dr. JSC VAX Lab: (713) 483-5353 Webster, TX 77598 Home Phone: (713) 554-6360 (These files replace the previous DECUS tape files from Ford Aerospace.) This set of directories contains FORTRAN and FLECS ("FORTRAN Language with Extended Control Structures") source & object code for a number of utility programs, including the EE Text Editor. Also included are many DCL command files and several documentation files. Each directory has a "WHERE." file which may be searched for information local to the directory. Not all of the code is well-documented. Some of the directories contain unfinished or experimental routines; however, most of the unused files were removed before these directories were saved. In any event, use caution when deleting "odd-ball" files (no matter how bad they look). Some of the programs use files from all over. Almost all the utility programs have been given a short DCL global symbol name so that they can be invoked easily from the keyboard. The symbols are defined by the file [UTIL]SYMBOLS.COM, which also contains suggested status options for interactive usage. The following steps must be taken to ensure correct operation of the utilities: - Edit [UTIL]SYMBOLS.COM for disk device & proper symbols. Set the disk assignment of "DEFINE LIB0 _Dxxx:" to the device containing the [UTIL] directories. Look for conflicting or excessive global-symbol definitions. - Insert "@Dxxx:[UTIL]SYMBOLS.COM" in LOGIN.COM files or wherever users will need the utility symbols. Many of the utilities have been adjusted for compatibility with both VMS versions V2.5 & V3.0; however, all programs were created using version V2.5, and exhaustive testing under version V3.0 has not been possible. The VMS privilege "GRPNAM" (group name table access) may be required (definitely for the EE Editor). If this is a security/ integrity problem, perhaps using "MCR INSTALL" for installing image files with "GRPNAM" privilege would be acceptable. The [UTIL] tree should restore from tape as follows: $ tree [UTIL] Page 2 [UTIL] NASA Utility Software . FORDUTIL Ford Aerospace Utility Software . . CODE Utility Program Source Code . . EDIT EE Text Editor Directory . . . DEF Text Editor Macro Definition Directory . . . INFO Text Editor Information Directory . . . NEWS Text Editor NEWS Directory . . . TEST Text Editor Test Directory . . FLECS FLECS Preprocessor Software . . FORMAT Ford Aerospace Text Formatter Directory . . HELP Utility-Command Help Files . . INFO General Information Files . . NEWS VAX News Service Directory . . . SAVE Back-up of VAX News . . . TEST NEWS Test Directory . NEWS NASA Utility Software NEWS . SWTOOLS SOFTWARE TOOLS Utilities . TEMPFILES VAX User's Temporary Files $ size Directory Name Files Blocks:Used/Alloc Lines _DBA0:[UTIL] 11 71 / 87 852 _DBA0:[UTIL.FORDUTIL] 65 422 / 528 5064 _DBA0:[UTIL.FORDUTIL.CODE] 18 155 / 168 1860 _DBA0:[UTIL.FORDUTIL.EDIT] 18 399 / 417 4788 _DBA0:[UTIL.FORDUTIL.EDIT.DEF] 19 42 / 66 504 _DBA0:[UTIL.FORDUTIL.EDIT.INFO] 103 345 / 489 4140 _DBA0:[UTIL.FORDUTIL.EDIT.NEWS] 2 4 / 6 48 _DBA0:[UTIL.FORDUTIL.EDIT.TEST] 44 352 / 393 4224 _DBA0:[UTIL.FORDUTIL.FLECS] 10 241 / 252 2892 _DBA0:[UTIL.FORDUTIL.FORMAT] 12 128 / 144 1536 _DBA0:[UTIL.FORDUTIL.HELP] 30 79 / 105 948 _DBA0:[UTIL.FORDUTIL.INFO] 30 320 / 369 3840 _DBA0:[UTIL.FORDUTIL.NEWS] 18 272 / 294 3264 _DBA0:[UTIL.FORDUTIL.NEWS.SAVE] 2 4 / 6 48 _DBA0:[UTIL.FORDUTIL.NEWS.TEST] 2 2 / 6 24 _DBA0:[UTIL.NEWS] 1 1 / 3 12 _DBA0:[UTIL.SWTOOLS] 4 22 / 30 264 _DBA0:[UTIL.TEMPFILES] 4 9 / 18 108 Totals: (Directories - 18) 393 2868 / 3381 34416 ========> [VAX82B.ICE]AAAREADME.TXT;1 <======== *** From the same people that brought you SYSTAT/SYSDPY *** |I|c|e| ICE is a command line editor for the VAX family of computers running the VMS operating system. It aids the interactive user in entering DCL commands to the operating system. With ICE you can: o Recall up to 22 previously issued DCL command lines o Edit any recalled DCL command line o Keep previously issued DCL commands from session to session ICE will work on any compatible VT52 or VT100 series terminal. *** Read ICEBEWARE.BWR for installation instructions *** Questions or Comments may be directed to: Stuart Renes, Dept. 477 Western Electric Co. 3000 Skyline Drive Mesquite, Texas 75149 214-288-2286 P.S. ICE has been LINKED against VMS 3.1. If you are still running an older version of VMS when you get this, you can use the RELINKICE procedure to re-link ICE. ========> [VAX82B.ICR]AAAREADME.TXT;1 <======== ICR VMS Programs ---------------- The programmers at the Institute for Cancer Research have written a number of programs for VMS aimed at making the system friendlier for user and programmer alike. These are each described in detail on the facility's subdirectory. Included in this package are the following files: o ICRLIB -- A collection of useful, well documented routines used by the ICR programs. o COMPILE -- An outstanding compile, load and go utility. o RATLIB -- A utility library which is used by several programs, including Ratfiv. o RATFIV -- A structured Fortran preprocessor providing SWITCH, IF - ELSE, WHILE, FOR, DO, REPEAT - UNTIL, STRING, and BREAK and NEXT constructs. Also supported are INCLUDE files, DEFINE for symbolic constants and macros with arguments, conditional compilation, formats in read, write, encode, and decode statements, and optional output of fortran 77 code. o ZILCH -- Zilch is a screen editor which can display and edit one or more files at the same time. Many of it's features are particularly useful for programming. Zilch works on VT100, VT52, ADM3A, and ADM5 terminals. Complete documentation is in [.ZILCH]ZILCH.DOC. Typing ZCAI INTRO invokes an interactive beginner's tutorial on using Zilch. Typing ZCAI ADVANCED invokes an advanced tutorial on using Zilch. Documentation for the tutorials is in [.ZILCH]ZCAI.DOC. A VMS help file is in [.ZILCH]ZILCH.HLP. o TALK -- lets you talk to other users on the system or send them mail if they are not logged on. o LIST -- LIST is like the TYPE and Unix GREP commands only better. LIST's simplest use is to display lines from a file on the terminal a screen at a time. It has sophisticated string searching and can write out portions of files to other files. File names to be listed may have wild card characters in them, making it easy to do such chores as looking through a group of files for a particular string or variable. Finally, LIST can be positioned randomly in a file using line (record) numbers, and can list VAX RMS indexed Page 2 files by key number and do key searches. o BULLETIN -- Provides an easy, friendly way for the system managers to disseminate information to users. o BURSTF -- Bursts the subroutines, functions, programs, and block datas in a FORTRAN source file into their own individual files. o BATCH -- Batch is a convenient way to submit a batch process. It tries to make the environment of the batch process similar to the current environment by setting the default directory to the current default, and invoking the file "subdirect.com" if present on the default directory. *** NOTICE *** This software was developed with support from the National Institutes of Health: NIH CA06927 NIH CA22780 Direct inquiries to: Computer Center The Institute for Cancer Research 7701 Burholme Avenue Philadelphia, Pennsylvania 19111 No warranty or representation, express or implied, is made with respect to the correctness, completeness, or usefulness of this software, nor that use of this software might not infringe privately owned rights. No liability is assumed with respect to the use of, or for damages resulting from the use of this software. Page 3 Getting started This package consists of a root directory and a number of subdirectories. If you do not wish to modify, rebuild, or look at the program code, you may delete all the subdirectories after you have printed or saved the aaareadme.txt files, other documentation files and included the .HLP files in your system help library. The root directory consists of the following files: o LOGIN.COM -- this command file must be executed prior to using any of the ICR programs/routines. If the logical name ICR$STUFF is not defined, this procedure will ask for the location of the root directory on your system, and assign it to ICR$STUFF. Normally, ICR$STUFF would be defined by the system startup file for the entire system, or in the system wide login.com file. This login.com file would then normally be called from the system wide login.com file. The LOGIN.COM file also defines a DCL symbol ICRHELP which displays a help file for the programs and command files on this tape. This help file was created from the .HLP files on the subdirectories. o SYSTARTUP.COM -- this command file should be executed to install certain utilities. Normally this would be invoked from the system startup file. o ICRHELP.COM -- gives help on ICR programs and command files. o *.FOR -- VMS symbol definition files for FORTRAN. o *.PAS -- VMS symbol definition files for PASCAL. o *.EXE -- the V2.4 executable programs. o SYMBOLS. -- used by RATFIV. o AAASYSBUL.SBL -- used by the BULLETIN command. o SYSBULSUB.DAT -- used by the BULLETIN command. o MAKELIST.COM -- makes a carriagecontrol LIST file from RUNOFF output. o SEARCH.COM -- searches files for patterns using the LIST command. o BATCH.COM -- command file for BATCH from the BATCH subdirectory. Page 4 o Z*.* and POEM.SAV -- files used by Zilch tutorials. o *MAP. and ZHELP. -- files read by Zilch text editor. Some of the programs assume that certain logical names have been defined when they run; all of the programs assume this when they are built. These logical names will all be defined by the login.com file (see above) in the root directory. In case you wish to distribute these to other directories in your system, they are described below with suggestions for their placement. 1. ICR$LIBRARY -- Location of ICR applications libraries. May reside anywhere. Should contain the .OLB files. 2. ICR$PROGRAM -- Location of all ICR applications programs. You may make this equivalent to SYS$SYSTEM and move all .EXE files there. 3. ICR$COMMAND -- Location of all ICR command procedures. All of the .COM files should be there. 4. ZCAI$ -- location of files used by the Zilch tutorials. Z*.* and POEM.SAV should reside there. 5. FORTRAN$DEF -- Location of all VMS definition files for FORTRAN. All of the .FOR files should be there. Only needed when rebuilding ICR FORTRAN and RATFIV programs. 6. PASCAL$DEF -- Location of all VMS definition files for PASCAL. All of the .PAS files should be there. Only needed when rebuilding ICR PASCAL programs. 7. SYS$PUBLIC -- Location of all other files. Should reside on a disk with a fair amount of free space, as bulletins will accumulate there. Good luck, and feel free to contact us with problems and/or suggestions. ========> [VAX82B.ICR.BATCH]AAAREADME.TXT;3 <======== Batch is a convenient way to submit a batch process. It tries to make the environment of the batch process similar to the current environment by setting the default directory to the current default, and invoking the file "subdirect.com" if present on the default directory. In addition, the BATCHed process notifies you when it has finished by way of the TALK utility. See BATCH.HLP for documentation; this file may be placed in your system help file. Bill Wood The Institute For Cancer Research 7701 Burholme Ave. Philadelphia, Pa. 19111 (215) 728-2760 ========> [VAX82B.ICR.BULLETIN]AAAREADME.TXT;1 <======== BULLETIN BULLETIN provides an effective means for the system managers to disseminate information to users in a friendly fashion. Features o Bulletins of general interest can be sent to all users o Bulletins can be filed by subject for perusal by interested users o Users are presented with bulletins only once (unless they request old ones) o Users are informed of new information on specialized topics only once o Users may optionally file or print bulletins Setting up The nicest feature about bulletin is its friendly nature. Unwanted and indecipherable information is not forced down a users' throats, but is there for any interested user. Thus, for example, if you file a bulletin under the subject of PASCAL, all users will be informed (only once!) that there is new information on PASCAL. Interested users can read the new bulletins, while those not using PASCAL can ignore them. There are three things to set up for most effective use of the program. 1. Put the BULLETIN help file in your system help file: $ LIBR/HELP SYS$HELP:HELPLIB BULLETIN 2. If you have a system wide login.com file, you should enter the command: $ if "''f$mode()" .eqs. "INTERACTIVE" then - $bulletin If you enter this command before enabling control-Y, this will force users to read new BULLETINS filed under the general interest category. 3. Encourage users to place in their personal LOGIN.COM files BULLETIN commands to read information on subjects of interest to them. Refer to the first bulletin and the HELP BULLETIN command for more info. ========> [VAX82B.ICR.BURSTF]AAAREADME.TXT;2 <======== BURSTF BURSTF bursts the subroutines, functions, programs, and block datas in a FORTRAN source file into their own individual files. To build Burstf, do @BUILD Documentation is in the file BURSTF.DOC. Send comments, problems, etc. to: William P. Wood, Jr. Institute For Cancer Research 7701 Burholme Ave. Philadelphia, PA. 19111 (215) 728 2760 ========> [VAX82B.ICR.COMPILE]AAAREADME.TXT;1 <======== COMPILE COMPILE provides a simple compile, load, and go facility for VMS. Features o Provide a common command language interface to all compilers. o Select the compiler to use based on file type. o Compile only the files which were created or revised. o Compile if 'included' files were revised. o Create and maintain user libraries. o Link if files were compiled. o Link if external modules or libraries were revised. o Run the resulting program. Compilers Following is a list of all compilers supported by COMPILE and their corresponding file types: Compiler file type -------- --------- RATFIV .RAT FORTRAN .FOR PASCAL .PAS BASIC .BAS MACRO .MAR COMPILE selects the compiler to use for a file based on the file type. If you specify a file without a type, COMPILE will search for the file having one of the above types. ========> [VAX82B.ICR.LIST]AAAREADME.TXT;2 <======== LIST File Listing Utility ========================= LIST is like the TYPE and Unix GREP commands only better. LIST's simplest use is to display lines from a file at the terminal a screen at a time. It has sophisticated string searching and can write out portions of files to other files. File names to be listed may have wild card characters in them, making it easy to do such chores as looking through a group of files for a particular string or variable. Finally, LIST can be positioned randomly in a file using line (record) numbers, and can list VAX RMS indexed files by key number and do key searches. LIST is very fast, as it uses a macro interface to the file system to read and write files; in addition it buffers the disk address of lines in the file to simulate random access on the file. Version 3.1 of VAX LIST has some improvements in the way it handles file names and logical names. In particular, a colon is not needed on a logical name for it to be recognized as a logical name. In addition, LIST handles network file and task specifications correctly now. Version 3 of LIST has some notable improvements over the last release. The search routines have been recoded in macro for speed, and some nice command line switches have been added, including several for specifying key number and key searches when listing VAX RMS indexed and relative files. Also, a comprehensive help file is included for VAX VMS. LIST is available for VAX VMS systems and RSX/IAS systems. The VAX VMS version runs in native mode. There is a help file, LIST.HLP, for VAX VMS, and a comprehensive user manual, LIST.DOC, is included in both distributions. The VAX help file should be placed in your system help library. The VAX VMS version also includes a command file, MAKELIST.COM, which uses LIST to rewrite a carriagecontrol NONE file as a carriagecontrol LIST file, and a command file, SEARCH.COM, which uses LIST to search through files for a given string. On RSX/IAS systems, SRD is used to select wild card file names. The routine which gets file names from SRD is called FNDFIL.FTN; if for some reason SRD doesn't work with LIST (if your SRD has a different output file format from our SRD, for instance) then modify this file. If you would rather use PIP than SRD, there is a file called PIPFIL.RAT (and also PIPFIL.FTN) which contains the FNDFIL subroutine, but for PIP. LIST is written almost entirely in Ratfiv; on RSX/IAS systems, the .FTN files are included, however the Ratfiv compiler is also Page 2 included on this tape, and is very simple to build. On VAX VMS systems, LIST's .EXE file is included, as is the Ratfiv source and the Ratfiv compiler. Page 2 To build LIST for VAX VMS, say @BUILD To build LIST for IAS, say @IASBUILD To build LIST for RSX-11M, say @RSXBUILD To build LIST for IAS multi-user systems use IASBUILD.CMD, but substitute the object code produced by RUNSYMU.FTN for that produced by RUNSYSIAS.MAC in the file IASTKB.CMD. Send comments, problems, etc. to: William P. Wood, Jr. Computer Center Intstitute For Cancer Research 7701 Burholme Ave. Philadelphia, PA. 19111 (215) 728 2760 ========> [VAX82B.ICR.RATFIV]AAAREADME.TXT;2 <======== Ratfiv Version 2.1 Ratfiv is a structured Fortran preprocessor providing SWITCH, IF - ELSE, WHILE, FOR, DO, REPEAT - UNTIL, STRING, and BREAK and NEXT constructs. Also supported are INCLUDE files, DEFINE for symbolic constants and macros with arguments, conditional compilation, formats in read, write, encode, and decode statements, use of >, <, etc. instead of .GT., .LT., etc, and the RETURN VALUE construct in functions. Ratfiv was developed from the Ratfor compiler distributed by Lawrence Berkley Labs; versions are available for VAX VMS and RSX/IAS systems. The major enhancements in Ratfiv are: 1. Ability to specify a format statement inside READ, WRITE, ENCODE, and DECODE statements; 2. Consistent line continuation using the underline character; 3. Production of properly indented upper case Fortran code with comments passed through; 4. Optional output of Fortran 77 code with the /F77 switch (however this switch produces valid code for VAX Fortran 77 only); 5. Addition of a /SYMBOLS switch to the command line to optionally read the SYMBOLS file; 6. Output of quoted strings or optionally hollerith strings (quoted string output allows Ratfiv to be used with DEC Fortran OPEN statements, the Fortran 77 CHARACTER data type, etc.); 7. Evaluated and unevaluated arguments in macros; 8. Correct line number reporting; 9. Exit with error status if an error occurs during compilation; 10. Use of character constants in case labels; 11. Numerous bug fixes; 12. Comprehensive documentation; 13. Ratfiv keywords need not appear at the beginning of a source line in order to be recognized. Page 2 Page 2 This version of Ratfiv may be used if you want to compile the Ratfiv source to the other programs written in Ratfiv on this tape. Version 2 of Ratfiv has a few enhancements, bug fixes, and changes since Version 1. The enhancements are: 1. The documentation has been revised, particularly the section on defining macros; 2. Hollerith strings may be optionally outputted instead of quoted strings; 3. The initialization and increment parts of FOR loops may have more than one statement in them; 4. Macro definitions may have commas in them; 5. Arguments to the _len and _include macros may have commas in them; 6. The special macro arguments $& and %& are replaced by ALL the arguments passed to the macro; 7. Octal constants may be inserted in STRING variables; 8. The number of special escaped characters in the STRING statement has been increased and these characters may also be used with the CASE statement; 9. Quoted strings are consistent in that double and single quoted strings may both have double or single quotes in them, even in the STRING and CASE statements; 10. Macros may be defined which emulate the _ifdef, _ifndef, _enddef, and _elsedef macros (see the file RATFOR.SYM for an example of this); 11. Some unused CONTINUE statements in the Fortran output have been eliminated. A few changes were made that could cause incompatibility with Version 1. I am sorry for these changes, but they were necessary for my peace of mind. I expect this version to be pretty stable. The changes are: Page 3 1. The dot (.) character is not allowed in macro names anymore. This change was made because it could cause problems when a macro name appeared next to a valid dot character, as in "if (status.eq.EOF)". Page 3 2. The BREAK statement may not be used to break from a SWITCH statement anymore. This change was made for compatibility with Ratfor preprocessors and to make BREAK consistent with the NEXT statement. It was a bad idea in the first place to have BREAK break from a SWITCH statement. 3. Brackets ([]) have no special meaning within macro definitions anymore. The use of brackets in macros was too obscure to justify them. In any case there was little need for them. 4. The NEWLINE character was changed from carriage-return to line feed for compatibility with Ratfor preprocessors. Some of the bug fixes are (there weren't too many bugs): 1. include statements insert their input into the input stream correctly when they appear in a macro; 2. Error line number reporting is REALLY correct this time; 3. Literal Fortran code is allowed in macros. The file "RATFOR.SYM" contains some macro definitions which, if placed at the front of the Software Tools "SYMBOLS." file, make Ratfiv largely compatible with the latest (Spring 1981 VAX sig tape) version of Software Tools Ratfor available from Joe Sventek. I have compiled about 15 thousand lines of his code with Ratfiv; the only problem was that some variables named "string" ("string" is a Ratfiv keyword) had to be renamed. Software Tools Ratfor code should be compiled with Ratfiv's "/SYMBOLS" switch, and with Ratfiv's "/HOLLERITH" switch for compatibility on the VAX. This is the only place where the "/HOLLERITH" switch has been needed so far. Note that shortening of long names is not available in Ratfiv; I have not checked whether long names are used in the RSX/IAS version of the Software Tools. Also, the "$(" and "$)" brackets for use with macros are not available in Ratfiv; there seems to be little use for them in Ratfiv. Page 4 Version 2.1 notes: A help file is included for the VAX VMS distribution (RATFIV.HLP); place it in your system help file. Page 4 A slight modification has been made to the processing of character strings in the "string" and "case" statements. When expanding strings with the escaped characters "@e" or "@n" in them, Ratfiv now attempts to use the currently defined meanings of EOS and NEWLINE, respectively, whereas in Version 2.0 it used the values which were defined when the compiler was built (these values are 0 and 10 on DEC systems). If EOS and/or NEWLINE is not defined when processing a string or case label, then the default values of 0 and 10 are used, as before. Similarly, when "EOS" and/or "character" is defined, Ratfiv uses these values for the terminating character of a string and the string data type, respectively, otherwise it uses the default values (0 and BYTE), as before. These changes are documented in the section on strings in RATFIV.DOC. I expect that Ratfiv will be fairly stable from now on, although it's possible I will add enhancements. I am interested in hearing about and fixing bugs, however. To build Ratfiv, do @BUILD Documentation is in the file RATFIV.DOC. Before building Ratfiv on IAS systems, change the first line in RATFIV.TKB from RATFIV/FP= to RATFIV/FP/RW= This builds Ratfiv without any read-only sections. Page 5 The "@BUILD" file builds Ratfiv and also Macro, which is just the macro preprocessor portion of Ratfiv. Input passes through the macro processor unchanged except that macros are expanded. There is no documentation for Macro, however the form of the command line is like Ratfiv's and the macros are the same, except that "define" isn't available; use "_macro" instead. Also, the dot (.) character is legal in macro names. Page 5 There is a system-wide file called "SYMBOLS." which can be read by specifying "/SYMBOLS" on the Ratfiv command line (see the section, "USING RATFIV" in "RATFIV.DOC"). The default location of this file may be changed by changing the define for "USER$BIN" in the "SYMBOLS." file and rebuilding the compiler from scratch. Most people won't need this file, however, so you can just leave it on the directory where Ratfiv is located, since Ratfiv first checks the default directory for the "SYMBOLS." file before looking for the system-wide file. If you are using the FOR compiler instead of F4P on a PDP11, be sure to compile the Fortran sources with the -SN switch. Ignore the errors in IO.FTN; they are in modules which aren't used by Ratfiv. You will also have to change the RATFIV.TKB file as follows: 1. Delete the MAXBUF=512 option. 2. Change ACTFIL=8 to ACTFIL=7 3. Change UNITS=10 to UNITS=9 These changes reduce the number of file inclusion levels allowed by Ratfiv by one, but the task would be too large otherwise. If the task is still too large, you can reduce ACTFIL to 6 and UNITS to 8, but don't reduce them any more as then you will not be able to include any files. After reducing the number of file inclusion levels, then after successfully building Ratfiv you should change the define for NFILES in the file "MACSYM." to reflect the changes (i.e subtract 1 or 2 from the defined value of NFILES), and then rebuild the compiler from scratch. Send comments, problems, etc. to: William P. Wood, Jr. Institute For Cancer Research 7701 Burholme Ave. Philadelphia, PA. 19111 Page 6 (215) 728 2760 ========> [VAX82B.ICR.RATLIB]AAAREADME.TXT;2 <======== Ratlib This directory contains the source for RAT.OLB, a utility library which is used by several programs, including Ratfiv. To build the Library, do @BUILD Send comments, problems, etc. to: William P. Wood, Jr. Institute For Cancer Research 7701 Burholme Ave. Philadelphia, PA. 19111 (215) 728 2760 ========> [VAX82B.ICR.TALK]AAAREADME.TXT;1 <======== TALK TALK is a user communication facility for VMS. Features o Lists all users on the system. o Interactively talks to users on the system. o Optionally sends mail if the user is not logged on. o "TALK ALL" talks to all users on the system. o Use it from batch to report job/step completion; sends mail if you are not logged on. ========> [VAX82B.ICR.ZILCH]AAAREADME.TXT;2 <======== Z I L C H S C R E E N E D I T O R =================================== Zilch is a screen editor which can display and edit one or more files at a time. The file(s) being edited are displayed on a terminal and the screen is updated as changes are made to the files. Zilch has several features which make it a very powerful editor: 1. Multiple files may be displayed and edited at the same time. 2. Zilch saves an editing session when it exits so that the session can be continued at a later date. 3. Zilch checkpoints an editing session after every 300 commands in case of a system crash. 4. A macro may be defined to execute repetitive sequences of keystrokes. 5. Special programming language specific character mappings may be used to abbreviate commonly typed words and do automatic indentation. 6. Zilch can spawn a subprocess to enter DCL and can redirect the output of DCL commands to an internal buffer. Zilch is descended from several editors. Character mappings were first implemented by Bob Stodola on a Hewlett-Packard computer at ICR. Many of the commands emulate the commands of Bill Cael's Teco screen editor at ICR. Many other ideas, such as editing and windowing multiple files, come from the EMACS editor. Zilch works on VT100, VT52, ADM3A, and ADM5 terminals. By default Zilch assumes your terminal is a VT100 or VT52 if the system terminal type (as displayed by the SHOW TERMINAL command) is VT100 or VT52, respectively. Otherwise Zilch assumes your terminal is an ADM3A. To use an ADM5, /TERM=ADM5 should be specified on Zilch's command line, for example: $ zilch/term=adm5 file.dat Complete documentation is in ZILCH.DOC. Typing ZCAI INTRO invokes an interactive beginner's tutorial on using Zilch. Typing ZCAI ADVANCED invokes an advanced tutorial on using Zilch. Documentation for the tutorials is in ZCAI.DOC. A VMS help file is in ZILCH.HLP. Page 2 Zilch has several files which it reads in response to commands. They are the mapping character files and the help file. They are included on the ICR root directory. The names of these files must be Page 2 specified on Zilch's command line. Please see the LOGIN.COM file in the ICR root directory to see an example of setting up the symbol definition for Zilch properly. Please address comments, bugs, and suggestions to: William P. Wood, Jr. Institute For Cancer Research 7701 Burholme Ave. Philadelphia, Pa. 19111 (215) 728-2760 ========> [VAX82B.JPL]AAAREADME.TXT;1 <======== NOTE: File extension conventions : COM - DCL command procedure EXE - Executable program (VMS native mode) FOR - VAX Fortran 77 source HLP - Help library source module - $LIBRARY/HELP helplib-spec ---.HLP MAR - VAX Macro source RNO - Digital Standard Runoff input source - $RUNOFF/CONT ... S3I - SFTRAN3 input source - see SFTRAN included below SYM - Symbol definition macro converted to Fortran PARAMETER statements DOC, TXT - User info, documentation, installation, whatever NOTE: You should read and modify all the "user info" files to correspond to the way you set the files up in your environment. Specifically, all device and directory examples should be modified. FILES: []AAAREADME.1ST -- You're looking at it. []BUSY.COM -- A DCL procedure to lock a logged-in terminal to prevent unauthorized use while the owner is away. []CHRCAT.S3I -- See SCANLIB []CMCASE.S3I -- See SCANLIB []CMCONT.S3I -- See SCANLIB []CMERMS.S3I -- See SCANLIB []CMHELP.S3I -- See SCANLIB []CMINIT.S3I -- See SCANLIB []CMINTG.S3I -- See SCANLIB []CMLKUP.S3I -- See SCANLIB []CMLSTI.S3I -- See SCANLIB []CMLSTN.S3I -- See SCANLIB []CMLSTR.S3I -- See SCANLIB []CMLSTS.S3I -- See SCANLIB []CMPOSL.S3I -- See SCANLIB []CMREAD.S3I -- See SCANLIB []CMREAL.S3I -- See SCANLIB []CMSCAN.S3I -- See SCANLIB []CMSKIP.S3I -- See SCANLIB []CMTABLBD.S3I -- See SCANLIB []CMTEST.S3I -- See SCANLIB []CMTOKN.S3I -- See SCANLIB []COMPSCAN.COM -- DCL commands to compile the SCANLIB routines -- Requires installation of SFTRAN, with command abbrevs. []CON.COM -- DCL procedure for CONNECT -- UNIX-style shorthand commands for moving around in a directory tree []CONNECT.HLP -- Help module for CONNECT []CONNECT.TXT -- User info for CONNECT []CONNEWS.TXT -- CONNECT update info []DCDEF.SYM -- Fortran version of $DCDEF - used by some routines here Could be replaced by VMS 3.0 new include libraries []DCLEX.DOC -- User info for DCLEX -- Fortran-callable subroutine which runs LOGINOUT to execute DCL statements. []DCLEX.FOR -- Fortran source for DCLEX. Requires subroutine PRMSG. []FDUMP.EXE -- Hexadecimal/ASCII file dump program []FDUMP.S3I -- SFTRAN3 source for FDUMP. Requires subroutine HEXDMP. []FDUMP.TXT -- User info for FDUMP Page 2 []FOR020.DAT -- SFTRAN3 Include file for SCANLIB routines []FTCOPY.COM -- DCL procedure to set up and run FTCOPY.EXE []FTCOPY.EXE -- Make an exact copy of a foreign tape []FTCOPY.FOR -- Fortran source for FTCOPY []FTCOPY.TXT -- User info for FTCOPY []GETUIC.MAR -- Macro source for GETUIC - subroutine to get caller's UIC []GETUIC.TXT -- User info for GETUIC []GETUID.FOR -- Fortran source for GETUID - subroutine to get caller's UIC in a form which can be printed in I6.6 format. Requires subroutine GETUIC. []GETUID.TXT -- User info for GETUID []HEXDMP.DOC -- User info for HEXDMP - Dump memory in hexadecimal []HEXDMP.S3I -- SFTRAN3 source for HEXDMP []KILL.EXE -- Kill a process with the same UIC as the issuing process -- install with GROUP privilege -- allows users to kill their own processes without privilege []KILL.FOR -- Fortran source for KILL []KILL.TXT -- User info for KILL []MOUNTF.MAR -- Macro source for MOUNTF - Fortran-callable subroutine to mount a tape /FOREIGN []MOUNTF.TXT -- User info for MOUNTF []NULLTIME.COM -- DCL source for NULLTIME - Batch job which collects and reports hourly CPU usage []NULLTIME.TXT -- NULLTIME user info []PRINTCODE.EXE -- Print the system message corresponding to a system status code -- prompts for status code in hexadecimal []PRINTCODE.FOR -- Fortran source for PRINTCODE. Requires subroutine PRMSG. []PRINTCODE.TXT -- User info for PRINTCODE []PRMSG.FOR -- Fortran source for PRMSG - subroutine to print the system message corresponding to a system status code []PRMSG.TXT -- User info for PRMSG []SCANLIB.RNO -- User documentation for SCANLIB -- a portable set of subroutines (SFTRAN3/Fortran 77) for parsing a DCL-like language -- useful for providing "user- friendly" command processing for general applications []SCANTABLE.S3I -- SFTRAN3 source for a main program which, when linked with a BLOCK DATA program of SCANLIB command tables, produces a formatted display of the tables []SECUTC.S3I -- SFTRAN source for a subroutine to convert time from seconds past 1950-01-01 00:00:00 to the form y,ddd,h,m,s Documentation in TIMECON.TXT []SECYDDD.EXE -- Convert time from seconds past 1950-01-01 00:00:00 to the form yydddhhmmss. Prompts for input. []SECYDDDMN.FOR -- Fortran source for main program for SECYDDD []SECYMD.EXE -- Convert time from seconds past 1950-01-01 00:00:00 to the form yymmddhhmmss. Prompts for input. []SECYMD.S3I -- SFTRAN source for a subroutine to convert time from seconds past 1950-01-01 00:00:00 to the form y,m,d,h,m,s. Documentation in TIMECON.TXT []SECYMDMN.FOR -- Fortran source for main program for SECYMD []SETWID.FOR -- Fortran source for SETWID - subroutine to set VT100 terminal width to 80 or 132 columns. Requires subroutine PRMSG. []SETWID.TXT -- User info for SETWID []SF3.EXE -- SFTRAN3 Structured Fortran Preprocessor Page 3 []SFC.COM -- DCL procedure to run SFTRAN3 and Fortran compiler with the /NOLIST option []SFCD.COM -- DCL procedure to run SFTRAN3 and Fortran compiler with the /D_LINES option []SFCL.COM -- DCL procedure to run SFTRAN3 and Fortran compiler with the /LIST option []SFSYMB.COM -- DCL procedure to define command symbols used with SFTRAN3 []SFTRAN.HLP -- Help library source module for SFTRAN3 []SFTRAN.TXT -- Brief summary of SFTRAN installation procedure []SFTRAN3.RNO -- SFTRAN3 mini-user's guide (language reference and installation info) []SWAPBYTES.MAR -- Macro source for subroutine to swap bytes in an array of words or longwords -- useful when reading tapes from non-DEC systems []SWAPBYTES.TXT -- User info for SWAPBYTES []TAPE2DISK.EXE -- Program to read various kinds of foreign tapes []TAPE2DISK.FOR -- Fortran source for TAPE2DISK []TAPE2DISK.TXT -- User info for TAPE2DISK []TAPEIO.MAR -- Macro source for a set of Fortran-callable routines for doing Block I/O on foreign tapes []TAPEIO.TXT -- User info for TAPEIO []TIMECON.TXT -- User info for all the time format conversion routines in this directory []TRANSL.MAR -- Macro source for a subroutine required by TAPE2DISK []TTDEF.SYM -- Fortran version of $TTDEF macro - used by SETWID []UNBLOCK.TXT -- User info for UNBLOCKnn - a set of routines for reading card images from fixed-blocked (foreign) tapes []UNBLOCK72.EXE -- Program to read 72-character card images from a fixed- blocked foreign tape []UNBLOCK72.FOR -- Fortran source for UNBLOCK72 []UNBLOCK80.EXE -- Program to read 80-character card images from a fixed- blocked foreign tape []UNBLOCK80.FOR -- Fortran source for UNBLOCK80 []UNTRAIL.TXT -- User info for UNTRAILnn - a set of routines for reading card images from fixed-blocked (foreign) tapes and stripping trailing blanks. Also can be used to remove trailing blanks from any Fortran-readable file []UNTRAIL72.EXE -- Program to strip trailing blanks from card images up to 72 characters long []UNTRAIL72.S3I -- SFTRAN3 source for UNTRAIL72 []UNTRAIL80.EXE -- Program to strip trailing blanks from card images up to 80 characters long []UNTRAIL80.S3I -- SFTRAN3 source for UNTRAIL80 []UNTRAILEB.COM -- DCL procedure which prompts for input and output files and makes assignments to run UNTRAILEB.EXE []UNTRAILEB.EXE -- Same as UNTRAIL80, but also translates EBCDIC to ASCII []UNTRAILEB.S3I -- Same as UNTRAIL80, but also translates EBCDIC to ASCII []UTCSEC.S3I -- SFTRAN source for a subroutine to convert time from the form y,ddd,h,m,s to seconds past 1950-01-01 00:00:00 Documentation in TIMECON.TXT []UTCYMD.S3I -- SFTRAN source for a subroutine to convert time from the form y,ddd,h,m,s to the form y,m,d,h,m,s. Documentation in TIMECON.TXT []VAXMAN.EXE -- A video game for VT100 terminals -- 9600 baud required. Advanced video option desirable. Page 4 []WAIT.FOR -- Fortran source for a subroutine which hibernates for the specified number of seconds []WAIT.TXT -- User info for WAIT []WAKEUP.EXE -- Program which wakes a specified process (GROUP or WORLD privilege required) []WAKEUP.FOR -- Fortran source for WAKEUP. Requires subroutine PRMSG. []WAKEUP.TXT -- User info for WAKEUP []WIDTH.COM -- DCL procedure which sets the width of a VT100 terminal to 80 or 132 columns []WIDTH.HLP -- HELP library source module for WIDTH []WIDTH.TXT -- User info for WIDTH []WTOPER.FOR -- Fortran source for a subroutine to send a message to all operator consoles []WTOPER.TXT -- User info for WTOPER []YDDDSEC.EXE -- Program to convert time from the form yydddhhmmss to seconds past 1950-01-01 00:00:00. Prompts for inputs. []YDDDSECMN.FOR -- Fortran source for main program for YDDDSEC. []YDDDYMD.EXE -- Program to convert time from the form yydddhhmmss to the form yydddhhmmss. Prompts for inputs. []YDDDYMDMN.FOR -- Fortran source for main program for YDDDYMD. []YMDSEC.EXE -- Program to convert time from the form yymmddhhmmss to seconds past 1950-01-01 00:00:00. Prompts for inputs. []YMDSEC.S3I -- SFTRAN source for a subroutine to convert time from the form y,m,d,h,m,s to seconds past 1950-01-01 00:00:00 Documentation in TIMECON.TXT []YMDSECMN.FOR -- Fortran source for main program for YMDSEC. []YMDUTC.S3I -- SFTRAN source for a subroutine to convert time from the form y,m,d,h,m,s to the form y,ddd,h,m,s. Documentation in TIMECON.TXT []YMDYDDD.EXE -- Program to convert time from the form yymmddhhmmss to the form yydddhhmmss. Prompts for inputs. []YMDYDDDMN.FOR -- Fortran source for main program for YMDYDDD. []ZIP.COM -- DCL procedure to SPAWN a DCL command or procedure []ZIP.HLP -- Help library source module for ZIP.COM []ZIP.TXT -- User info for ZIP.COM ========> [VAX82B.KMSKIT]AAAREADME.TXT;1 <======== VAX KMSKIT V3.0 Included in this submission are three subdirectories. [KMSKIT.SYSMGR] - Useful command procedures for controling the system and making life generally easier for all. [KMSKIT.SYSUTL] - A few general purpose utilities for the VAX and an updated VAX CALC which has online help. [KMSKIT.VAXSUBS] - Migrating from RSX to VAX the easy way. As always, complaints, suggestions, or praise may be directed to James G. Downward KMS Fusion, Inc. PO. Box 1567 Ann Arbor, Mich. 48106 (313)-769-8500 03-Dec-1982 ========> [VAX82B.KMSKIT.SYSMGR]AAAREADME.TXT;1 <======== [KMSKIT.SYSMGR.CMDFIL] This directory contains command files we have found to be of general use for system management. Typically all command files reside on SYS$SYSROOT:[SYSMGR.CMDFIL]. Many command files assume that TESTFILE is defined as a foreign command, ie TESTFILE==@SYS$SYSROOT:[SYSMGR.CMDFIL]TESTFILE.COM. Help files are supplied for command files as appropriate. 1. BROADCAST. Emulates the RSX BROADCAST command. User needs OPER privilege for it to use REPLY for sending messages. 2. CMD. Starts up command files on SYS$SYSDEVICE:[SYSUTL] and passes them command lines. 3. 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. 4. 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. 5. LARGE. Puts V100 in 80 column mode & width =80. 6. PAGE. Erases the screens on a variety of terminals. 7. SMALL. Sets VT100 to 132 colum mode and width=132. 8. 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!! 9. SYSTARTUP. Example of the command procedure used to bring up our system. This is included because it represents a very clean formalism for booting the system. SYSTARTUP.COM does very little except execute a series of @SYS$SYSROOT:[SYSMGR.SYSBOOT]cmdfile commands. All command files as they start print out a heading of the form CMDFILE -- text-describing-action-being-done The "--" and text from each command file line up. Only if errors occur does anything else get printed out and then the system manager knows Page 2 exactly where the problem occured. An example of our SYSTARTUP.COM is on this directory and a few sample command files are on [KMSKIT.SYSMGR.SYSBOOT]. 10. TERM. Used during SYSLOGIN to find out the type of terminal in use. Writen for V2.x prior to being able to find out info using GETDVI. 11. TESTFILE. Emulates the .TESTFILE on RSX. Faster (by far) than using an image to check for the existance of a file. 12. UTL. Automatically starts up tasks on [SYSUTL] and passes them command lines. Saves having a zillion foreign commands. 13. XQT. Simulate the RSX .XQT command. ========> [VAX82B.KMSKIT.SYSMGR.SYSBOOT]AAAREADME.TXT;1 <======== This directory contains template files for use in a "clean" SYSBOOT procedure. 1. INSIMAGES. Install site specific images. Do not install privileged images if version number of SYS.STB changes from when command file writen. 2. MERGFILES. Merge log files into monthly container files. 3. SDACRASH. Run SDA if system crashed. 4. SETTERM. Set up terminal charactistics. Easy to do but included so you know how our terminals got set up as line printers. 5. STARTNET. Start up the network. Don't print needless network messages while network is comming up. 6. STARTQMG. Start up the queue manager. 7. STRTBATCH. Start up the system batch queues. 8. SYSBATCH. Submit any required system batch jobs IF they are not already queued. ========> [VAX82B.KMSKIT.SYSUTL]AAAREADME.TXT;1 <======== This subdirectory contains useful system utilities. 1. BROADCAST. Emulates the RSX BROadcast command. Allows all users to broadcast messages to each other. It will track down all users of a given name and send each the message. A very useful utility. 2. 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. Much more user friendly. 3. 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 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. 4. 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 max. On our system this max is 310. 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. ========> [VAX82B.KMSKIT.VAXSUBS]AAAREADME.TXT;1 <======== [KMSKIT.VAXSUBS] 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 and VSUB2 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. Those in VSUB2 are in preliminary stages. I think they work, but the testing has not been as extensive. 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. Note that the routines used for emulating RSX behavior are compiled /NOI4 because the programs we used them with were compiled /NOI4. ========> [VAX82B.LBLTOOLS]AAAREADME.TXT;1 <======== Fall 1982 DECUS Distribution The following steps must be performed to build the Fall 1982 release of the LBL/Hughes Software Tools package for VMS. 1. Edit the file stlognam.com in this distribution directory to reflect the disk and directories used by the tools. All of the tools logical names start with the string "st_", in an attempt to avoid conflicts with all other software. The definition for st_node should be replaced with your node name, and st_timezone should be replaced with the appropriate three character mnemonic. Do not worry, the software which uses the logical name worries about whether it is daylight-savings time or not, so you won't have to worry about changing the logical name each April and October. 2. Invoke the modified stlognam.com to set up the environment 3. Create the six known directories (~bin, ~usr, ~tmp, ~lpr, ~msg and ~man) with the appropriate protection, and set default to st_bin. Consult release.doc for information on the required protection modes for the directories. 4. Copy the Distn directory files into the current directory, after deleting all files currently in the directory. Make sure that the account under which you are running has the following quotas: PRCLM 10 BYTLM 30000 FILLM 75 TQELM 40 PGFLQUOTA 16384 5. @toolgen This command file assembles all macro primitives, compiles all fortran primitives, builds two tools to bootstrap ourselves, and then proceeds to build the 115 utilities in the package. This takes a while, so take a break. If you answer yes to any of the questions concerning file deletion, toolgen will delete unneeded files as the processing progresses. If you delete the object files, a savings of ~2000 disk blocks ensues. If you delete the source files as you progress, a savings of ~3700 blocks accrues. The entire system occupies ~22000 blocks if no files are deleted, or ~16000 blocks if both sources and objects are deleted during the build. 6. Now modify the system startup files to setup the new logical names and installed images for the next boot. 7. Install the known images using st_bin:tools.ins Page 2 -1- Fall 1982 DECUS Distribution 8. The required quotas have not changed with this release, so no mucking with the authorization file will be necessary, unless this is your first tools release. If this is the case, consult the file release.doc in the distn directory. 9. To build the appropriate mail system utilities, you need to consult the file msgreadme.1st in the msgsys directory; follow the directions there. 10. You should now be operational. Joe Sventek Page 3 -2- ========> [VAX82B.LPA11]AAAREADME.TXT;1 <======== To:LPA11-K Users From: Choppy Cusachs (713) 965-4173 Subject:LPA11-K Documents and Programs This submission consists of this document, the text of a paper prepared for the 1982 Fall DECUS U.S. Symposium, and three FORTRAN programs, LPAST.FOR, LPAEF.FOR, and LPATEST.FOR. The command file, LPA11STRT, is a part of VMS that was omitted in the version originally supplied to my installation and is included for documentation. It should appear in the SYSMGR directory when VMS is installed. In addition, two figures which are revisions of drawings in the DR11-K manual, are submitted for the VAX handouts for the 1982 Fall Symposium. LPAST and LPAEF are usable for digital input on a VAX11/780 via LPA11-K. Similar programs have been used by others for digital output. While these have not, to my knowledge, been tested on other members of the VAX family, I have no reason to doubt their usability. LPATEST may be used with a maintenance cable to test the LPA for digital output. It writes out a small buffer of numbers easily recognized and reads it back in. The two programs, LPAST and LPAEF differ in how they signal the filling of buffers by the LPA software to the program. As the names were intended to suggest, the LPAST uses an AST routine, LPAEF an event flag. The former makes it easy to use a CONTROL/C handler to exit tidily. The latter must be killed by a CONTROL/C or CONTROL/Y. This has the consequence of necessarily losing any incomplete buffer as well as leaving it to the system to tidy up. Although LPAST does not check for a partially filled buffer, there are subroutines in the DEC supplied software which should, in principle, permit this, though we have not tested them. The program LPADUMP dumps output of the acquisition programs by blocks in octal for debugging. It can serve as a template for reading the output for further processing. ========> [VAX82B.MELBUNIV.DECNET]AAAREADME.TXT;1 <======== SEND ---- SEND sends a message with identification to a specified username or terminal on a specified VAX node in a network. The local node is assumed if the node specification is missing. If a username is specified and the user is logged in to more than one terminal, the first encountered in a pass through the process list will be sent the message. A conversational mode is also available. See SEND.HLP for details of use. SENDBUILD.COM builds and installs this program. It is based on a program of the same name on the Fall '78 SIG tape. NETSHOW ------- This program performs a standard SHOW command on a remote VAX node in a network. Note that commands that are built into the CLI or require terminal input/output will not work (such as SHOW STATUS or SHOW PROCESS/CONTINUOUS). It currently prompts for input, but could be easily interfaced to CLI command definition routines. NSHWBUILD.COM builds and installs this program. Chris Chaundy Melbourne State College c/- Computer Centre University of Melbourne Parkville, Victoria. 3052 Australia ========> [VAX82B.MELBUNIV.LOGIN]AAAREADME.TXT;1 <======== Login and Disk Quota Procedures ------------------------------- These types of precedures are very much installation dependent, however some useful ideas may be gleaned from these programs. LOGQUTBLD.COM builds the programs. All executables, command procedures and files are assumed to reside in SYS$SYSTEM. The programs LOGIN1, QUOTCHEK, LOGIN2 and LOGIN3 are run by the basic LOGIN command procedure (in that order). TERMS.PRV lists which terminals users with privileged UIC's can login on. SPOOLER.TRM has a list of terminals and the queue to be used as SYS$PRINT for the terminal. QUOTSHOW displays the users logged-out quota status and QUOTSTAT is used in the LOGOUT procedure. See comments at the beginning of the programs for functional details. The overdraft value in DEC's quota system is used as the logged-out quota by these programs. Users are encouraged not to logout when over quota and are prevented from logging in (completely) until they have reduced their disk usage. We have found very little conflict in this dual purpose use. To speed up logging in the four images executed by LOGIN.COM may be installed /OPEN/SHAR/HEAD. Note that LOGIN1 has the NEWSCHK program from the NEWS system built into it - otherwise, the programs are reasonably self-contained. Chris Chaundy Melbourne State College c/- Computer Centre University of Melbourne Parkville, Victoria. 3052 Australia ========> [VAX82B.MELBUNIV.MTAPE]AAAREADME.TXT;1 <======== MTAPE ----- The MTAPE procedure prompts a user with various questions about a tape the the user wishes to work with. It finally submits MTAPEJOB which calls a user specified procedure to perform operations on the tape. The MTAPEJOB procedure handles all operator messages, unit allocation, initialization (when requested) and mounting/dismounting. The user refers to the tape by the logical name TAPE:. For most simple tape operations these procedures suffice, reducing the preparation time for tape jobs and standardizing operator requests, eg. a one-line command procedure is required to get all files off any tape specified in the MTAPE dialogue - $ COPY TAPE:*.* */LOG Note that MTAPE assumes MTAPEJOB resides in 'PUB$SYSTEM'. ========> [VAX82B.MELBUNIV.NEWS]AAAREADME.TXT;1 <======== NEWS ---- The NEWS utility allows users to read news bulletins which appear on the system from time to time. Old news items may be reread and users can get a directory of news items currently on the system. All users receive notice of system news. Group news is also available for users with accounts in the same UIC group. NEWS is used to access system news and GNEWS is used to access group news. A logical name NEWS$SYSTEM must be present to point to the system news directory. Group news is optional. NEWSBUILD.COM builds the programs in the package. NEWSINIT initializes file which stores information on which items a user has read. This file is called NEWS$SYSTEM:NEWSNUM.DAT and the protection must be W:RW. NEWS.EXE and GNEWS.EXE live in SYS$SYSTEM and NEWS.HLB lives in SYS$LIBRARY. The help module NEWS.HLP can also be added to the system HELP library. The programs ZERONEWS and ZEROGNEWS can be used to reset news item counts for users. NEWSASG.COM should be called from SYSTARTUP.COM to set up system and group logical names when the system is booted. Files used by the NEWS system are: NEWS.END in the NEWS$SYSTEM directory. Contains the number of the latest news item which exists in the news system. NEWS.TTL in the NEWS$SYSTEM directory. Contains a directory of all currently available news items with title and date of issue. NEWS.001 - in the NEWS$SYSTEM directory. News item text for items 001 NEWS.999 to 999. The same files are required in NEWS$GROUP directories. NEWSCHK should be run as part of the login procedure and symbols to run NEWS and GNEWS should be set up. The command procedure UPDATE.COM can be used to add, delete or alter news items. News item counts are assumed in increase monotonically, so when 999 is reached, counts must be zeroed to start over again. Chris Chaundy Melbourne State College c/- Computer Centre University of Melbourne Parkville, Victoria. 3052 Australia ========> [VAX82B.MELBUNIV.OVERLORD]AAAREADME.TXT;1 <======== OVERLORD -------- OVERLORD runs as a detached procedure on the system and performs the following functions - 1. Deletes unauthorized jobs from a queue (in our case, the queue SYS$CONTROL is reserved for system use). 2. Monitors the free space on mounted files-11 disks and warns operators when it drops below a predefined level, and sends system wide broadcasts if it drops below a further level. 3. Prevents interactive allocation of tape drives (which slows down tape job throughput) by sending the user a message asking him to give up the drive before it deletes the process. 4. Gathers statistics on system resources and dumps them to a file at regular intervals (not yet operational under V3 - V2 procedures are included with the extension .V25). OVRLRDBLD.COM builds the OVERLORD and CONTROL programs. CONTROL creates the process running OVERLORD and can be used to control OVERLORD functions. Both programs reside in SYS$SYSTEM. Most installation dependent data is in the include file COMMONDEF.FOR (except for the data statement with users allowed to use SYS$CONTROL) and this can be edited to reflect local requirements. STARTOVER.COM can be called from SYSTARTUP.COM to start OVERLORD running when the system is bootstrapped. Chris Chaundy Melbourne State College c/- Computer Centre University of Melbourne Parkville, Victoria. 3052 Australia ========> [VAX82B.MELBUNIV.SWAP]AAAREADME.TXT;1 <======== SWAP ---- SWAP makes one user look like another. It requires SYSPRV and CMKRNL to run. It is handy for a privileged user to do some work in another user's account, and then return to their own account. It changes username and account, UIC, privileges, default device and directory, and process name, but does not alter quotas as yet. It is invoked as a foreign command with the username as the parameter. If this is null, it homes-in on a predefined account. SWAPBUILD.COM builds this program. Chris Chaundy Melbourne State College c/- Computer Centre University of Melbourne Parkville, Victoria. 3052 Australia ========> [VAX82B.MILLIPEDE]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)! ========> [VAX82B.MINPWDLEN]AAAREADME.TXT;1 <======== Patch to implement minimum password length for SET PASSWORD (MINPWDLEN.FIX) SET ECO120 LJKilgallen 25-Oct-1982 MODULE: SETPWD Implement minimum password length for SET PASSWORD in VMS 3.0. If System logical name SET_PASSWORD_MINIMUM_LENGTH is defined to be a decimal number, the new password must have at least that many characters. Note that this patch sets a minimum only for the SET PASSWORD command. The AUTHORIZE utility can still be used for setting shorter passwords (by those with suitable privilege). If a VMS system is to be networked with a RSTS system, it may be bad to set a minimum length greater than 6 characters. Version 1.1 of DECnet/E will not support passwords longer than 6 characters. ========> [VAX82B.MIT.GETQUENAM]AAAREADME.TXT;2 <======== GET_QUEUE_NAME - Get the name of the queue a batch job is on This program is run from a batch job. It searches through the job controller database (JBCSYSQUE) and determines what queue the job is on. The queue name is assigned to the local DCL symbol BATCH_NAME. Warning: This program will undoubtably stop working under Version 4 as the job controller will be undergoing major modifications. ========> [VAX82B.MIT.KERNEL]AAAREADME.TXT;1 <======== DEFDIR - Obtain default directory of a process This program obtains the default directory of a given process. It uses a special kernel mode AST to get the translation of SYS$DISK and the directory string in PIO$GT_DDSTRING of the processes virtual address space. PROCFILES - display open files for users This program will display the file specifications of all open files for a given user(s). ========> [VAX82B.MIT.SCRIBE]AAAREADME.TXT;1 <======== SUBMIT_SCRIBE is used to submit a Scribe manuscript file for batch Scribe processing. This program is activated through the CLI interface with DCL. It receives a filespec which it expands. It creates a temporary file and submits it for processing in a batch queue. The temporary file does not actually contain the $ RUN SCRIBE command; instead, the first two lines should be read by JCF_SYSTEM:DOSCRIBE.COM, which does the call. In order for this routine to work, DOSCRIBE.COM must be executed by the login command procedure. ========> [VAX82B.MIT.SYMBIONT]AAAREADME.TXT;1 <======== Printer symbiont This is the mainline interface that handles communication between the job controller and the device/file dependent modules of the symbiont. Error handling is also provided in this module. (Also known as the Symbiont Manager Interface module) Six routines are required in the Device/File Interface module: SMB_DFI_INIT - symbiont specific startup procedure SMB_DFI_DEVICE_INIT - perform device initialization SMB_DFI_PROCESS_FILE - perform file processing/printing SMB_DFI_ABORT - perform device specific abort procedures SMB_DFI_CLEANUP - perfrom file specific abort procedures SMB_DFI_RESUME_TOF - rewind file and resume printing Imagen Symbiont Device/File Interface Module Called by Symbiont Manager Interface module to read in and conditionally process (impress) files and ship the text to the Packet Communications module. ========> [VAX82B.MITRE]AAAREADME.TXT;2 <======== THIS SERIES OF COMMAND FILES HAVE BEEN PLACED ON THE DECUS TAPE AS SAMPLES OF DCL COMMAND PROCEDURES. It consists of a source module tracking system and a series of short useful(?) commands. THEY MAY BE USED OR MODIFIED AS YOU DESIRE. THEY MAY NOT BE USED AS ANY PART OF A PACKAGE WHICH IS SOLD. Arthur T. McClinton Jr. MITRE Corporation 1820 Dolley Madison Blvd McLean Va. 22102 (703) 827-6356 ========> [VAX82B.NRLSSD]AAAREADME.TXT;6 <======== Programs in this directory were submitted by the Space Science Division of the Naval Research Laboratory. 1.0 MECHANIC - This detached process lowers the priority of interactive processes which accumulate mass quantities of CPU time. It is intended to persecute users who run compute bound jobs interactively, rather than submitting them as batch jobs. The way we use it, it executes every 5 minutes and lowers the priority to 3 after 10 minutes of CPU time have been accumulated, and to 2 after 20 minutes of CPU time. Processes with a SYSTEM UIC are not attacked. The execution frequency can be changed by modifying MECHANIC.COM and the CPU time thresholds and priorities can be changed by modifying MECHANIC.FOR. To install the MECHANIC, copy MECHANIC.COM and MECHANIC.EXE to some directory which has the logical name LOGICAL, for instance, and then change the command in MECHANIC.COM which runs the MECHANIC to: $ RUN LOGICAL:MECHANIC.EXE. Then, put the following command in SYS$MANAGER:SYSTARTUP.COM: $ @LOGICAL:MECHANIC.COM 2.0 FINDUIC - This is a modified version of a program originally written by Tim Miles of TRIUMF and submitted under [VAX81B.FINDUIC]. FINDUIC searches a disk for all files owned by a specified UIC. This version provides a 2 column output which is sorted by file specification: fully qualified file specification; and file size. It calls the subroutine FSPEC, which is included. To install FINDUIC, copy FINDUIC.EXE to SYS$SYSTEM, for instance, and define a global symbol similiar to: $ FIND*UIC == "$SYS$SYSTEM:FINDUIC" To use FINDUIC: $ FIND DRA1:[g,m]/OUTPUT=ALLFILES.LIS !for example If [g,m] is not specified, the current uic is used. If /OUTPUT is not specified, output is to SYS$OUTPUT 3.0 BIGFILES - This program is a modified version of FINDUIC which searches for the 50 largest files on a disk. The parameter, 50, can be changed by changing a parameter statement in BIGFILES.MAR. BIGFILES provides a 3 column output which is sorted in descending order of file size: file size; owner uic; and fully qualified file specification. It calls the subroutine FSPEC, which is included. To install BIGFILES, copy BIGFILES.EXE to SYS$SYSTEM, for instance, and define a global symbol similiar to: $ BIG*FILES == "$SYS$SYSTEM:BIGFILES" To use BIGFILES: $ BIG DRA1:/OUTPUT=DRA1BIG.LIS !for example Page 2 If /OUTPUT is not specified, output is to SYS$OUTPUT 4.0 FID2FSPEC - This is a DCL command procedure used to convert a File ID (FID) to a fully qualified file specification. It runs the image TFID2FSPC, which calls the subroutine FID2FSPEC, which calls the subroutine FSPEC. TFID2FSPC and the subroutines are all included. To install FID2FSPEC, copy FID2FSPEC.COM and TFID2FSPC.EXE to some directory which has the logical name LOGICAL, for instance, and then modify the command in FID2FSPEC.COM which runs TFID2FSPC to: $ RUN LOGICAL:TFID2FSP Define a global symbol similiar to: $ FID*2FSPEC == "@LOGICAL:FID2FSPEC" To use FID2FSPEC: $ FID DRA1: (514,92,0) !for example The corresponding file specification is output to SYS$OUTPUT. Questions about the use of these programs may be referred to: Tom Chewning Naval Research Laboratory Space Science Division Code 4105 Washington, D.C. 20375 202-767-2651 ========> [VAX82B.PDPLBR]AAAREADME.TXT;1 <======== README.PDP - THIS TAPE SHOULD CONTAIN THE FOLLOWING FILES PDPLBR.B2S - BASIC/BASIC +2 SOURCE, COMMAND FILES, EXECUTABLES LIBRARIAN SOURCE PDPLBR.CMD - PDPLBR.ODL - PDPLBR.DOC - SHORT EXPAINATIVE ON PROGRAM CAPABILITIES PDPLBR.HLP - PROGRAM'S EXTERNAL HELP FILE PDPLBR.LST - COMPLETE CROSS REFERENCE DATECV.B2S - DATE CONVERSION SUBPROGRAM USED BY PDPLBR DATECV.LST - COMPLETE CROSS REFERENCE ========> [VAX82B.PORTACALC]AAAREADME.TXT;2 <======== PORTACALC - Brought to you courtesy of Glenn Everhart 409 High St. Mt. Holly, NJ. 08060 USA 609-261-3709 This is a spreadsheet written in Fortran (the only universal assembler) for portability. Its functions are described in the separate document file; it assumes VT100, but the UVT100 routines are the only places the VT100 is actually handled in screen mode, and may be altered for other machines. The spreadsheet sizes may be defined by editing the parameter file Vklugprm.ftn (caveats and restrictions are listed there). There are 2 sheets -- a big physical sheet and a small display sheet which is what's really shown on screen. Sheets may be saved/merged/restored/ linked (via saved files)/printed or hardcopy made onto files. Numerous other functions exist. The thing is built with I/D space here but ought to be able to be overlaid. Specifically, CALC and its routines can be diskbased overlays, and DSPSHT should be able to be another leaf. However this is not tested. You can tailor the size by editing physical sheet size. The program has not been tried overlaid. However, if you use the module OXQTCMD instead of XQTCMD and OSPREDSHT instead of SPREDSHT, an overlay structure could be used roughly like this: Root: Spredsht,Index, all commons, UVT100, VARSCN Leaf 1: XQTCMD Leaf 2: RECALC, CALC, and all subroutines of CALC Leaf 3: DSPSHT The subroutines of Calc may be possible to overlay so that Leaf 2 (which will likely be the largest) can be shrunk. You will want to edit Vklugprm.ftn to make a sheet the size you like. If it gets bigger than rather small, you will possibly have to use virtual arrays or some other trick. By the next DECUS symposium there may be a better version or one that will work on smaller systems completely defined, but you may be able to fit this on a small system by overlays. On a VAX of course it all builds flat with as large a sheet as you like. REVISION: There are 2 ODL files, either of which can build a reduced version when the fortran files are compiled with OVKLUGPRM.FTN renamed to VKLUGPRM.FTN, included. There is a bit of extra space so the parameters in that file can be enlarged somewhat. They use a very overlain FCS and F4P OTS. You may be able to do similar things clustering an FCSRES and a F4PRES together too. However, the overlay versions (made with the OMAKE.CMD file) do work, though more slowly than the I/D space one. This at least gets you something on a machine with only normal 11/34 type resources. I assume the F4P or F77 compiler here for the OTS part. You will need to tailor to other Fortran compilers on PDP11's yourself. Page 2 NOTE: If you get this program working on a non-PDP11, non- VAX, the author would appreciate a (machine readable) copy of the modified version. BUGS: The functions here are mostly tested, but some bugs may remain. Fortran formats are used and any format entered will be used. If you put something in that Fortran can't understand, you lose. Conversely, you can use things like O or Z formats for octal/hex or whatever you like. Formats A and L by themselves mean "display the formula itself"; anything else means "display the number". On entering numbers, any formula containing the characters ".","[","+", or "-" is treated as a numeric; anything else is treated as a formula. The DF command can fix up this if it's not what you want. Note too that the multi-argument functions: SUM[args] Sum MAX[args] Maximum MIN[args] Minimum AVG[args] Average STD[args] Standard Deviation and the statement IF [v1.RL.v2]true-statement|false-statement must appear at the start of a formula or formula substatement (substate- ments are delimited by \ characters) and the value goes into the current variable cell (which is universally named P## if you want something location independent). It's a good idea to include an else statement in IFs since something gets put in otherwise. ----------------------------------------------------------------------- BIGTPC - Also included in this submssion is a utility BIGTPC, a very fast tape <=> disk <=> tape copy. It runs in compatability mode but is much faster on the VAX than any other copy utility. ========> [VAX82B.PSDI.LIST]AAAREADME.TXT;1 <======== Project Software & Development, Inc. 14 Story St. Cambridge, Ma. 02138 617-661-1444 Title: LIST Author: Robin Miller Date: December 3, 1982 Description: The LIST program is used to list file(s) at the terminal. It lists one screen full at a time so you can easily scroll through the file. On the VT52, VT100, and Tektronix scope, it keeps the file name and creation date at the top op the screen. Typing a /HE to the LIS> prompt displays the valid switches. Typing "HELP" or question mark ("?") while listing a file displays help on additional commands. Operating procedures: >LIST file_name Where: The file_name may be any legal VAX/RSX-11M file specification, and may have wildcards (*) for the file names. If wildcards are used, the version number also defaults to * automatically. Wildcard listing on the VAX is available by using a command file called LIST.COM. To use this command file, define the following symbol in your login command file "LIST :== @LIST.COM". This command procedure will probably need modified for your installation. Examples: *.MAC *.* TEST.* file.ext ****************************************************************************** There have been several changes made to the LIST program. 1. First, LIST presumes you are running on a VT100 with the Advanced Video Option (AVO). If your VT100 doesn't have the AVO, you must specify /VT or the VT command within LIST. This is only needed if you are listing in 132 column mode. The AVO, adds an additional 10 lines of 132 column lines for display; otherwise only 14 lines can be displayed. 2. The Find Next (FN) command has been added to search for a previous search string. The Find command now always prompts for a search string where previously it would use the previous search string if there was one. 3. The most important change and the most requested, is the keypad on the VT100 is now enabled. The PF2 key can be used to display the keypad help just like EDT. Only those keys which make sense are enabled. For example, FILL, WORD, EOL, CHAR, etc., are all disabled. Page 2 The arrow keys are also enabled. The right and left arrow keys are used to move the margin left or right, and the up and down arrow keys are used to backup or advance 1 line. I'm open to suggestions as to how the undefined keys should be defined. Some of the commands which could be used for these keys are: SEEALL, RULER, NARROW, and WIDE. ****************************************************************************** The PRINT command has been added to the LIST program. The command can be issued either by typing "PR(int)" to the prompt at the bottom of the screen, or by typing the COMMA key on the VT100 auxiliary keypad. The file is spooled to logical name SYS$PRINT. If you want the file to be printed on a particular line printer, direct SYS$PRINT to the appropriate queue. For example, to print files on our lowercase line printer, issue the following command before running LIST: $ DEFINE SYS$PRINT LPB0 After the file is spooled to the line printer, it is automatically closed and the next file (if any) is listed. Also, any key on the VT100 auxiliary keypad can now be used to terminate a LIST command at the bottom of the screen (i.e., EXIT). Previously, any command terminated by a key on the auxiliary keypad was ignored. ****************************************************************************** Problems: 1. The search command only searchs forward through the file. 2. Scrolling backward through a file, such as embedded carriage control, does not update the screen properly on a VT100. A temporary solution is too type the REFRESH command to get an accurate display. 3. Moving the margin by less than a tab stop sometimes causes problems. Notes: 1. The largest record size that can be listed is 512 bytes. 2. When listing binary data such as task images and librarys, use the /-VFU (disable vertical format conversion) and /SEEALL mode to display non-printable characters. ========> [VAX82B.PSDI.VAXNET]AAAREADME.TXT;1 <======== Free software BY Project Software & Development, Inc. This software is furnished for free and may be used and copied as desired. This software or any other copies thereof may be provided or otherwise made available to any other person. No title to and ownership of the software is hereby transferred or allowed. The information in this software is subject to change without notice and should not be construed as a commitment by PROJECT SOFTWARE AND DEVELOPMENT, INC. PROJECT SOFTWARE assumes no responsibility for the use or reliability of this software on any equipment whatsoever. Project Software & Development, Inc. 14 Story St. Cambridge, Ma. 02138 617-661-1444 Program: VAXNET & SNDRCV Author: Robin Miller Project Software & Development, Inc. 1982 Description: VAXNET is a program used to transfer ASCII files over an asynchronous communications line between two computers. The progams supplied in this directory allow for communications between VAX and VAX or between VAX and RSX11M. Two programs called F2T and T2F allow task images to be converted into ASCII records, transferred to the other computer, and then converted back to a task image which can be run. This program has several enhancements over the original which include: o This release has mainly bug fixes and better help than my original submission. o The original program was two very large Fortran source modules. This release has been broken into smaller modules which make it easier to maintain and faster to compile. o The user can now execute DCL commands at the command level (Vaxnet>). Several problems: o Occasionally the program will get stuck in a HIBERNATE state or will exceed its buffer I/O quota (my count was 6). When stuck in the HIBERNATE state, it must be STOPped from another terminal. o when VAXNET is talking to another VAX (at 9600 baud), the XON/ XOFF which the terminal driver sends when the typeahead buffer is almost full does not always work properly (loose characters). This problem it not so bad when communicating with RSX-11M or Page 2 if the baud rate of the remote terminal port is less than that of the local port. The problem does not exist if the remote port is at 1200 baud. Build Procedures: Several command procedures are available for building SNDRCV and VAXNET. ========> [VAX82B.PSDI.VTM]AAAREADME.TXT;1 <======== VTM is a program used to format messages for a VT100 terminal. Various options are available and are listed below. If no options are specified, the default is to clear the screen and write the message in double height characters centered in the middle of the screen. Get help on "Startup" and "Format" before attempting to use VTM. ========> [VAX82B.REDO]AAAREADME.TXT;1 <======== REDO The Redo Command enables users to capture the previously typed DCL command for editing. This feature is especially useful when typos are made in long command strings. The user need only correct the typos rather than retype the whole command string. The user must first enable the Redo Command Line Interpreter by typing $REDOCLI to allow the use of the Redo command. This command line interpreter is virtually transparent to the user and captures the previous DCL command for Redo to act upon. To disable the Redo Command Line Interpreter, type \\ . ========> [VAX82B.SAO]AAAREADME.TXT;1 <======== RED, STOIC, and CALC: Installation and Maintenance 1. Before You Start Before performing installation or maintenance, set your default directory to this one and type "@ASSIGN" to create logical names for the maintenance directories. 2. Trying Them Out The easist way to try out RED, STOIC or CALC is to do $ @ASSIGN as above, then define the following symbols as desired: $ RED :== $SAO$RED:RED RED $ STOIC :== $SAO$RED:RED $ CALC :== $SAO$RED:RED FLODEF Typing "STOIC" will then start STOIC, and typing "RED filename" will start RED with the given input file (or "RED" by itself to start without loading a file). CALC is a floating-point reverse-polish calculator. It is slightly documented and still under development; however, it works. For example, the command line: $ CALC 2. .SQRT 2. ./ .ASIN 4. .* .= CR ;F will calculate the value of PI as four times the arcsine of the square root of two over two, type the result, start a new line, then exit. 3. Installing the RED/STOIC Image A single image is contains both STOIC and RED. Type @INSTALL to copy the image to SYS$SYSTEM and install it in VMS. Installation is not necessary, but makes RED/STOIC more efficient, which is useful on heavily loaded systems. RED/STOIC is totally re-entrant and installing the image allows VMS to take advantage of this fact. Symbolic names for commands would then be $ RED :== $STOIC RED $ STOIC :== $STOIC $ CALC :== $STOIC FLODEF 4. Building RED/STOIC from Scratch To generate STOIC and RED from scratch, set default to this directory and type "@STOBUILD". STOBUILD will assemble all MACRO modules which form the STOIC kernel and link them, producing RKERNEL.EXE. It creates a copy of KERNEL.EXE called HEAD0.EXE which is used later in creating images of fullblown STOIC and RED. STOBUILD then compiles the rest of STOIC and creates the image SAO$STOIC:STOIC.EXE. STOBUILD then compiles RED and creates the image SAO$RED:RED.EXE To run STOIC and RED, define symbols such as $ STOIC :== $STOIC.EXE $ RED :== $RED.EXE RED 5. Miscellaneous Information The command procedure ASSIGN.COM will assign the logical names Page 2 SAO$KERNEL, SAO$STOIC, and SAO$RED to sub-directories of the current directory. The SAO$KERNEL logical name is necessary when using the image creation facility (to create .EXE files). 6. New RED Feature, not Documented in RED.MEM There is a new RED command, ",", i.e., the "comma" command. This commands causes RED to enter input mode and for the words "INPUT MODE" to be written in the command area of the screen. Although bulk input (typing in lots of text at one time) can be done conveniently from IMMEDIATE MODE, some users have found it to be expensive, since RED does one QIO per keystroke in IMMEDIATE mode. INPUT MODE does one QIO per RETURN or DELETE. Cursor movement and INSTANT COMMANDS are not available from INPUT mode; otherwise it is the same as IMMEDIATE MODE. INPUT MODE is exited by typing LINE-FEED. Much the same efficiency gain could be obtained by more intelligent use of the terminal driver in IMMEDIATE MODE. This may be implemented in a future release. 7. Information on changes for previous STOIC users from Jonathan Mark: This version of SAO STOIC/RED has been modified to work under version 3.0 of VMS. The old non-re-entrant version failed to work on at least one system running version 3.0 because of a problem with RMS buffers in the P0 region. That problem has been fixed by the inclusion of the IOSEGMENT value in the options files RKERNEL.OPT and HEAD0.OPT. Parts of some screen handling routines also failed to work under version 3 in the old version, notably when RED was first started up and the ANSI_CRT terminal parameter was set. These have been fixed by trivial changes to TYIO.MAR (enabling GETMODE and SETMODE to examine and alter the new extended terminal characteristics field) and to E (changing the lengths of the arrays for terminal characteristics from 8 to 12 bytes), and a slightly larger change to the EDV module, causing RED to reset the ANSI_CRT parameter on startup (the parameter is returned to its original value on exit). This version is also able to operate as a batch job. Previous versions, when run non-interactively, failed with a repeating error message when STOIC attempted to do QIO output to the log file. When this version of STOIC is started up, it calls a routine ("outinit", defined in TYIO.MAR) to determine whether the job is interactive and define the TYO and TYPE output words accordingly, using RMS for the output if the job is not interactive. Later implementation note: Two changes to the STOIC link/create-images procedure were found to be necessary for proper operation under VMS 3.0. It is now only necessary to link one executable image, instead of two as in the old re-entrant version. This image, RKERNEL.EXE, is then copied into HEAD0.EXE. This prevents discrepancies that came up between the kernel image and the prototype header image, when one was linked read/write and the other was linked read-only. The kernel is now linked read/write, making it possible to write over the code when running RKERNEL.EXE; however, STOIC-created images are set up to contain only read-only image sections and are safe Page 3 from demolition by misguided STOIC programs. The other change was to RKERNEL.OPT (now the only options file): the STOIC object modules are now combined (and isolated) in their own cluster (named STOIC). This prevents a problem that came up when libraries and other object modules (such as FORTRAN subroutines) were linked with STOIC: the alien code would appear in STOIC's image sections, confusing the image creation routine. With the STOIC code in its own cluster, this does not happen. One thing to be careful of: problems with RED have been observed that appear to stem from too great a value for the O.BUFSIZE constant in OBUF. If "quota exceeded" messages appear (or even if they don't) while running RED, examine the constant near the beginning of the OBUF file and change it if necessary; as a note in that file explains, it should be at least 16 less than your SYSGEN parameter MAXBUF. It could also be increased for efficiency, if it is found to be lower than necessary. -Jonathan Mark ========> [VAX82B.SCT]AAAREADME.TXT;1 <======== SCT Fall 1982 Decus contribution The Following is a set of programs from: Mike Liveright {et al} Systems Control Technology {Was SCI} 1801 Page Mill Road Palo Alto Ca. 94301 (415) 494-2233 ---------------------------------------------------------------------- APL CROSS SED SPLIT STAT WORD XTOC I think that all the programs have runnable EXE files, on the other hand, most of the programs can also accept their parameters from the command line. This means that for some uses it is useful to define them as FOREIGN commands. ---------------------------------------------------------------------- ---> [.APL] .. The Current version of SCI_APL {APL.V30}. This now interfaces with VMS V3.0, and contains some fixes relative to the previous versions. I suspect that this will be the version that is in the DECUS library, and probably the last version that will be submitted. Also included as Sub-Directories are various unsuccessful attempts to document SCI_APL and a Pascal and another Fortran version of APL interpreters. These other versions are not necessarly correct either, but since I got them, have fun. ------------------------------------------------------------------------ ---> [.LIB] .. Various FORTRAN and MACRO routines that are in MY library that are used for the programs discussed below. These seem to be somewhat useful, and I am to lazy to include only those that are needed for the programs below. ----------------------------------------------------------------------- ---> CROSS .. An update of the CROSS-Reference program. The major additions are: 1) a condensed option that permits the tree to be shown in full the first time a routine is encountered, but suppresses the display of the called subroutines the subsiquent times that the routine is called. 2) The possibility of entering a set of files, or a general file spec as the SED .. An-other Stream Edit Program. I have found this program quite useful in my System Management Position. The major purpose of this program is to take an output_file. The Goodies that are in this are: 1) Of-Course there is a string replacement, and a "show" the lines that have a string in them. Page 2 2) A string can be put at the start or the end of all lines. 3) The lines can be Rotated, Truncated, or the start of the line eliminated. 4) If the first line of a file contains a Format definition, then the Numeric fields can be TOTalled, or Averaged, and the "editor" permits the Field by Field changing or addition of records. Note.. This "editing" is very kludgy, but it can work. The major use of this program is to get an interesting file, example: SYSUAF.LIS, and on the first edit, output it to a "local" file, e.g. ">A". Then re-define the input to "A" until the final varsion is obtained. I have defined, in SCI_INF:FILES. a list of "known" files that this program can access by giving the "index" of the files. In my case the first line of this file is: SYS$SYSTEM:SYSUAF.LIS -- The User Authorization file This permits this file to be accessed as "<.1". As usual: Read the beginning of the Program, and the program itself. ---------------------------------------------------------------------- ---> SPLIT .. A program to Split FORTRAN source at routine boundaries. This is not altered from previous versions, but is included to permit the splitting of the APL.V30 file. ----------------------------------------------------------------------- ---> STAT .. An update of the SCI VAX 2.0 Status display. This matches the V3.0 Data structures. Note.. The program must be run with CMEXE priv so that it can get at the various data structures. The main indication that it is not being run in this way is that there is no NULL time. Note.. I could not maintain all the information that was displayed in the V 2.0 status display because: 1) Either DEC has eliminated some of the handles into the system, e.g. those into the Print Queue's and the Page File entries, .. Or .. 2) I could not find sufficient documentation in the code that was on the Distribution Tape. I Suggest that DEC should recognize that programs of this type would be written by users, and try to maintain as much documentation on-line. In Version 2.0 the file LIB.REQ contained most of the data structures in the system. As far as I can find, Before asking at Fall 1982 DECUS, these definitions have been deleted except for those Page 3 that DEC assumes the user MUST know about. I also tried to get the On-Line / Off-line status of the line printers, but it seems that the status that I could get in GETDEV, did not seem to be right??? I also suggest that DEC permit a user to access the JPI information about the NULL and SWAPPER process rather than requiring the kludge that is in this program. ----------------------------------------------------------------------- ---> WORD .. An-other spelling program. This program is in an early stage of developement, but still seems worth having. The program permits the following: 1) Take a file, [VAX82B.SCT.APL]AAAREADME.TXT;1 <======== ! README.1ST !! Documentation and command procedure for SCI_APL ! ! @README.1st will COPY the SCI_APL to a tape ! See the end of this file for MORE details !---------------------------------------------------------end.of.info ! $ Show time $ write sys$output "Note.. A tape that will be Initalized, and" $ write sys$output " SCI_APL will be written to should be" $ write sys$output " on MT:" $ write sys$output "" $ inquire what "INITALIZE and COPY SCI_APL:*.* to MT :default YES" $ $ what := 'f$extract(0,1,what) $ if( what.EQS."N" ) then goto enddoc $ $ Directory SCI_APL:/Totals/Size=all $ initalize MT:/density=1600 SCIAPL $ mount MT: SCIAPL $ Copy SCI_APL:*.* MT:*.*;1 !! SCI_APL $ Copy SCI_EXE:SPLIT.*,XTOC.* MT:*.*;2 !! Two useful programs $ $enddoc: $ write sys$output "Type AAAREADME.1ST for other information" $ EXIT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This is the latest release of SCI_APL, a resonably complete version of Iverson's A Programming Language, to DECUS and other interested persons. As before, this is in the public domain, and will be supported as time permits. This software is provided by: Mike Liveright Systems Control Inc. (415) 494-1165 1801 Page Mill Road. Palo Alto, Ca., 94304 The following will INITALIZE and COPY SCI_APL:*.* to tape for SCI_APL. NOTE.. To RUN SCI_APL, Recompile it, etc. it is necessary that a system name "SCI_APL" be defined that points to the directory in which SCI_APL resides. The following is in my SYSTARTUP.COM file. ! $ DEFINE/SYSTEM SCI_APL DRA2:[SCIAPL] The update history of SCI_APL is contained in the last source file of APL.FOR, i.e. the SUBROUTINE ZAPL. In general I have tried to fix bugs as they were found, and remove some of the restrictions. Thanks are due to the people who tried to use SCI_APL, dispite the errors, so that these errors could be found. Steve Turley of MIT supplied the basic code for using standard DEC editors, i.e. EDIT, EDT, and TECO, thanks. I modified it, so he is not to blame for the errors, but just deserves the credit if it works. The files on this tape are: Page 2 README.1ST .. This file APL.FOR, APL.OBJ, APL.OLB, APL.EXE .. Obvious .. note.. APL was probably compiled with debuging on. To get a faster running version, and one that does not check array bounds, re-FORTRAN APL.FOR, and then re-LINK it. APL.Vxx .. Older versions of SCI_APL *.I .. Include files for SCI_APL compilations *.SCI .. Data files used in running SCI_APL APLHEL.SCI .. The )help file. This contains information about the APL commands, etc. The format of this file is: header information, followed by a first level title, * in col 1, followed by the information about that topic. APLMNE.SCI .. The MNEMONICS, e.g. .eq ... for ascii keyboards, so that the the user can enter FORTRAN type mnemonics for the operators rather than "strange" apl characters. APLSET.SCI .. The "inital" setting when APL is brought up. APL should probably be defined as a system command so that the system programmer can define in each user login: APL :== $SCI_APL:APL @ The user can then automatically get the inital settings, and append these with his own settings, see: SYSSET.SPL. APLTRA.SCI .. The translation between the external APL keyboard and the internal ASCII characters. After a: )set apl, the input keyboard characters are translated into the internal ASCII, and inversly on output. SPLIT.* .. A routine for spliting APL.FOR XTOC.* .. A routine for listing APL.FOR *.R .. The FALL 1980 DECUS runoff files. There may be errors, but some documentation is better than none ??? FOR003.DAT .. The output of a Calling/Called program run against APL.FOR .. This may be out of date, or missing, but if it is on the tape it can be PRINTED to give an idea of the sturcture of the SCI_APL program. *.SPL .. These separate source files are generated by $ RUN SPLIT and the giving the source name APL.FOR. The Update Page 3 history is contained in the last subroutine ZAPL, of the APL.FOR file. There may be one undefined subroutine, i.e. START_TIME. This is the DECUS program for generating a PC-HISTOGRAM, DECUS, Spring 1979. The program is not used unless the user enters )pchist. This would trace the Program Counter for optimizing. Don't worry, or comment out the call from the program SYSPCH, or write a no-op program to field the call. ========> [VAX82B.SDC]AAAREADME.TXT;1 <======== This subdirectory contains certain programs used by SDC Huntsville on the VAX 11/780 which may be of interest to the VAX community. The utilities are: ASK - similar to INQUIRE but with a /TIMEOUT and /DEFAULT=answer switch. We use it in our SYSTARTUP.COM to continue execution with a default setting even when there is no operator on duty. CLEAR - a stand-alone program to clear physical memory. Reported in the PAGESWAPPER. EDT - an EDT command file with templates/initial settings which we find useful. Reported in the PAGESWAPPER. FPRETTY - a Fortran "pretty printer" from Dr. Ann Copeland of Georgia Tech Research Institute. SNOBOL - from Wendell Turner of TRW. This set of programs was put together by Mark Paulk System Development Corporation 4810 Bradford Blvd NW Huntsville, AL 35805 (205) 837-7610 ========> [VAX82B.SDC.ASK]AAAREADME.TXT;1 <======== The ASK program is used in our SYSTARTUP file to ask such questions as "Do you want to bring up DECnet?", etc. We needed a timeout/default answer equivalent to INQUIRE and this filled the bill. It could be used as follows: $ASK:==$ASK ! assuming in sys$system $ASK/TIMEOUT=8/DEFAULT=NO ANSWER "Question? " $SHOW SYMBOL ANSWER ANSWER = "NO" ! assuming no answer and ! timeout after 8 seconds ========> [VAX82B.SDC.CLEAR]AAAREADME.TXT;1 <======== This directory contains the source of a clear memory program which may be of use in a classified environment. It has not been officially approved by any agency for use in a classified environment. This was written up in the PAGESWAPPER. ========> [VAX82B.SDC.EDT]AAAREADME.TXT;1 <======== This EDT command file was written up in the PAGESWAPPER. Its primary nicety is in setting up various templates for BLISS and RNO initial cuts. We like it. ========> [VAX82B.SDC.FPRETTY]AAAREADME.TXT;2 <======== The FPRETTY files are a Fortran pretty printer written by Dr. Ann Copeland Engineering Experiment Station Georgia Institute of Technology 347 Ferst Drive Atlanta, GA 30332 They were modified by Mark Paulk System Development Corporation 4810 Bradford Blvd NW Huntsville, AL 35805 to perform the CLI interface functions (which is a really neat VMS V3 way of writing your commands), and a few errors (noted in the source) were corrected. ========> [VAX82B.SDC.SNOBOL]AAAREADME.TXT;3 <======== The SNOBOL interpreter included here was written by Wendell Turner of TRW and wove a treacherous path through Dan Richard of TRW to me. There was at one point in time a question as to whether keywords should be upper or lower case, thus there are two versions of the SNOBOL interpreter enclosed. See subdirectory [.UPPER]. This has been of good use to a number of people and should be of interest to the VAX community (and beyond). Mark Paulk ========> [VAX82B.SEARLE]AAAREADME.TXT;1 <======== This submission includes 2 programs. TAPECHECK is a program designed to quickly and inexpensively test the data reliability of a magnetic tape. This is a later release of the same program submitted to an earlier DECUS tape, I think Fall 82. SETUSER is a program similiar to the unsupported utility that existed on VMS V2.0, but vanished with VMS V3.0. OCTOBER 14, 1982 JIM LELLMAN G. D. SEARLE & CO. RESEARCH COMPUTING SERVICES 4901 SEARLE PARKWAY SKOKIE IL, 60077 ========> [VAX82B.SETUPV]AAAREADME.TXT;1 <======== SETUPV - A sub-routine to display specified data to the current SYS$OUTPUT when control-V is typed. SETUPV takes two arguments by reference. 1. The first is the starting address of the data to be displayed (in COBOL, this is the dataname). 2. The second is an integer specifying the number of consecutive bytes after the above address to be displayed. In COBOL, use a COMP SYNC data item. EXAMPLE: IDENTIFICATION DIVISION. PROGRAM-ID. VTEST. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. VAX-11. OBJECT-COMPUTER. VAX-11. SPECIAL-NAMES. CONSOLE IS CONSOL. * *INPUT-OUTPUT SECTION. * *FILE-CONTROL. / DATA DIVISION. *FILE SECTION. / WORKING-STORAGE SECTION. 77 CHARSTRING PIC X(6). 77 NUM-SIX PIC 9 VALUE 6 COMP SYNC. / PROCEDURE DIVISION. * MAIN-PROC-DRIVER. CALL "SETUPV" USING BY REFERENCE CHARSTRING BY REFERENCE NUM-SIX. 0100-AGAIN. MOVE "ZERO" TO CHARSTRING. MOVE "ONE" TO CHARSTRING. MOVE "TWO" TO CHARSTRING. MOVE "THREE" TO CHARSTRING. MOVE "FOUR" TO CHARSTRING. MOVE "FIVE" TO CHARSTRING. MOVE "SIX" TO CHARSTRING. MOVE "SEVEN" TO CHARSTRING. MOVE "EIGHT" TO CHARSTRING. MOVE "NINE" TO CHARSTRING. GO TO 0100-AGAIN. 0200-EXIT. STOP RUN. ========> [VAX82B.TRISOFT]AAAREADME.TXT;5 <======== ASM68K -- MC68000 Cross Assembler This cross-assembler for the Motorola MC68000 microprocessor was entered into the public domain by Mr. Al Kossow, Milwaukee, Wisconson and has also appeared in Dr. Dobb's Journal, issues #72 and #73 (October and November, 1982). The original assembler runs under RT-11 and RSX-11M, including some subroutines in Macro-11. It has been adapted to native VAX/VMS from RSX-11M by TriSoft and is presented here, including additions and changes, also in public domain. The files in this contribution include: o ASM68K.FOR -- FORTRAN source useable either under VMS native FORTRAN or RSX-11M FORTRAN o ASM68K.MAR -- RSX-11M Macro-11 subroutines, needed only for PDP-11 o ASM68KSUB.FOR -- VMS FORTRAN subroutines, needed only for VAX/VMS o ASM68K.DOC -- Minimal documentation on assembler use o ASM68K.COM -- Command file to build a VMS version cross-assembler o ASM68K.EXE -- Executable VMS version cross-assembler o INHEX.FOR -- FORTRAN source for conversion of object file to INTEL HEX format o INHEX.COM -- Command file to build a VMS version of INHEX o INHEX.EXE -- Executable VMS version of INHEX o TEST68K.* -- Sample test program with output (LIS, OBJ, HEX) Although this program has been used by TriSoft and appears to perform well, TriSoft can make no guarantees as to its correctness or usability in any particular application. Any comments or improve- ments you may have may be directed to: James M. Knox TriSoft 4102 Avenue G Austin, Texas 78751 ========> [VAX82B.UBAOPN]AAAREADME.TXT;1 <======== This UIC contains all the files for a program, UBAOPN, that reads and writes device registers on UNIBUS 0 and UNIBUS 1 of a VAX-11/780. The program is used mainly by systems staff to test UNIBUS devices. UBAOPNPKG.COM -- command file to compile and link UBAOPN UBAOPN.FOR -- Fortran 77 source UBAOPN.HLP -- on-line help file Submitted by: Philip Watson, The University of Texas at Austin, Computation Center, Austin, Texas 78712 ========> [VAX82B.UNIX]AAAREADME.TXT;1 <======== This is the VMS program which reads UNIX filesystems. At present, it only knows about V6, V7, and 32V filesystems. Enhancing it to know about 4BSD filesystems shouldn't be too much work. The program is written in C. It was originally written to enable our UNIX systems to read UNIX filesystems different from their own. It was ported to VMS using EUNICE. It requires various UNIX include files, which I'm not putting on the tape since I'm not certain as to whether I can do so without getting into problems of giving away licensed software. If you have UNIX, though, you probably have all the necessary include files anyway. Some things (such as BLKSPERCYL and the cyloff[] table) will almost certainly have to be changed in order to be compatible with your configuration. I have no idea how well this will port to VMS using the new DEC C compier and UNIX support library. I'd be curious to know what sorts of problems (if any) you have if you try that approach. Also included on this tape are various bits of documentation: The UNIX manual page for this program (plus the un-troff'ed original), and a documentation file that lives on our VMS system. Comments and other feedback are invited and encouraged! Mark Bartelt HSC Research Development Corporation 555 University Avenue Toronto, Ontario M5G 1X8 Canada 416/598-5955 ========> [VAX82B.WESTAT]AAAREADME.TXT;1 <======== WESTAT DECUS SUBMISSION This directory has three subdirectories that contain PL/I and MACRO programs implemented at the Westat. Most of the programs have associated help files. Please send comments or bug reports to: Allan Jaworski Westat, Inc. l650 Research Blvd. Rockville, MD 20850 (301)-251-1500 x8645 All subdirectories have AAAREADME.TXT's. Subdirectory contents: WESLIB A collection of string, date, and i/o handling functions illustrating many VAX PL/I programming techniques. UTILITIES Disk file, tape, statistical, and system monitor utilities PLIMAC A language preprocessor similar to the IBM PL/I Optimizing Compiler preprocessor. We have used it mainly with PL/I and FORTRAN source, but it can handle nearly any language. ========> [VAX82B.WESTAT.PLIMAC]AAAREADME.TXT;1 <======== WESTAT PL/I PREPROCESSOR This directory contains a VAX implementation of a preprocessor for the PL/I language similar to that available in IBM's Optimizing Compiler implementation. Files are: PLIMAC.EXE executable image, should be installed as a foreign command by $ ASSIGN (this directory) WES$PLIMAC $ PLIM*AC:==$WES$PLIMAC:PLIMAC PLIMAC.HLP a help file with many examples NEATEN.PLM a sample preprocessor macro similiar to the example in Barnes' book PL/I for Programmers NEATEN.PLI PLIMAC output produced from NEATEN LAYOUT.PLM examples and output, FORTRAN.FOR produced with the LAYOUT.PLI /FORTRAN/OUT=FORTRAN.FOR options FORTRAN.PLM FORTRAN.FOR WHILTST.PLM WHILTST.PLI PLIMAC can be used as a preprocessor for a number of other languages including FORTRAN and MACRO. It seems to be a more efficient implementation than the IBM preprocessor. We would appreciate reports on any bugs found or comments on implementation style. Contact Tip Dow or Allan Jaworski at Westat (301)-251-1500. ========> [VAX82B.WESTAT.UTILITIES]AAAREADME.TXT;1 <======== WESTAT UTILITIES This directory contains a number of utilities of general use. Most of them are documented with help files of the same name with the .HLP qualifiers. All are written in PL/I or MACRO. To run them include the logical name assignment $ ASSIGN/SYSTEM (this directory) WES$UTILITIES in SYSTARTUP.COM or a similar assignment with /SYSTEM in your LOGIN.COM. If you recompile and relink them you need to specify WES$LIBRARY:WESLIB.TLB as a text library for the compiler and WES$LIBRARY:WESLIB.OLB as an object module library for the linker (See a parallel directory). To report bugs please contact Allan Jaworski or Alan Cutler at Westat (301)-251-1500. A brief description of each utility follows: DUMPLIST-- Produces a formatted dump of data on a tape. The dump is especially readable since nonprintable characters are dumped in hex format while printable characters are printed directly. To run use: $ DUMPLIST:==$WES$UTILITIES:DUMPLIST $ DUMPLIST options and parameters SASLIST-- Similar to DUMPLIST but dumps a disk data set. Both DUMPLIST and SASLIST are modeled on the LIST facility of the Statistical Analysis System (SAS). $ SASLIST:==$WES$UTILITIES:SASLIST $ SASLIST options and parameters FIXED,VARIABLE-- Interactive programs to change file in variable length format to fixed length and vice versa. $ FIXED:==RUN WES$UTILITIES:FIXED $ FIXED $ VARIABLE:==RUN WES$UTILITIES:VARIABLE $ VARIABLE FREQ,XTAB-- Easy to use interactive/batch procedures for producing frequencies and crosstabulations of selected character fields in files. They both may be used to create command files which may be repeatedly run in interactive or batch mode. Since both procedures do no data conversion, they run considerably faster than most statistical Page 2 packages. $ FREQ:==$WES$UTILITIES:FREQ $ FREQ file options $ XTAB:==$WES$UTILITIES:XTAB $ XTAB file options HOG-- A system monitoring procedure useful in spotting processes that hog important resources. HOG must be run from a VT100-compatible terminal. Must be run from a privileged account. $ HOG:==RUN WES$UTILITIES:HOG $ HOG FOREIGN-- An interactive utility for reading and writing IBM and other foreign format tapes. It's better than most we have seen so far in the DECUS library but still needs some improvement. Prompting is self-explanatory. $ FOREIGN*_TAPE:==RUN WES$UTILITIES:FOREIGN $ ALLOC MT: TAPE $ MOUNT/FOREIGN TAPE $ FOREIGN SAMPLE-- A program to copy a sample of a file to another file. Several types of sampling methodology are supported. $ SAMPLE:==RUN WES$UTLITIES:SAMPLE $ SAMPLE SUSPENDN,RESUMEN-- A tool to help the system manager to suspend and resume processes when needed to aid system throughput. $ SUSPENDN:==$WES$UTILITIES:SUSPENDN $ SUSPENDN process name $ RESUMEN:==$WES$UTILITIES:RESUMEN $ RESUMEN process name ========> [VAX82B.WESTAT.WESLIB]AAAREADME.TXT;1 <======== WESTAT PL/I SUBROUTINE LIBRARY The WESTAT PL/I subroutine library contains functions and subroutines which are of general use to the WESTAT Computer Center community. Included are special string processing, date processing, and I/O functions which are likely to be rewritten many times as applications and system programs are implemented. Most of the functions are written in the VAX ANSI G PL/I language but a few are written in MACRO. The file WESLIB.OLB contains object modules and the file WESLIB.TLB contains entry point definitions which may be included in PL/I programs through the %INCLUDE command. For this library to be accessible to users the following logical name assignments should be included in SYSTARTUP.COM: $ ASSIGN/SYSTEM (this directory) WES$LIBRARY $ ASSIGN/SYSTEM WES$LIBRARY:WESLIB.TLB PLI$LIBRARY $ ASSIGN/SYSTEM WES$LIBRARY:WESLIB.OLB LNK$LIBRARY The help file should then be installed through $ LIBRARY/INS SYS$HELP:HELPLIB.HLB WES$LIBRARY:WESLIB.HLP This library has been fairly well checked, but we make no guarantees. To report bugs or suggest better algorithms contact Allan Jaworski or Alan Cutler at Westat (301)-251-1500. Detailed documentation is in the help file WESLIB.HLP.