========> [VAX83B.ECS]AAAREADME.TXT;1 <======== ECS Contributions to the Spring '83 VAX SIG Tape The Engineering Computer Station is part of the School of Engineering of the University of Massachusetts Amherst campus, if anyone is really baffled by the name. The Engineering Computer Station is submitting three items which we have found EXTREMELY useful. Unfortunately, only the executables are being made available, due to time constraints. Anyone who wants more information about any of these programs, or the sources, may contact me for more data. The first of the programs is called INFORM. It permits, when installed properly, any user to send a one-line message to any other interactive user on either the local host or on a host connected via DECnet (R). It uses bit 0 of the location CTL$GL_SITESPEC for the /NORECEIVE capability. All files pertaining to this program are in the subdirectory named [.INFORM]. The second program is the Group Quota Manager, which performs correlations between usernames, account names (from the UAF ACCOUNT field), and disk quotas. It creates and uses a small indexed file on the MFD of each disk on which it is used. These files are in the [.GQM] subdirectory. NOTE: A new version of this is in the works, which will understand wildcards (a major lose in the current version). The final program is called BECOME. It is a command which permits a suitably privileged user (CMKRNL required) to assume virtually every attribute of any user in the UAF. This includes quotas, privileges, account-name, username, processname, UIC, SYS$LOGIN directory, and login command file (this last is sometimes flakey). These are assumed for the CURRENT process, so it can be used to see if a particular user has enough oomph to perform some action (quotas, privileges, &c.). The files associated with this are in the [.BECOME] subdirectory. These programs, binaries and source, are the exclusive property of the Engineering Computer Station. No guarantees as to their performance are given. These programs may be used by any site for internal use ONLY, and may be re-distributed to any requesting site, provided this Page 2 copyright notice accompanies them and that they are being distributed free-of-charge. Please send any bug reports, suggestions, or flames to me at Ken Coar Engineering Computer Station 100 Engineering Building East University of Massachusetts Amherst, MA 01003 Alternatively, I may be reached via netmail on CSnet, ARPANET, or Usenet at COAR.UMASS-ECE@UDEL-RELAY>. Enjoy, folks! Ken A L Coar ========> [VAX83B.ECS.BECOME]AAAREADME.TXT;1 <======== The BECOME Command The BECOME command allows a privileged user to assume almost any attributes of any user in the UAF. The program requires CMKRNL privilege, since the information it changes is in protected memory. There is help for BECOME in the file BECOME.HLP. The program is pretty much self-explanatory, I believe. /USERNAME and /UIC are the defaults, which may be changed by editing the BECOME.CLD file. If you plan to put the BECOME executable somewhere other than SYS$SYSTEM, the .CLD file will need to be edited to reflect the new location. BECOME is a command, and the command definition for it is in the aforementioned .CLD file. See the AAAREADME.1ST file for INFORM for information about installing the command. We have found BECOME very useful at ECS, since we have a number of 'development' accounts (privileged) which are very project-specific. BECOME allows us to keep these quotas and privileges separate without having the danger of the account being broken into - since they are set /FLAGS=DISUSER in the UAF! Also, BECOME is very useful for moving files around without having to look up a UIC and then set it. BECOME tries to grab CMKRNL, so if your AUTHPRIV mask specifies either CMKRNL or SETPRV (regardless of the CURPRIV mask), you can use it. When munging privileges, it modifies ONLY the CURPRIV mask. A word of caution, and a note on our implementation: DO NOT INSTALL BECOME! It is a very dangerous program, having essentially the same implicit hazards of SETPRV and DETACH, and should be used ONLY by responsible people. At ECS, we have two sets of commands: those the users can execute, and those available to the staff. The latter are a superset of the former. The users are not even aware of such programs as BECOME, as the help is in a help library pointed to by a GROUP logical name available only to the staff groups. The command set is set up by the system login procedure (SYS$SYLOGIN), and the staff command set is protected from world access. BECOME is usable only on VMS systems running V3.0 or higher. ========> [VAX83B.ECS.GQM]AAAREADME.TXT;1 <======== The Group Quota Manager (GQM) The Group Quota Manager (GQM) program was written because I saw a crying need to get SOME sort of correlation between usernames and disk quotas. It was written under VMS V2.2, so there are some things it lacks (such as prompting help). On the other hand, some V3.0 enhancements were added, so GQM understands volume sets. In order for GQM to work, diskquotas must be enabled on the target device. Once that has been done, a series of initialisation commands must be issued to GQM, and then the diskquotas may be maintained by GQM indefinitely, and with much less agony than with DISKQUOTA. GQM also helps track down UIC's which own space, but aren't associated with a username. See the last section of this file for more information. GQM should be INSTALLed with SYSPRV, so that it may access its database file (in the MFD, and described later). It does not yet look for commands from the command line. (Next release...) The file GQMHELP.HLB should be moved to SYS$HELP, and where GQM.EXE goes is entirely up to you - there are no dependencies beyond the location of the help file. A minor note, to start off with: GQM may seem kludgy in some ways, and you can get some bizarre errors under certain circumstances, but IT WILL NOT MUNG ANY DISKS. It doesn't have prompting help (as noted above), and doesn't understand wildcards, and implements only write-access security. These will be forthcoming in the next release (hopefully ready for the Fall VAX SIG tape). So hold on, folks. Okey. Once quotas have been enabled with DISKQUOTA, here are the commands you must issue to get GQM primed for operation (It is assumed that DRA1: is the name of the target disk, and that GQM resides in SYS$SYSTEM): $ RUN SYS$SYSTEM:GQM GQM> USE DRA1: (At this point, you may or may not receive a message about a created file. The file involved is [000000]AQUOTA.SYS, which is used to keep track of account allocations.) GQM> REBUILD GQM> MAXIMIZE ACCOUNTS Page 2 (Here is where one of those bizarre errors may raise its head. You may get a message about an internal RMS bug, which I have been unable to track down. If you do, it means that the MAXIMISE operation is incomplete, and that you'll have to finish it by hand. Oh well.) GQM performs two levels of correlation: UIC to USERNAME, and USERNAME to ACCOUNT. The account is derived from the field of that name in the UAF. If you use that field for some other purpose, you may not be able to use GQM to its full extent. But at least you will have the first level of correlation available, and can ignore the second. Here's what GQM does: Each account (as described above) is granted a certain allocation by the system manager, or the equivalent. Privileged users (discussed momentarily) may apportion this among any and all of the users IN that account, but the total may never exceed this allocation. So, a research group may be granted 10000 blocks, and the wrangling over how it will be split up is taken out of the system manager's hands (and hair). The privilege which allows a user to muck around with the apportionment of space WITHIN HIS OWN ACCOUNT is SHMEM. Until such time as DEC (R) implements site-specific privilege bits, we'll have to stick with a little-used existing bit. There are three levels of security access implemented by GQM, which determine how much a user can mung allocations. The highest access, which I have labeled SYSTEM, is granted to all users who: have SYSPRV, OR have BYPASS, OR have a UIC group LEQ the SYSGEN parameter MAXSYSGROUP. A user who falls into this category can mung the quotas to his heart's content, with GQM'S blessing. This means you can remove and add users to the disk, and modify ACCOUNT allocations. The next level is called ACCOUNT level access, and allows the user to reapportion quota space WITHIN HIS OWN ACCOUNT ONLY. Users with SHMEM fall into this category. SYSTEM access implies ACCOUNT access. Commonly, this is available only to the [mmm,000] user for a particular account. The least-privileged access is called USER level, and allows the user to look at the quota allocations, but not make any changes. The previous access levels imply USER access, obviously. This is where a hole comes in: anyone can look at anyone else's quota and usage. Fixed in the next release... Page 3 The REBUILD function of GQM is very important. It is this function which does the actual calculating of how much is actually allocated to what accounts. All other commands assume this value is correct, and merely modify it. REBUILD must be issued any time a user is switched from one account to another, and when a disk is made available for GQM processing, but should not be necessary any other time. But it's not a bad idea to do one every month or so, to catch any oversights. The last major function of GQM deals with the vagrants - the name by which I refer to UIC's which own space (or have a quota), but are not associated with a username. These often occur when a username is deleted without having the files deleted as well, or when reading UNIX (R) 'tar' tapes, and occasionally with BACKUP. The command LIST VAGRANTS will show a list of all of these ownerless UIC's, and how much space is used by each. The REMOVE VAGRANT command will allow you to discard these when you have released or re-owned all file storage associated with them. Vagrants are treated as errors, and listed by the REBUILD command. Well, that's an overview of GQM. Read the help, and experiment. You cannot harm your disks with it. Good luck! Ken A L Coar ========> [VAX83B.ECS.INFORM]AAAREADME.TXT;1 <======== The INFORM Command The INFORM command allows any user to send a one-line message to any other interactive user on the current system or on another system available via DECnet (R). Examples of its use are in the HLP file that comes with this submission. It uses bit 0 of the location CTL$GL_SITESPEC to indicate the status of the /NORECEIVE flag. To be used by any user, INFORM should be INSTALLed with (CMKRNL, OPER, WORLD, NETMBX). The CMKRNL allows the program to write to the above location, which is protected at URKW. OPER allows use of the $BRDCST system service, whereby the message is actually sent. WORLD allows the program to find the target of the message, and NETMBX allows it to talk to DECnet (R), regardless of the user's privileges. If you plan to use INFORM with DECnet (R), the following commands should add it to the permanent database: $ RUN SYS$SYSTEM:NCP NCP>DEFINE OBJECT INFORM NUMBER 128 FILE INFORM You may substitute any number you like for the 128, if you are already using that object number. Note that numbers in the range 128-255 are reserved to customers, while the 0-127 range is reserved to DEC (R). The file INFORM.COM should be moved to the SYS$SYSTEM directory, and edited to reflect the actual location of the INFORM executable (should you choose to place it somewhere other than SYS$SYSTEM). This file is used by the network capability of INFORM. NOTE: Each node which should be able to receive INFORM messages MUST have the above object definition. The object number may differ from node to node, but the name must remain the same. INFORM is a command, and the command definition file for it is included in INFORM.CLD. This file must be edited if you plan to locate the INFORM executable elsewhere than SYS$SYSTEM. Refer to the Utilities Reference Manual for more information on command definition. If you don't care about standards and whatnot, the following commands will make INFORM available to all users who log in subsequent to their (the commands') execution: $ SET COMMAND INFORM - /TABLES=SYS$SHARE:DCLTABLES - /OUTPUT=SYS$SHARE:DCLTABLES Page 2 $ RUN SYS$SYSTEM:INSTALL INSTALL> SYS$SHARE:DCLTABLES /REPLACE INSTALL> /EXIT INFORM may be used ONLY on VMS systems running V3.0 or higher. ========> [VAX83B.EVERHART]AAAREADME.TXT;1 <======== [312,*] COLLECTION - SPRING 1983 This collection is being submitted for RSX and VAX users who will find different parts useful. Highlights: [312,315] - New version of DGT, a tape utility. New enhancement is the ability to read or list Unix TAR format tapes of blocking factors up to the Unix standard of 20. Can selectively extract files from these tapes too. Also still positions tapes, writes EOF, rewinds, reads/writes cardimages (or other length fixed factor files), reads DG RDOS tapes, etc. etc. etc. as before. An EXE is supplied for use with VMS. Also present is my latest/greatest BIGTPC with a switch to let it attempt to copy past the end-tape foil to get the double EOF on multireel backup sets. Jim Neeland's mod to support TU78's is merged in also. A copy of FPEM is included too though it needs work to run on M+ V2 still. Hopefully we can get it debugged sometime by F83. [312,345] - Version 4.0+ of PortaCalc spreadsheet. (Area [312,352] has object libraries for building under VMS and an RSX task image for those who don't have Fortran. This version is much faster than earlier ones and supports larger sheets. It also has greater capabilities including full 3D sheet support. Also on RSX the arrow keys now work and commands may be entered lowercase if desired. [312,346] - Memory disk driver mods for multiple systems (M/M+ v3.2,v4, v1,v2). However, still needs work. Won't crash M+ V2 but seems to fail to find partition. Included in case anyone wants it badly enough to fix it up. [312,347] - A spreadsheet from the Unix world. This sheet is less capable than PortaCalc, uses the Unix termcap routines (not included) for screen I/O. To get it running you'll need something like the termcap screen routines (maybe start with the old TECO screen routine). A bit of documentation of these is present but no code. If anyone wants this badly enough maybe they'll fix it up to compile under DECUS C (the new one in the DECUS library has floats, longs) and submit it for F83. Of course, your friends running Unix might like a copy as is ... [312,350] - A CP/M disk utility from the Unix world. Needs some mods to get it running for RSX and of unknown quality. Nevertheless, maybe some kind soul will get time to fix it up for F83. Claims to read, write, list CP/M 1.4 disks on RX drives. Low level I/O needs to be replaced with some form of QIO$ access or some other low level access kluge. Maybe copy to files on other disks, set attributes to 128 byte records, then just read/write the records. This gives 2 utils, one to copy to/from real RX01 or single density RX02, the other this modification utility. Be aware Unix uses bare linefeeds as line terminators; you'll need to TECO lf to crlf to read source files, or the i/o lib will have to. [312,351] - My mods to DUPLEX for delayed transmission of text to half duplex systems. Designed to save continual typing of control chars. Useful only for source code transmission. [312,352] - OLBs of PortaCalc for VMS and .TSK of PortaCalc for RSX. The task image has F4PEIS linked in so that it MAY work with the emulator. Page 2 [312,353] - Another bit of intercomputer communications software for VAX-RSX communications. ========> [VAX83B.EVERHART.345]AAAREADME.TXT;1 <======== PortaCalc Brought to you courtesy of Glenn Everhart 409 High St. Mt. Holly, NJ. 08060 USA 609-261-3709 Spring 1983 Edition: Version 4.3 This version of PortaCalc is smaller, faster (by a large factor) and more capable than the ones on Fall '82 SIG tapes. It is now fully 3 dimensional as well (by a reasonable definition of that.) Also, the keypad finally works on VAX as well as PDP11. See KEYPAD.DOC for info on the supplied default command files for implementing keypad functions. ABSTRACT: The PortaCalc spreadsheet is a FORTRAN written program able to perform the usual "what if" types of calculations for anyone with a compiler, 31KW of task space (more or less), and (in the present version) an ANSI 3.64 terminal (e.g. VT100). The program is easily recustomized for other terminals and designed for portability and functionality. A data management system interface is built in, permitting spreadsheets to access a potentially unlimited number of files and records or parts of records in those files for user defined functions, numbers, formulas, text, or whatnot. In fact it has many of the attributes of a language. Three versions are provided, with complete source code for all: a PDP11 version for I/D space machines that builds flat under RSX11M+, an overlaid version for other mapped PDP11's under regular RSX (11M or 11D/IAS), and a version for VAX that builds (flat of course) under VMS. I assume the F77 compiler but the program is in Fortran 66 (I use the /NOF77 switch). It is expected only minor changes would be needed for the DEC Fortran IV compiler however. A separate graphics output task is documented in PCG.DOC and provides histograms or scatterplots of any areas of the saved spread sheets with a simple command syntax. RESTRICTION: The overlaid version provides only a rather small spreadsheet, though it is large enough to be useful in many applications. There are some overlay tricks I haven't tried to increase the size, notably clustering. SPECIAL HARDWARE: The software must be built for the appropriate terminal. Versions of the UVT100 subroutine for VT100, VT52, Datamedia Elite, and several other types of terminals including VT100 with Advanced Video and Colorscan 10 are supplied, with command files for most combinations. The VT52 version will show what the minimum requirements are for control. Most any terminal can be easily interfaced to the package by editing one of the UVT100 routines to correspond to the terminal's control sequences, provided direct cursor addressing is supported. BUILD: There are 3 build files. COMPIL.COM Build for Vax/vms...only compiles. Concatinate Page 2 the objects and link. MAKE.CMD Non-overlay I/D space build for RSX11M+ V2 (uses F77 Compiler in non-F77 mode) SOMAKE.CMD Compact overlay structure, OK for any 11, RSX11M/M+. Note: THERE ARE COMPILER WARNINGS (ABOUT FUNCTION "INDEX") WHICH SHOULD BE IGNORED DURING THE BUILDS. I ASSUME FORTRAN 77 IS INSTALLED AS ...F4P. PRIOR TO BUILD: You must be sure the final VKLUGPRM.FTN is as you will need it. The PDP11 command files generally copy one of the template versions to this file, but the parameter file may be edited as may any template. The VAX versions of command files generally assume you know what you have is right. READ the appropriate template. Supplied templates include: VVKLUGPRM.FTN VAX "standard" version for VT100 with or without AVO BVKLUGPRM.FTN VAX "big" version for VT100 VVKLUGPR5.FTN VAX "standard" version for VT52 systems BVKLUGPRM.FTN VAX "big" version for VT52 terminal use MVKLUGPRM.FTN PDP11 version for RSX11M+ V2 I/D space, VT100 MVKLUGPR5.FTN PDP11 version for RSX11M+ V2 I/D space, VT52 SVKLUGPRM.FTN PDP11 version for RSX11M/M+ overlain, VT100 SVKLUGPR5.FTN PDP11 version for RSX11M/M+ overlain, VT52 Note that several variants of UVT100 exist too. The ones presently included are: UVT100.FTN (.FOR for VAX) VT100 control, no Advanced Video Option (AVO) assumed. Many entries are not called by PortaCalc. The ones that are used are: CUP Cursor Position ED Erase Display SGR Set Graphics Rendition EL Erase Line ANSI set ANSI mode (may be nooped) UVTAVO.FTN VT100 control with AVO terminal support. Includes only entries needed. Also uses underline to underline alternate rows and will display display-sheet row numbers as well as physical ones. This version will also highlight negative values in intensified video. By editing to change how NUL is set in the CUP entry, this could be set to highlite entries over/under a fixed amount (put the amount in one of the letter accumulators). UVT52.FTN VT52 control. Since VT52 terminals have no reverse video, draws a ">" character in first col. of cell pointed at to indicate cursor location. UVTDM.FTN Datamedia Elite 1500 control. Similar to UVT52 but cursor controls for Datamedia. UVTCS.FTN Datamedia Colorscan-10 control. This terminal uses Page 3 VT100 sequences, but UVTCS will use some of the color setup sequences to create a multicolor spread sheet. Colors are not used for showing negative numbers but could be adapted to (compare UVTAVO). UVTTV925.FTN Televideo 925 experimental version. This version has not been well tested but is intended for Televideo 925 terminals. You may easily adapt the UVT100 subroutine from any of these to handle whatever terminal you have using these routines as examples. Note the parameter JVTINC in the VKLUGPRM.FTN which adjusts for the backspace generated by UVT100 on SGR calls needs to be set correctly. Adapting UVT100 to your terminal and setting up VKLUGPRM.FTN correctly are the necessary setup actions needed prior to compiling and building PortaCalc. You may of course get UVT100 to determine what terminal type is there itself, or use the VMS terminal independent cursor positioning logic, if you wish. On a VAX you may also want to inhibit scrolling. To get PortaCalc to control the PDP11 more efficiently you may also want to SET /SERIAL=TI: under RSX (which will inhibit MCR from grabbing input you want to send to PortaCalc). The RSX flavors of PortaCalc can use escape sequences and now recognize VT100 arrow keys (VT52 too) and also that PF2 means "help". On VMS, the ESCAPE parameter works differently so the arrow key support is somewhat flaky. Edit to use a QIO$ to read the commands to fix this if you wish, just before CMDMUN is called... Remember under VMS to copy the desired file to VKLUGPRM.FTN before compiling. Ignore compiler/linker errors in RSX or VMS. They are harmless warnings. On overlay builds, some functions (notably the F file readin function) are commented out of OXQTCMD.FTN. You may uncomment them to get the functions if things fit. They may. Journaling is commented out except for VAX versions due to number of open files needed. Uncomment for PDP11 if you wish. You should be able to build PortaCalc with regular old F4P but you may need minor changes to some OPEN statements. Note too the CMDMUN and TTYINI routines to set up the console. The supplied RSX versions implement case translation and enable the arrow keys. The VAX CMDMUN usually should be used but its' TTYINI is probably wrong and the dummy should be used. The idea is to effectively SET TERM /ESCAPE (and SET TERM /NOWRAP) on VMS to get the full escape sequences in. At least set the nowrap attribute. VMS does funny things to the escape sequences; I haven't deciphered them yet. WRITEUP: 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 Page 4 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 sheet's physical size can be tailored to any desired size (subject to memory constraints) by editing VKLUGPRM.FTN and recompiling. WHEN BUILDING PORTACALC, YOU MAY ENCOUNTER FORTRAN WARNINGS ABOUT THE INDEX FUNCTION BEING ASSUMED USER SUPPLIED. IGNORE THESE; THERE IS AN INDEX FUNCTION SUPPLIED HERE, AND THE WARNINGS ARE OF NO CONSEQUENCE, EITHER ON PDP11 OR VAX. 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. 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. Portacalc will try your format once before writing to disk, however, to (hopefully) prevent you from generating an un-reusable work file. 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, unless the string contains the double quote (") character, which forces it to be treated as a literal rather than a number regardless of what else it has. 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. Page 5 Glenn Everhart FURTHER NOTE: In response to some user queries, I have added some comments in the XQTCMD.FTN and OXQTCMD.FTN code about journaling. They are a section of code (look for it just before the string "'*'" (minus the " chars)) which will implement journaling. The syntax of the journaling command would be +J filename which will cause Portacalc to record all commands issued to it in a file of the given name. The command +N will close the journal file and stop recording.. If you want to implement the functions, just take out the initial C's in column 1 and use. It uses unit 10, and I didn't want to overload task size on PDP11's. On VAX it should be fine. Glenn Everhart The journaling commands are implemented by default for VAX; not for PDP11 for size reasons. Try them if you want however; they work well. PortaCalc This file is VAX build notes: To build PortaCalc from supplied object libraries, you need just to extract all objects from a library and link: $LIBR/EXTRACT=*/OUT=PCCAVO.OBJ PCCAVO.OLB $LINK/NOMAP PCCAVO or replace PCCAVO (VT100 version with advanced video) by PCC100 (for VT100 without advanced video) or PCGRAF (for the graphics utility). These should run even if you don't have Fortran. For those with Fortran, the COMPIL.COM file builds these files from source. You can edit the VVKLUGPRM.FTN file first (compil.com copies it to vklugprm.ftn for inclusion in the compiles) to set your max sheet sizes if the ones supplied are too small. The maxima possible then are large enough you are very unlikely to need to go into sources to edit them. The file PortaCalc.hlp can become a VAX help library and be integrated with your system help if desired. The graphics utility is described separately in PCG.DOC and there is a file called KEYPAD.DOC in the distribution which describes various files of PortaCalc commands which implement auxiliary keypad functions. It should be edited to reflect any system default changes if these features are to be generally used. Note that if CMDMUN.FOR is compiled with the /debug qualifier, these files reside on device DK:, which may be ASSIGN/USER'd to a particular system area prior to running the local PortaCalc version. Apology: To those who have come to know and love the name ViziKluge which used to appear as this program's alternate title: I have withdrawn the name ViziKluge from the title page since it can be interpreted to mean the program is not really a useful tool. In fact, you will find PortaCalc a spreadsheet equal or greater in power to most any commercial product on the market, of speeds comparable with any of them, and more easily tailored to particular Page 6 needs than most. I am also mindful of the difficulty of convincing people to use a tool named "vizikluge", since its' command set is not closely related to anyone else's and learning it is another educational chore people may have. This is the reason for the alternate keypad commands (which I may expand and which you will see can be expanded yourself by editing cmdmun.for or perhaps xqtcmd.for) and the alternate keypad diagram. I expect eventually to offer a supported and enhanced version of this program commercially (for a price similar to those of Z80-based sheets, however; I am opposed to super high priced software just because it runs on VAXen or PDP11's and encourage users to revolt against it as I have done). For the present, however, enhancements to this version of PortaCalc are expected at most to include spawning subprocesses and perhaps a Datatrieve interface for the VAX versions only. I'm considering an interface to the public domain RIM DBMS instead, since that DBMS is pretty good and available from Boeing for a copy fee. However, the difficulty of providing a general purpose DBMS interface is considerable where values need to be returned. Therefore, a usable general purpose database interface may wait on a commercialized version which will integrate various other tools as well (including hopefully editing, more complex graphics, and timekeeping). I recommend all who use this product for office automation look into the DTC program from DECUS also (#11-597, code MC $70). It's a highly useful desktop calendar program for doing time based scheduling, meetings, etc. Glenn Everhart 6/14/1983 KEYS ON VT100 FOR PORTACALC The files KYP.CMD, KYR.CMD and KYSAUX.CMD implement auxiliary keypad commands when used with PortaCalc for PF1, PF3, and PF4 keys. They need to be inside the login account as presently set up but can come off DK: device if CMDMUN.FOR is compiled /DEBUG. Functions: PF1 (KYP.CMD) WIDE - Sets screen into wide mode and sets up display of 10 columns. (The DB command can vary this) PF2 (no file) HELP (gets to top help page. A reply of Hn instead of just return will get help page n. PF3 (KYR.CMD) NARROW - Sets screen into 80 column mode and sets display back to 7 columns (DB command may vary this) PF4 (KYSAUX.CMD) ENTER - Turns off aux keypad mode and goes into a mode of reading input for expressions to enter, entering them at current cursor position. The Mn command should have previously been used to set automatic motion. Any control character or space as 1st entered character, or \ as first entered character, gets out of enter mode and back to normal command mode. Note if aux keypad mode isn't turned off, various AKl.CMD files (l varies from A to N; see cmdmun.for) may be used for user defined commands. Page 7 To implement this scheme rename KYSAUX.CMD to KYS.CMD; otherwise you use KYS.CMD which means "recalculate" and the keypad is all a lot of functions. ========> [VAX83B.EVERHART.346]AAAREADME.TXT;1 <======== The files in this area are edits of the FX driver from the Fall '82 SIG tape. They are not wholly debugged but attempt to do 2 things: 1. Get FXDRV to work under all flavors of RSX11M or M+ 2. Check the fork list frequently so the driver won't hang your system from fork processing too long at a time. The FX driver implements a memory disk. This version still has problems with M+ V2, though it at least doesn't crash systems. It looks like the search logic for finding partitions works wrong in M+ V2 somehow. These files are placed here for some kind soul to fix. I'll try to if I can get time to... ========> [VAX83B.EVERHART.347]AAAREADME.TXT;1 <======== This area contains a spreadsheet of limited capacity written at CMU for Unix. It will need some work to convert for RSX; in particular some replacement for terminal screen I/O must be built. Hopefully there is enough documentation to do it. ========> [VAX83B.EVERHART.350]AAAREADME.TXT;1 <======== This area has a Unix program to read/write/list directories etc. on CP/M disks using DEC drives. By some minor editing it ought to be able to work under RSX using DECUS C. The low-level I/O needs to be done. I haven't had time, but am placing this here so some kind soul might do so by the next time. ========> [VAX83B.EVERHART.351]AAAREADME.TXT;1 <======== This is the famous "duplex" program from DECUS modified to provide the ability to delay between characters or lines sent to remote systems as needed. Kind of a kluge, but useful. Note that Duplex doesn't generate any kind of parity ASCII. For that get XMIT off old RSX SIG tapes; it can. ========> [VAX83B.EVERHART.352]AAAREADME.TXT;1 <======== These files are VMS object libraries for the default VT100 (AVO and non-AVO) versions of PortaCalc. The .TSK image is however a version of PortaCalc built for straight RSX11M with no special system conditions. ========> [VAX83B.EVERHART.353]AAAREADME.TXT;1 <======== This is a terminal I/O program for VAX that supplements VAXNET and handles parity. ========> [VAX83B.FERMILAB]AAAREADME.TXT;1 <======== [VAXS83.FERMILAB]AAAREADME.TXT Fermilab Accelerator Control System Submissions submitted by: Dr. Frank J. Nagy Fermi National Accelerator Laboratory P. O. Box 500 Mail Stop 306, Batavia, IL. 60510 (312)-840-4935 This directory tree is a submission from the Fermilab Accelerator Division. The new Accelerator Control System (called ACNET for "Accelerator Control Network") contains two VAX-11/780's and (currently) 17 PDP-11/34's. The programs and command procedures in this directory tree are general utilities and system management utilities either written at Fermilab or acquired from DECUS (via a SIG tape or from the library) and possibly modified. In many cases the software can be used at other sites without modification; some of the system management utilities are included as starting points from which sites can produce their custom versions. Each of the next-level subdirectories includes a README.1ST file which provides additional details; this file provides an overview of the entire submission. [.DOCUMENTS] This area contains several documents of general interest in RUNOFF form. Included are articles submitted to "The Multitasker" and/or "Pageswapper" on RSX-11M V4.0 SYSGEN's under VMS and usage of RSX-11M BRU on the VAX. [.FERMIEXE] This area is copied from the [FERMIEXE] directory on our system disk. We use the FERMI$EXE: logical name to reference this area in which we store locally-written utility procedures and programs of general use. Some of these procedures were originally gotten from VAX SIG tapes but have been "improved" somewhat. Similar comments can be made about some of the programs. The sources for the programs are found in the [.SOURCES] subdirectory (or its subdirectories). [.FERMILIB] Page 2 This area contains command procedures for manipulating libraries. The package submitted to the DECUS library as VAX-38 is also included (allows a symbol definition macro to be converted to a FORTRAN INCLUDE file of PARAMETER's). The [.DTR32] subdirectory contains files used to add several user-written functions to VAX-11 Datatrieve. The [.INCLUDES] subdirectory contains FORTRAN, PASCAL and C INCLUDE files used to construct the text libraries found in the [.SYSLIB] directory. The [.SOURCES] and [.MACROS] subdirectories contain the sources for utility routines created as extensions of the VMS Run-Time Library (see [.FERMILIB]README.1ST for details). The [.USS] subdirectory contains a (currently undebugged) user-written system service for declaring AST's in a separate process (i.e., process A can declare an AST in process B). [.MISC] This area contains some miscellaneous stuff including template files for modules and subprogams written in FORTRAN, MACRO or C. [.SYSHLP] These help libraries contain additional information to the VMS help library. We reference FERMIHELP and RSXHELP with commands of the same name created by the system-wide login procedure. Help on most of the utilities and programs in [.FERMIEXE] can be found in FERMIHELP.HLB. These libraries are stored in SYS$HELP: at Fermilab. [.SYSLIB] These are the text libraries for VAX-11 FORTRAN, VAX-11 PASCAL (which doesn't use it) and VAX-11 C containing locally developed include modules. Many of the include modules were constructed from VMS symbol definition macros in STARLET.MLB or LIB.MLB using the procedures in [.FERMILIB]. Also included are our general macro and object libraries (FERMILIB.*) which act as extensions of STARLET.MLB and VMSRTL. At Fermilab, these files are found in SYS$LIBRARY:. [.SYSMGR] This directory tree contains many procedures and other information useful to system managers. Many of the procedures can be used as provided; some will require some modifications and others are useful only as examples of a particular individual's system management methodology. See the README.1ST file for the extensive details. Note that at Fermilab, the [.SYSMGR] area is SYS$MANAGER:. [.SYSUPD] Page 3 This area contains the DYVMSUPD command procedure. This is a modification of the VMSUPDATE procedure and installs VMS layered software from DYA1: (RX02) rather than the console floppy and is considerably faster. These were copied from SYS$UPDATE: for this submission. Most of the command procedures and programs are documented by header comments in the source. In most cases we have (automatically) stripped these comments into a help file which has been included into a help library (either in SYS$HELP if public or SYSMGRHLP.HLB if for system management). ========> [VAX83B.FERMILAB.DOCUMENTS]AAAREADME.TXT;1 <======== [FERMILAB.DOCUMENTS] This area contains various documentation files and command procedures associated with creating or maintaining documentation files. Some of the more interesting files are: 1. CONSFLOPY describes the contents of the local VAX-11/780 floppies used at Fermilab in the ACNET system in which the disk drives are dual-ported (for switching drives between the two VAX's) and are connected to two MASSBUS controllers. We implemented a modified naming scheme for the VMS boot files to allow for all combinations of drives and controllers in a more straight forward manner than the DEC-supplied files. Copies of the boot files themselves are found in [.SYSMGR.BOOTS]. 2. DOBACKUPS describes the procedures followed by the technical staff in order to perform online disk backups using the command procedures found in [.SYSMGR.UTILITIES]. 3. DZLPCPUT describes the results of rough measurements of the CPU load due to LP11 line printers and DZ11 terminal controllers. Six 9600 baud terminals TYPE'ing at once effectively use up a VAX-11/780. 4. HLPTORNO is a procedure to do some of the work to turn a help library module into a RUNOFF input file. 5. OPERATOR describes the commands available in the captive OPERATOR account on our systems. This permits a privileged account to perform system operator functions by any user in a relatively open shop environment with seriously sacrificing system security. 6. RSX4GEN and RSX4GENA (Multitasker article) describe an RSX-11M V4.0 SYSGEN under VMS. 7. VAXBOOT describes the procedures required to boot the Fermilab Accelerator VAX's for naive users. 8. VAXBRUART is the article submitted to the Multitasker and Pageswapper describing the use of RSX-11M BRU on a VAX. ========> [VAX83B.FERMILAB.FERMIEXE]AAAREADME.TXT;1 <======== [FERMILAB.FERMIEXE...] This area is basically a copy of the FERMI$EXE (logical name) area on the Fermilab Accelerator VAX's. Under this logical name we store command procedures and utility programs that would otherwise seem to be placed in SYS$SYSTEM:. This is done to keep our non-DEC software separate from the DEC provided software in order to eliminate problems due to similar file names or problems with system upgrades (i.e. to VMS V4.0 next year). The sources for many of the executable images can be found in the [.SOURCES] subdirectory or its subdirectories. Documentation on the programs is found in the sources and in FERMIHELP.HLB which is in the [FERMILAB.SYSHLP] area. Similarly, documentation on the command procedures is found in the help library and in comments at the head of each procedure. Many of the procedures and programs originally came from SIG tapes or from the DECUS library. In several cases the program (or procedure) has been modified to add additional capabilities. We would like to thank the authors of these programs for submitting them to DECUS in the first place. Some of the more interesting files are: 1. Programs to provide process control via foreign commands. These include ABORT, FORCEXIT, RESUME, SUSPEND and WAKE. The commands have the format: $ command[/ID=process-id] [process-name] ABORT and FORCEXIT perform a $FORCEX system service passing as the exit status SS$_ABORT or SS$_OPRABORT respectively. 2. Several of the programs are from the DECUS C tape (AS is the assembler and CC is the C compiler itself). The C compiler has been modified to search logical name RSX$C for include files. Others from the DECUS C tape that are here are AR, BANNER, CCXRF (XRF in disguise), GREP, KWIK, LEX, MC, MP, NM, PR, T, TODAY and WC. 3. BATCH is a command procedure to execute a single command (or a series of commands) as a batch job without the hassle of creating a temporary file and SUBMIT'ing oneself. 4. BURSTF is from a previous SIG tape (unknown) and will burst a file of FORTRAN routines into individual files (one file per subroutine). BURSTF has not been modified. 5. COOKIE is the fortune cookie program from an early copy of the DECUS C tape. The message file is found in [FERMILAB.SYSMSG]. The program to build the message file is MKCOOK (in this area) and documentation can be found in NEWSLIB (in area [FERMILAB.SYSHLP]) under topic COOKIE. Page 2 6. DELTREE is a procedure to delete an entire directory tree. It is interesting in that it recursively invokes itself. 7. DFORK is much like FORK (see below) except it uses detached processes. 8. EDITSET permits a series of EDT line mode commands to be performed one a set of files (may be specified by wildcards). This is useful to perform a substitute command across several files. 9. ETAPE is a program for manipulating foreign tapes, particularly EBCDIC tapes. It came from an earlier SIG tape and is unmodified. 10. FINGER is a replacement for SHOW SYSTEM which also lists the file name of the current image and uses the file SYS$MANAGER:WHO.WHR to list the location of the terminal. The original (may be modified?) came from an earlier SIG tape. 11. FORK is a procedure much like BATCH except that the command is executed in a subprocess. FORK is left over from VMS V2 where it provided some of the functionality now in the SPAWN command. However, FORK is still useful in that it produces a .LOG file containing the output from executing the command(s). 12. FPRETTY is a program to pretty-print a FORTRAN source file. It is unmodified and came from an earlier SIG tape. 13. FTNCODCNT is a program from Fermilab to count the lines of code and comments in a FORTRAN source file. This program will handle wildcards and prepare statistics on a file-by-file basis along with a summary at the end of its execution. 14. FTPRINT is the Formatted Text Printing program from Fermilab. This program is useful to prepare listings of TECO macro files as it replaces non-printing characters with recognizable mnemonics (such as "" for escape characters). FTPRINT will handle wildcards and can add heading lines and line numbers to the output. 15. GETUAF is a DECUS library program to access the UAF file. It has been modified to add additional qualifiers to return information on the various flag bits stored in the UAF (such as the CAPTIVE flag). 16. GTBOOTTIM is a Fermilab program to return the system boot time in a DCL symbol. 17. HELPDOC is a procedure to convert a help library entry into a nicely paginated file for printing as a document. Extra lines listing the help topic name are removed and the output is gathered into pages to avoid splitting 1 line of a paragraph on one page and the rest on the next page. 18. HOME is a procedure to simplify SET DEFAULT. Page 3 19. MACCODCNT is the equivalent of FTNCODCNT for MACRO sources. 20. RESEQ is a program to resequence FORTRAN sources. It is unmodified from a version found on an early SIG tape. 21. RETAB is a program to remove or restore tabs to text files. It is from a SIG tape and is unmodified. 22. SET132 and SET80 are defined as commands of the same name and switch a VT100 between 132-column and 80-column modes. At the same time the terminal characteristics are changed to reflect the new line length. 23. SWINDOW is a procedure to setup the VT100 to fix a portion of the upper part of the screen and use only a specified number of lines at the bottom as a scrolling window. This permits one to keep help text visible while continuing to enter commands. 24. TIME is a time calculation program from the DECUS library. It has been modified to add keywords such as YESTERDAY, TODAY, TOMORROW, etc. 25. WHO is the DEC-supplied WHO program from VMS V2. 26. WILDRENAM implements a limited wildcard renaming scheme. ========> [VAX83B.FERMILAB.FERMIEXE.SOURCES.ETAPE]AAAREADME.TXT;1 <======== Abstract ======== ETAPE is a general-purpose program for handling EBCDIC tapes. It allows the user to move around at will within the tape, send output to different files, specify different blocksizes and record lengths for different files on the tape, and combine multiple tape files into a single output file. The capability of writing an EBCDIC tape from an ASCII file is also included. ETAPE removes all trailing blanks from tape records after reading them. On output, records will be blank padded and blocked to create fixed length tape blocks. A switch can be set to turn off the EBCDIC translation and allow the translation (or writing) of ASCII tapes. Installation ============ There should be the following files on the tape: ETAPE.FOR source program & subroutines ETAPE.HLP help file for the program ETAPE.COM procedure to compile, link and install ETAPE IODEF.FTN parameter file for compilation LBRDEF.FTN parameter file for compilation SSDEF.FTN parameter file for compilation ETAPE.EXE executable version README.TXT this file After copying the files off the distribution medium, simply @ETAPE to install the program. Then, type "HELP ETAPE" for further information. An executable version of the program is also included, in case you don't have the VAX FORTRAN compiler. Please direct questions or comments to: Mike Shefler CONSAD Research Corp. 121 N. Highland Ave. Pittsburgh, PA 15206 (412) 363-5500 ========> [VAX83B.FERMILAB.FERMIEXE.SOURCES.GETUAF]AAAREADME.TXT;1 <======== GET User Authorization File data (GETUAF) ----------------------------------------- The GET User Authorization File data (GETUAF) program allows a privileged VAX/VMS user to obtain from the User Authorization File (UAF) information about another user by specifying either the Username or the user's UIC. The information available is the user's Username, UIC, Account, Owner name, Device, and Directory. In addition to this, GETUAF can find an unused UIC member for a specified UIC group (very useful for adding new users to the system). The information requested is returned in DCL local symbols which may then be used, via substitution, in subsuquent DCL commands. Complete HELP instructions are supplied with the program which describe its use and syntax. The Floppy disk containing the files for the GETUAF program is formatted as a Files-11 Structure level 2 disk (single density). Note: This program may be distributed on Mag Tape for users who do not have a single density floppy disk drive. The files for GETUAF are located in the directory [GETUAF]. All the files in this directory are part of GETUAF. A short description of each file is given below: 0README.1ST Contains this notice. 0README.RNO The RUNOFF source used to generate the 0README.1ST notice. ABSTRACT.DOC This is the abstract submitted to DECUS along with the program. ABSTRACT.RNO The RUNOFF source used to generate the ABSTRACT.DOC file and the opening paragraph of 0README.1ST notice. GETUAF.EXE A linked executable version of GETUAF. In order to use this program a foreign command must be created and the user must have SYSPRV (or the System Manager may install the program with SYSPRV privilege at system startup time). To define the foreign command enter the following: $ GETUAF :== $disk:[directory]GETUAF.EXE GETUAF.HLP This is a HELP module describing how to use GETUAF. This module is ready for adding to the system HELP library (SYS$HELP:HELPLIB.HLB). To add this module to the HELP library you use the following command: $ LIBRARY/HELP SYS$HELPLIB.HLB GETUAF.HLP Note: In our system all non-DEC help modules have '_$' appended to the module name. If you do not use this convention you must edit the file GETUAF.HLP and remove the '_$' from the first line of the file before adding it to HELP. GETUAF.GEN Command proc to compile/assemble and link all the source files needed to generate a new version of GETUAF. GETUAF.LNK The actual command proc used to link GETUAF. Called by GETUAF.GEN or seperatly when developing enhancements to GETUAF. Source files. GETUAF.FOR GETUAF main program. General support routines borrowed from other projects. DEF.MAR Defines external symbols for use by FORTRAN modules. DEFSYM.MAR Routine to define a DCL symbol for use by command procs. GETSTRING.FOR Routine to find a string bounded by blanks, tabs, eol. LOGTRANS.FOR Routine to translate a logical name to its lowest level. NARGS.MAR Routine to tell a subroutine how may arguments it was passed. QSTRING.FOR Routine to search a string for /qualifiers. QUPCASE.FOR Routine to translate all lower case characters to upper case. TABS2BLNK.FOR Routine to translate all tabs to a single blank. There are also several Run-Time Library routines and System Service routines used. At our facility we use GETUAF extensively in several applications. They are the following: o In the add new user command procedure GETUAF is used to: * Determine if a new username has already been used. . . . $ PROMPT_USERNAME: $ INQUIRE USERNAME "Enter new Username" $ SET NOON $ GETUAF := $disk:[directory]GETUAF $ GETUAF/OWNER=OWNER 'USERNAME' $ STATUS = '$STATUS' $ SET ON $ IF .NOT. STATUS THEN GOTO USERNAME_AVAILABLE $ WRITE SYS$OUTPUT - "Username ''USERNAME' already",- "in use by ''OWNER'" $ GOTO PROMPT_USERNAME $ USERNAME_AVAILABLE: . . . * Determine if a username will create a directory name that is in conflict with an existing directory name (ie. LIBRARYKEY1 & LIBRARYKEY2 both would have the same directory name [LIBRARYKE]). . . . $ PROMPT_USERNAME: . . . $ USERNAME_AVAILABLE: $ USER_DIR := 'F$EXTRACT(0,9,USERNAME)' $ EXACT := "/EXACT" $ IF 'F$LENGTH(USERNAME)' .GE. 9 THEN - EXACT := "/NOEXACT" $ SET NOON $ GETUAF := $disk:[directory]GETUAF $ GETUAF/USERNAME=UAF_KEY - /OWNER=UAF_OWNER - 'USER_DIR' 'EXACT' $ STATUS = '$STATUS' $ SET ON $ IF .NOT. STATUS THEN GOTO DIRECTORY_AVAILABLE $ WRITE SYS$OUTPUT - "Directory [''USERDIR'] already in use",- "by ''UAF_KEY' (''UAFOWNER')" $ GOTO PROMPT_USERNAME $ DIRECTORY_AVAILABLE: . . . * Determine the next available UIC member of a specified group. . . . $ INQUIRE GROUP - "Specify UIC group to place new user in" $ INQUIRE MEMBER_MIN - "Specify minimum UIC member value" $ GETUAF := $disk:[directory]GETUAF $ GETUAF/NEXT_UIC_MEMBER=MEMBER - ['GROUP','MEMBER_MIN'] $ NEW_UIC := ['GROUP','MEMBER'] . . . o In our delete user command procedure we use GETUAF to verify that the specified user is correct and to obtain from the UAF the user's disk, main directory and UIC so his files may be deleted and his diskquota removed. . . . $ PROMPT_USERNAME: $ INQUIRE USERNAME "Enter Username" $ SET NOON $ GETUAF := $disk:[directory]GETUAF $ GETUAF/DEVICE=USER_DISK - /DIRECTORY=USER_DIR - /UIC=USER_UIC - 'USERNAME' $ STATUS = '$STATUS' $ SET ON $ IF STATUS THEN GOTO CORRECT_USERNAME $ WRITE SYS$OUTPUT - "Username ''USERNAME' not in UAF." $ GOTO PROMPT_USERNAME $ CORRECT_USERNAME: . . . o We have a command procedure which will allow a user to set his default disk and directory to the main directory of a user by specifying the user's key name and letting the UAF supply the correct disk and directory name. $ VERIFY = 'F$VERIFY("NO")' $ HOME := SYS$LOGIN $ IF P1 .EQS. "" THEN GOTO ENDIF_ANOTHER_USERS_HOME $ GETUAF := $SYS$COM:GETUAF $ GETUAF/DEVICE=DEVICE/DIRECTORY=DIRECTORY - 'P1'/NOEXACT $ HOME := 'DEVICE''DIRECTORY' $ ENDIF_ANOTHER_USERS_HOME: $ SET DEFAULT 'HOME' $ SHOW DEFAULT $ IF VERIFY THEN SET VERIFY !'F$VERIFY("NO")' If P1 is specified the command procedure will fetch the disk and directory from the UAF otherwise it will set the user to his own home directory (note: the /NOEXACT allows the user to enter only the number of characters necessary to select a unique username). ========> [VAX83B.FERMILAB.FERMILIB]AAAREADME.TXT;1 <======== [FERMILAB.FERMILIB...] This area contains procedures useful in the maintenance of various libraries. Some of the files have been submitted to the DECUS library as VAX-38 and provide the capability to convert a macro symbol definition file (such as $SSDEF) into a FORTRAN INCLUDE file in which the symbols are defined by a series of PARAMETER statements. Additional procedures allow the FORTRAN INCLUDE file to be converted to a PASCAL or VAX-11 C include file. The files are: 1. SDIFGENR produces the FORTRAN INCLUDE file from the symbol definition macro. It makes use of the SDFSTRIP3.TEC TECO input file. 2. PASFRMFOR converts the FORTRAN file to a PASCAL %INCLUDE file for the CONST region to define constants. 3. CFROMFOR converts the FORTRAN file to a VAX-11 #include file which contains a series of #define statements. 4. CMTCRYOVR permits the comments from a older version of a FORTRAN INCLUDE file to be carried over into a newer version of the same file. 5. RADIXCVT will convert the radix of the numbers in FORTRAN, PASCAL or VAX-11 C include files from hexadecimal to decimal. Some of the files above require edits to redefine internal logical names. For instance, PASFRMFOR.COM must know where to find the PASFRMFOR.TEC file and so forth. Some of the other useful procedures are particularized to Fermilab and require some edits: 1. ADDTOLIB and BUILDLIB are used to add routines to or rebuild the FERMILIB.OLB library. The source files are assumed to be stored on SYS$SYSDEVICE: in directory [FERMILIB.SOURCES.ROUTINES] (and only source files for FERMILIB modules are stored there)! 2. BUILDTLBS will rebuild a text or macro library from files stored in the [.MACROS] or [.INCLUDES] subdirectories of the [FERMILIB] area. For text files, the module name is found from the text file itself where it is stored on the first line after the opening header comments marker: FORTRAN: "C+ module" PASCAL: "{+ module" or "(*+ module" C: "/*+ module" Currently BUILDTLBS also uses the HDRSTRIPR program and procedure to extract the header comments for help entries, but this can be easily removed from the procedure. Page 2 3. MTLBLIST will list the contents of a text or macro library on a module-by-module basis (starting each module on a new page with a header). 4. OLBMANIP is a procedure to ease mainpulation of object libraries. 5. TLBMANIP is a procedure to ease the manipulation of text libraries. It implements the convention for the module names as described under BUILDTLBS, above. [.DTR32] This subdirectory contains the files used to add several additional functions to VAX-11 Datatrieve at Fermilab. [.INCLUDES] This subdirectory contains a large number of FORTRAN (.FOR), PASCAL (.PAS) and VAX-11 C (.H) include files. The files (for the most part) just define constants, including the offsets into data structures as constants. Nearly all the files have been commented. DESCRIP2.H and VAXTYPES.H define additional data types and macros (extending the standard DESCRIP.H file) for VAX-11 C. The contents of this area was used to form the LCLFORDEF, LCLPASDEF and LCLCDEF text libraries found in [FERMILAB.SYSLIB] which are stored in SYS$LIBRARY: at Fermilab. [.MACROS] This area contains the sources for the macro definitions found in the FERMILIB.MLB macro library (stored in SYS$LIBRARY:). The RAD50.MAR file defines macros to convert text to Radix-50 constants. [.SOURCES] SCRFT is supports foreign terminals (in particular the ADM-3A) for the terminal independent screen package in the VMS Run Time Library. [.SOURCES.ROUTINES] This area contains the sources for the modules in the FERMILIB.OLB library (normally stored in SYS$LIBRARY:). These routines can be thought of as extensions to the VMS Run Time Library. Several of the routines started out from VAX SIG tapes but all have been modified or extended. Some of the more interesting modules are (by file): 1. ARGCHKRS and ARGUTILS permit routines (particularly those written in High Level Languages) to check for defaulted arguments and variable numbers of arguments. 2. LIBABSQUE implements HLL (High Level Language) access to the absolute queue instructions in the same fashion as the RTL (Run Time Library) provides access to the self-relative queue Page 3 instructions. 3. LIBBITS and LIBLOCKS implement single bit manipulations. In LIBLOCKS, the interlocked bit instructions are used to mainpulate locking bits from HLL's. 4. LIBGETS and LIBPUTS provide FORTRAN (in particular) with indirect addressing capability in which an INTEGER*4 variable is a pointer to a table or data structure. LIBGETS and LIBPUTS allow FORTRAN to make effective use of dynamic memory allocated by LIB$GET_VM for storage of data structures. 5. LIBSLEEP implements delay routines like the RSX-11M WAIT routine by using $SCHDWK and $HIBER in a simple to use fashion. 6. MTHQxxx is a package of quadword integer math routines. These can be particularly useful for manipulating VMS times. 7. RMSxxx is a package of routines to provide RMS services easily available to HLL's. In particular RMSPARSE and RMSRELATD provide routines to handle wildcarding and default and related file specifications. 8. STRSQUEEZ will remove all (or all multiple) blanks from a string. [.USS] This area contains the sources for the FERMIUSS privileged shareable image. This image implements a user-written system service to permit one process (the source) to declare an AST in another (the destination) process. The destination process has to have passed its AST address to the source process by some prior arrangement. This system service is a generalization of one used as part of the ACNET network services (a home-brew network) in which the control information and data is passed between processes in a global section and control is passed between processes by triggering AST's. This method was used to avoid multiple QIO overheads and to service multiple user programs in different groups in a real time control system. NOTE As of this time, this version is completely untested. A tested version will be submitted with the next SIG tape and/or to the DECUS library. It is planned at some point to add services to provide for system-wide event flag clusters (across groups) ala the global event flags of RSX-11M. ========> [VAX83B.FERMILAB.MISC]AAAREADME.TXT;1 <======== [FERMILAB.MISC] This is a miscellaneous collection of things from various places in our system. Short descriptions of some of the files are: 1. EDTKEYS is help on the additional EDT key definitions found in SYS$MANAGER:EDTINI.EDT used by many of our users. 2. FERMIDOC.COM extracts the help on the FERMILIB routines from the FERMIHELP library (in SYS$HELP:) and prepares a paginated listing suitable for use as a reference document. 3. HDRSTRIPR is a program (very crude first version, requiring use of the HDRSTRIPR procedure to setup for it) to strip the header comments from source and command procedure files. HDRSTRIPR is used to extract the comments and prepare the help entries used a documentation for many of the programs submitted here. 4. HLPLVLSHF is a program to take a help entry file and shift the help topic levels down by 1 (increment all the numbers by 1) so that a header file can be tacked onto the front before storing in a help library. 5. LOGIN are the login procedures used by the submitter and are included here as examples. 6. NAGYHELP is a help library with help on many of the procedures and programs in this submission. In particular in here can be found entries for some things (such as procedures in [.FERMILIB]) which are not in our general public library, FERMIHELP.HLB. 7. There are several files which are skeletons for FORTRAN, MACRO and C programs and modules. 8. TSTSYSDMP is the source for the TSTSYSDMP program which tests the status of the system dump file (SYS$SYSTEM:SYSDUMP.DMP). See the SYSDMPJOB.COM batch job in the [.UTILITIES] area of [.SYSMGR]. ========> [VAX83B.FERMILAB.SYSHLP]AAAREADME.TXT;1 <======== [FERMILAB.SYSHLP] These are some help libraries extracted from SYS$HELP: on our systems. FERMIHELP is the equivalent VMS HELPLIB but for locally written and maintained software. We define a FERMIHELP command for it in the system-wide login procedure (SYLOGIN.COM). Similarly NEWSLIB contains entries of a "newsy" nature and is accessed by a NEWS command. RSXHELP contains information on RSX systems and has a corresponding RSXHELP command defined for it. ========> [VAX83B.FERMILAB.SYSLIB]AAAREADME.TXT;1 <======== [FERMILAB.SYSLIB] These files are from SYS$LIBRARY:. THe text libraries (.TLB) are the include modules also found in FERMI$LIBINC: (on this tape in the [.INCLUDES] subdirectory of [FERMILAB.FERMILIB]). SCRFT is the shareable image for the foreign terminal support; FERMIUSS is the privileged shareable image implementing user-written system services. The FERMILIB libraries are our extensions to the VMS macro library (STARLET.MLB) and run time libraries (STARLET.OLB and IMAGELIB.OLB). ========> [VAX83B.FERMILAB.SYSMGR]AAAREADME.TXT;1 <======== [FERMILAB.SYSMGR...] This area is extracted from SYS$MANAGER: and its subdirectories. The programs and procedures in here are used for managing the system and in many cases should only be used as examples to start from as they are quite site-specific. [.SYSMGR] Included in this level are the following files: 1. BIGEDTINI.EDT is the initializer for the BIGEDT command (see SYLOGIN.COM) which starts EDT to edit a 132-column file. 2. EDTINI.EDT is the normal EDT initializer (see the EDT command in SYLOGIN.COM) file. It defines several addition keys we have found useful as shorthands. 3. DPYLOGIN is the login procedure for the DISPLAY turnkey user. The DISPLAY user is only permitted to execute various system displays. See SYSUAF.LIS for the DISPLAY account parameters. 4. GREETINGS provides system greetings for users from the system-wide login procedure, SYLOGIN. 5. GUESTLGIN is the login procedure for the GUESTUSER turnkey account. See SYSUAF.LIS for the account parameters. THe GUESTUSER account is permitted to perform various non-invasive actions but is not a fully general VMS user. 6. LOGIN is the login procedure for the SYSTEM and SYSMANAGER accounts on our systems. SYSMANAGER is the same as the SYSTEM account but various of the "dangerous" privileges have been removed. SYSTEM is normally used only to install new software and system updates. 7. LOGOUTUSR is the login procedure for the LOGOUT account. Fermilab's port selector is setup to send a LOGOUT to the Accelerator VAX's in certain cases. The LOGOUT user was created to avoid an infinite loop problem. 8. MGRLOGIN is a common login procedure called from LOGIN by the system manager and several other user accounts to provide common symbol and logical name definitions. 9. OPRLOGIN is the login procedure for the OPERATOR turnkey account. This is a privileged account and provides limited access for non-privileged users to system operator functions. The functions themselves are implemented by the procedures in the [.OPERATOR] subdirectory. In addition, online help is available in the OPRHELP.HLB library stored in that subdirectory. A document about this account can be found in the [.DOCUMENTS] area of this submission. 10. SYLOGIN is the system-wide login command procedure and provides symbol and logical name defintions for all users. Page 2 11. SYSHUTDWN is the site-specific system shutdown procedure and is included as an example. 12. SYSTARTUP is the Fermilab Accelerator Control System site-specific system startup procedure (provided as an example). Due to its increasing size, this procedure was split into parts with called procedures stored in the [.STARTUP] subdirectory. The single set of procedures provide common support for the startup of either our Operational (as part of the control system) VMS system or the Development VMS system (on the backup processor). The Operational System uses only the removeable media disk drives and is setup to have the system and user disks mounted on any of the possible drives (all RM03's for now). 13. WHO.WHR is the list of terminal locations used by the FINGER program. [.SYSMGR.BOOTS] This area contains copies of the boot procedures from our console floppies. The "VcuBOO.CMD" files boot VMS from disk unit "u" on controller "c". Similary the "ScuBOO.CMD" files boot the Diagnostic Supervisor from disk unit "u" on controller "c" and "BcuBOO.CMD" will boot Standalone BACKUP (store in system root [.SYSE...]) from a similarly specified disk. The "DLnBOO.CMD" files will boot Standalone BACKUP from an RL02 disk on drive "n" (stored in the [SYSEXE] area). The .HLP files are editted versions of the help files on the console floppies. The edits converted most of the uppercase characters to lower case and cleaned up the formats. [.SYSMGR.OPERATOR] This area contains the procedures called from the OPERATOR login procedure (OPRLOGIN.COM) for the various "operator" commands. Online system operator help entries are stored in the OPRHELP.HLB library. [.SYSMGR.STARTUP] This subdirectory contains the remainder of the system startup procedure broken into manageable pieces. They are included here as examples for other system managers. [.SYSMGR.UTILITIES] This subdirectory contains many command procedures useful to a system manager. Several of them are invoked by procedures in the [.OPERATOR] subdirectory or in the [.STARTUP] subdirectory. Others are batch jobs, in some cases executed on a regular repeated basis by self-submittal (the system startup insures that a known set of every day, week and monthly batch jobs are queued). Virtually all the procedures are described by comments at their start. A quick perusal of the procedures reveals: Page 3 1. ADDUSER is a procedure to ease the burden of adding new users to the system. It invokes the ACCOUNTS.JOB batch job to finish up after adding one or more users by setting up several subsidiary files we use. 2. ALLOCDISK will allocate a single disk drive from a list of possible disk drives permitting a specially-limited case of a generic device allocation. 3. BATQUEDEL permits batch jobs to be deleted from the SYS$BATCH queue based on their batch job name rather than the entry number. 4. CHANGEUIC will change a user's UIC including the owner UIC of his files. 5. CHGOWNERS will change the owner all files on a disk from one UIC to another. This is used by the CHANGEUIC procedure to change the file owner UIC's after changing the user's UAF UIC. 6. DISKQUOTA is used to extract the current disk quotas and prepare a command procedure which can be used to restore QUOTA.SYS or can be editted to modify a setup of quotas at once. 7. DISKUSAGE prepares a report on current disk space usage by user for a specified disk. 8. EVERYMNTH, EVERYWEEK and EVERYNITE are batch jobs which are run every month (on the 1st), every week (at 00:00 Monday morning) and every nite at midnight. The .JOB files handle the resubmittal for repeated reruns and the .COM files handle the actions to be performed. The .COM files can be freely editted without having to delete and resubmit the batch job (because the batch queue remembers a file by file id rather than by file name). These files are useful templates for setting up similar jobs for another site. 9. FILOWNERS creates a list of all files owned by a particular user on a specified disk. 10. FINDAPID returns the process id of a process specified by name. Optionally a group number can be specified to find a particular process, else the first process whose name matches is returned. 11. GETUSRWS will prepare a command procedure of AUTHORIZE commands to modify the working set parameters for all the users. The USRWSMOD.TEC file is used by TECO to read a SYSUAF.LIS file and edit it into the output format. This is useful when doing a "global" adjustment of user's working set parameters. 12. LGINSAMPL is the sample login procedure placed in the default directory of newly added user accounts. 13. LISTFILES uses the FTPRINT program to prepare listings of the various command procedures and TECO files stored on our system. It is easily modified for any site to serve a similar purpose in preparing reference listings of text files. Page 4 14. LPADOWN performs queue manipulations to mark a particular line printer as down or back in operation. When marking the printer as down, the print jobs queued to it are switched to another printer. 15. MODSQUOTA allows the system manager to modify a user's disk quota by specifying the user by name rather than UIC. 16. NEWOWNER will change the owner UIC of all files in a complete subdirectory tree beneath one or more UFD's. The UIC's of the files are set to that of the owner of the UFD-level directory and propagated on down the tree. 17. OBTTSETUP and the ONLBAKxxx files are used by the OPERATOR account to perform online backups (both full and incremental to tape and full disk-to-disk copies) of the system and user disks on the Fermilab Accelerator VAX's. They can serve as templates for other sites setting up such procedures. 18. PRIJOBREL releases one or more named print jobs from their hold state. This replaces the use of the entry number (job number) required with the SET QUEUE command. 19. PRIQUEDEL is similar to PRIJOBREL and BATQUEDEL in that it deletes print jobs by name rather than entry number. 20. STOPBYNAM will stop a process specified by its name rather than its process id. 21. SYSDMPJOB is used at system startup time to save the system crash dump on tape. It is submitted as a batch job and tests the system dump file to see if it has already been saved or if the system shutdown was done at operator request. In either of those cases, the batch job just exits and does not attempt to save the crash dump. 22. TOUSER will change the default directory and UIC to that of another user. 23. UFDOWNER will change the owner UIC of a User File Directory (UFD). The UIC can either be set to the UIC associated with a named user account or to an explicitly provided UIC. 24. SYSMGRHLP is a help library used by the MGRHELP command defined in the system manager's login procedure. This library contains information on using many of the system manager utility procedures and programs. In addition, information on the standard procedures in SYS$UPDATE (such as STABACKIT) is available in this library along with notes on such things as maintaining Standalone BACKUP on the system disk. ========> [VAX83B.FERMILAB.SYSUPD]AAAREADME.TXT;1 <======== [FERMILAB.SYSUPD] The DYVMSUPD procedure is a modified version of the VMSUPDATE procedure used to install layered software. Unlike VMSUPDATE, DYVMSUPD is fast since the RX02 floppy disks (DYA1:) are used as the input. ========> [VAX83B.GBOSTVLUG.GENRAD]AAAREADME.TXT;1 <======== VAX SIG Tape Contribution Spring, 1983 GenRad, Inc. 300 Baker Avenue Concord, Massachusetts 01742 Submitted by, Stephen Klein MS/6 This is a collection of general purpose tools written at GenRad to make our VMS systems friendlier and more versatile. The tools are organized as follows: [TOOLS] Root of the tools directory tree [.MISC] Subdirectory containing miscellaneous tools [.XCL] Subdirectory for Extended Command Language program [.CFCOMS] Subdirectory for Current File command procedures [.EDTMACRO] Subdirectory for the GenRad "standard" EDT macro The [TOOLS] directory also contains, for each subdirectory, a .TXT file describing the tools in the subdirectory, and a .COM file defining the symbols and logical names needed by the tools. Please refer to [TOOLS]README.TXT for more documentation. ========> [VAX83B.GBOSTVLUG.GENRAD.TOOLS]AAAREADME.TXT;1 <======== 6-MAY-83 General Purpose Tools Directory GenRad, Inc. 300 Baker Ave. Concord, MA. 01742 caretaker: Stephen Klein Purpose: The subdirectories of this directory, contain general purpose tools such as command files, executable images, teco macros, etc. This directory contains command files to be called from a user's LOGIN.COM, and documentation files. An effort has been made to group related tools together in dedicated subdirectories. For each subdirectory, this directory contains a command file which defines the symbols needed to access the tools, a text file which documents the tools, and the subdirectory itself. Special files: README.TXT - This file, which provides documentation for this directory. MISC.COM - This command file defines the symbols and logical names needed to run the one-of-a-kind tools. MISC.TXT - Documentation of the miscellaneous commands. THEWORKS.COM - This command file defines the symbols and logical names needed to run all the tools. This procedure calls MISC.COM. To use the tools: The following description assumes that the tools reside on a disk called "SR", in the directory [TOOLS] (and its subdirectories). This is the case at GenRad. Include one of the following in your login.com file: @SR:[TOOLS]THEWORKS To get all definitions for all tools, or or @SR:[TOOLS]MISC To get the one-of-a-kind tools, plus basic and definitions (including logical name vmstools!) Page 2 @VMSTOOLS:XXX @VMSTOOLS:YYY These represent tool-group definition files. @VMSTOOLS:ZZZ (e.g. "@VMSTOOLS:EDTMACRO") Of course, it is also possible to just use these definition files as a reference and add specific symbol definitions to your login.com, possibly using a different symbol name, but the same equivalence string. For example, if you wanted to invoke the reformatter by typing "REF" instead of "REFORMAT", your login.com could do the following: 1) Invoke THEWORKS.COM or MISC.COM to define "REFORMAT". 2) "$ REF == REFORMAT" 3) "$ DELETE/SYMBOL/GLOBAL REFORMAT" To use the tools on another system: In general, one needs to copy this directory tree onto the system, and edit three logical name assignments. Here are the details: The root of this tree is currently called "TOOLS", and it is a top- level directory, however neither of these is required. For example, the root of this tree could be XX:[AAA.BBB.VMSTOOLS]. The subdirectories are currently called "XCL", "EDTMACRO", "MISC", "CFCOMS", and "MAINT", and these names are required. THEWORKS.COM will need to be edited to correctly define the logical name "vmstools". MISC.COM should also be edited to correctly define "vmstools" and "misctls". For efficiency, this directory should be as close to the top of the tree structure as possible (this will speed up file-opens). NOTE - there are two files that need special preparation. Create [TOOLS.EDTMACRO]EDTHELP.HLB by making a copy of SYS$HELP:EDTHELP.HLB and replacing the KEYPAD module with the definition found in [TOOLS.EDTMACRO]EDTHELP.HLP. E.g. LIBRARY/HELP EDTHELP.HLB EDTHELP.HLP. Also, the NAMES tool needs the datafile [TOOLS.MISC]NAMES.DAT with the following format: DOE, John 1234 HARPO::DOE SMITH, Mark 4321 KERMIT::SMITH ... The elements are last name in caps, comma, space, first name, one or more tabs, telephone extension, tab, electronic mail address. Page 3 Guidelines for writing a new tool: Command procedures should not abbreviate DCL command names. This is because a private LOGIN.COM file may define a symbol which happens to be an abbreviation for a DCL command (i.e. DIR:==DIR/DATE/SIZE=ALL...). If this type of collision occurs, the command file may not execute properly. Command files should not assume any symbol or logical name definitions other than what appears in MISC.COM. This would make it easy to move the whole environment to any VMS system. Similarly, any support tools refered to should also be in a subdirectory of vmstools. Command files which define logical names should check first to see if the logical name already exists, and if so, delete it. This is to avoid ugly messages when the command file is invoked a second time. This directory should be refered to by the logical name VMSTOOLS, which is defined in MISC.COM. MISC.COM should only define things which are needed by the tools. It is not intended to replace sys$library:syslogin.com (the system-wide login command procedure). Each subdirectory should have a logical name associated with it, which is defined by the .COM file in vmstools for that subdirectory. Execute THEWORKS.COM and check the symbols and logical names which are defined as a result to be sure that the new tool would not redefine any symbols or logical names already in use. Also, log in under the guest account and verify that the tool still works. This is to catch things which you didn't realize you were depending on. How to submit a new tool: 1) Check that it follows the guidelines mentioned above. 2) Find Steve Klein. Contents: MISC MISC.COM is the command procedure (mentioned earlier) which defines all the symbols and logical names necessary to run the miscellaneous tools. Read MISC.TXT for a description of each of the tools. (various authors). Page 4 CFCOMS Current file command procedures. CFCOMS.COM defines a set of commands which know about the current file, thereby making it unnecessary to constantly be typing filenames over and over...! Included are current file versions of commonly used DCL commands, commands for traversing the directory tree, and current file versions of tools developed at GR. The directory tree traversal commands are included because whenever the default directory is changed, the current file is set to the new directory. CFCOMS is called by THEWORKS. Read CFCOMS.TXT for a description of all the current file commands. Note that several tools are defined in both MISC.COM and CFCOMS.COM. If one gets THEWORKS, the definition in CFCOMS wins out. (author: Stephen Klein). XCL Extended command language. This tool adds interactive command line editing, the ability to re-issue previous commands, and more to DCL. Definition is in XCL.COM. Documentation is in VMSTOOLS:XCL.TXT. Help is also available when XCL is running by pressing the keypad PF1 key. XCL is invoked by typing "XCL" after executing VMSTOOLS:XCL.COM. (author: Ken Budnik). EDTMACRO Edtmacro is a subdirectory which contains EDT initialization files to support the GR editor kepad and control key definitions. To use it, execute the command procedure VMSTOOLS:EDTMACRO.COM in your login.com. VMSTOOLS:EDTMACRO.TXT is the on-line documentation. In addition, extensive help is available while running the editor. (authors: Mark Harley, Gordon Weekly, and others). ========> [VAX83B.GBOSTVLUG.HVRDCHEM]AAAREADME.TXT;1 <======== Submissions from: Department of Chemistry Harvard University 12 Oxford Street Cambridge, MA 02138 UMODEM This is a file transfer program which uses the CP/M User's Group MODEM protocol. It is helpful in performing transfers between a VAX/VMS machine and CP/M-based microcomputers, and is a lot cheaper than the DEC offering! The program was originally implemented under Version 7 UNIX, and is written entirely in C. All of the modifications made to the program for VMS (VAX-11 C) are in #ifdef statements, so the program still compiles properly under V7 UNIX. The VMS support routines required by the program to emulate UNIX "raw" I/O and the gtty(), stty(), and stat() system services are in a separate module, VMODEM.C. This module alone should be interesting to those who are interested in learning how to call system services and perform QIOs using VAX-11 C. UMODEM consists of five files: UMODEM.C, the main program (the only file needed to compile the program under V7 UNIX); VMODEM.C, VMS support routines (not needed under UNIX); VMODEM.H, a header file including structure definitions needed for the VMS routines; UMODEM.HLP, a help file in VMS HELP format; and UMODEM.EXE. All that's needed to run the program is to define a symbol for a foreign command: "$ umodem :== $umodem.exe". The VMS version of UMODEM is by Walter Reiher; the UNIX version is by Lauren Weinstein, Richard Conn, and Bennett Marks. Thanks to the C Line computer bulletin board system for making the UNIX version available and to Max Benson and Robert Bruccoleri for coding examples which made VMODEM.C easier to implement. [The CP/M program MODEM, which is also needed to perform file transfers, is available on a number of public computer bulletin board systems and user groups. WR has a version of MODEM configured for the Heath/Zenith-89 microcomputer system which is available for the asking.] DISPLAY This command file makes the VMS Version 3 MONITOR program look like the Version 2 DISPLAY program. For those of us who prefer the old syntax, this beats having to type those long MONITOR commands or defining a slew of symbols. DISPLAY.COM is by Andrew Cherenson. Submitted by: Walter Reiher, 617-495-1768 ========> [VAX83B.GBOSTVLUG.NU]AAAREADME.TXT;1 <======== This tree contains a facility called PRIME TIME, developed and in use at Northeastern University. It provides a means of limiting login connect time for groups of terminals. We use it to control several groups of student terminals to ensure fair and timely access to terminal seats. The documentation in [DOC] explains more fully the exact features. ========> [VAX83B.GBOSTVLUG.NU.LOGINTEST]AAAREADME.TXT;2 <======== This directory contains 2 programs in the NU PRIME TIME suite, PT and LOGINTEST. NOTE: Both PT.FOR and LOGINTEST.FOR refer explicitly to complete file specs. The disk and directory specifications must be changed as appropriate for your site. PT - Program user runs to determine how much time he/she has left before PRIME TIME will force a logout. If process is not being monitored for any reason, the returned message will so indicate. Put in SYS$SYSTEM, make definition PT == "$PT"; users then can simly say "PT" to run. LOGINTEST - Program which must be run at login time to set up user monitoring, or to prevent login if required. Execution can be forced via system-wide login procedure which runs this program. ========> [VAX83B.GDSEARLE]AAAREADME.TXT;2 <======== Frank Penner G. D. Searle & Co. 4901 Searle Parkway Skokie, Illinois 60077 (312) 982-8231 1.) A patch to the VMS V3.2 terminal driver for statistics gathering. 2.) A tape copy program. ========> [VAX83B.HARRIS]AAAREADME.TXT;2 <======== Contained in this tape for distribution through DECUS are two programs: 1. TYPIST (BASIC): A touch typing tutor program to help with learning the typewriter keyboard and developing higher typing speeds. 2. QD (FORTRAN): A program to display the output (print) queues on a VAX/VMS system. It shows, among other standard items, an approximation of the length of each active queue in minutes. Contacts: Steve Swenson or John Chong Harris / Farinon Division 1691 Bayport Avenue San Carlos, CA 94070 (415) 594-3524 or -3582 - end of text - ========> [VAX83B.ISU]AAAREADME.TXT;1 <======== ********** ********** NOTE: ********** I have just read the DECUS rules which say we can not provide source files for DEC software. Consequently, we can not include the source files for the print symbiont. All references to the print quotas should be ignored. ******************************************************************************* ISUQUOTA is a system of programs developed to enforce resource quotas for VAX users at Iowa State University. Some of the quotas are enforced using VMS facilities, e.g. session CPU limit, and some are enforced by ISUQUOTA facilities, e.g. cumulative CPU limit. The system has been in use at ISU since 1980 although the current version was installed Spring semester 1983. ISUQUOTA enforces the following quotas: 1. Session and cumulative CPU 2. Session and cumulative connect time (interactive processes) 3. Inter- and intra- session disk space 4. Single-job and cumulative print pages 5. Number of concurrent interactive sessions ISUQUOTA also performs the following functions: 1. Provides warnings when cumulative resource usage is within 90% of quota. 2. Enforces authorization/expiration dates, and warns when the current time is within two days of expiration date. 3. Performs a logout purge on all files within the login default directory tree. ISU does not perform cost accounting for the VAX systems at the time this is being written; however, we will be going to a cost accounting system Fall semester 1983. There are cost accounting facilites in this version of ISUQUOTA, but the costs are only displayed at logout; dollar quotas are not enforced. The programs will probably need to be modified in order to implement cost accounting. For example, we will probably replace all the cumulative quotas with a single quota (dollars) but retain the session quotas. Final decisions regarding the cost accounting implementation have not yet been made. ISUQUOTA consists of three major components: 1. System programs and command files which implement ISUQUOTA for the VAX users. These programs enforce quotas, log events, and perform some accounting functions. The programs were developed primarily by the Iowa State University Computation Center (ISUCC) VAX Systems group. All the files required to create the system portion of ISUQUOTA are in the sub-directory [.SYSTEM]. The README.LIS file describes the implementation Page 2 procedure and the programs. 2. Accounting programs and command files which perform accounting and clerical tasks. These programs create the user data base, generate reports, and perform accounting functions. The programs were developed primarily by the ISUCC Accounting group. All the files required to create the accounting portion of ISUQUOTA are in the sub-directory [.ACCTG]. The README.LIS file describes the implementation procedure and the programs. 3. The ISUQUOTA data bases consist of two data files. The Quota-User Authorization eXtension (QUAX) file is an indexed file, analogous to the User Authorization File, which contains the ISUQUOTA data for each username on the system. A second file, TTINFO, contains information regarding the location of terminals. This file was originally created for use with a program which displays the interactive processes on the system. The ISUQUOTA login program uses it when writing the terminal record to the accounting log. Sample QUAX and TTINFO files are stored in the sub-directory [.FILES]. Note: Computer terminals at ISU connect to ISUCC computers through a PDP 11 and PCL-11 (the communications switch - ComSw) using locally written software. TTDRIVER has been modified to support the ComSw, and ports coming through the ComSw are designated TPxx. ========> [VAX83B.KERMIT]AAAREADME.TXT;1 <======== 00README.TXT (4 May 1983) COLUMBIA UNIVERSITY KERMIT DISTRIBUTION TAPE This tape includes all the versions of Kermit which were in our possession as of the time this distribution tape was made, plus some miscellanous files. The files on the tape have names of the form NAME.TYPE Where NAME is the name of file, and TYPE is its type (program source, documentation, executable core image, etc). No NAME is more than 9 characters long (the maximum accepted by VAX/VMS), and every NAME is unique in the first 6 characters (the maximum under TOPS-10). On TOPS-10 BACKUP/Interchange tapes, names longer than 6 will be truncated to 6. No type is longer than 3 characters. NAME and TYPE are separated by a period. * Prefixed Files: The file names for files associated with each implementation of KERMIT are prefixed by a few characters denoting the implementation. The following are presently used: Prefix Machine(s) Operating System Language 10 DECsystem-10 TOPS-10 MACRO-10 20 DECSYSTEM-20 TOPS-20 MACRO-20 VMS VAX-11 VMS Bliss-32 CMS IBM 370 Series VM/CMS IBM Assembler UX VAX, SUN, PDP-11, etc Berkeley UNIX C RT PDP-11 RT-11 OMSI Pascal CPM 8080, 8085, or Z80 CP/M ASM PC IBM PC or Zenith Z100 PC DOS, MS DOS PC Macro assembler APP Apple II 6502 Apple DOS DEC-10 CROSS In some cases, binaries (.REL, .EXE, .COM, etc) are not supplied. For instance, no binaries come with the UNIX sources, since these can be compiled to run on many different machines, under different versions of UNIX. No binaries come with the VAX/VMS source, since the file attributes cannot be saved on the tape. Binaries are provided when it makes sense, however: DEC-10 and DEC-20 .EXE files are provided on DEC-10 and -20 distribution tapes, MODULE files for CMS KERMIT on the IBM VM/CMS tape. In any event, all necessary files for building each version of Kermit from program source are included on all tapes. When working with one of these implementations, you would normally copy them to a separate area and strip the prefix from the file names, and install the programs on the appropriate systems without the prefix. For instance, on the DEC-20 you would copy 20KERMIT.MAC to KERMIT.MAC, then assemble it, and store the result as KERMIT.EXE in SYS:. The VAX/VMS version is an exception; in this case REPLACE the "VMS" prefix with "KER". Page 2 The following HEX files for specific CP/M implementations are included: CPMAPPLE.HEX Apple II with Z80 Softcard & DC Hayes Micromodem CPMAPPLE.SSC Notes for using above with Super Serial Card CPMBRAIN.HEX Intetec SuperBrain CPMDMII.HEX DECmate II with CP/M CPMGENERI.HEX "Generic" CP/M Kermit. CPMHEATH.HEX Heath/Zenith 89 CPMKERMIT.ASM Source file for all Kermit-80s but Generic Kermit CPMOSBORN.HEX Osborne 1 CPMOSI.HEX Ohio Scientific CPMRAINBO.HEX DEC Rainbow-100 CPMROBIN.HEX DEC VT180 "Robin" CPMTELCON.HEX Telcon Zorba CPMTRS80.HEX TRS-80 II with Lifeboat CP/M 2.25 CPMVECTOR.HEX Vector Graphics CPMZ100.HEX Heath/Zenith Z100 with CP/M-85 The "Generic Kermit" can be used on micros not specifically supported, if the CP/M IOBYTE facility is implemented, and the fields of the IOBYTE point to the right devices. See the User Guide for details. The Kermit Users Guide contains instructions for installing or bootstrapping the various versions of Kermit. * Manuals: There are two Kermit manuals: USER and PROTO, a user's guide and a protocol manual, respectively. Four versions of these files are provided: .MSS Scribe (UNILOGIC Ltd text formatter) source. .LPT Line Printer format (overstriking, underscore, etc). .DOC No special effects, suitable for reading on line. .FOR Like .LPT, but with Fortran-style carriage control. If you have Scribe and the appropriate Scribe device drivers, you can run the .MSS files through it to produce output suitable for printing on any device supported at your site, including the Xerox-9700 or other multifont laser printers or photocomposers. As of this writing, Scribe is not entirely bug-free; you may notice some problems with the footnotes in the .DOC and .LPT files. Note that some parts of the user manual rely on underlining to clarify examples; the underlines are missing from the .DOC files, but will be found in the .LPT files. The user's guide is intended for users of Kermit (including those who want to install it), the protocol manual is for those who would like to write a new implementation (i.e. a Kermit program for a new machine or operating system). ASCII.MSS is the ASCII/EBCDIC character table, which is included as an appendix in both manuals. MANUAL.HYP is a hyphenation dictionary for building the manual with Scribe. * Other Files: Page 3 00README.TXT is this file, which should appear at the top of any alphabetical directory listing, and is the first file on the tape. CORNELL.TXT contains a UNIX implementation of KERMIT from Cornell University, which we have not been able to bring up successfully at Columbia, but which might be of interest. The files MAC80.*, M80UNV, etc, are an 8080 cross assembler for the DEC-10 or DEC-20; MAC80.DOC is a brief description. TORTUR.M80 is a "torture test" for MAC80, which illustrates its features. MAC80 is used to assemble CP/M KERMIT. The files CROSS.* are a general purpose cross assembler for the DEC-10 and DEC-20; CROSS.DOC is the manual. CROSS is used to assemble Apple DOS KERMIT. TTLINK.* is a terminal linking program for the DEC-20, allowing you to log in to another system over a TTY line (e.g. using an autodialer). KERMIT-20 runs TTLINK to execute the CONNECT command. EZFIX.* is a utility for converting EasyWriter files sent to the DEC-20 from the IBM PC into ordinary text form. KERMIT.WHO is a list of all the sites Columbia has sent KERMIT tapes to. * Finally... If you make any modifications to Kermit, fix any bugs, or write any new implementations or documentation, please send them back to us on magnetic tape so we can distribute them to other Kermit users: KERMIT Distribution Columbia University Center for Computing Activities 612 West 115th Street 7th Floor New York NY 10025 We'll return your tape to you with the latest Kermit distribution. ========> [VAX83B.KMSKIT]AAAREADME.TXT;1 <======== VAX KMSKIT V3.2 Included in this submission are four subdirectories. [KMSKIT.SYSMGR] - Useful command procedures for controling the system and making life generally easier for all. Updates to last release. A very powerful set of procedures for establishing an operator account. [KMSKIT.SYSUTL] - Useful things. VAX CALC update which has online help. [KMSKIT.VAXSUBS] - Migrating from RSX to VAX the easy way. Bugfixes to last release. Not many, but some. [KMSKIT.VPW] - V2.0 of the VAX Professional Workstation. Not quite ALL-IN-ONE, but close, very close, and Oh, so much cheaper !! Please, note that the procedures, programs etc, may assume site dependent information not applicable to all sites. Command procedures may have to be modified to work to reflect the correct location of files. Some command procedures assume the existance of certain files or executable images. I appologize for not having something which goes in as easy as a VMSUPD kit. As always, complaints, suggestions, or praise (preferably the latter) may be directed to: James G. Downward KMS Fusion, Inc. PO. Box 1567 Ann Arbor, Mich. 48106 (313)-769-8500 03-Dec-1982 ========> [VAX83B.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. CMD. Starts up command files on SYS$SYSDEVICE:[SYSUTL] and passes them command lines. 2. 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. 3. 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. 4. 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!! 5. TESTFILE. Emulates the .TESTFILE on RSX. Faster (by far) than using an image to check for the existance of a file. 6. UTL. Automatically starts up tasks on [SYSUTL] and passes them command lines. Saves having a zillion foreign commands. 7. XQT. Simulate the RSX .XQT command. ========> [VAX83B.KMSKIT.SYSMGR.OPERATOR]AAAREADME.TXT;1 <======== On our system we have an operator account with a password known to all operators. The operators can do all kinds of privileged things. To insure system security, not only is the common password for the account required, but the user also must be known to the system as a valid operator to use the account, and that users private password (for their normal account) is verified. The command procedure's capabilities can be expanded substantially beyond that presented here, but this part of it should provide other users with a template for implementing such a system. The operator account command procedure in turn invokes command procedures on SYS$SYSROOT:[SYSMGR.CMDFIL]. Called command procedures include OPERACNT.COM, SYSBACKUP.COM, OPERCMD.COM, and INCBACKUP.COM. To use the facility, create an operator account [OPERATOR] with the required privileges. When the operator logs on LOGIN.COM should be executed after SYSLOGIN.COM. It in turn executes operator.com which requires that a list of valid user names exist in OPERATORS.DAT. The names in OPERATORS.DAT should be the standard USERNAMES the users would log onto the VAX if they were logging on to their own account. This is because, they are then going to be asked for their password, at which time they should enter their normal VAX password (which won't echo). Then some magic occurs, and the USERNAME/PASSWORD of the users normal account is verified. If it is AOK, the operator is logged on to the account and can do all kinds of things including issue any command (a log of special commands is kept) Add Accounts show account status load a shared gobal section perform full disk backups perform rotating incremental disk backups initialize a new tape Shutdown the system A log of all operator accesses to this procedure is also kept. The OPERACNT.COM procedure uses WHO.EXE from the VMS V2.5 kit (it works just fine on V3.0) installed with the correct privilege (SYSPRV) so it can read the account file. Writing a seperate task or subroutine to do this is easy, however. See the code in REMINDER.FOR in [KMSKIT.VPW.REMINDER]. You will have to modify these procedures to your own sites needs. ========> [VAX83B.KMSKIT.SYSUTL]AAAREADME.TXT;1 <======== This subdirectory contains useful system utilities. 1. CALC. VAX CALC is modified for online help. Any time CALC is prompting the user may type HELP and get help (or type HELP topic .....). The CALC help library is included. It is ment to be part of the help library SYS$SYSDEVICE:[SYSUTL]SYSUTL.HLB and CALC will print lots of nasty little messages telling you the library isn't there if it isn't. The updated Fortran source for the VAX CALC mainline and CALC.EXE are provided. CALC.EXE is on [KMSKIT.VPW]. If you want all the sources, get them from DECUS. Much more user friendly. 2. NOUNLOAD. We have a dual ported RK07. One port talks to our PDP-11/45 (running RSX) and the other talks to our VAX. If we mounted the RK07 from the VAX end (readonly) and dismounted it, it would spin down. This made the RSX side of the world very, very, very unhappy. NOUNLOAD is a freebe from the friendly VMS group (they sometimes answer SPRs with answers other than 'fixed in a future release') for the problem presented to them in Jan 1982. While written for VMS V2.x, it also correctly builds and works for VMS V3.0. To use it, after you mount a disk, type NOUNLOAD dduu: (NOUNLOAD must be a foreign command). Now the disk will not spin down when dismounted. Now to make the whole process bulletproof, the mount command is replaced by an indirect command procedure MOUNT.COM which checks to see if an RK07 is specified, and if so issues the NOUNLOAD command transparently without the user suspecting a thing. Note however, emulating the mount command completely with a command procedure is impossible since leading qualifiers do not get handled correctly. Qualifiers must be appended to the device. 3. SETUIC. SETUIC allows users with group privileges to change UIC's within their groups, and users with world privileges to change UIC's accross groups as long as the group number is larger than a specified 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. ========> [VAX83B.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. Some bug fixes are supplied since the last release one of which was required by change in the way the VAX Fortran compiler worked. ========> [VAX83B.KMSKIT.VPW]AAAREADME.TXT;1 <======== The VAX Professional Workstation V2.0 May 20, 1983 The VAX Professional Workstation is a collection of all kinds of things. Since it has evolved piecemeal I have never tried getting it installed, up and running from scratch. However, I think all required files are here. During SYSTARTUP.COM $ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW] SYS$VPWFILES $ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW] SYS$SYSVPWFILES $ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW.CAI] SYS$VPWCAI $! Set up help library. _x is " ", "_1", "_2" etc. $ASSIGN/SYSTEM SYS$SYSDEVICE:[VPW]VPW.HLB HLP$LIBRARY_x Note that for the spelling checker to work, you need the spelling checker program from the Fall 1982 VAX sig tape. And it must be set up with the correct logical assignments. SPELL.CLD will have to be edited to point to its location. The logical name for the spelling checker we assign during SYSLOGIN.COM $ASSIGN SYS$SYSDEVICE:[xxx] ENGL Documentation on using the VAX Professional Workstation can be found in VPWMANUAL.MEM All files on [KMSKIT.VPW] should be placed on a given directory and the logical assignments made. During SYSLOGIN.COM @SYS$SYSVPWFILES:SETVPWSYM is executed. Once that is done type VPW and all should go OK. Of course, as things generally work, I am sure there will be a few difficulties, but I think they will be minor and easy to fix. On this directory are a number of useful images. 1. ASK.EXE. This is a modified version of the ASK program which appeared on the previous SIG tape. I modified it so escapes sequences from a VT100 keypad could be input and for handling upper/lower case conversion a bit better. 2. BROADCAST. Allowes non priviledged users to broadcast (just like RSX) each other messages. Must be installed. Tracks you down where ever you are hiding. Now supports broadcasting to OPA0: 3. CALC. An updated version of the DECUS VAXCALC which supports online HELP. HELP is located in [SYSUTL]SYSUTL.HLB. 4. FLOLDRINDX and VPWDIRECT. Small mini programs to provide formatted outputs of directories and text libraries for use with the word processing command procedure. 5. Notebook. Note quite a poor man's DTR, but a fast simple way, of using and maintaing personal data bases. Very versitile and reasonably fast. All kinds of neat uses. 6. REMINDER. Everyone needs this. Works with REMINDUSR.COM to provide a way of leaving oneself (or others) dated reminder messages which get Page 2 delivered at the specified time.. For it to work correctly, BROADCAST must be installed with the correct privileges. Noteworthy command procedures include 1. VPW.COM. The root procedure for the VAX Professional Workstation. The things command procedures can do never ceases to amaze me. Of course whether or not they should be made to do them is another issue..... However, throwing VPW together was a fun, and fast way of getting the functionality we needed. 2. WP.COM Given that we do not have a real word processing package on our system, this works pretty well. One secretary has used it for months (she lost her real word processor to a personell shuffle). Our system has two printers set up, TTA0: (an LA100) and a Diablo 630 letter quality printer (TTA1:) and if your system does not have its printers set up this way I suspect you will have to change WP.COM about to suit your needs. 3. DATEBOOK A guick and dirty personal datebook. The DATEBOOK command procedure requires Datatrieve-11. VAX Datatrieve also should work if appropriate modifications are made but I haven't tried doing so yet. ========> [VAX83B.LBLTOOLS]AAAREADME.TXT;1 <======== There are four utilities presented here - a dynamic scheduling program, a process monitoring utility, a history/editing DCL shell, and a disk structure maintenance utility. The dynamic scheduling program attempts to improve the interactive response of the machine by temporarily lowering the priority of compute-bound processes. For more information see the file scheduler.for. This utility is also known as DROPKICKER. Files scheduler.for, scheduler.com, schedulem.mar, ssdef.for, jpidef.for The process monitoring utility is derived from the scheduler program and displays process name, pid, CPU utilization, current and base priority, working set size, imagename, and a bargraph of CPU utilization in a single terminal independent display. Files pm.for, schedulem.mar, pcbdef.for The dclshell is a history shell with command recall and editing capabilities. It uses dcl command procedures rather than subprocesses. For more information see the file dclshell.hlp. Files shell.for, shell.mar, shell.com, shell.mak, dclshell.hlp The disk structure maintenance utility is a modified version of the fixheader utility that appeared on the DECUS tape a few years ago (1980 ?). For more information see the file fixheader.txt. Files fixheader.for, fixheadem.mar, fixheader.com, fixheader.txt, ssdef.for Les Tabata Computer Science And Mathematics Lawrence Berkeley Labortory Berkeley, CA ========> [VAX83B.MARLEX]AAAREADME.TXT;1 <======== Scott Nelson Marlex Petroleum Information Systems Department 2633 Cherry Avenue, Suite 400 Signal Hill, California 90806 (213) 595-5758 Telex 65-6496 (ECO PETRO SGHL) Here is a few programs and command procedures which have been useful here at Marlex. Please feel free to contact me if you have any comments, suggestions, enhancements, bugs, etc. BRDCST This utility is used to send REPLY/ALL/BELL messages to the last line of the screen (which has been reserved in our applications programs). Very useful to preserve the screen. More useful if set-up as a foreign command: BRO*ADCAST :== $device:[directory]BRDCST BRDCST.COB Source BRDCSTA.MAR Generates global constants BRDCSTBLD.COM Compiles the programs DELTREE This utility will delete a directory from the bottom-up. This is a corrected version of figure 2-4 on page 2-12 of the VAX/VMS System Management and Operations Guide. DELTREE.COM FIXSCREEN This procedure issues all of the appropriate escape sequences to put a VT132 back to normal mode. (Useful if you have games that leave the terminal in VT52 mode!) Can be made more useful by creating a foreign command: FIX*SCREEN :== @device:[directory]FIXSCREEN FIXSCREEN.COM Command procedure FIXVT132.LIS File containing the escape codes MOUNTED This procedure makes sure the right tape is mounted (via the tape label) before you start writing on it! MOUNTED.COM PRINT This procedure shows all of the *.LIS files in the current directory, and interactivly lets the user select files for printing. The top of the screen is used to show the filenames, and the bottom is used for selecting the appropriate action. On non-ANSI_CRT terminals, it does not try to set up scrolling regions. Page 2 PRINT.COM STRIP Removes trailing blanks and/or tabs from the end of records of the selected file(s). Implemented as my first try in using the command definition utility (SET COMMAND) and my first try in using the wildcarding feature in RMS. STRIP.CLD Command definition STRIP.MAR Source program ========> [VAX83B.MENU]AAAREADME.TXT;3 <======== [VAXS83.MENU]AAAREADME.TXT MENU V3 Inmos Menu Processor for VAX/VMS 3.0 I. Procedure Description The MENU processor is designed to provide a common format for all application systems implementations in an environment that is easily controlled and modified by systems developers. The MENU processor provides a user-friendly interface with the VAX/VMS operating system allowing application users to perform a pre-determined set of operations related to their job function in a manner allowing maximum ease of use and absolute security. The procedure LOGMENU.COM is invoked by ALOGIN.COM for non-systems users. Software development users enter the VAX environment thru the DLOGIN.COM ( both controlling command procedures are specified in the User Authorization LGICMD specification. To assist in the compatibility and transportability of software a comprehensive set of Logical Assignment Standards was devised and implemented by Inmos Corporation and all device/directory references in the MENU processor incorporate logical assignments. Detailed documentation on the MENU processor is provided in [MENU]AAAREADME.DOC The following supplemental procedures and excutable are provided : ASSIGNSYS.COM Sample System Logical Assignment Procedure ALOGIN.COM Application Login Control Procedure DLOGIN.COM Software Development Login Control Procedure LOGMENU.COM The MENU processor LOGICAL.COM Sample Application Logical Assignment LOGICAL.FLO Flow Diagram of the implementation process LOGICAL.DOC The Inmos Corporation Logical Assignment Standards ISSL001A.EXE Provides 'unique' user version number for process ISSZ9990.COM Allows 'G' function for logical assignments BATCHU.COM Displays SYS$BATCH,LONGRUN from MENU PRINTU.COM Displays SYS$PRINT,LPA0 from MENU SHOWOPT.COM Display MENU 'alpha' selection options INMOSNET.COM Allows DECNET traversal from MENU SENDMAIL.COM Allows access to MAIL from MENU II. Contact Author: B. Lee Jones INMOS Corporation P.O. Box 16000 Colorado Springs, CO 80935 (303) 630-4226 Page 2 TWX 910 920 4904 ========> [VAX83B.NETGEN]AAAREADME.TXT;1 <======== LABSTATION-23: An Application Note 1.0 OVERVIEW LABSTATION-23 is a product designed to make remote data collection truly automated. LABSTATION-23 may be one or several real-time data collection stations connected by network to a VAX-11. LABSTATION-23 provides automated data collection at local or remote sites, automated data transfer from the small data collection stations to the VAX, and automated data storage on the VAX (see Figure 1). Connected to a VAX-11 via DECnet communication lines, LABSTATION-23 data collection stations act as nodes on the network, running data collection programs initiated on the VAX and transferring the data to the VAX. Once collected, the data can undergo immediate reduction and partial processing on the LABSTATION-23 node or it can be transferred automatically via DECnet to the host VAX for storage and full processing. Designed to be a frontend to the VAX for real-time I/O, each LABSTATION- 23 node includes the following hardware:* o PDP 11/23 central processing unit o 192 Kbyte random access memory o DLV11-J asynchronous terminal interface o DMV11 direct memory access communications interface with built-in modem o I/O modules, including A/D converter, D/A converter, digital input unit, digital output unit, thermocouple preamplifier, dual multiplexer, preamplifier, and clock (all modules are optional) o LABSTATION I/O module crate ________________________________ *DIGITAL's Field Service additionally requires that each facility (loosely defined as a group of LABSTATION nodes located within a common area) have a test station consisting of a LABSTATION-23 cart, VT100 video terminal, and an RX02 disk drive. Page 2 The LABSTATION nodes are connected to a central VAX-11 that must be equipped with a unibus and a DMP-11 direct memory access synchronous communications interface, which can support up to twelve LABSTATION nodes. In internal testing, we measured the speed of data transfer from the nodes to a VAX-11. The data in Table 1 show the results of our testing. Note both the decline in individual transfer rates and the increase in the aggregate transfer rate as nodes were added. Table 1. Rate of Data Transfer from LABSTATION Nodes to VAX-11 Host ------------------------------------------------------------------- No. Active Individ. Xfer Aggregate Xfer Nodes Rate Rate (Samples/Sec) (Samples/Sec) 1 1300 1300 2 950 1900 3 740 2200 4 600 2400 5 510 2500 -------------------------------------------------------------------- Although temporary local storage at the nodes (on floppy or hard disk is an option, the method described in this note uses remote data collection at the nodes and centralized data storage and processing on the VAX, with data transfer performed by the network (DECnet) via the DMP-11/DMV-11 communications interfaces. This Application Note describes: o A procedure that automates RSX-11S system generation o A procedure that automates network configuration, following network installation by DIGITAL's Software Support personnel o A program development tool that automates the editing, compilation, and downline loading of your programs o A pair of demonstration programs that collect data at a node and then transfer it, via network, to the VAX for analysis 2.0 AUTOMATING RSX-11S SYSGEN AND LABSTATION NETWORK CONFIGURATION Page 3 2.1 Copying The Disks 1. We recommend that you copy both distribution disks onto the disk that is to become the LABSTATION 23 disk. This disk and UIC will be assigned the logical name SYS$LS23. 2.2 RSX-11S System Generation 1. We recommend that you run the SYSGEN procedure from a hardcopy terminal, as the hardcopy will let you retrace your steps, should something go wrong. We also recommend using one disk for system and network generation and another as the permanent LABSTATION system disk, which will hold the RSX-11S system files, the DECnet11S database and system files, and the LABSTATION software. The SYSGEN and NETGEN pro- cedures leave UICs all over the disk; by copying all LABSTATION system and network files to a clean disk, you will have a dedicated system disk. Use default UICs with the SYSGEN procedure. In the dialog that follows, user input is printed in color. Before running the SYSGEN procedure, print out the SYSGEN dialog, which is contained in the following files on your LABSTATION-23 distribution media: 1. *.LOG 2. To run the program, log in on the VAX, using an account with system manager privileges; specify that you want to use the MCR command line interpreter. In response to VMS's username prompt, type: Username: SYSTEM/CLI=MCR where SYSTEM represents a fully privileged account name. /CLI=MCR represents invokation of the MCR command line interpreter. After entering your password, proceed to step 3. 3. Assign a single device, specifying a number for a UIC that will hold all system and network files; then give that UIC the name SYS$LS23. For example using UIC 3,64 type: >ASN DR0:[3,64] SYS$LS23 Page 4 where DR0: represents the assigned device. [3,64] represents the default UIC number. SYS$LS23 represents the logical name assigned to this device and UIC. 4. Enter the SYS$LS23 UIC. Type: >SET DEF SYS$LS23 5. Begin running the SYSGEN procedure. Type: >@RMGEN The SYSGEN procedure is interactive; respond to all questions that are displayed. Following is a description of each part of the dialog in the SYSGEN procedure, with recommended answers to critical questions. The first set of dialog is concerned with device information. In response to the first question, WHAT IS THE TARGET PHYSICAL DEVICE[S]: give the name of the device on which you want to do system generation. We recommend the use of a disk with 3000 blocks of free space. The final question in section 1, as well as those in section 2, require affirmative answers. Section 3, "RSX11S Generation," has several critical questions. We will present all questions and recommended responses. Whenever appears alone as the response, it means that we recommend use of the default response, which requires only a carriage return. IS THE TARGET DISK, SY0, THE SYSTEM DEVICE [Y/N]:N WHAT IS THE GROUP NUMBER FOR THE SYSTEM FILES [0 R:1-10 D:1]: WHAT IS THE GROUP NUMBER FOR THE EXECUTIVE FILES [O R:1-11 D:11]: TARGET DEVICE NAME[S]:dl0 Use default values for the group numbers (press carriage return). COPY THE RSX-11S DISTRIBUTION FILES TO THE TARGET DISK? [Y/N]:y ENTER DEVICE FOR THE RSX-11S DISTRIBUTION KIT[S]:ms0 Page 5 IS THE RSX-11S DISTRIBUTION KIT ON A 2400 FOOT REEL [Y/N]:y IS THE TAPE READY ON MS0:? [Y/N]:y Although the questions regarding the RSX-11S distribution media repeat those in section 2, answer them anyway. 3. DO YOU WANT TO INHIBIT EXECUTION OF MCR COMMANDS? [Y/N]:n 5. ARE YOU GENERATING A MAPPED SYSTEM? [Y/N]:y 6. USE AN INPUT SAVED ANSWER FILE? [Y/N]:y 7. NAME OF INPUT SAVED ANSWER FILE [D: SYSSAVED.CMD] [S]: Answer these questions EXACTLY as above. 9. NAME OF OUTPUT SAVED ANSWER FILE: NL: 11. USE SAVED HOST CONFIGURATION? [Y/N]:y 12. USE SAVED PERIPHERAL CONFIGURATION? [Y/N]:y 13. SKIP END OF SECTION (EOS) BREAKPOINTS? [Y/N]:n 14. SKIP END OF EXECUTION (EOX) BREAKPOINTS? [Y/N]:n 15. CLEAN UP FILES FROM PREVIOUS GENS? [Y/N]:y Respond to the questions exactly as shown above. The system will now display information about the target configuration. When it reaches the host configuration section, the system will display the following prompt several times: *EOS * DO YOU WANT TO:-CONTINUE R-REPEAT SECTION E-EXIT P-PAUSE: Press RETURN each time the prompt appears. In the "Create Executive build files" part of section 3, the program again displays the prompt: *EOS* DO YOU WANT TO: -CONTINUE R-REPEAT SECTION E-EXIT P-PAUSE: You MUST respond by typing: P After a brief pause, the program will display the angle-bracket prompt. In response, type: > @sys$ls23:rmsgn1.cmd This will cause the system to run a system customization procedure. Again, this procedure will display the prompt: Page 6 *EOS* DO YOU WANT TO: -CONTINUE R-REPEAT SECTION E-EXIT P-PAUSE: Respond by pressing RETURN. After completing the executive assembly, the program will ask: EOX * DID THE EXECUTIVE ASSEMBLE CORRECTLY [Y/N]: EOX * DID THE DEVICE DRIVERS ASSEMBLE CORRECTLY [Y/N]: EOX * WERE THE TASK BUILD PREPARATIONS MADE SUCCESSFULLY? [Y/N]: Answer "no" only if a question is preceded by error messages; otherwise, answer "yes." Following these questions, phase I of RSX-11S sysgen terminates and phase II begins automatically, although the procedure displays this message: End of 11SGEN phase 1 at hh:mm:ss on dd:mmm:yyyy __To continue type: @[2,200]11SGEN2 Ignore this message; DO NOT type anything. Phase II will begin automatically and will ask: * DID THE FIRST PART COMPLETE WITHOUT ERROR [Y/N]: You must answer "y" to this question, if you wish to proceed. Phase II is divided into two sections, "Build the Executive and All Required Tasks" and "Build Loadable Drivers." Answer all questions in both sections. Respond to the questions as indicated below. IN WHAT UIC IS SGNPARM.CMD IF NOT [2,200] [S]: TARGET DEVICE NAME[S]: Name the device that was named in response to the very first question in the procedure. DO YOU WANT EXPANDED COMMENTS? [Y/N]:n HAVE YOU ALREADY CREATED 11SLIB.OLB? [Y/N]:n HAVE YOU ALREADY BUILT THE EXEC? [Y/N]:n DO YOU WISH TO EDIT THE EXECUTIVE BUILD FILE? [Y/N]:n DID THE EXECUTIVE BUILD SUCCESSFULLY? [Y/N]: Answer "no" to this question only if it is preceded by error messages. DO YOU WANT TO BUILD ANY LOADABLE DRIVERS NOW? [Y/N]:y Page 7 In the "Build Loadable Drivers" section, the program asks for specifics regarding your selection of device drivers and your selection of privileged tasks to be included in your system. Answer all questions in this section. Recommended answers appear below. 3. DEVICE FOR DRIVER'S MAPS [D: NL:] [S]: The defualt values DD: and DY: were selected. 5. DRIVER 2-CHARACTER DEVICE MNEMONIC[S]: DD 6. DRIVE PARTITION NAME [D: DRVPAR] [S]: 5. DRIVER 2-CHARACTER DEVICE MNEMONIC[S]:DY 6. DRIVE PARTITION NAME [D: DRVPAR] [S]: 5. DRIVER 2-CHARACTER DEVICE MNEMONIC[S]: Pressing indicates there are no more device types to be loaded. DO YOU HAVE THE MAPS ALREADY? [Y/N]:n HAVE YOU ALREADY BUILT THE FULL DUPLEX TERMINAL DRIVER? [Y/N]:N DO YOU WISH TO EDIT THE BUILD COMMAND FILE FOR THE TERMINAL DRIVER?:n DID THE TERMINAL DRIVER BUILD SUCCESSFULLY? [Y/N]:y LIST FULL DUPLEX TERMINAL DRIVER MAP? [Y/N]:n DO YOU WANT TO CONTINUE AND BUILD THE PRIVILEGED TASKS? [Y/N]:y ASSEMBLY LIST DEVICE FOR PRIVILEGED TASKS (DDNN:) [D: NL:] [S]: MAP DEVICE FOR PRIVILEGED TASKS (DDNN:) [D: SY:] [S]: HAVE YOU ALREADY BUILT TASK TKTN?[Y/N]: n DO YOU WISH TO INCLUDE BASMCR, OTL, OR SIP IN YOUR SYSTEM? [Y/N]:y DO YOU WISH TO INCLUDE RSDV05, RSDV52, OR RSDV1H? [Y/N]:y DO YOU WISH TO INCLUDE THE RSX-11S SUBSET FCS? [Y/N]:n DO YOU WISH TO BUILD CDA FOR YOUR HOST SYSTEM? [Y/N]:n DO YOU WISH TO MAKE CORRECTIONS TO RSX-11S SOURCE MODULES? [Y/N]:n DO YOU HAVE TO EDIT THE TASK BUILD COMMAND FILE FOR TKTN?[Y/N]:n DO YOU WANT TO INCLUDE TASK BASMCR? [Y/N]:y DO YOU WISH TO EDIT THE ASSEMBLY PREFIX FILE FOR BASMCR? [Y/N]:n DO YOU WISH TO EDIT THE TASK BUILD COMMAND FILE FOR BASMCR?[Y/N]:n DO YOU WANT TO INCLUDE TASK OTL? [Y/N]:y DO YOU WISH TO EDIT THE ASSEMBLY PREFIX FILE FOR OTL? [Y/N]:n DO YOU WISH TO EDIT THE TASK BUILD COMMAND FILE FOR OTL? [Y/N]:n DO YOU WANT TO INCLUDE TASK SIP? [Y/N]:y Page 8 DO YOU WISH TO EDIT THE ASSEMBLY PREFIX FILE FOR SIP? [Y/N]:n DO YOU WISH TO EDIT THE TASK BUILD COMMAND FILE FOR SIP? [/N]:n DO YOU WANT TO INCLUDE TASK RSDV05? [Y/N]:n DO YOU WANT TO INCLUDE TASK RSDV52? [Y/N]:n DO YOU WANT TO INCLUDE TASK RSDV1H? [Y/N]:y Answer the above questions according to the type of terminal interfaces you need. DO YOU WISH TO EDIT THE TASK BUILD COMMAND FILE FOR RSDV1H?[Y/N]:n DO YOU WANT TO CONFIGURE THE EXEC AT THIS TIME USING VMR? [Y/N]:n Answer "no" to this question. DIGITAL's Software Support personnel must install the network (DECnet-11S). Only after the network is installed can you configure the executive. Do so by running the Network Configuration program, described in Section 2.3 of this Application Note. The configuration pro- cedure will build and install a system image using VMR. 2.3 Network Configuration Program Use this procedure only after system and network installation have been completed. 1. To run the Network Configuration Program, log in on the VAX, using an account with system manager privileges; specify that you want to use the MCR command line interpreter. In response to VMS's username prompt, type: Username:SYSTEM/CLI=MCR where SYSTEM represents an account with system manager privileges. /CLI=MCR represents invokation of the MCR command line interpreter. After entering your password, proceed to step 2. 2. Access the device on which the LABSTATION SYSGEN procedure was performed, and enter the UIC assigned to the LABSTATION system files. Type: >ASN DR0:[3,64] SYS$LS23 where DR0: represents the the RK07 disk on which SYSGEN was performed. [3,64] represents the UIC number assigned during SYSGEN. Page 9 SYS$LS23 represents the UIC's logical name, assigned during SYSGEN. 3. Enter the SYS$LS23 UIC. Type: >SET DEF SYS$LS23 4. Begin running the configuration program. Type: >@RMCONFIG The program is interactive, respond to all questions that are displayed by the program. The first question asks if SYSGEN and NETGEN have been completed. Only if you answer "yes" to this question will the procedure continue. In Section 1, the procedure asks you to create a password of up to eight characters and to establish privileged and nonprivileged accounts with names and passwords of up to fifteen characters. After doing this, proceed to Section 2 of the procedure. In Section 2, "LABSTATION-23 host configuration," the procedure asks critical questions about each DMP-11 communications interface and the nodes connected to it. These questions, and guidelines for answering them, follow. SHOULD DMP-0 BE CONFIGURED AS A LABSTATION CONTROLLER? [Y/N]: If your system has only one DMP-11 communications interface, and the nodes have been connected to it, answer "yes." If your system has more than one DMP-11 communications interface, and LABSTATION-23 nodes have been connected to several of them, DIGITAL's Software Support personnel have informed your system manager which DMP-11 interface has been assigned the number 0 and what nodes are connected to it. Obtain this information before proceeding. Answer "yes" to this question. HOW MANY LABSTATION STATIONS ARE CONNECTED TO DMP-0 [D R:1-12 D:1]: Up to twelve nodes can be connected to each DMP-11 line. Specify the number of nodes connected to the line assigned the logical number 0. (If your system has multiple DMP-11 communication lines installed, this entire dialog will be repeated for each DMP-11 line.) WHAT IS THE NODE NUMBER OF DMP-0, STATION 1 [D R:1-16]: Be sure to give station 1 the node number assigned to it during network installation by DIGITAL's Software Support personnel. Page 10 WHAT IS THE NODE NAME OF DMP-0, STATION 1[D R:1-6]]: Be sure to give station 1 the node name given to it during Network Generation, so that the node name, or password, established in the host data base is the same as the password set in the switches on the DMV. The procedure will repeat the questions on node number and node name for all nodes on each DMP-11 communications line. When all node names and numbers are complete, the program will ask: SHOULD DMP-1 BE CONFIGURED AS A LABSTATION CONTROLLER? [Y/N]: Answer "yes" only if you have a second DMP-11 communications line to which LABSTATION-23 nodes were connected by DIGITAL's Software Support during network installation. After all LABSTATION-23 nodes have been defined, the program asks: ARE YOU READY TO CONTINUE? [Y/N]: If this is the first time you've configured the network, answer "yes," so that the program will display progress messages as it updates the network's database, creates system image files, and terminates. When the procedure terminates, proceed as follows: Stop DECnet on the VAX; run the Network Control Program from the system manager's account; and then restart DECnet. To do all this, type: >NCP NCP> SET EXEC STA SHUT NCP> EX Next issue the command to start the network: $@[directory containing the startnet command file]STARTNET The network should now be running. Use the network to downline load the RSX-11S system image to the nodes. Again, invoke the Network Control Program. Type: $RUN SYS$SYSTEM.NCP For each node, type: NCP>LOAD NODE nodename where Page 11 nodename represents the name assigned to each node during network generation. 3.0 PROGRAM DEVELOPMENT TOOL The tool described in this section should be used to develop application programs on the host VAX and then automatically downline loading them to the LABSTATION nodes. This procedure lets you edit, compile, task build, and downline load your programs automatically. The name of the program development tool is RMDEVEL. Do not use this procedure unless your account has the following privileges: OPER, LOG-IO, and CMKRNL. 1. To run the program development tool, log in to VMS on the VAX. After entering your username and password, invoke the MCR command line interpreter by typing: $MCR 2. Access the LABSTATION system disk and enter the LABSTATION UIC. Type: >ASN DR0:[3,64]=SYS$LS23: >SET DEF SYS$LS23 where DR0: represents an RK07 disk. If your LABSTATION system is stored on another type of device, enter that device name and number. [3,64] represents the UIC number. SYS$LS23 represents the UIC's logical name. 3. Invoke the procedure and name the source file that you wish to work on. Type: >@RMDEVEL filename where filename is a 1-6 character name for a source file. DO NOT add a file extension. The program assumes that the extension is .FTN. Page 12 The procedure will ask you a few questions and then invoke the EDT editor. The questions are as follows:. *WHAT WAS THE TARGET DEVICE DURING SYSGEN AND NETGEN [S]:DR0 Specify the name of the device on which your LABSTATION system is stored. *WHAT WAS THE GROUP UIC NUMBER SPECIFIED [O D:3]: Use the default UIC; press carriage return. * [1:6] WHAT IS THE LABSTATION TARGET NODE NAME [S]: OXYGEN In this response, OXYGEN is the name of the node on which the program being developed will run. Name the node[s] on which you wish your program to run. After you answer remaining questions on the use of remarks and end- of-execution breakpoints, the program will automatically perform the following program development tasks: 1. Invoke the EDT editor. 2. Compile your source file. 3. Task build your program image. 4. Install the program image in host memory, using the VMR utility. 5. Downline load your program to the specified target node(s). If you indicated that you want end-of-execution breakpoints, the program development tool displays this prompt at the completion of each task: DO YOU WANT TO CONTINUE ,EXIT ,PAUSE

, OR REPEAT : To continue to the next task, press To exit the program, type E To abort the program and return to MCR level, type P To return to the beginning of the editing stage, type R The first time the program development tool is used on any program, the tool will display the following error message: REM program name VMR--TASK NOT INSTALLED DO YOU WANT TO CONTINUE, EXIT, PAUSE

, OR REPEAT: where program name represents the name of the program that's Page 13 being developed, compiled, or installed. Always respond to this message by typing: R When it has completed all tasks, the program development tool displays this message: End of procedure If you used the program to perform all five tasks, your program should now be installed on the specified node(s). 4.0 DEMONSTRATION PROGRAMS A pair of demonstration programs is included with the LABSTATION-23 software. Working together, the two programs collect data from an A/D converter into a buffer on the LABSTATION node, and, as the buffer fills, they transfer the data via DECnet to the VAX. Written in FORTRAN, they collect and transfer three buffers of data (2048 words per buffer) from the node to the VAX. RMDMO1, the first program in the pair, runs on the LABSTATION node. Its role is to set up and manage data collection and then to send each buffer of data to the VAX. RMDEMO1, the second program in the pair, manages the transaction by calling RMDM01, opening a VAX file for data storage, accessing the network, prompting the user for the file name, reading and writing to disk the three buffers of data, and then closing the data file. Before using this pair of demonstration programs, make sure that the LABSTATION system software has been installed and that the network has been configured according to the instructions in Section 2.0 of this Note. 1. Make sure that the LABSTATION node you wish to use is equipped with an A/D converter and a clock module. 2. Log in to VMS on the VAX. 3. Access the LABSTATION system disk and enter the LABSTATION UIC. Type: $ASN DR0:[3,64]=SYS$LS23 NCP> SHOW KNOWN NODES In response, the Network Control Program will display a list of reachable and unreachable nodes. To leave NCP, type: NCP>EXIT B. If RMDMO1 is not yet installed in the system image, proceed to step 5. C. If a node goes down, wait until it is up and running again, and proceed as follows: I. Determine whether the node demo program (RMDMO1) has been installed in the system image. If it has not, proceed to step 5. If it has been installed in the system image, do the following: a. When the node is up and running again, log in to the VAX, using the (default) DCL command line interpreter. b. Invoke the Network Control Program (NCP and downline load the system image to the node(s). Type: $NCP NCP>LOAD NODE nodename where Page 15 nodename represents the name of the node where you want to run the demo program. As soon as the system image is downline loaded to the node, the Network Control Program (NCP) will display this prompt: NCP> Leave the Network Control Program by typing: NCP>EXIT and proceed to step 6B. 5. Invoke the MCR command line interpreter and run the program develop- ment tool, RMDEVEL, on the RMDMO1 program. The program development tool will compile and task build the RMDMO1 program, install it in the system image, and downline load both the system image and the demo program to the specified node(s). Type: $MCR >@RMDEVEL A. The program will ask you a few questions. Respond as directed in Section 3.0 of this Note, specifying the node(s) you want to use and the default UICs. B. During execution, the program development tool will display the following error message: REM RMDMO1 VMR--TASK NOT INSTALLED DO YOU WANT TO CONTINUE ,EXIT ,PAUSE

, OR REPEAT : In response, type: R C. The program development tool will compile and task build the node demo program, install it in the system image, and then downline both the system image and the demo program to the specified node(s). When it has completed all of these tasks, it will display this message: End of procedure The LABSTATION system image and RMDMO1, the node demo program, are now loaded on the node. RMDMO1 will begin data collection as soon as it is activated Page 16 by RMDEMO1, the host demo program. To start running the host demo program, log off the VAX momentarily and then log on again, this time using the (default) DCL command line interpreter. 6. A. Access the LABSTATION system disk and UIC. Type: $ASN DR0:[3,64]=SYS$LS23 $SET DEF SYS$LS23 where DR0: represents an RK07 disk. If your LABSTATION system is stored on another type of device, enter that device name and number. [3,64] represents the (default) LABSTATION UIC number. SYS$LS23 represents the LABSTATION system UIC name. B. The RMDMO1 program should now be ready to collect data at the node(s). To run the RMDMO1 program, you must activate the host demo program. If the host demo program has already been compiled and linked, proceed to step 9. If the host demo program has not been compiled and linked, proceed to step 8. 7. Compile and link RMDEMO1, the host demo program. Type: $FOR RMDEMO1 $LINK RMDEMO1 8. To run the demo program on the host, type: $RUN RMDEMO1 This program will now automatically activate the node program, which will begin data collection. The host program will manage the transaction and will store the data on a VAX disk file. END ========> [VAX83B.NRLSSD]AAAREADME.TXT;8 <======== Programs in this directory were submitted by the Space Science Division of the Naval Research Laboratory. This submission completely replaces the corresponding fall, 1982 symposium tape entry. 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 once a minute 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. Processes which have a priority greater than 5 are also not attacked (If a process has an abnormally high priority, it must be for a reason; moreover this test preserves the priority of the print symbiont, who occasionally assumes a user UIC). 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 (file_spec and file size) sorted by file_spec. The file_spec includes the directory. FINDUIC 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 (file size, owner, and file_spec) which is sorted in descending order of file size. The file_spec includes the directory. BIGFILES calls the subroutine FSPEC, which is included. To install BIGFILES, copy BIGFILES.EXE to SYS$SYSTEM, for Page 2 instance, and define a global symbol similiar to: $ BIG*FILES == "$SYS$SYSTEM:BIGFILES" To use BIGFILES: $ BIG DRA1:/OUTPUT=DRA1BIG.LIS !for example 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 file_spec, including the directory. 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 ========> [VAX83B.NSWC]AAAREADME.TXT;3 <======== [VAX83A.NSWC]AAAREADME.TXT 1. MIRACLE MESSAGE PROGRAM -------------------------- Prints specified text in large letters (capitals are 2.7 inches tall), four rows at a time, vertically 'down the page'. Spacing is proportional; characters are even overlapped to equalize white space (e.g. the '4' in '74' is tucked under the '7'). Vertical and Italic Roman fonts are available. For proper proportions, the printer must be set to print at eight lines per inch. Additional formats are available on LA120 DECwriters. Submitted by: ALAN L. ZIRKLE NAVAL SURFACE WEAPONS CENTER CODE K105 DAHLGREN, VIRGINIA 22448 To see an example, print MMSAMPLE.LIS at eight lines per inch with /NOFEED. For further information, see MIRACLE.DOC. 2. MONITOR.COM -------------- Simplifies running of the DCL MONITOR command. Provides a menu display and simplified invocation of the various MONITOR dis- plays. Contains screen-formatting escape sequences specific to VT100-compatible terminals. The procedure's default MONITOR display (currently PROCESSES/TOPCPU) can be changed, if desir- ed. This originally came from DEC Educational Services, Wash- ington, D.C. Suggested usage: $ MON*ITOR == "@[VAX83A.NSWC]MONITOR" ! in LOGIN.COM $ MON ! to use it ========> [VAX83B.OSUCHENG]AAAREADME.TXT;1 <======== [VAX83A.OSUCHENG]AAAREADME.TXT KRIS LAKSHMANAN Department of Chemical Engineering Ohio State University 140 W 19 Avenue Columbus, Ohio 43210 614 422-7906 or 614 422-6591 1. BATTLESHIP: Battleship war game with graphics for Tektronix type terminals. This particular version of the program uses VT100 terminal retrofitted with Digitial Engineering VT640 graphics processor board. 2. BLACKJACK: The official blackjack game for 1 player against the computer. Program keeps track of the statistics of players and their monetary situations. This program calls USERNAME.MAR routine to get Username string. 3. FLOPPY: Command procedure utility to use floppy disks. Procedure copies files back and forth from user disk to floppy, deletes and gives disk usage statistics. This procedure is very useful for novice VMS users and occasional users of floppy disks. 4. GRADING PROGRAMS: This consists of two programs, INPUT.FOR and GRADE.FOR, for recording, updating, analyzing and tabulating students grade for a class of upto 150 stundents. Program is totally interactive and structured for use by users with no computer terminal experience. We have used this program over the last year and a half with good response from the faculty and staff as well as students. Instructions for using this program are given in INPUT.RNO and GRADE.RNO files. 5. MSTRMIND: The ultimate number guessing program MASTERMIND (The source code of the program is lost in the archives at the time of this tape preparation). You have to guess a 4 digit number within ten tries. Correct guesses are flagged with a '+' or '-' sign. The '+' sign indicates the number is in correct location and '-' sign indicates the guessed number is correct but in wrong location. The signs does not point to the exact location of a digit in the number. Numbers have to be entered with a space between each digit. 6. SPIRO: Graphics program to draw a SPIROGRAPH. This program draws a spirograph with the given radii, scale factor and number of points. Needs tektronix type terminals and/or PLOT10 commands to move and draw vectors. 7. STARTREK: This is a short instruction of a good strategy to play and beat the most popular game STARTREK. This game was originally from a DECUS distribution tape a year or so ago. The writeup is as a result of many lightyears of intense travel through the galaxy. Page 2 8. VT640: List of subroutins for Digital Engineering VT640 graphics board for VT100 terminals. This routines work under PLOT10 graphics and makes use of the special features of this board. WAIT.FOR routine calls QSUB.MAR routine. ========> [VAX83B.RRC]AAAREADME.TXT;1 <======== ********************************* AAAREADME.TXT for [VAX83A.RRC...] ********************************* The submissions in this subtree have been made by Reliance Electric Company. The contents are hereby released to the public domain. No warranty, express or implied, is provided for this software. Some portions of the software may affect system security or performance. Be sure that you understand what you are adding! [VAX83A.RRC.COM] This directory contains some command procedures. They are probably not very useful as they stand, but some of the techniques used may be of interest. [VAX83A.RRC.COM.BACKUP] System backup command procedure and supporting files. [VAX83A.RRC.DTR32.DISK] DTR definitions for tracking disk usage. The database is updated automatically each week and the results can be plotted on any line printer 132 columns wide. Includes a domain that maps the DISKQUOTA file. Please read all of the warning before using this! [VAX83A.RRC.DTR32.FUNCTIONS] Before you can use any of these DTR things, you must update your DTRFND.MAR to include some new functions. The functions added are: FN$STR_TRIM( string ) FN$OCT( integer ) FN$OCT_DEC( string ) FN$HEX_DEC( string ) FN$GET_SYMBOL( string ) FN$SET_SYMBOL( string1, string2, integer ) UPDATE.COM will update a DTR32 V1.3 DTRFND.MAR for you. [VAX83A.RRC.DTR32.PORTS] DTR definitions for tracking ports and associated information. The domain is used by SYLOGIN.COM to determine which print queue to use for each terminal. [VAX83A.RRC.DTR32.TICKLER] DTR definitions for a reminder system. This project was never polished. Some of the tricks are worth checking, e.g., reading selected MAIL messages into domains. It can show you all the things you have to do today, this week, ... . [VAX83A.RRC.DTR32.USERS] DTR definitions for tracking who's who. Username to full name and other useful conversions. A group of procedures are included that will check to see who has (not) changed their password since whenever. Includes a domain that maps SYSUAF.DAT. Please read all of the warnings before using this! Page 2 [VAX83A.RRC.VT100] A daemon that clears unused VT100 screens. An simple example of MACRO programming, and a useful utility. A companion utility can send a time delay through a mailbox requesting that CLEAR hold off for a time. This allows broadcast messages to remain visible as long as desired. Seth Stern Reliance Electric Company RRC-1 24703 Euclid Avenue Cleveland, Ohio 44117 (216) 266-6721 ========> [VAX83B.RTDIR]AAAREADME.TXT;3 <======== This directory contains the index files from the RT SIG SymposiaTapes. See README.DOC for more information. NOTE: The .DIR fileshave been renamed .LIS. ========> [VAX83B.SCT]AAAREADME.TXT;1 <======== Systems Control Technology ... (415) 494-2233 1801 Page Mill Rd. Palo Alto, Ca. 94303 Mike Liveright Jill Josselyn (1) ********* W O R D ********* This is an interactive spelling correction program. The dictionary files are indexed isam files, 20 of them, all beginning with 'WORDS.L##'. They have been created from a source word file using the program WORDMAKE. The necessary object modules for program WORD are included here and listed in the link command file, WORDLNK.COM. More information is available to the user by typing a '?'. "Help" is available by typing '??'. Note.. This is an "improved" version of a program that was put on the Fall 1982 DECUS tape by SCT (or) SCI. The Improvement is that this program should permit interactive input and output so that a file can be corrected on the fly rather than by a post pass editor. (2) ********** SEDIT.APL *********** This is an APL work space that permits the APL user to edit a function by the standard VAX editors. There is a problem in that when the function can not, after editing, be re-formatted into a legal APL function, then it does not fully recover. This was developed by Strat Jaquette. To use this, Load the work space, and then enter the command: EDIT 'FunName' [cr] .. For the SOS EDITOR or EDT 'FunName' [cr] .. For the EDT EDITOR (3) *********** APL.HLB **************** This is the start of an APL help library that is primarly to be used to assist in the use of DEC VAX-11 APL from ascii terminals. I define a symbol, e.g. QAPL, to point to HELP/..., so that the APL user can enter: )PUSH QAPL And be in the help file to get information about a specific operation. This is at an early stage, and incomplete, but if DEC does not provide such a HELP facility, then I expect to expand it, or have some other user expand it by the next DECUS> ========> [VAX83B.SOFTQUOTA]AAAREADME.TXT;320 <======== SOFTQUOTA - A Disk Space Management Utility Submitted by: Marty Adkins VAX Support Group Westinghouse Electric Corp P.O. Box 746 MS 1615 Baltimore, Md. 21203 Presented at Spring 83 DECUS Symposium in St. Louis This program is designed to be a work-around for the "hard" quota limit imposed by DEC's DISKQUOTA implementation. SOFTQUOTA allows a user to have a large working space during a working session, while keeping the residual disk usage at a minimum. An ISAM data file is used in this regard ([000000]SOFTQUOTA.DAT). A utility named SOFTDB is provided for the maintenance of this data base. For more information, see SOFTQUOTA.HLP and SOFTDB.HLP ========> [VAX83B.STRATEGIC]AAAREADME.TXT;1 <======== This submission contains the update to an SD program which was previously submitted. It now has full support for Version 3 features such as concealed devices and rooted directories. It also contains two network programs to allow fuller control over user passwords in a network. It also contains a program which will take as input a Logical Block Number (LBN) and tell you which file the block is in. Submitted by: Wendy Koenig Strategic Information 80 Blanchard St. Burlington, Mass 01803 617-273-5500 ========> [VAX83B.STRATEGIC.NEWPAS]AAAREADME.TXT;1 <======== This directory contains NETSPEC and NETPAS, two network utilities to control the use of passwords over DECNET. NETSPEC creates logical names for a node specifications with passwords so they can be used without explicitly typing a password on your terminal or in a command procedure. NETPAS lets you change passwords at remote nodes. The help files are NETSPEC.MEM and NETPAS.MEM. The following files must exist in SYS$SYSTEM: NETSPEC.EXE NETPAS.EXE SETPAS.EXE XXXSETPAS.COM and the symbols NETSPEC :== $NETSPEC and NETPAS :== $NETPAS must be established. ========> [VAX83B.STRATEGIC.SD]AAAREADME.TXT;1 <======== This is an update to a version on an earlier DECUS tape. The earlier version was missing some files. SD has since been updated for Version 3 of VMS and is able to handle rooted directories, as well as concealed devices. Also the previous restriction of needing CMEXEC to change disks has been lifted and that call has been replaced by a Run-Time Library routine. Also, the file util:su.com is no longer necessary as set uic will now change the uic without changing the default directory. Files included: SD.EXE -- the image for Version 3 SD1.COM -- command file to link this SD.HLP -- help file to insert into system help library SD.MAR,SDACT.MAR,SDTABLE.MAR,COMPARE.B32,SDNUMBS.B32 -- sources COMPARE.OBJ,SDNUMBS.OBJ -- for people who don't have bliss compilers USEFUL.OLB with sources HTRAN.B32, ERROR.MAR WENDY.MLB with source WENDY.MAR for assembling SD.OPT -- options file for link Description: This is a program to make "set default" easier, less typing and more flexible. SD will check to see if the directory exists before it will let you change your default. It will handle logical names, all levels of subdirectories, and uics. See the help for more details. Installation: SD must be a foreign command (i.e. the symbol SD :== $SD must be defined). Privileges: CMKRNL is needed to change uic's. SD will run installed with this privilege or not (forcing the user to have the privilege in order to be able to change uic's). The help file must be installed in the system-wide help file (or else the source can be modified to allow the help file to be wherever you want it). Submitted by: Wendy Koenig Strategic Information 80 Blanchard St. Burlington, Mass 01803 617-273-5500 ========> [VAX83B.UNO]AAAREADME.TXT;1 <======== This directory contains DECUS VAX-11/780 submissions from the University of Nebraska at Omaha, with two departments contributing: 1)Mathematics & Computer Science 2)Remote Sensing Laboratory There are several unrelated submissions. I. FORTRAN CHARACTER INPUT/OUTPUT. A package of routines is grouped as CHARIO.FOR. This includes a set of 4 integer functions READ1,WRIT1,READM and WRITM for performing character operations to/from a terminal screen without normal FORTRAN interference. Each of the routines assigns the needed channel (if that hasn't already been done), and performs the requested information transfer. The routines are coded so that they could easily be added to a system-library. II. XEQ command procedure. Our students had frequent requests to generate a compile, link and execution record for their run of a single-file source program for grading purposes. This .com procedure provides users with a single command XEQ to compile, link, execute and print (options provided) their programs. See XEQ.DOC for installation notes. III. REGIS to/from CALCOMP and HOUSTON INSTRUMENTS FORTRAN Plotting Library developed at UNO Remote Sensing Applications Laboratory. CAL.FOR is a library of subroutines to make a CALCOMP dependent program compatible with REGIS graphics. The program CALCOMP.FOR is an example of the use of these subroutines. HILIB.FOR are similar routines for the HOUSTON INSTRUMENTS DMP SERIES Plotters. HI.FOR is a demonstration program for the HILIB routines. IV. An RJE command procedure. We were unhappy with the "naked" RJE procedure that accompanies the DEC 2780/3780 emulator package, and developed several of our own command procedures to "improve" its function. In a later DECUS, we expect to provide a further improved .com procedure with user-notification upon file-arrival. ========> [VAX83B.USERS]AAAREADME.TXT;2 <======== This directory contains files to build a utility called USERS.USERS enables a non-privileged user to find a username to send MAIL toif he knows a string contained in either the username or the ownerfield of the user authorization file. ========> [VAX83B.UTEXAS]AAAREADME.TXT;1 <======== Submissions from: Computation Center The University of Texas at Austin Austin, Texas 78712 Coordinated by: Thomas J. Linscomb This submission contains three subdirectories which include programs for performing disk charging (accounting), modifications to the DEC PDP-11 debugging tools for the KMC-11 (KMCDA and KMCLDR) that allow them to run on a VAX, and a command file for easily setting the default directory. Directories- [UTEXAS.DSKCHG] Programs for performing disk charging. [UTEXAS.KMC11] Modifications to DEC PDP-11 KMC-11 debugger and loader to run on VAX. [UTEXAS.SETDEF] Set default directory command file for moving around quickly. ========> [VAX83B.UTEXAS.DSKCHG]AAAREADME.TXT;1 <======== Submitted by: Thomas J. Linscomb Computation Center The University of Texas at Austin Austin, Texas 78712 (512) 471-3241 This submission contains two programs and a command file that help facilitate billing for disk usage. Program DSKCHG will make entries into the accounting file by reading in DISKQUOTA and AUTHORIZE listing files and matching UIC'S. The accounting record includes the User Name, Account, Uic, disk usage and permanent quota. Additional documentation is found in DSKCHG.DOC. The second program, QUOTA will take a binary file with the USER accounting records and produce a listing file of the disk usage. QUOTA.DOC includes the documentation for this program. ========> [VAX83B.UTEXAS.KMC11]AAAREADME.TXT;1 <======== Submitted by: Thomas J. Linscomb Computation Center The University of Texas at Austin Austin, Texas 78712 (512) 471-3241 This submission contains programs and patches which are used to run the PDP-11 version of the KMC-11 debugging tools. The patches included are for the DEC proprietary programs KMCLDR and KMCDA which are designed for loading and debugging KMC-11 software on a PDP-11. By utilizing the RESCOM (resident common) and global section features on a VAX/VMS system these two compatibility mode programs will correctly map to the I/O pages and perform identically as on a PDP-11. The following KMC-11 related files are also included: 1. Command files for assembling and linking KMCLDR and KMCDA on a VAX. 2. A command file for assembling and linking KMC-11 source files. 3. A TECO macro that will clean up KMC-11 listing files. 4. A short KMC-11 program that will echo input on a DR-11K. Additional documentation can be found in the file VAXKMC.DOC. ========> [VAX83B.UTEXAS.SETDEF]AAAREADME.TXT;1 <======== Submitted by: Philip Watson Computation Center The University of Texas at Austin Austin, Texas 78712 (512) 471-3241 SETDEF.COM is a very useful command file for quickly changing the default directory. It provides many options which will allow: 1. Showing the current default directory ("@setdef ") 2. Changing to a subdirectory of current directory ("@setdef >subdir") 3. Changing to SYS$LOGIN directory ("@setdef ;") 4. Changing to a subdirectory of SYS$LOGIN directory ("@setdef ;subdir") 5. Changing to the next highest directory ("@setdef <") 6. Changing to top level of current default ("@setdef .") 7. Changing to subdirectory of the top level current default ("@setdef .subdir") 8. Changing default to specified directory, where directory given may be a logical name ("@setdef herdir") 9. Saving current default in logical name sd$default ("@setdef (") 10. Restoring default from logical name sd$default ("@setdef )") 11. Showing subdirectories of current default ("@setdef >") 12. Typing help for SETDEF.COM ("@setdef ?") By defining the symbol "SD" to execute SETDEF.COM (i.e. SD :== @SETDEF) all commands can be shortened even futher. ========> [VAX83B.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, & REF Author: Robin Miller Date: Spring 1983 Description: VAXNET is a program used to transfer ASCII files over an asynchronous commun- ications line between two computers. The progams supplied in this directory allow for file transmisssion between VAX and VAX or between VAX and RSX11M. File transmission with other system types such as IBM, EASYLINK, APPLE, etc. can be accomplished via the log file capability and the DUMP command. This program only transmits ASCII files. Two programs called F2T and T2F allow files of either 256 or 512 byte fixed length records to be converted into 64 byte ASCII records, transferred to the other computer, and then converted back to the fixed length records. Hopefully by the fall DECUS, this won't be necessary as I'm working on transparent file transmission. This is my third submission of VAXNET. From the many phone calls I get regarding VAXNET, I'm happy to see so many people using it. I must apologize for not getting it into the DECUS library; I'll be completing a submittal form for this release. This version has several enahancements which make it much easier to use. If you have an DEC DF03 or RIXON R212 autodial modem, you'll love it. I've also designed VAXNET so that other types of autodial modems can be easily added. Enhancements include: o DCL symbols can be defined to answer all the startup questions. The help file topic SYMBOLS describes which symbols to define. Also a template file for defining symbols is available called TEMPLATE.COM. Although global symbols can be used, I like using the local symbols as shown in the template file. I usually have one startup command file for each remote system I dial into. o VAXNET now supports two types of autodial modems as described above. It supports the DEC DF03 and the RIXON R212 autodial modems. There are a number of commands to use with autodial modems as well. You Page 2 can DIAL, REDIAL, HANGUP, and change modem type with MODEM. There is also an autologin capability which can be used with autodial modems (see HELP VAXNET AUTO_LOGIN). By the fall DECUS, I hope to have a SCRIPT command finished to automatically drive the remote terminal session from a script file. This is all aimed at being to submit jobs to batch, autodial a remote SYSTEM, and perform some function such as sending a TELEX to EASYLINK. o Several problems using VAXNET in interactive mode have been fixed. VAXNET also detects when the remote port has the alternate typeahead buffer enabled. If running at high baud rates (2400 baud or more), I suggest the alternate typeahead buffer be enabled to prevent software data overrun problems (these occur if the typeahead buffer is overflowed). The default alternate typeahead buffer size is 200 bytes with the alarm set at 64 bytes. File SETUP.MAI explains how to enable the alternate typeahead buffer and set the port /MODEM if using a modem. o All startup questions can now be changed at the VAXNET command level (Vaxnet> prompt). This is very useful for changing system types, the remote baud rate, or switching to a different remote port. You can type "HELP VAXNET SUMMARY" to get a list of all commands available at the VAXNET command prompt. o New support has recently been added to parse the GET, SEND, and DUMP commands to allow the VAX and REMOTE file names on the same line. I haven't had time to fully test this but I think it works. The format for each command is: GET remote_filename vax_filename SEND vax_filename remote_filename DUMP vax_filename vax_filename1 vax_filename2 o There is now a program called REF (written in PDP-11 macro so it can be used with RSXNET on RSX-11M) which is used to reformat the VAXNET log files. When exiting VAXNET, if a log file is being closed, the command line "MCR REF log_filename" is automatically executed to reformat the log file. The reformat program then creates a file with the same log file name with the next highest version number as the reformatted file. The REF program also has several other uses such as converting print file format, embedded carriage control, and FORTRAN carrriage control to implied carriage control so these files be transmitted between the VAXNET and SNDRCV programs. o If using a hardcopy terminal, VAXNET doesn't output the record number when transmitting a file with SNDRCV. Actually, the file transfer is much faster if this isn't done. o The DUMP command now displays the echo from the remote system (if any). This was added to detect transmission errors when dumping files. o Several other useful commands such as STATUS, NODECHO, etc. are also available. See the help file for a complete list of commands. Page 3 o Two other files you may want to read are: INTRO.MAI and QUESTIONS.MAI These provide some additional documentation. Problems: Software overrun errors will occur at high baud rates unless the alternate typeahead buffer is enabled for the remote port. Build Procedures: The executables are available and are ready to go when you are. If you should need to rebuild it, the following command files are available: VAXNET.COM Compiles all the FORTRAN modules. VAXNETLBR.COM Generates the VAXNET object module library. VAXNETBLD.COM Generates the VAXNET executable via LINK. COMP.COM This command file is used to compile and replace individual modules in the library. [VAXNET.SNDRCV] Contains the files for the VAX and RSX SNDRCV programs. [VAXNET.RSXNET] Contains the files for the RSXNET program. This is a subset of the VAXNET program which runs on RSX-11M. [VAXNET.REF] Contains the files for the reformatting program. ========> [VAX83B.VAXNET.REF]AAAREADME.TXT;1 <======== Project Software & Development, Inc. 14 Story St. Cambridge, Ma. 02138 617-661-1444 Title: REF Author: Gary N. Larsen & Robin Miller Date: April 29, 1983 Description: REFormat is a program used to convert input files into variable length output files with implied carriage control. REFormat will also do ascii and ebcdic conversions, strip null characters and delete sequences, and break records on escape sequences. Command line format: input_file/switches output_file/switches Where switches are: /ASCII - convert input file from ascii to ebcdic. /EBCDIC - convert input file from ebcdic to ascii. /VFU - input file contains line printer Vertical Format Control. /TOTAL - output number of records and bytes written to output file. /BACK (D) - remove the delete sequence from input file. /ESC (D) - break output records on cursor positioning escape sequences. /NAME (D) - output the name of the reformatted output file. To negate a switch use a '-' or 'NO'. ========> [VAX83B.VAXNET.RSXNET]AAAREADME.TXT;1 <======== Project Software & Development, Inc. 14 Story St. Cambridge, Ma. 02138 617-661-1444 Title: RSXNET Author: Robin Miller & Gary Larsen Date: Spring 1983 Description: RSXNET is a program which allows asynchronous communcations between two computers (systems). Communications can be either directly between the computers using a synchronous null modem patch cable (see "HELP PATCH" for the wiring diagram), or over a dialup line (modem). Communications with the remote system (the system you want to talk to) is accomplished using a second port (asynchronous line) on the local system. RSXNET is a sub-set of the VAXNET program. I've enclosed RSXNET on this VAX submission because I've had several requests from people using VAXNET wanting an RSX-11M equivalent since they have both RSX-11M and VMS systems. This program operates nearly the same as VAXNET except it uses a file called RSXNET.INI to automatically answer the startup questions. It does not have autodial or autologin support and will not run on VMS. ========> [VAX83B.VAXNET.SNDRCV]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: SNDRCV, F2T, & T2F Author: Robin Miller Date: Spring 1983 Description: These programs are used with the VAXNET and/or RSXNET programs to perform ASCII file transmission between two VAX's or between VAX and RSX-11M. Two programs called F2T and T2F allow files of either 256 or 512 byte fixed length records to be converted into 64 byte ASCII records, transferred to the other computer, and then converted back to the fixed length records.