This is the RSX/IAS SIG Symposium Tape from the 1981 Spring DECUS meeting in Miami, Florida. The tape contains material submitted by the user community to the SIG at the Spring DECUS meeting. A very important submission was made to this tape. Ralph Stamerjohn submitted a document that has an abstract for each program on all past RSX/IAS sig tapes. In addition he supplied an index at the end so that you can pick a subject and look to see which sig tape the program is on. This is a very valuable tool and should be printed right away. The programs on this tape are from user submissions. The DECUS staff, the RSX/IAS SIG staff, and DEC are all in relative ignorance of the contents of the tapes. No warranty of any kind is implied in the distribution of these tapes. The programs may or may not be well documented, they may or may not work, they may even crash your system. If you have a problem with the contents of the tape, contact the author of the program. Do not contact DECUS, DEC, or the RSX/IAS SIG. The tape contains approximately 48,690 blocks of software in 2891 files. Since 48,690 blocks would require four 2400-foot reels of tape in FLX DOS format at 800 bpi, we elected to distribute the tape in BRU format. The distribution fits on one 2400-foot tape in BRU format at 1600 bpi. The distribution at 800 bpi will be two 2400 foot reels. I intend to use BRU with the length switch so that the first reel is only 2000 feet long. This will leave librarians who have two tape drives and do reel to reel copies plenty of spare room at the end of the first reel. At the time of this writing I have not actually used the length switch, I think it will look something like : BRU /REW/DENS:800/VERIFY/LENGTH:2000 MM: DB0: I think BIGTPC will correctly treat the two 800 bpi tapes as separate entities and faithly reproduce them. However, I have not tried it. One other note on the distribution, I think the collection will fit on an RK07 but one might have to use the /HEADERS switch on BRU. If you are a VAX site and, for whatever reason, cannot read theh contents of this tape (so graciously submitted by the hard-working RSX/IAS SIG members), please contact Philip Cannon. UIC account [300,1] contains several files of interest. The file RSXSPR81.DIR contains a directory of the contents of the tape (BRU does not produce nice directories). The file RSXSPR81.DOC contains an abstract of the contents of the tape by UIC. The file READ1ST.ALL contains a concatenated list of all the README.1ST files on the Collection. The file SUBMIT.DOC contains the guidelines for submissions to the RSX/IAS sig tape collection. This is must reading for everyone who desires to submit a program to the SIG tape. A copy of this letter appears in the file BEGINS81.TXT in the same account. The file UICSETS81.CMD contains the UFD commands to create all the needed UIC's on device XX:. Edit it to match your needs before using BRU to extract the tape contents. Note that a partial extraction can be achieved by only creating the desired UIC's. The UIC account [300,2] contains the program that is used to copy this and other tapes, BIGTPC. This is a new version of TPC that does not choke at the end of the copy (did not effect data). To use TPC with the 1600 bpi distribution one needs a disk with at least 48,690 blocks of free space, not necessarily contiguous. To read in a copy of the master tape onto your disk, one enters the following command: RUN BIGTPC TPC> DN:RSXSPR81.BRU=MT: To make a copy of the tape for someone, one enters the following command line: RUN BIGTPC TPC> MT:=DN:RSXSPR81.BRU The distribution is again being made through the SIG tree-structured distribution system. A geographically oriented distribution scheme is used, where each LUG makes a few copies of the tapes and sends them on to other LUGS, who in turn make a few copies of the tape and send them on to other LUGS, and so on. The SIG is relying on each node to contact the next higher node for necessary tape-transfer arrangements. Since this is a volunteer operation, sincere interest on the part of soon-to-be participants is very helpful in assuring a timely distribution. Remember since it is a volunteer operation, DECUS is NOT paying for postage or free copies of magnetic tapes. Make arrangements so that this does not cost anybody a lot of money or magnetic tapes. The Tape Copy tree will be mailed in advance to all the nodes with two post cards included. The first post card is to be mailed on receipt of the tree, to acknowledge receipt. If there is some reason why a node cannot participate in the distribution, please contact Philip Cannon IMMEDIATELY. The second post card is to be returned when the Tape Collection copy is received. Now for a new project, we are in the beginning stages of compiling a tape which contains the most popular programs on all past sig tapes. This tape "best of the RSX/IAS sig tape" will be kept updated. The problem is how do we determine the most popular programs. If you have taken a program off the SIG tape and used it, write me (Philip Cannon) a letter and let me know. This be a start anyway. Let me know about things that did not work also. Some programs to start with would be TECO,SRD (which one ???), RUNOFF (whose mods ? or no more mods ?),Ralph's INDEX, and Jim Downward's KMSKIT (includes CCL). Write and let me know what other programs are being used and WHERE YOU FOUND THEM. Tell me which tape and what uic. Speaking of writing letters, if you use a program off the SIG tape, take the time to write to the author and let him know. If you find a bug or make an enhancement, write and let him know. Don't call (we all get too many phone calls) and don't expect a bug fix, but a little positive feedback can go a long way. Just think we have over 200,000 blocks and 12,000 files. With a little positive feedback we will all have to get 6250 bpi tape drives. Anyway my thank you to all the people who have submitted to the sig tape. You are the ones who have made it the huge success it is. The following people burned the midnight oil to create the 1981 spring RSX/IAS sig tape: Angel Li (generously provided the Collection assembly site) James Brown,Joe Sventek,Wayne Graves,George Hamma,Philip Cannon Glen Everhart,Jim Neeland,Tony Scandora, and Mark Weston Respectfully submitted, Philip Cannon RSX/IAS SIG Librarian Science Applications, Inc. 1211 West 22 nd street suite 901 Oakbrook, Il. 60521 (312) 655-5960 THE CONTENTS OF THE SPRING 1981 RSX/IAS SIG TAPE This document contains an annotated description of the contents of the 1981 spring RSX/IAS SIG tape. This annotated directory is considerably longer than past annotated directories, but hopefully it contains more useful information. I made the annotated directory by concatinating all the readme.1st files on the collection. I then did a massive editing job to condense the material to a reasonable size. Well I failed, the size is not reasonable, but I am out of time. I hope you find this document informative, but not too cluttered. I recomend taking a weekend and reading it front to back, making notes in the margin as you go. Well as always, I have to try something new. If you have any comments or critisims please write to me (don't call) an express your views. I do need some feedback to indicate whether I should continue with this long format or go back to a shorter format. I would like to thank my wife Cathy, without her patience and understanding this would not be possible. respectively submitted, Philip H. Cannon RSX/IAS SIG librarian Science Applications, Inc. 1211 west 22 nd street Oakbrook, Il. 60521 ************************************************** NOW FOR THE USUAL DISCLAIMER The programs on this tape are from user submissions. The DECUS staff, the RSX/IAS SIG staff, and DEC are all in relative ignorance of the contents of the tapes. No warranty of any kind is implied in the distribution of these tapes. The programs may or may not be well documented, they may or may not work, they may even crash your system. If you have a problem with the contents of the tape, contact the author of the program. Do not contact DECUS, DEC, or the RSX/IAS SIG. ************************************************** A quick review of some of the material on the tape. Its just a tiny glimpse of what is there. 1. TAPESB.MEM - an INDEX to all previous RSX/IAS sig tapes. The document lists all uics on all past tapes and has a brief abstract of what the programs are about. At the end of the document is a index section. Here you can look up by subject what you want and presto you will be referred to all pages that have software dealing with that topic. You must print this (170 pages) right away, it is terrific (thank you Ralph Stamerjohn). The file is in [346,100]. 2. SRD - several new versions of SRD appear on the tape. see [300,57],[330,005],and [373,4]. 3. DOB - new versions of the disassembler, one gives macro output. see [300,23] and [373,23]. 4. CCL - new version of CCL from Jim Downward [344,61], plus enhancements to the old one. A recursive CCL appears in [373,013]. 5. NETWORK software from DEC. There are new RMDEMO pages, (they don't need DECNET) and many other goodies. see virtual devices (11M without a disk ?). [336,200] 6. RUNOFF - this version of runoff has a table of contents. [300,101] 7. SOFTWARE TOOLS - a new version of software tools [307,30] 8. LUT - display of the logical unit table and open files [300,70]. 9. FORTRAN and F4P debuggers - FORTRAN debugger [312,315] and F4P debugger [330,002]. 10. DSRDMP - prints out the structures in 11M pool. [373,17] 11. VSDRV and SRDRV - core-to-core message drivers. VSDRV [300,120] and SRDRV [307,034] (part of software tools) 12. RMSINT - a 200 page document on the internals of RMS [373,310]. 13. CRASHW - a 100 page manual on analyzing crash dumps [346,101]. 14. MUPGMS - multi-user programs (shared code) on 11M [301,60]. 15. HELP - many new help files [301,54] and [373,302] (there is a help file for TKB in 373,302). 16. DDT - problems with ODT because it takes too much space in your task ? Well this version of DDT only needs 200 words in your task !!! [312,315]. Now we start, uic by uic of what is out there. For your information the collection contains approximately 48,000 blocks of material in 2900 files. [300,001] Account contents: This uic contains useful files that serve as a roadmap to the tape. BEGINS81.TXT - The first file on the tape you should print, it explains how to extract material from the tape. RSXSP81.DIR - A directory of the entire tape. READ1ST.ALL - this file contains a concatination of all of the README.1st files on the tape. UICSETS81.CMD - a command file that creates the UFDs. You can edit it to do a partial restore of the material on the tapes. RSXSP81.DOC - an annotated directory that documents the material on the tape. (this document ) SUBMIT.DOC - a guide for people who intend to make a submission to the RSX/IAS SIG tape. [300,002] Account contents: BIGTPC - a program that is very useful in making a copy of the tape. It will copy FLX,DSC, or BRU tapes. [300,021] account contents: RSX BASIC - Michael Reese Version BASIC as implemented in the following files under RSX-11D is a highly upgraded version of what used to be a DECUS library program for DOS. Full FILES-11 I/O is supported (although in a bastard sort of way). String functions and user de- fined functions are much more flexible than in either the original version or in DEC's BASIC-11. A number of defici- encies and bugs in the original have been fixed. Multi-user implementation is supported with separate pure and impure areas. This implementation of BASIC is highly interpretive and thus is slow for number crunching (that's why you have FORTRAN). It is however, highly interactive and includes special debugging commands: STEP, CON and SET TRACE. OVERLAY and a data preserving CHAIN are also supported. A clean "break" feature is implemented via the TT handler (more below). In the latest version, a number of RSTS-like features have been added including: virtual arrays, integer and byte variables, continued lines and IF-THEN-ELSE. [300,023] account contents: This submission comprises a maintenance release of the REESE Dis-assembler, (DOB.) This program can take object modules or modules automatically extracted from object librarys and create pseudo listings. These lisings can be edited back to MACRO source code. The main difference between this and other routines around, (a la TASKER and DDT,) is that GLOBAL lables that are unde- fined in the object code have their GLOBAL SYMBOL inserted in the text. The end result, especially for EXEC type mo- dules, is much clearer. [300,026] account contents: Following is a description of the modifications made to MCR to allow DCL type commands on a small MCR type IAS system. The essence of the change is: 1. Dec's MCR is modified by using PAT so that instead of changing the task name from ...XXX to $$$XXX if MCR gets an error of "TASK NOT INSTALLED" MCR changes the task name to "...MAS". 2. The reese task "...MAS", receives the command line, modifies the syntax, and sends it to the necessary utility. For example, a command line of "USE 1,1" has "SET /UIC=[" added to the front, and "]" added to the back. The command is then sent to "SET". 3. If MASsage does not recognize one of the pseudo commands, it instead trys to install "XXX.TSX" from LB:[11,1]. If this is successful it sets the "Re- move-on-exit" flag for the task, and spawns the task. If unsuccessful, massage issues the normal "TASK NOT INSTALLED" message. 4. Massage causes INS to run with a TI: of CO: so users are not confused by any INS error messages if they issue an incorrect command. [300,057] account contents: This is a re-issue of this SRD, which was originally on the SanDiego Fall78 tape. Please take note that this is *NOT* the same as the "working group" version. (I am inclined to say that it works better, but since I never tried the "working-group" version myself, I don't know from personal experience. Others who have used both, though, tell me that this one is the better.) Since the San Diego release, this has had some minor fixes and some small modifications as requested by other users. I have added some more switches, and included "grand-totals", for wild-card directories. The operation concerning omitting system directories has been changed slightly ( /SY switch). Included also in the release are 2 TECO macros, to do a mass-edit on an SRD output file. In TECO, do EISTRIP$$ and EIGET$$ This is a vastly improved version of SRD, dated 6-DEC 1979. It has been sporadically updated over the last year and a half, so long that I forgot what it's original base was. I think it was the version distributed with our IAS V 2.0 system. The original SRD had a massive number of bugs, the worst one was probably that it would loose files on a Write-back (but mostly only on very large directories) !!!!!!! This version has had all the bugs I could find fixed, plus a lot of enhancements. Some of the key things are: Write-back works properly, and it also re-tries if it gets an I/O error on the write. It will dynamically expand it's core buffer (via EXTSK$ directive) if the directory won't fit. If the entire directory won't fit, it will do it in chunks, each of which is sorted properly; along with a warning message. A trailer line for each directory is given, showing the number of files in the UFD, and the number of files selected. If a switch that causes the file header to be read is specified (/MI, /FU, or a date switch), the number of blocks used/allocated is also given. A "nolist" switch is added, so you can get the above trailer info, without getting a list of the individual files (very handy for scanning an entire disk). The user write-up has been re-written. On date select, the "before" and "after" dates can now both be specified. The format of the output has been slightly modified so that a simple TECO macro can make a PIP command file to copy (or whatever) the selected files. Two macros to do just that are also on this tape, in my UFD for TECO macros. To use them, do: SRD XXX.CMD=???? TEC XXX.CMD *EISTRIP$$ *EIGET$$ * (any other edit you may want to do) *EX$$ This SRD has been built and run on 11D 6.2, IAS V2.0, and 11M V3.1 [300,070] account contents: LUT.MAC This program will display the Logical Unit Table LUTASM.CMD of a running task including open file information. LUTKB.CMD FCB.MAC This program will display the the FCB chain of FCBASM.CMD a disk device i.e. all open files on that device. FCBTKB.CMD WHE.MAC This program will display the trace back chain of a WHEASM.CMD running task compiled with Fortran IV plus and /TR WHETKB.CMD TTPOOL.MAC This program will display the number of free buffers TTPASM.CMD in the RSX-11M V3.2 full duplex terminal driver of TTPTKB.CMD a running system. [300,100] account contents: This UIC contains system-management programs for RSX-11M V3.2 I put in SYSLOG (KMS-FUSION), but I mainly use it to count user QIO's, and to keep the double -word time. I fixed RMDEMO (DEC's copy for 3.2) to use this time counter to display the system up time (RMD starts up on a dedicated CRT when the system boots up). I also use the idle-time count to compute and display the system percent idle time, which gets displayed on line 1 of the RMD screen. Since we lost the rotating lights with the remote front panel, this % display is a handy crutch to see how loaded the system is. OPERATOR THINGS --------------- We do not have an operator, and there is a need for regular non-privileged users to be able to do certain restricted privileged things, so they don't have to bug me to do it. These are things like changing the spooler form number for the LA-120, log off terminals, etc. I set this up by having a special user "OPERATOR", who is privileged, but gets a program run (MONOPR) when he logs on. This program spawns "@OPERATOR.CMD/-LI", which I have asking questions, so that anyone can do them, but only those things which I have set up the command file for them to do. Needless to say, the password for OPERATOR is known to everyone. TERMINAL TIME-OUT (TT.KGB) -------------------------- One feature that IAS had that we missed was that IAS would time out the PDS prompt and log off the user after a while. Since we have many more users than terminals, this would take care of someone who walked away from his CRT and didn't come back for an hour, but of course, if you just did a PIP, it wouldn't time out. I liked this featue so much that I added a program to do almost the same thing, called "TT.KGB". If a terminal is idle for 9 minutes, it blasts out a message asking if anyone is still there. In another 30 seconds, it sends out another one, and 30 seconds after that, forces a BYE (via RMC). I use the QIO count that SYSLOG (KMS-FUSION) keeps in the terminal UCB to decide if it is idle or not. TIME-SCHEDULED SYSTEM TASKS --------------------------- It is handy to have MCR commands kicked off periodically. For example, you might want to clean-up your disks (delete .LST files, etc) once a day, fire off programs at midnight, etc. It is really yuchy to do this by running the task with a /RSI, and anyway you can't give it an MCR command line if you do that. Therefore, I wrote RECUR, a program which does just that. SETPRV ------ It is handy to be able to do privileged operations without having to log off & log back into a privileged account. The task SETPRV does this, asking for the "magic word", and if you type in the right one, it will do one MCR command with the terminal privileged, then set it back to non-priv. If you want to stay priv, this command would be: ABO SETPRV. RMD --- The fixes to RMD are also here. The RMDRIV is the one that does the one huge QIO (DEC/JAN 81 Dispatch), with a fix. UFD --- I have each user as an entire group by himself. So that user's can seperate their stuff however they choose amoung UIC's, I put a fix into UFD, which will let a non-priv user create a UFD on his LOGIN SY:, with the same group-number and a higher member-number as his LOGIN UIC. For example: User DR1:[21,1] can create DR1:[21,2] but not DR0:[21,anything] User DR1:[25,100] can create DR1:[25,105] but not DR1:[25,10] User DR0:[300,377] cannot create any UFD's This is UFD.COR CKP --- This is a KMS program (fixed by me for virgin 3.2) to checkpoint out all stopped tasks. I set it up to run every 5 minutes. This is seperately on this tape. MVI --- Tells you who has mounted what volumes. FRC --- Force MCR command line to a terminal. RMC --- A KMS-FUSION program to do the same thing. [300,101] account contents: The following modifications have beene made to the standard RUNOFF. This is a re-issue of the RUNOFF on the last SIG tape. 1. Change bar support. This allows modified areas of text to be marked by a bar (| ASCII code 174 octal) on the left hand side of the page. 2. .BLANK and .SKIP may use negative arguments. This allows text to be moves some number of lines from the end of the page. 3. A shift right switch /RI. This switch allows text to be shifted right some number of columns. 4. Allowing tabs to be relative as well as absolute column number. 5. New commands for emphasis. Dark (via overprinting) and underlining, and commands to easily set the "underscore lock". 6. Support to change character-size for an LA-120 instream. 7. Some misc fixes, to FIGURE, FOOTNOTE, and others 8. New switches to set the default margins and page size on the command line, plus the ability to set some defaults in the task-build command file. 9. FINALLY, after long at last!!!!!!! Table of Contents. Table of Contents is generated by Header-level commands, and is automatically generated at the end of the file. 10. The /PA switch now goes by absolute page number, so that it is usable even on chapter-oriented files. 11. Special characters within a ".LITERAL" are treated as they should be, literally. 12. The defaults for the output file have been changed slightly, so that it is easier to use. Also, the output device is attached (if it is record-oriented), so that ^O will work. 13. The document has been fixed up & several corrections made. [300,102] account contents This is some modifications to TECO version 36. I plan to support these changes as long as I can, so if there is a new version of TECO, I will modify these mods correspondingly. The only ones liable to cause anyone else problems are the patches to OBJ modules. I use DISOBJ to find out where the patches go. They do the following: 1) On an EI command, if the device/UIC are omitted, it will first look in the default device/UIC, and if not found, it will then look in LB:[2,2]. We use this to keep a "library" UIC of handy TECO macros, including a nifty TECO.TEC. 2) Some fixes to terminal I/O for RSX-11D and IAS. 3) When creating a file with an explicit version of ";1", it will re-write it if it is already there. (I would prefer to have a switch on the file-spec to specify /UP, but I didn't want to add things to the external interface. 4) When doing a normal edit (EB), it creates the output file with an initial allocation equal to the size of the input file. This makes the file creation slightly faster. 5) Patch to SCREEN.OBJ and TECO.OBJ, to take better advantage of "split-screen" mode. The one in SCREEN will paint a blob for a space on a HAZELTINE (or another CRT which doesn't have inverse video. The one in TECO.OBJ turns off the automatic echoing of the current text line on and if split-screen is on. 6) If invoked as MUN, TECO will lower it's priority after 30 seconds. This will keep a long MUN (for example: MUN SEARCH) from screwing up the other users. 7) Changed the "IMMEDIATE" mode operation slightly. This is un-documented, but very handy. It lets you write a TECO macro to get control when you use the alternate keypad, like the immediate mode and . This TECO macro is invoked by "n1,n2MA$$", where n1 & n2 tell you which key was pressed. I fixed it so that it would pass the entire 7-bit value to the macro (if I want it stripped to the lower 5 bits I can do it in the macro), and took out the echoing of the command. 8) To go along with this, I have a macro (KEYS.TES), which has most of the useful functionality of VTEDIT, but which is much, much faster and smaller. This works even on a tube (such as a hazeltine) that doesn't have an alternate keypad, you just to give it a double keystroke. 9) To go along with these, there is a TECO.TEC, which will load-up KEYS, go into split-screen mode, and fly! I fixed up CRTRUB.MAC, to add CRT support for a HAZELTINE 1500 (we have both VT-100's & HAZELTINES), and split-screen even works on a tube that does not have it!!!!!!! (Albeit not as nice as on a VT100). 10) The TECO.TEC supplied here set up these things, and if invoked as TES, starts up in split screen mode, if as TEV, starts up in VTEDIT mode. We keep this in LB:[2,2], so everyone gets started with it, unless they over-ride it with their own TECO.TEC. [300,103] account contents Enhancements to some MCR commands. I put these on my system (M3.2) along with the KMS-FUSION stuff. Jim Downward has these changes and they might possibly be included in his next release. These, however, are totally independent of his stuff. ATLOV--Changes to the "ACT" command so that it also tells you the state of the task, without all the garbage that the full one gives. Finally ACT gives you useful info (such as if your task is out or not). BYE -- Mod's to Downward's BYE. This does a spawn & wait to UPD (to avoid a race condition with setting the logoff bit). It also spawns "@LB:[1,5]SETTERM.CMD" to reset the terminal characteristics when the user logs off. HELLO --An enhancement to HELP, to give you a list of the available help-file keywords at a particular qualification level. This is only useful if you have HELP files, and Jim's are the only ones that I know of. (Unless and until DEC puts them in the next release. I know they have them, because our M+ system had over 6000!!!!!! blocks of HELP files. Although in a lot of cases, Jim's are better. DEC seems not to have heard of lower-case letters.) MCRDIS - A fix to allow a time scheduled task (which by definition has CO: as it's TI: device) to spawn tasks via MCR. My RECUR task (supplied on another UIC) uses this. [300,104] account contents This is the BROOM program that I found on an earlier DECUS tape, modified so it does only rational things. The old one did weird things and had to be a privileged task, and it only worked on IAS. [300,105] account contents These are corrections/enhancements to two programs in the KMS-FUSION set. Jim Downward has been given these and he might also put them in his next release. My system is a straight base-level 26, so his CKP did not work. Thes one here does, and it does a good job, especially in kicking out the que-manager, de-spoolers, and RMD if they happen to be in the middle of GEN (which does happen when there are a lot uf users working.) This CVL adds another switch, plus will let a non-privileged user read a volume label of a disk he has allocated. When we switched from IAS to M3.2, nobody could mount their RK-05 disks, because of not knowing the volume labels. [300,107] account contents PULLED THIS TYPE OFF THE FALL 80 SIG TAPE [313,20] I modified it to improve the logic for locating comments, and fixed it so that it will type out control characters in a readable format. It goes into this mode by a switch, or if the file is ?.TEC or ?.TES. This is really a nifty program. [300,110] account contents I got an older copy of TRUNC, which I fixed up so that it is better that PIP /TR. I have set up the default file extend on my public disks to 10 blocks (to get better performance for editting, etc), and TRU runs every night to chop off all the wasted space. This version of TRU handles wildcard UIC's, plus it preserves the file creation & revision dates. [300,120] account contents THIS UIC CONTAINS MISCELLANEOUS RSX-11M TASKS THAT MAY BE OF SOME GENERAL USEFULNESS. INCLUDED ARE: CATEST -- A CAMAC TEST TASK DESIGNED FOR USE WITH ANY DRIVER COMPATIBLE WITH PHIL CANNON'S 3912/3992 DRIVER FOR RSX-11M. THIS TASK ALLOWS A LIST OF COMMANDS TO BE ENTERED AND EXECUTED, AND PROVIDES ACCESS TO THE DRIVER'S LAM HANDLING, LOOPING, AND CRATE CHANGE COMMANDS, AS WELL AS PROVIDING FOR THE SAVING AND RESTORING OF COMMAND LISTS, AND PRODUCING A HARDCOPY RECORD OF THE TEST RUN (BY CREATING A LISTING FILE). CATEST.TXT IS A BRIEF COMMAND SUMMARY. DNDISPLAY -- A PROGRAM THAT BREAKS UP THE DISK REGISTERS FOR THE XYLOGICS DISK CONTROLLER INTO INDIVIDUAL FIELDS, FOR USE IN EXAMINING LOGS OF DISK ERRORS. LOGLST -- A PROGRAM THAT CAN BE USED IN CONJUNCTION WITH JIM DOWNWARD'S SYSLOG PACKAGE, TO PRINT OUT THE CONTENTS OF THE LOG SORTED BY ENTRY TYPE, WITH USER NAMES INSTEAD OF ACCOUNT NUMBERS. NSPOOL -- A SMALL TASK THAT ENABLES UNPRIVILEGED USERS TO STOP AND START THE SPOOLER. THIS TASK ACCEPTS A "SEND DATA" MESSAGE FROM ANY TASK, AND RESPONDS TO THE COMMAND IN THE MESSAGE BY SPAWNING COMMANDS THAT START OR STOP THE PRINT SPOOLER. IT THEN UNSTOPS THE SENDING TASK, WHICH CAN GO AHEAD AND USE THE PRINTER (E.G. FOR PLOTTING OR OTHER DIRECT OPERATIONS). THE ONLY REQUIREMENT IS THAT NSPOOL RUN ON A LOGGED-ON AND PRIVILEGED TERMINAL (IDEALLY ON CO:). ANOTHER TASK, "UNSPOOL", IS INCLUDED. THIS TASK SENDS THE START AND STOP SPOOLER MESSAGES TO NSPOOL, AND MAY BE USED TO IMPLEMENT START/STOP SPOOLER CCL COMMANDS FOR UNPRIVILEGED USERS. NSPOOL ALSO CAUSES A "TIME" COMMAND TO EXECUTE ON CO: EVERY NIGHT AT MIDNIGHT, THUS MARKING THE DATE WHEN THE CONSOLE LOG WAS PRODUCED. (THIS FUNCTION WAS ADDED TO NSPOOL BECAUSE IT HAPPENS TO ALWAYS BE ACTIVE BUT ALMOST ALWAYS STOPPED, AND IT'S A VERY SMALL TASK ANYWAY.) FINALLY, A FORTRAN SUBROUTINE "SPOOL" IS INCLUDED. THIS SUBROUTINE ALSO SENDS THE START/STOP MESSAGES TO NSPOOL. CALL SPOOL(0) STOPS THE SPOOLER, ASSIGNS LUN 6 TO LP:, AND ATTACHES THE PRINTER. CALL SPOOL(1) (OR ANY OTHER NONZERO VALUE) DETACHES THE PRINTER AND RESTARTS THE SPOOLER. SORT -- A TASK THAT WILL SORT ANY FILE OF FIXED-LENGTH RECORDS (UP TO NINE LINES PER RECORD) INTO ASCENDING OR DESCENDING ORDER ON UP TO NINE FIXED-LENGTH, FIXED-POSITION ASCII KEYS. A MAXIMUM OF ABOUT 300K BYTES OF DATA (ABOUT 600 BLOCKS) MAY BE SORTED, AS THE PROGRAM USES WORK FILES TO STORE PARTS OF THE SORTED FILE. A QUICKSORT METHOD IS USED. TSKBUILD -- THIS IS A MODEL COMMAND FILE THAT CAN BE CUSTOMIZED TO PROVIDE EASIER TASKBUILDING FOR PROGRAM DEVELOPMENT SYSTEMS. BY SUPPLYING PARAMETERS ON THE COMMAND LINE (E.G. "NOF4P" FOR NO F4P RESIDENT LIBRARY, "TEK" FOR INCLUDING TEKTRONIX PLOTTING PACKAGE) THE USER CAN SPECIFY STANDARD LIBRARIES THAT ARE REQUIRED, WITHOUT HAVING TO REMEMBER WHERE THEY ARE LOCATED OR WHICH MODULES MUST ALWAYS BE INCLUDED. THE COMMAND FILE PROMPTS FOR INPUT AS TKB WOULD (E.G. AFTER "/" IT PROMPTS FOR OPTIONS), AND CREATES A TKB COMMAND FILE WITH VERSION 777, WHICH IT SUBMITS TO TKB. THE COMMAND FILE CAN BE DELETED AUTOMATICALLY AFTER IT IS USED, OR IT CAN BE KEPT FOR FUTURE USE DIRECTLY WITH TKB (E.G. TKB @CMDFILE). WHEN -- A SMALL TASK THAT ACCEPTS COMMANDS OF THE FORM: WHEN WAITS FOR TO FINISH, AND THEN SPAWNS THE COMMAND. IT CAN ALSO BE INVOKED AS: WHEN IN WHICH CASE IT PROMPTS FOR COMMANDS TO BE SPAWNED IN SEQUENCE. EMBEDDED "WHEN" COMMANDS OF THE SECOND TYPE CAN BE USED TO WAIT FOR OTHER TASKS TO FINISH. THIS ALLOWS YOU TO "TYPE AHEAD" TO SOME EXTENT; E.G. YOU DON'T HAVE TO WAIT FOR A COMPILATION TO FINISH TO TYPE "TKB XYZ=XYZ,[1,1]F4POTS/LB"; YOU CAN TYPE: WHEN F4P TKB XYZ=XYZ,[1,1]F4POTS/LB (NOTICE THAT THREE CHARACTER NAMES FOR ...-TASKS ARE ACCEPTED, AND WILL BE HANDLED CORRECTLY AS LONG AS THE TASK IS ACTIVE ON YOUR TERMINAL.) ADMITTEDLY, THINGS LIKE THIS CAN BE DONE BETTER WITH COMMAND FILES, BUT SOME OF US ARE TOO LAZY TO CREATE AND MAINTAIN COMMAND FILES FOR ALL THESE LITTLE THINGS! (BE A LITTLE CAREFUL WHEN USING THIS TASK WITH CCL; IF YOU DO A SEQUENCE OF COMMANDS LIKE THIS: >MAC XYZ=XYZ >WHEN MAC WHEN>LBR XYZLIB/RP=XYZ WHEN>WHEN LBR WHEN>TKB @XYZBLD WHEN>^Z AND ...LBR IS NOT INSTALLED, BUT IS IMPLEMENTED VIA CCL, THEN CCL MAY NOT START THE TASK BEFORE THE "WHEN LBR" EXECUTES; SINCE LBR IS NOT ACTIVE, IT IS ASSUMED THAT IT HAS COMPLETED, AND THE TKB @XYZBLD IS STARTED. ONE WAY THIS PROBLEM CAN BE SOLVED IS TO DO A "WHEN CA." BEFORE THE "WHEN LBR".) XPR -- THIS TASK IS DESIGNED FOR USE WITH A VERSATEC 1200A PRINTER/ PLOTTER (OR EQUIVALENT), AND WITH VERSATEC'S LP: DRIVER. THE 1200A PRINTS 132 COLUMNS ON PAPER THAT IS 11" WIDE AND 8.5" HIGH, WHEREAS NORMAL PEOPLE ARE USED TO PAPER THAT IS 11" HIGH AND 8.5" WIDE. THIS TASK USES THE PLOTTING CAPABILITIES OF THE 1200A (200 DOTS PER INCH) TO PERFORM SOFTWARE CHARACTER GENERATION, AND PRINT MORE READABLE DOCUMENTS. AS LONG AS CHARACTERS ARE GENERATED BY SOFTWARE, IT WAS DECIDED TO LET THE PROGRAM ALSO DO PROPORTIONAL SPACING, RIGHT MARGIN ALIGNMENT, SPECIAL SYMBOLS, UNDERLINING, DOUBLE-WIDTH CHARACTERS, AND DOUBLE-SPACING. 59 LINES OF 80 CHARACTERS CAN BE PRINTED WITH "NORMAL" SPACING; LINES MAY BE SHORTER OR LONGER WITH OTHER SPACING OPTIONS. AUXILIARY TASKS ARE SUPPLIED TO BUILD THE CHARACTER SET DATABASE, AND TO CREATE SPECIAL SYMBOL FILES FOR GENERATING MATH OR SCIENTIFIC SYMBOLS, SUBSCRIPTS AND SUPERSCRIPTS, ETC. VTEDITMIM -- THIS .TEC FILE, ALONG WITH TECOMIM.INI, HAS BEEN USED TO IMPLEMENT A SCREEN-EDITING TECO SYSTEM FOR MIME-I TERMINALS. THE MIME-I EMULATES THE DEC VT52, BUT HAS NO ALTERNATE KEYPAD. CONTROL CHARACTERS AND ESCAPE SEQUENCES THAT ARE EASY TO REMEMBER ARE USED TO IMPLEMENT EDITING COMMANDS. THE FILE TECOMIM.TXT CONTAINS THE COMMAND LIST. TECOMIM.INI IS USED WITH A SLIGHTLY MODIFIED TECO.TSK, WHICH PICKS UP TECO.INI FROM A STANDARD UIC (E.G. [1,2]) INSTEAD OF FROM THE USER'S UIC. IT PREPROCESSES THE COMMAND LINE, AND THEN STARTS UP THE VTEDIT MACRO FILE. VSDRV -- THIS IS AN RSX-11M V3.2 DRIVER THAT IMPLEMENTS SOME OF THE FUNCTIONALITY OF THE "VARAIBLE SEND DATA" FUNCTION AVAILABLE ONLY WITH M-PLUS. THE DRIVER MANAGES ANY NUMBER OF NAMED QUEUES OF VARIABLE-LENGTH MESSAGES. FUNCTION IMPLEMENTED INCLUDE: CREATE QUEUE, DELETE QUEUE, "WRITE" (SEND MESSAGE), AND "READ" (RECEIVE MESSAGE). IT IS POSSIBLE TO EMULATE THE RECEIVE-DATA AST BY PERFORMING A "READ AND WAIT" QIO WITH AN AST SPECIFIED. ALL STORAGE IS ALLOCATED FROM A PRIVATE POOL AREA WITHIN THE DRIVER, SO THAT ONLY THE NECESSARY QIO PACKETS COME OUT OF EXECUTIVE POOL SPACE. INCLUDED WITH VSDRV IS A UTILITY PROGRAM "VSUTIL", WHICH CAN BE USED TO CREATE AND DELETE QUEUES, AND TO DISPLAY THE CURRENT CONTENTS OF THE DRIVER'S POOL. [300,210] account contents The following is a description of the Michael Reese Medical Center RUNOFF oriented submission to the SPRING 81 DECUS lug. 1. Reese RUNOFF. Although this departs from the RUNOFF SIG'S attempt to cut down on the profligate versions of RUNOFF floating around, this has some features which I think are of interest to users, and inclusion in the RUNOFF sig version would probably take too long. In addition, some of the documentation for REESE programs takes advantage of these features, and would not work on standard RUNOFF. Changes made include: 1. Support for DIABLO type printers, including 1. Text enclosed in "{}"'s is printed in RED. 3. Capablility of inserting any octal char- acter in the source, for things like half line-feed's etc. 2. Seperate margin commands that only affect the HEADER lines, so that they don't move if you temporarily change your margins. 3. Output is standard "record" oriented, rather that with embedded carriage control, so EDIT can edit it and output can be used as log-on message files. (Unfortunately underlining via an overprint no longer works, but you can't have everything.) 2. RNP RNP is a pre-processor for RUNOFF. It has the ability of inputing a file containing normal RUNOFF source and: 1. Opening secondary files and inserting the text in the main RUNOFF source. 2. Opening TI: as a secondary input. 3. Issuing prompt lines to TI to that you know what you should enter. (This letter was prepared from a stock form using RNP.) 3. DIABLO After we got our DIABLO printer, we discovered we couldn't do all the nice things because the TTY handlers kept stripping off most of the control codes we sent. DIABLO reads in an input file and sends it to the DIABLO in WRITE-PASS-ALL mode. (You will have to change the TKB command file to reflect which terminal line the DIABLO printer is connected to.) 4. TWOPAGE TWOPAGE is a REESE BASIC program which seperates seperate pages into "left" and "right" files. The resultant files are printed seperately on the printer, (reloading the paper at the same starting point, but reversed before the second printing.) The result is a manual printed on both sides of the paper. Provision is made to ensure that chapters are always started on a "right-hand" page, etc. 5. RNOMAN RNOMAN is an example of using REESE BASIC to ex- tract CHAPTER, APPENDIX and HEADERLEVEL data from a first pass of the RUNOFF manual, and creating a TABLE OF CONTENTS. The table of contents is then inserted into the RUNOFF source, and a second pass of RUNOFF produces the final manual herein present- ed. [300,375] account contents This version of ADVENTURE is the same as the one on an earlier New Orleans Spring 1979 [307,7] DECUS Symposium tape. This has been converted to upper/lower case, so the messages are more tasteful (a la DUNGEON), some minor bugs have been fixed, it has SAVE/RESTORE, so you can interrupt a game to continue later, and it has pre-loaded data files, so it doesn't have to go thru a long initialization phase when you start up. This version **DOES NOT** use any floating-point or long integers. [301,001] account contents A readme.1st file describing SCLUG's spring 1981 submission. [301,002] account contents Contains information about all programs that SCLUG has submitted. LIB.DIR is a brief 2-line description of each program, and LIB.DOC is the complete description of the programs. ********************************************************************** editor's note: All LUG librarians should study the style with which SCLUG maintains its library. Jim Neeland does a very good job. ********************************************************************** [301,053] account contents Description: A SLP file to convert DEC's copyrighted HELLO distributed source into a FORTRAN-callable subroutine to read and display standard-formatted .HLP files (see MCR OPERATIONS MANUAL under HELLO for format, or read comments in MACRO source code.) Also included are a sample/test FORTRAN program, along with a little utility subroutine to cancel control-O's (in case terminal was attached by main program). [301,054] account contents This file describes the rather meager contribution from the Computer-Aided Technology and Acoustics groups at Douglas Aircraft for the Spring 1981 DECUS symposium. Included in this directory are a number of small, but useful utility programs and subroutines. Each group of routines has its own .DOC (and maybe even a .RNO) file to describe its function. The programs are: RID - Multi-purpose program TAB/deTAB, de-trailing blanks/ sequence number-er program written in RATFOR FLABEL - Uses HP-7221 plotter to plot "fancy" (multi-font) character labels CCLDSP - Reads your CCL command file(s) (if you have CCL, that is) and prints a nice, sorted & formatted listing of available commands HELPDSP - Reads your HELP.HLP file for all top level entries and outputs a nice, sorted & formatted list file suitable for use in creating help indices SCR - Reads your Teleray-12 screen memory into a disk file and optionally spools it the the print spooler or adds a time- stamp or appends it to an old file CLEAR - Clears the screens of VT-52, Teleray-10/12 and VT-100 CRT's (as well as any 24-line CRT) as well as enables the buffering features of Teleray-10 & Teleray-12 terminals GETMCL.MAC - Fortran-callable subroutines used to read input like all those fancy MACRO utility tasks MAG.MAC - Fortran-callable subroutines to handle magtapes SHIPS - Teleray-12-oriented CRT game We have also included our help files, which involved no little time and effort to type in, in the hope that they may save someone else the trouble. [301,055] account contents THIS IS FOR IAS USERS USING HI LEVEL LANGAUAGES (F4P,FOR,PL1) AND WANTING TO USE (TCP) SUBTASKS. "SUBTASK.BIS" IS A BATCH STREAM THAT WILL BUILD A LIBRARY OF MARK LEWIS OLD TIMESHARING CONTROL SERVICES SUBROUTINES. THERE WERE A NUMBER OF ERRORS IN THE OLD SUBTASK PACKAGE (PROGRAMS THAT HAD BUFFER OR ARRAY ADDRESS THAT WERE 16K OR OVER WERE REJECTED AS ERRORS), ALSO THE LIBRARY WILL ALLOW THE USERS TO EXTRACT ONLY THE ROUTINES THAT ARE NEEDED, NOT THE HOLE PACKAGE. THE USER SHOULD EDIT SUBTASK.BIS TO REFLECT THE DESIRED UIC'S. [301,056] account contents This directory contains a new version of the mp macroprocessor. See readme.2nd for details. Using the above along with some C routines is a C runtime library (pieced together from other librarys) which supports the unix standard i/o package plus a true disk cache (this is new). Thus it efficiently supports the array of bytes concept. With this, one can treat a file as a 32 bit address space. So, along with this are some C routines which implement a HEAP structure on disk. This was for a school project on relational database storage structures and also includes a package of doubly linked list routines for the disk heap. [301,057] account contents This directory contains a front end to a command line interpreter written in MP which permits the user to spawn commands that can be saved, edited, and invoked via control characters. It is under 3.3K with just 2 buffers, but it expands. See the file jpl.doc. [301,060] account contents This directory contains two programs which I use to create multiuser programs. See the feb 1981 multi-tasker for details. The programs here just copy portions of files from one file to another. The rocpy also needs to know the address of the disk r/o code pointer cell. The program echos the expected value if no parameters are given on the command line. The file f3 is just a module with an fsrsz of 3. The remainder of the build files (.ftb) references the mp macroprocessor directory. [301,061] account contents This directory contains an Evans and Sutherland PS2 Help file. It was created from the manual sources. [302,001] account contents a readme.1st describing the SEATTL LUG's contribution to the 1981 spring RSX/IAS sig tape. [302,211] account contents TMON is a task monitoring utility based on Bob Stodola's PC monitor (PCM). It is very useful either as an optimizing tool or as a debugging aid. TMON monitors a target task's PC and overlay segment descriptor table and accumulates statistics. A reporting task will read the accumulated data a provide a histogram of the task'S PC and overlay segment activity. The histogram report can be for the entire task or just selected portions of it. This program is dependent on the structure of IAS. Some revision would be necessary for it to work under RSX-11M or M+. [302,304]account contents INDEX is a highly enhanced FORTRAN cross referencing program. In addition to regular cross referencing, it can cross reference entry points with modules or all variables for an entire program. It also has numerous switches for such things as identifing defined, but not referenced variables. INDEX was originally written by Michael Levine of China Lake and has been submitted to Tape Copy at least twice, the last being the Fall of 1980 in San Diego (I understand he plans to submit it with further revisions at the 1981 Fall Symposium in Los Angeles). This version contains the following changes to the San Diego version: 1) Capabilility of merging the cross reference listing of a file with the actual F4P listing. 2) Capability of differentiating between FUNCTION calls and array references. 3) A few bug fixes and miscellaneous clean-up. [303,120] account contents TEDI EDITOR FORMATTER TEDRSX.TED is the source text for the documentation, set up for the TEDI formatter, while TEDRSX.DOC is a formatted version ready for a printer. TEST.TED is an example of TEDI formatter source text which exercises most of its features, including equation formatting to daisy-wheel printers. ************************************************************ editor's note: sorry, but the documentation file "TEDRSX.DOC" was not run through TECO. So it has a bunch of unwanted carriage return,line feeds in it. FLX eats another one. For those who don't know it, the DOC file output of RUNOFF (or TEDI ??) must be passed through TECO before FLX will correctly copy it to magnetic tape. ********************************************************** [307,030] account contents TOOLGEN.CMD, the command file for building the LBL Software Tools Virtual Operating System. The release notes for the VOS are also contained in this UIC. [307,031] account contents Fortran and macro sources for VOS. [307,032] account contents Manual entries for VOS utilities. [307,033] account contents Ratfor source files for VOS utilities. [307,034] account contents Source files for variable-length send/receive driver. [307,035] account contents Source files for virtual aether driver. [312,315] account contents DDT is able to debug one task from another now, symbolically. That is, this version of DDT may be built as a separate task and the task being debugged is then linked with a small (about 200 words) DDT "kernel" (called, appropriately enough, DDTKNL) which controls execution. DDT itself does most of the work of debugging and supports a very large and powerful array of commands. These include the ability to read symbol table files, memory watchpoints, breakpoints, single stepping, examining numbers in any format including floating point, setting variables, defining labels, looking at assembly language, or examining memory image files. The ability to examine core image files is present to permit DDT to be used (reading the symbol table) to allow an effective SYMBOLIC OPEN on RSX11M.SYS files or TASK IMAGE files or crash dump files. (Yes, you may now pretty much discard ZAP once DDT is installed.) A simple code profiler is included in DDT which allows you to specify a base address to "profile" (PRFBAS) and a shift count to shift addresses down. If DDT is put into single step mode, a DDT array called PRFHST will be incremented in the bin determined by the PC of the instruction. The calculation finds the word to increment by computing (PC-PRFBAS) shifted down by the "shift count" bits. If the result fits into PRFHST, the PRFHST word is incremented. Normal DDT commands may be used to display PRFHST after you get the program to stop. Because DDT is now able to run in a separate task, it is possible to do some fancy things like reading symbol tables that were too costly before. Since many users are FORTRAN programmers, a public domain program is included which was slightly modified from a version at Institute for Cancer Research which can read FORTRAN .LST files and taskbuilder .MAP files and construct a symbol table file. This program is designed primarily to make the symbol file for FDT, a FORTRAN debugger that is also included. However, it can also make up a pseudo- .STB file that DDT can read and which gives separate names to each FORTRAN line number, statement label (where possible), and makes all variable and array names effectively global so DDT will know, once it opens the symbol table file, where they are. This permits DDT to set a breakpoint symbolically on any FORTRAN line number so that you can debug FORTRAN programs symbolically at a fairly high level if you can find as few as 200 words in your task's space for the debug kernel. DGT and DGWRIT are separate tasks; see the DGWRIT.FLX source (in FLECS, so the FORTRAN version is supplied for those not having the FLECS preprocessor in house) to see how to put DGWRIT together. DGT works off console commands and is pretty much a manual tool. Its only virtue is that it works. There is a file called DGWRT7 whose intent is to allow you to write 7 track tapes a DG machine can read. Don't mix them; DG does some things differently from DEC on 7 track tape and messing around was needed. The FDT and FDTSYM files on the tape are the FORTRAN debugging tool from Institute for Cancer Research, but with the FDTSYM as a mod of their TRACE program to generate symbol tables. There are rumors the package has some problems on 11M systems; should be solid in IAS. For amusement, I have added also another F4P debug aid called FPODT (FPODT and PREPRC are the sources pertaining to FPODT) which goes through a task image and changes all references to $SEQC to traps. A module in your task (which must first call it to initialize and all of whose FORTRAN programs must be compiled with /TR:ALL) then allows single steps, variable examine/modify, or breakpoints. It does not allow starting from new places as FDT and DDT do. However, it can be used along with either FDT or DDT. Just depends how much you are willing to do to find the bugs. FPODT single stepping would go from one trap to the next, so does not need to set the T bit and ought to be faster than single stepping with FDT or DDT, even in your task image, since it steps FORTRAN lines, not instructions. The TPCDIR program here can list directories of TPC container images of FLX tapes, and even extract files from such images, one at a time. The main use is to avoid a separate tape pass to make a directory when making tape copies. A new version of the MSX system is included. It works under RSX11M+ now and has several bugs fixed so that it is much better tested. Note when building it that the security categories in MXSTLS should be set up as you really want them...the system will block data transfers where military security policy is violated and the present sources are experimental and have several invalid possible transfers with those security categories. The MXTST module is the test program which illustrates its use. It should be interesting to those who want to experiment with what trying to use a secure kernel is like, especially on distributed systems. Note the stand alone version is considerably less tested than the RSX version, but the basic mechanisms, mapping, and I/O are known to be good. Be careful of using directives like MODSTT in secure kernel systems; they only work from libraries or if your task has "ignore multilevel security" privileges. Also, you need the asynchronous I/O privilege to allow any I/O to be logically asynchronous in a secure system. Device ownership may be implemented by adding a special category for "device" to the special category list of the device and that of its owner. Also included is a version of Michael Lampi's XMIT program that has been built to run under IAS V3. (Should be OK in V3.1 but can't test yet.) The IAS code has been mostly conditioned, and the RSX11M version also took less CPU than the original. However, RSX11M and RSX11M+ users may have to do a bit of retrofitting. It may be the IAS version will work in 11M too but it's terminal I/O is via read/write, not via AST for input, relying on the full duplex driver to keep characters around. Reducing CPU load has been a primary concern. [313,001] account contents The readme file for the ORNL version of virtual disks. If you are unfamiliar with Virtual Disks, you should find out about them. Unfortunately, I didn't have time to write up a thorough description of what VD's are. They are described by Ralph Stammerjohn (the original inventor/author to whom all praise and glory belongs) on the Spring '79 DECUS tape. I presented a paper on VD's at the Fall '80 DECUS in San Diego and the write-up in the Proceedings of that Symposium describes VD's, how they work, and how great they are. [313,010] account contents HELLO and BYE *********************************************************************** editor's note: The modified sources to HELLO and BYE were deleted. This is liscensed software and as such cannot be distributed. Submitors are encouraged to submit SLP files when they wish to modify a DEC source module. I ran CMP and compared HELLO and BYE as modified by Ken with the HELLO and BYE supplied by DEC on an 11M v3.2 release kit. The results of the comparison are in HELLO.CMP and BYE.CMP. ************************************************************************* The modifications to HELLO and BYE are not required to implement the --- rest of the virtual disk package. The mod to HELLO checks for a command file in LB:[201,1] that corresponds to the UIC of the person logging on, e.g., if they are logging onto UIC [123,321], then HELLO looks for file LB:[201,1]123321.CMD. If it finds it, then it is executed with the terminal privileged and slaved. The modification to BYE simply runs DVD to dissociate any virtual disks the user had while he was logged on. We have found this to be an essential clean-up operation when using virtual disks. (The changes to BYE would have been unnecessary if RSX-11M would run a command file on logout like it does on login.) [313,022] account contents Virtual Disk Driver This account contains the source for the virtual disk driver (VDDRV). It has changed very little from the original Stammerjohn version, except for some protection mechanisms to make sure the host disk (i.e., the disk on which the VD is allocated) has not been changed. VDDRV is really trivial (which is the beauty of the entire VD package). [313,020] account contents AVD and DVD There are two other utility programs called AVD and DVD. (I have changed the meaning of these from the original "Allocate Virtual Disk" and "Deallocate Virtual Disk" to "Associate Virtual Disk" and "Dissociate Virtual Disk" since there was some confusion with the MCR ALLocate operation.) AVD and DVD have been changed considerably from the original Stammerjohn version. The reason for the changes were to enable a large number of unsophisticated users to use VD's easily. [313,030] account contents TRMSET Our system has many people connecting with different types of terminals on different lines all the time. So we wrote this simple little program called "TRMSET" that sets the terminal characteristics for users when they log in (TRMSET is automatically run by HELLO when you log in). TRMSET sends the escape sequence to request a terminal to identify itself. Many terminals respond with an identification string of some sort. TRMSET then sets the terminal characteristics for that type of terminal. Currently, TRMSET recognizes VT100's, LA120's, VT52, and VT55. If a terminal doesn't respond within a time-out period, then TRMSET sets some default characteristics based on the baud rate of the line. [330,001] account contents LIST is a utility for displaying selected portions of files. It is possible to display lines from a file in several modes, including a screen at a time, as well as to search for character strings and write out portions of files to disk. In addition, LIST can use SRD to se- lect multiple files, making it easy to do such chores as looking through a group of files for a particular string. LIST is very fast, as it uses a macro interface to FCS to read and write files; in addition it buffers the disk address of every 100 lines to simulate random access on the file. This version of LIST includes the capabilities to subtask SRD and subtask itself to list a help file. The help file is included (LIST.HLP) and should be placed on LB:[1,2]. The routine which gets file names from SRD is called FNDFIL.FTN; if for some reason SRD doesn't work with LIST (if your SRD has a different output file format from our SRD, for instance) then modify this file. If you would rath- er use PIP than SRD, there is a file called PIPFIL.RAT (and also PIP- FIL.FTN) which contains the FNDFIL subroutine, but for PIP. LIST is written almost entirely in Ratfiv; the .FTN files are included, however the Ratfiv compiler is also included on this tape, and should be very simple to build. (See README.1ST on the Ratfiv compiler directory.) This program works on IAS and RSX-11M. [330,002] account contents This UIC contains the Institute for Cancer Research FORTRAN IV Plus Symbolic debugger. It is designed for IAS, but should also work under RSX-11m. Please read FDTEXP.DOC for more information. [330,003] account contents CPL is a utility which compiles your programs in a compiler independent manner. It alleviates the headache of having to remember the syntax quirks of all the compilers on your system. CPL also aids in the maintenance of programs consisting of many modules since it compiles files based on the dates of the source and object files and maintains a user library. Features include: The same command line syntax is used for all compilers. CPL selects the compiler to use based on filename extension. CPL will only compile a given file if the source file post-dates the object file. User library maintenance. CPL will replace in the users library only those files on a command line which were actually compiled. Multiple pass compilations are done with a single command line. Implementation of prefix files in a compiler independent manner. Compilers supported in the current implementation: FORTRAN 4 PLUS MACRO BASIC PLUS 2 RATFOR NBS PASCAL SWEDISH PASCAL WHITESMITHS C [330,004] account contents SRD command line generator SRDCMD generates command lines which contain file names selected by SRD (or PIP - see below). For example, the following SRDCMD com- mand generates command lines to copy all files created today to UIC [6,120]; the command lines are written to the file T.CMD: SRDCMD> *.*/DA COPY 'N'E [6,120]*.* >T The string 'N'E specifies that the name and extension of each file name be expanded at that point in the command line. Version, UIC, and device information can also be placed anywhere in the command line. For further information, see SRDCMD.DOC. The routine which gets file names from SRD is called FNDFIL.FTN; if for some reason SRDCMD doesn't work correctly (if your SRD has a different output file format from our SRD, for instance) then modify this file. Another alternative is to build the version of SRD includ- ed on this tape, which is an enhanced and debugged version. If you would rather use PIP than SRD, there is a file called PIPFIL.RAT (and also PIPFIL.FTN) which contains the FNDFIL subroutine, but for PIP. SRDCMD is written almost entirely in Ratfiv; the .FTN files are included, however the Ratfiv compiler is also included on this tape, and should be very simple to build. (See README.1ST on the Ratfiv compiler directory.) This program runs on IAS or RSX-11M. [330,005] account contents This is an enhanced version of SRD. Enhancements include: 1. The selection string wild character '*' will match any string or the null string. A*B.* will match AB., AAB.FTN etc. 2. A /RV[:date] switch which will select files by revision date. It may be combined with /BE, /AF. 3. A /SU switch which will give a storage allocation summary for files selected. 4. A /OW[:selectionstring] switch which will select files by owner. The selection string syntax is the same as file selection strings. The wild characters '?','*' may be used. /OW:[2??,1*] will match [200 thru 277,1], [200 thru 277,10 thru 17], [200 thru 277,100 thru 177]. [330,006] account contents TAPE instructions. Tape is designed to run under version 3.00 of IAS on a PDP-11/70. On an IAS system it may be linked using the command file EXPORT.CMD. This program has not been tested on an RSX-11M system, but should require little or no modification. The command file RSXBLD.CMD may build TAPE correctly under RSX-11M, but this also has not been tested. Note that the build files assume that the FORTRAN-IV Plus library is in the system library. Begin by copying all files to the system disk. NOTE: QIOSYS.FTN MUST BE PUT ON [1,1] AND ALL OTHER FILES ON [22,11] TO COMPILE CORRECTLY. [330,011] account contents This program resequences statement numbers in FORTRAN IV-PLUS programs. See RESEQ.DOC for more detail. [330,012] account contents TRU truncates files. Though PIP will also truncate files, PIP will change the revision date on all files specified, even if they did not require truncation. This will cause an incremental backup program (such as BRU) to needlessly backup files which have not been changed. TRU first ascertains whether or not a file requires truncation before invoking PIP to actually do the truncation. [330,014] account contents This uic contains three programs for IAS v3.0. The GAME program allows a common interface to games. Used in conjuction with the SCHEDULE program, it also allows the system manager to restrict game playing to specified hours. See GAME.DOC for more information. RUNNL is a program which will spawn a task on the privileged TI of device NL0. In order to use, you must have included this device in your SYSGEN command file, though it need not have any device handler associated with it. RUNNL handles all task scheduling requests sequentially, and will not schedule a second task until the first has exitted. Where possible, therefore, tasks which may take more than several seconds should be started by spawning ...RUN with a command line to run the desired task. see RUNNL.DOC for more information. The program SCHEDULE allows a system manager to schedule tasks to be run at specified times and days. For example, you may schedule a timesharing parameter be changed each weekday at 08:00, and again at 18:00 on weekdays, or that a file be printed each saturday at 20:00, etc. See SCHEDULE.DOC for more information. [330,015] account contents Ratfiv is a structured Fortran preprocessor providing SWITCH, IF - ELSE, WHILE, FOR, DO, REPEAT - UNTIL, STRING, and BREAK and NEXT constructs. Also supported are INCLUDE files, DEFINE for symbolic constants and macros with arguments, conditional compilation, use of >, <, etc. instead of .GT., .LT., etc, and the RETURN VALUE construct in functions. Ratfiv was developed from the Ratfor compiler distributed by Lawrence Berkely Labs; the major enhancements in it are: 1. Ability to specify a format statement inside READ, WRITE, ENCODE, and DECODE statements; 2. True line continuation using the underline character; 3. Production of properly indented upper case Fortran code with comments passed through; 4. Addition of a /SYMBOLS switch to the command line to specify reading of the SYMBOLS file; 5. Incorporation of a powerful, easy to use macro processor; 6. Conditional compilation of large blocks of code; 7. Correct line number reporting; 8. Exit with error status if an error occurs during compilation; 9. Use of character constants in case labels. 10. Ratfiv keywords need not appear at the beginning of a source line in order to be recognized. This version of Ratfiv may be used if you want to compile the Ratfiv source to the other programs written in Ratfiv on this tape. Documentation is in the file RATFIV.DOC. [330,016] account contents (the IAS version of MULTI-TREK) MULTI-TREK is a game similar to traditional Star-Trek games except that it involves several players (currently up to 8), who play against each other rather than against imaginary Klingons, Romulans or whatever. The MULTI-TREK universe consists of a 100 by 100 matrix, of which an approximate 20 by 20 matrix of each player's immediate area is displayed and continuously updated at their terminal. MULTI-TREK was originally submitted to the New Orleans collection, then to the 1979 San Diego collection with the addition of robot ships. This version has been recoded in RATFOR and has significant enhancements and improvements, most notably the addition of energy nets, an improved screen display, much better input-output (any terminal with clear screen and cursor positioning may be used at speeds from 1200 baud on up), use of default ship and direction with most commands ("L" sets the default direction), more competitive scoring, smarter robot ships, and fewer bugs. Complete instructions for starting and playing MULTI-TREK are in the file MTREK.DOC. The game consists of a driver task (MTREKD), a player task (MTREK) for each terminal, and a shared global common area for inter-task communication. This version runs on IAS 3.0, however, it should run under any system with shared global areas and rudimentary task switching or time-sharing. Real-time systems without time-sharing may have to play with priorities to insure that the driver task gets sufficient CPU time and that all players get an equal amount of time. MULTI-TREK was written with a structured Fortran called RATFOR. This UIC contains all of the Fortran produced by RATFOR, as well as the RATFOR source (file type .RAT). The RATFOR compiler is also included on the distribution tape. MTREK will work properly with any terminal with clear screen and cursor positioning. The source code is set up to drive ADM3-A's or VT100's. if you are using different terminals, you should modify the file "TERMINAL.RAT" (you could modify "TERMINAL.FTN") to drive your terminal. Modification should be straight-forward as the code is commented on where to change it. [330,017] account contents (the VAX/VMS version of MULTI-TREK) MULTI-TREK is a game similar to traditional Star-Trek games except that it involves several players (currently up to 8), who play against each other rather than against imaginary Klingons, Romulans or whatever. The MULTI-TREK universe consists of a 100 by 100 matrix, of which an approximate 20 by 20 matrix of each player's immediate area is displayed and continuously updated at their terminal. MULTI-TREK was originally submitted to the New Orleans collection, then to the 1979 San Diego collection with the addition of robot ships. This version has been recoded in RATFOR and has significant enhancements and improvements, most notably the addition of energy nets, an improved screen display, much better input-output (any terminal with clear screen and cursor positioning may be used at speeds from 1200 baud on up), use of default ship and direction with most commands ("L" sets the default direction), more competitive scoring, smarter robot ships, and fewer bugs. Complete instructions for starting and playing MULTI-TREK are in the file MTREK.DOC. The game consists of a driver task (MTREKD), a player task (MTREK) for each terminal, and a shared global common area for inter-task communication. This version runs on VAX VMS, however, it should run under any system with shared global areas and rudimentary task switching or time-sharing. Real-time systems without time-sharing may have to play with priorities to insure that the driver task gets sufficient CPU time and that all players get an equal amount of time. MULTI-TREK was written with a structured Fortran called RATFOR. This UIC contains all of the Fortran produced by RATFOR, as well as the RATFOR source (file type .RAT). The RATFOR compiler is also included on the distribution tape. MTREK will work properly with any terminal with clear screen and cursor positioning. The source code is set up to drive ADM3-A's or VT100's. if you are using different terminals, you should modify the file "TERMINAL.RAT" (you could modify "TERMINAL.FTN") to drive your terminal. Modification should be straight-forward as the code is commented on where to change it. [332,200] account contents CONTRIBUTION FROM HOUSTON AREA RSX/IAS LUG DSCDIR - FORTRAN PROGRAM TO PRODUCE A DIRECTORY OF THE CONTENTS OF DSC (DISK SAVE AND COMPRESS) TAPES. FILES: DSCDIR.FTN, DSCDIR.CMD, DSCDIR.DOC DSCCPY - FORTRAN PROGRAM TO COPY JUST A FEW FILES FROM A DSC TAPE WITHOUT RESTORING THE ENTIRE VOLUME OR READING ALL REELS OF A MULTIPLE-REEL SET. FILES: DSCCPY.FTN, CPYFTN.FTN, CPYMAC.MAC, DSCCPY.CMD DSCCPY.DOC DSCTAPE - TEXT FILE WHICH SUMMARIZES WHAT I KNOW ABOUT DSC TAPE FORMAT. FILE: DSCTAPE.TXT [336,200] account contents ****************************************************************** editor's notes: This software was given to the NETWORKS SIG at the Spring 1981 DECUS meeting. The new pages for RMDEMO work even if you DO NOT HAVE DECNET. ****************************************************************** The following programs were submitted by the Digital Equipment People as Network software for RSX-11M 1) New page displays for rsx-11m rmdemo display to display a) active task list ************************************************************* editor's note: The active task list page looks like it might show the names of the files that a particular task has open. It could be a very valuable debugging tool. ************************************************************* b) remote node display (maps) c) logical link display d) help page 2) Vms compatible network mail for rsx-11m 3) Remote command terminal from rsx-11m to a) tops-20 b) rsts c) vms 4) Poor mans node route through, allows phase II DECNET messages to route throught a phase III node or thur another phase II node. 5) Remote virtual devices using DECNET *********************************************************** editor's note: This allows an RSX-11M system to run without a disk (what about boot physically attached to the CPU. The RSX-11M system uses the "virtual disk device" via DECNET to connect to a physical disk on a host system. Currently the host system is another RSX-11M system. Maybe someone could work out the software to make the host system a VAX/VMS system. ************************************************************ a) Virtual Disk ************************************************************* editor's note: this virtual disk is something quite different than the Virtual disk invented by Ralph Stamerjohn. An implementation of Ralph's virtual disk appears on this tape in uic [313,*]. ************************************************************* b) Virtual Magtape c) Virtual Line Printer [337,030] account contents This submission is a revision to the graphics package that was submitted on the Chicago spring 1980 tape. 1. a bug in the cross hair cursor support has been eliminated. 2. a bug in SCALE.MAC which caused an occasional floating point to interger overflow error has been eliminated. 3. to run under RSX11M you should just assemble all the *.MAC'S and build your library.(the original version incorrectly directed you to do some conditional assemblies) 4. there is a conditional assembly statement to change in PLOTPRIMS.MAC and PLTDAT.MAC to allow the package to support a Tektronix 4025 (the user program must call TK4025) 5. for users in an overlayed enviroment only PLTDAT.OBJ needs to be in the root. 6. a bug in the call to 'HOME' has been fixed to allow it to work on all terminal types. SFGL70 is a graphics package which supports Tektronix 4006,4010,4014 AND 4025 terminals. It's useful feature is that in most cases it will only add approximately 1K words to the user task. The SFGL70.DOC file explains the SFGL70 package submitted to the 1980 FALL DECUS Symposium by Ken Demers. The package can run under IAS and RSX-11M. The package will work on a VT100 (if it has the hardware to make it look like a tektronix 4010). There will be a future enhancement to take full advantage of the VT100's additional capability. [344,001] account contents This uic contains the readme files for the KMSKIT. This KIT contains KMSKIT UPDATE #4. To use these files you need the files on the Fall '79, Spring '80 and the Fall '80 RSX SIG DECUS symposium tapes. 1. A flashy, super enhanced CCL. [344,61] 2. New features and reports for system accounting programs. [344,65] 3. New features for transient libraries. [344,51] 4. New HELP feature from Ray Van Tassel [344,40] ********************************************************************** editor's note: the uic [344,60] was submitted by Ray Van Tassle and appears here with Jim Downward's permission. ************************************************************************* KMSKIT's next major release, is scheduled for release with RSX11M V4.0. [344,040] account contents W A R N I N G W A R N I N G W A R N I N G 1. The ability to pass command lines to non-installed tasks will be modified. Only commands passed in quoted strings will be supported. ie /PRM ="command line" is legal, whereas /PRM=command_line will be illegal. /PRM may or may not be supported. If it is not supported a modification almost identical to it will be. ie /CMD="full_command_line". The difference between the two syntaxes is that "full_command_line" requires that a 3 letter MCR like command name occupy the beginning of a command line, whereas /PRM="...." automatically inserted a dummy three letter command name into the first three characters of the MCR buffer. At this time the /CMD="...." will definitley be supported, and the /PRM="..." is also supported but may get dropped. Please contact me if dropping support for the /PRM form will cause undue hardship. 2. HELP processing was previously aided by the inclusion of a matchall matchall character,'#' which if found in position 1 would match all keywords at all levels. It could only be placed at the very end of a file. The matchall was created before V3.2 used the # for synonyms. This causes a conflict and eronious behavior at times. For HELP for V4.0, the # matchall will be dropped in favor of a '*' wildcard which will be able to provide a matchall at any level rather than just being at the end of the file. This SLP file for HELP is so good, I just had to include it. It got passed on to me by Ray Van Tassel. It is designed to SLP either the unmodified HELLO or the HELLO modified by the KMS modifications. When applied a ? in place of any keyword identifier is taken to request a formatted listing of all keywords available at that level. Hence if a help file looks like 1 FOO ... 2 key1 .... 2 key2 .... 2 key3 .... 1 BAR ... 1 PIP ... 1 UTL1 ... ... 1 UTLn .... then HELP ? would produce a listing of the format FOO BAR PIP UTL1 UTL2 UTL3 ..... ... UTLn and HELP FOO ? would produce key1 key2 key3 The one restriction with this is that matchalls '#', are not handled correctly. This feature will be expanded for use with RSX11M V4 HELP processing to include the ability to automatically produce listings of keywords if invalid keywords are entered. [344,050] account contents One problem with transient libraries is that if memory is tight the region required for the library sometimes can not get created and LDLIB produces an annoying message that the task can't run because the region could not be created. Several steps are taken to solve this problem (at least partially) 1. The SUSPEND/RESUME logic/handshaking between LDLIB.TSK and LDLIBS is replaced with STOP/UNSTOP for systems having parent/offspring tasking GENed into their system. A STOPed task has 0 effective priority and is immediately elegible for checkpointing. A suspended task only can get checkpointed by a higher priority task. This makes it easier to checkpoint the initiating task while LDLIB is doing its thing. 2. CKP... has been modified to accept requests from LDLIB to clear out core. LDLIB now sends off requests to CKP... to checkpoint everything (!!!) it can when LDLIB needs to load a loadable library. Clearly this would cause a lot of thrashing on a system in which tasks with loadable libraries were bouncing in and out of core constantly. However, in many systems, the tasks built with loadable libraries are infrequently used. 3. CKP... has been modified so a privileged user can RUN CKP... and checkpoint everything out of core. [344,060] account contents <> This is a set of fixes and enhancements to the KMS-FUSION CCL. I have sent them to Jim Downward, and they appear here with his blessing. He is supposed to be working on an entirely new release of CCL, which will fit in with M4.0 (whenever it comes out). That one will undoubtedly be better with 4.0 than this one, but this one works better with 3.2 than his old one. Also in this UIC is a seperate "HEY" task. I find that HEY is so useful, that I want to do it even while CCL is busy, so I yanked it out and made it stand-alone. CCL is great !!!!!!!!! However, it had some bugs and some awkward things in it's operation. I have spent quite some time of fixing it up, as follows: Fixed up some bugs (there are some error messages that go out LUN 5, which is difficult since there is a UNITS=2 in the TKB file). 1. I made it privileged (but it sets itself non-priv), so that it links to the EXEC. it can now use $GTTSK for "HEY" and "-taskname", so you can just say "HEY TKB" 2. Added some validity checks for the ?.CCL file, so that it will catch you if you mess it up (which is very easy for a non-experienced CCL user to do in making his own USERCCL.CCL). Also allowed for null lines comment lines, so that you can read a ?.CCL file without going blind. 3. If it has no command line, it will prompt for one. If it does have to prompt for one, it will also print out each command line before spawning it to MCR. Sometimes this is about the only way to see how to set up your CCL control line, to make it come out right. In essence, for debugging a new CCL command, you type "RUN ...CA." and enter your command to the CCL prompt. 4. The last line of a CCL command does not wait, it passes the OCB (if any) and MCR prompt status (bit T3.MCR) to the spwaned task. This lets CCL get out of the way as quickly as it can, especially when you do a COPY or DEL, etc, which will take a long time, and you can start up another CCL thing (many of our infrequently used programs are run by CCL). This removes the need for the %$ parameter (although it is still in). For those times when you want CCL to stay active for all the programs (for example if you specifically want CCL to tell you about the exit-status) you merely make the last command a null line (which did not used to be legitimate). 5. CCL now prints out a message if a tasks exit status is not SUCCESS, and will quit (with a message), unless it is only WARNING. [344,061] account contents CCL V7.0B This version of CCL is a composit of the work of Angle Li at the University of Miami, Paul Sorenson at Michigan State University, and Jim Downward at KMS Fusion. Angle Li edited the code to remove all the funny F4P lables and to comment the code. In addition he conditionalized the internal commands so that section could optionally not be included. Look for the symbols $DCL and $PIP in CCL.MAC to see what effect the deleting the conditional code would have. Paul Sorenson then provide a substanitial rewrite to CCL to provide significantly more flexible command string parsing. I then fixed some bugs with the the changes, added some additional special characters and packaged this latest release for DECUS. To simplify use of CCL for user's(like myself) who often assign a local LB:(to do a sysgen). The location of SYSCCL.CCL has been moved to LB1: (unless symbol $LB0 is defined in PRECCL.MAC). To use CCL, please do a global assign of LB1: to a physical disk either in VMR or in STARTUP.CMD. As was previously mentioned, this version of CCL has been extensively rewritten to provide a more flexible command format. The major changes that must be kept in mind for this newest version are, 1) All conditional assembly directives are now in PRECCL.MAC for easier access (see comments for their affects). They are $LB0,$PIP,$DCL, and $TABLE. 2) An internal table lookup has been added to offer a compromise between DCL and the .CCL files. (see comments in CCL.MAC) 3) Several new parameters have been defined -- %A%, %B%, %C% and %0% %A% is set the the entire character string past the command. %B% is set to character string up to first space %C% is defined as everything not in %B% (excluding delimiter) %0% is set to values of any leading switches (e.g. BRU/REW/VER, %0%=/REW/VER) 4) Two options have been added for command building. If a parameter is null, it may be replaced by a string starting with the key character "\" and extending to the % delimiter, also, a parameter may be tested by %2?S1\S2% which will insert string "S1" if parameter 2 is defined, otherwise string "S2" will be inserted (either S1 or S2 may be null). 5) A command line may extend to the next line by including the "+" character as the last character in the line. 6) USERCCL.CCL is opened on the user's logon UIC rather than the current default UIC. 7) If CCL can not find a command, it will try sending off its command to another catchall ...CA2. 8) %R is a special character signifying that CCL is to ring the terminal BELL when it exits. A previous version used %B for this. Sorry for the incompatability. 9) %D is added to aid in debugging CCL command lines. When it is encountered, the command up to that point is displayed in expanded format at the user's terminal rather than being sent to MCR. 9) %P is added to signify that an action line is to be printed out on TI:. This makes it very easy to create CCL commands which send escape sequences to control terminal characteristics. 10) %Q is added to signify that CCL should exit without sending on the command to MCR if a required input field is defaulted with a null (ie %1\%) and the input parameter is also a null. This prevents various PIP like commands from occuring with no files specified which often results in defaulting to the entire directory. 11) Two possible TABLE macro files are offered. TABLE.BIG has all kinds of CCL commands and results in a significantly larger CCL. TABLE.KMS includes only those commands which used to be processed by the internal DCL code. If the PIP-like internal CCL commands are not selected for assembly and the TABLE.KMS commands are selected, CCL stays about the same size and has identical functionality. TABLEGEN.CMD allows the user to create an internal CCL file. 12) CCLGEN allows the user to select amoung the ever widening variety of options. If the user desires to use an internal table, CCLGEN will allows the user to link to TABLEGEN.CMD to create an internal table from a standard CCL file (USERCCL.CCL or SYSCCL.CCL for example). 13) CCL now checks to see if the keyword typed in is longer than the maximum specified in the file (previously was ignored). This means that commands FOO and FOOY can be different and distinct. 14) Documentation and HELP files have been updated to reflect the many, many new features [344,065] account contents This UIC contains updates to the SYSLOG accounting system. More elaborate reports now exist. ACCREP is amost suitable for a charge back accounting system. SYSLOG now outputs a special flag shortly after midnight so the system will know when one day ends and another begins. This packet enables LOGTSK to automatically append a day's data to a monthly backup file and only keep the current day's data in SYSLOG.DAT. [346,100] account contents THIS ACCOUNT HAS TWO SUBMISSIONS. FIRST IT HAS A GOOD SUBMISSION OF THE PREVIOUS LOADABLE XDT. THIS ONE HAS ALL KNOWN PROBLEMS FIXED. SECOND, IT HAS COMBINED DIRECTORIES OF THE PREVIOUS SEVEN SIG TAPES AND AN ABSTRACT OF THOSE TAPES. THE FILES ARE AS FOLLOWS: TAPESB.RNO - ABSTRACTS OF PREVIOUS TAPES TAPESB.MEM - OUTPUT FILE OF TAPESB.RNO RSXSIG.UIC - LIST OF ALL UIC'S ON ALL TAPES. RSXSIG.FIL - LIST OF ALL FILES ON ALL TAPES, SORTED BY FILENAME. RSXSIG.TYP - LIST OF ALL FILES ON ALL TAPES, SORTED BY EXTENSION. RSXSIG.COM - LIST OF ALL FILES ON ALL TAPES, SORTED BY UIC. *************************************************************************** editor's note: This index is a fantastic piece of work. I have used it extensively and find it invaluable. The first thing you should do with this tape is print the file TAPESB.MEM. note the file TAPESB.RNO is in DEC Standard Runoff (DSR) and the runoffs we have give "illegal command error messages". DSR has more powerful indexing features and Ralph put them to good use. Do not overlook the usefullnes of RSXSIG.COM. It contains a sorted directory of EVERYTHING. Print it if you like, but I keep it on-line and use TECO to find things in it. Ralph what can I say ... Thank you so very much Philip Cannon ****************************************************************************** [346,101] account contents This submission arose out of the pre-symposium seminar on RSX-11M crash dump analysis. A major item of interest is the seminar workbook, which is a written version of the material covered in the seminar. The appendixes to the seminar workbook discuss several of the other files. Another appendix of interest is a description of RSX data structures, including contents, usage, and a cross reference of other structures which point to this one. The CRAxxx programs represent "homework" from the seminar. These programs crash RSX systems in known ways. The resulting crash dumps can then be used as references. CRASHW.RNO;3 Workbook from CDA seminar ******************************************************* CRASHW.DOC editor's note: The author submitted the file CRASHW.RNO which I believe to be in DSR (DEC Standard Runoff) format. I used DSR on a VAX to create the CRASHW.DOC file. ******************************************************* [352,001] account contents DISKUSAGE.FTN Produces a table summarizing disk space usage by UIC (number of files, blocks used and allocated), totals for each group, and compares the total group allocated space with an assigned disk space allotment value. It reads a file DISKUSAGE.DAT containing the disk unit/ group/allotment numbers, and a file TOTALBLK.DAT which is a PIP /TB listing file. Written in F4P. Please see the comments at the beginning of the file and within DISKRPT.CMD and TB.CMD for more information. DISKRPT.CMD Reads the DISKUSAGE.DAT file mentioned above, creates TB.CMD and executes a PIP command file to create TOTALBLK.DAT, and executes the DISKUSAGE program. It executes TB.CMD. It renames the input and output files to TByymmdd.DAT and TByymmdd.TBL where yymmdd is the current date. Examine both command files and change the UIC assignments for your system. Note that the data file and task file are expected to be in the same UIC. CONSOLE.FTN Creates a copy of CONSOLE.LOG files with repeated records replaced by a message indicating the number of occurences of the record. Good for eliminating many device NOT READY messages before printing these files. The user may merge multiple file versions into the output file. Written in F4P. CONSOLBLD.CMD TKB command file to build CONSOLE.TSK. FT.FTN A tape utility program for determining tape record sizes, copying tapes, etc. This program is written in F4P and is not structured well. No doubt better utilities exist, but this has been helpful to us at times. I had a request to submit this program to this tape. FT needs to be built with the conversion/byte manipulation routines mentioned below. In addition, it also needs MTBLOK.MAC, which appeared on at least two RSX SIG tapes several years ago. FTBLD.CMD TKB command file to build FT. Note that UIC and library specifications need to be modified for your system. FT.DOC FT program documentation. TAPCVT.FTN Another tape utility program which I have not used. See the documentation for information. TAPCVT.DOC TAPCVT program documentation. FPCONV.MAC Routines to convert between IBM 360/370 and PDP 11 floating point format. SWABI.MAC Byte swapping routine. DAYFLD.FTN Convert from day of week (numeric) to ASCII day of week. DAYWK.FTN Convert from day of year to month, day, and day of week; or from month, day to day of year and day of week. BINHEX.MAC Convert to hexadecimal. EBCASC.MAC Convert a string from EBCDIC to ASCII. ASCEBC.MAC Convert a string from ASCII to EBCDIC. MOVE.MAC Routines to move a string of bytes, to fill a string with a byte, and to convert a string to upper case ASCII. FPCONV.DOC Documentation for the above conversion and byte SWABI.DOC manipulation routines. DAYFLD.DOC DAYWK.DOC BINHEX.DOC EBCASC.DOC ASCEBC.DOC MOVE.DOC FILL.DOC CAPS.DOC HEL.COR SLP correction file to allow a privileged user to log on in a special way even if logons are disabled. Creates HELNEW.MAC, which you may MAC and TKB appropriately (preferrably with a non-ANSLIB SYSLIB). Good if you log off by mistake after a SET /NOLOGON. [352,002] account contents This UIC contains files for the TALK program. TALK is a terminal emulation program which enables a user on an RSX-11M V3.2 system with the full duplex terminal driver to communicate with a remote host computer over a single line interface (such as a DLV11 or DL11). The program begins in terminal mode, and has the capability of bi-directional file transfers. See the documentation and program source for details. TALK is currently being worked on, but we expect to make only relatively minor modifications to this version as we continue testing. Note that requesting a function menu (with ^W) does not currently work for a VT100 in smooth scroll mode. The documentation is preliminary. It closely reflects the current state of the program, but has not been completely updated and reviewed. I plan to submit an updated version of these files to the RSX SIG tape in the fall. Kindly advise me of any changes you make to the program. TALKPRE.MAC TALK prefix file. TALK.MAC TALK source file. TALK.CMD Command file to assemble and build TALK. TALK.DOC TALK documentation. TALK.RNO Runoff input file for TALK documentation. [352,003] account contents XMDRV.MAC is a DMC-11 device handler for RSX-11D. See the comments at the beginning of the file for information. [357,001] account contents Contains an assortment of changes to RSX-11M V3.2. Each change should be evaluated on its merits for a given site. All changes have been in use but of course are not guaranteed. A good system manager takes a hard look at each possibility and either uses it directly or as a hint for another change. The following are included: PAT.CMD is an indirect file which helps to make object changes from the Dispatch articles. CORAL.COR, INITL.COR, IOSUB.COR, SYSCM.COR, SPROVFDT.COR, and MCRDEF.COR are correction files which im- plement pre-allocated I/O packets and only retain the pre-allocated ones on I/O termination. Most of this is due to Steinberg's submissions on the last DECUS tape. HELLO.COR is a minor change to the same file from the Spring tape. There was a problem with 'matchall' characters in lower level help sections. INDNP1.COR removes some unused messages from the 11M version of Indirect. INDOPN.COR makes Indirect non-privileged during file opens (so users can't write/append files that would normally be inaccessible.) INDSU2.COR prints MCR lines if quiet and tracing. Double tracing is also eliminated for .WAIT, .IFINS, .IFACT, ... TKTN.COR is changed to not print task registers if a load failure occurred. LBRLI.PAT modifies the listing format to allow for the SYSLIB date routine which was changed from 3.1 to 3.2. P5CEL.PAT modifies TKB CREF output when a symbol is de- fined in the root and referenced by up-tree elements. The value was formerly not relocated if the task was privileged. SLPR11.PAT modifies the SLP page format to center the listing thereby making it easier to bind the output. SLPSB.PAT corrects a problem with the placement of the delete audit trail (;**-n) in lines which are longer than the audit position and have tabs in the last 'n' characters. HELP.ULB is a complete copy of my help files. Many of these originally came from J. Downward's contribution a few SIG tapes ago. Many new ones have been added and many er- rors have been corrected. Since we run a single user sys- tem, some of the multi-user comments have been deleted. Several BRU patches: BRUREAD.PAT corrects the error recovery procedure on TU10/TE10 drives (originally tried to do a read reverse fol- lowed by a skip record). COMLIB.PAT prints the tape label as part of the direc- tory listing. TAPEIO.PAT corrects a line in dispatch article 5.1.17.16 which caused BRU initialized discs to appear to be created on the date of the backup but the time of the re- store. [360,001] account contents README files for the A.R.A.P. Submissions to all sig tapes. [360,200] account contents ARAP.OLB, needed for all following software Only new source modules included, but library contains all modules from previous tapes also. [360,212] account contents IAS/VAXNET - This is a simple-minded virtual terminal program with the ability to send/receive ASCII files between two IAS systems, or an IAS and a VAX system, over asynchonous lines (DZ11 like devices). This originally appeared on the VAX SIG tapes and was modified to work on IAS as the host system. Simple yet effective. Refer to NETBLD.CMD to build the two programs that run on the local and remote systems. See also VAXNET70.CMD. MEMO11.RNO describes the steps needed to actually transfer files. [360,213]account contents UND - This program finds undefined variables in FORTRAN programs. It subtasks to the FORTRAN compiler and uses a /LI:2 listing file. It will report undefined variables, variables appearing in subroutine calls that are not explicitly defined, etc. Refer to UNDEF2.RNO, UNDEF1.RNO and UNDMN.FTN for further instructions. UNDTEST.FTN is an example test file for UND and UNDTEST.LST is the resultant output. [360,214] account contents C36 - conditional fortran pre-processor C36 is used by ARAP to convert fortran source to both IBM and CDC machines and is specific to our operations. However, C36 also has the ability to conditionally include or exclude lines of code by using a logical definition file and IF-THEN-ELSE types of constructs within the code to be converted. It is not a process which needs to be run before every compile. Rather, it lends to maintaining a base line version of a program on a development machine, while allowing easy conditional conversion for specific exportation to other machines which require different coding algorithms in selected places. Refer to C36.RNO for documentation and also C36MN.FTN. [360,215] account contents DSM from spring 1980 SIG tape - only updated modules included. A couple of bugs have been fixed pertaining to disk drive size recognition and maximum number of uic's checking. DSX - Also included on this uic is a somewhat modified version of DSM which is used to associate a specific file to a given disk cylinder/track/sector address. This is useful for finding the files in which disk errors occur. Refer to DSX.RNO for further description and use. [360,230] account contents SFS fortran cross-referencer from Spring 1979 SIG tape. Fixed to identify VIRTUAL statement. Only modified modules included. [360,245] account contents SPY from fall 1979 - only updated modules included. Bug fixed - problems when real time tasks alter priority to below 100. [ARAP.RUNOFF] account contents ARAP modified Triangle RUNOFF. ARAP has added a number of features to RUNOFF to enable us to produce technical reports. We required support for greek characters, extended sub/super script capability, ability to produce very complex mathematical equations etc. I was unable to put together a formal contribution of ARAP RUNOFF in time, but would like to point out some of our extensions to anyone interested. I might add that we have successfully been using RUNOFF in conjunction with a screen editor to produce reports on a production basis. Some of the features include: a) Support for Greek/Math character set. Output is produced on a DIABLO 1640 in two passes. Lines up amazingly well. b) Super/subscripts adjustable in 1/8 line increments. Can set to super/sub 3/8 line instead of 1/2 and change amount througout document as needed. c) Line spacing adjustable to 1/8 line (.SP) and also .BLANK can use 1/8 spacing. e.g. .BLANK 1+5/8 d) Overbar function, implemented similar to underline. Adjusts to highest superscipt to be overscored. e) Equation mode command. Allows reasonable description of equations, set spacing around equation, sets line spacing (to 1/8), allows '#' to be horizontal half-space for aligning 1 character above 2 (a/bc) for example. f) Justified output uses a horizontal half-space to fill. g) Overstrike ability using backspace, justifies properly. h) String substitution definitions. Similar to the numeric substituion, but allows strings within the text to be identified and substituted for. e.g .SUB ARAP = 'Aeronautical Research Associates of P' Any occurence of ARAP within text will be substituted. Please call me if your are interested in using RUNOFF for this sort of work. I will be happy to send an example of output, send a tape etc. ************************************************************** editor's note: This looks pretty useful, I would like to get a copy for the next sig tape. ************************************************************** [370,001] account contents TALK.MAC - TALK IS A INTER-TERMINAL COMMUNICATION PROGRAM THAT ALLOWS SIMULTANEOUS CONVERSATION BETWEEN TWO VT52 TERMINALS. TAPE.MAC - TAPE.MAC IS THE START OF A GENERAL PURPOSE TAPE COPY PROGRAM THAT WILL ULTIMATELY USE SWITCHES TO SELECT DENSITY, MODE, AND ACCEPT INDIRECT COMMAND FILE SPECIFICATIONS FOR FILE NAME OF UNLABLED TAPES. IF YOU HAVE ANY COMMENTS OR SUGGESTIONS ON THIS PROGRAM PLEASE FORWARD THEM TO THE ABOVE ADDRESS. CURRENTLY THIS PROGRAM WILL READ UNLABELLED EBCDIC TAPES AT 1600 BPI. INDIRECT COMMAND FILE SPECIFICATION OF FILE NAMES IS ACCEPTED ALSO. EBASC.MAC IS A CONVERSION ROUTINE THAT IS USED WITH TAPE.MAC. UP1.FTN - A FORTRAN PROGRAM THAT USES THE DATA PRODUCED BY THE PROPRIETARY SRF (SYSTEM RESOURCE FACILITY) FROM GEJAC TO CREATE A HISTOGRAM OF CPU UTILIZATION VERSUS TIME. SRFMAINT.CMD IS USED IN COMBINATION WITH THIS. WP.CMD - A TEXT PROCESSING SYSTEM BASED IN EDT V2.0 AND RUNOFF. THIS SYSTEM IS MENU ORIENTED AND IS USED ON A VT52 OR VT100 TERMINAL. THIS WAS A SYSTEM THAT WAS THROWN TOGETHER IN ONE DAY TO COVER THE ACTING DP MANAGERS REAR END. (NOTE: THIS IS THE THIRD ACTING DP MANAGER .... THE LINE FORMS TO THE REAR, PLEASE!). PLOT.FTN - A PLOTTING ROUTINE FOR THE DIABLO 1750 LETTER QUALITY PRINTER PLOTTER. 3D.FTN WILL PLOT A 3D FUNCTION USING PLOT.FTN AS AN EXAMPLE. WE WROTE THIS IN ONE DAY. WHOTT.MAC - A TASK THAT WILL RETURN THE TERMINAL NUMBER OF THE REQUESTING TERMINAL AS THE EXIT STATUS IN INDIRECT COMMAND FILES. (NO BIG DEAL, BUT USEFULL). TSHEET.FTN - A PROGRAM TO KEEP TRACK OF WORK TIME AND PRINT OUT TIMESHEETS. PUN.FTN IS USED TO PUNCH IN OR PUNCH OUT. A FILE TIME.CLK, WHICH IS EDITABLE IS USED TO STORE TIME INFORMATION. [370,020] account contents The software contribution from the Washington, DC area LUG consists of the following programs: 1. PIPLST - A system of command files and TECO macro's that reformat directory listings into a 5 column format along with some summary information. Uses PIP to create directory, then TECO and FLY to mung the listing around. 2. PUG - A nice little task to find zero length and locked files. Program will print out the names and locations and will optionally delete ALL of them. Be sure that this what you want it to do. 3. GAB - A half duplex terminal connector. Everything you type will show up on both terminals until the next CTRL C, then everything the other person types will show up on both terminals. A great replacement for BRO. Use CTRL Z to exit hookup. 4. DIARY - Create a timestamped diary of any thing that you care to type in. The infor is appended to SY:[default]DIARY.TXT. 5. FILES - Program to determine which file a specific block belongs to. 6. TIMIT - Set of programs and subroutine for RSX11M-PLUS to do account file report generation, user accounting by login and individual TASK accounting. Requires F4P brcause of include files, I*4 support and parameter definitions. Conversion to FORTRAN should be doable, but not simple. Programs: ACLIST - List accounting history file in formatted summary fashion Depends on the Accounting history files being named "ACddmmmyy.DAT", command file to start up accounting and COLOG with this format filespec. Another program ACRESET - runs at 2400 to stop accounting and re-start with the proper name for the next day. GETAB - Grab users' Accounting block format and print out information. Written as test system to allow allocation of users activity to many different job orders in an automated way by writing out the info into different files rather than to just the terminal. TIMIT - Grab accounting info before and after some operation in an attempt to regain some task accounting capabilities for RSX11M-Plus. Works very well within the limitations of the information that M+ keeps for us. [370,140] account contents MGT IS A MAG TAPE TRANSFER PROGRAM THAT ALLOWS A USER TO TRANSFER DATA FROM MAGTAPE TO DISK,MAGTAPE TO MAGTAPE,MAGTAPE TO TERMINAL,DISK TO MAGTAPE ETC. MGT DOES A BLOCK DATA TRANSFER SO NO DATA TRANSLATION IS PERFORMED. IT CAN BE USED TO COPY ANY TAPE. IT ALSO HAS SOME NICE BLOCKING FEATURES. [370,150] account contents * HEX - Microprocessor hex file management utility * The HEX utility runs under the RSX11M operating system. Its purpose is to manipulate INTEL ASCII Hex-formatted files that are produced by many cross assemblers (or linkers) for 8-bit microprocessors (8080, Z80, 8085, etc.). Operations that can be performed on a hex file with HEX include: FILL - fill address range with a value. READ - read in a hex file. COMPARE - compare specified addresses to another hex file. COPY - copy values from one area to another. CRC - compute the standard bisync cyclic redundancy check on a range. DISPLAY - display portions of the file to the screen or to a listing file. EDIT - examine and optionally replace values in the file. MOVE - move values from one area to another. SEARCH - scan the file for a particular byte or word value. SUM - compute 16-bit byte-wise sum-check (as with DATA I/O prom burner). TRANSFER - manipulate the transfer address. WRITE - write out locations to create new hex files. [370,170] account contents A MACRO SUBPROGRAM TO CONVERT CLUNKS TO DATES AND DATES TO CLUNKS The module CLUNK.MAC can be used to convert Datatrieve-11 clunks to system date and time and back again. It can be called by a Macro, Fortran, or Basic-Plus 2 program. This routine was inspired by the article on Datatrieve dates by Chuck Watson in the Feb. '81 issue of the Wombat Examiner. I saw it as desirable to have a application program using the FMS package access a data file created by Datatrieve, hence this routine came about. [373,001] account contents This account contains a version of the Universal Magtape Reader origiannly written by D. Macre in DEC Paris. A number of changes have been made to make it more usable. [373,002] account contents This account contains the disk fragmentation utility originally based on FRAG by Michaud. I have made a few cosmetic changes, such as allowing lower-case, and allowing the device to be [373,003] account contents This account contains a version of FRC, the utility to force a command line to another terminal. It has been modified from William Storey's original design to use the Spawn directive, and so does not have to map the Executive. ******************************************************************* editor's note: This uic contained the two files README.1ST and README.DOC. I decided to combine them into one README.1ST file. I changed the name of the README.DOC file to SRDMOD.DOC. This account contains Version 6.0 of SRD. It is an attempt to combine the modifications made by Bob Turkelson (Goddard Flight Centre) and Ray van Tassle (Motorola) as well as to add a number of new ones. For a detailed writeup on the changes made read the following section (which is the author's original README.DOC file now appearing as SRDMOD.DOC). ********************************************************************** This is an improved version of SRD, dated 3-DEC-1980. This version is intended to combine all the versions of SRD I know of (Ray van Tassle's, Bob Turkelson's and my own) into one (easily tailorable) unit, which can then hopefully be used as a base for future modifications. The changes from 'standard SRD' fall into three categories, as follows:- 1. Those made by:- Ray Van Tassle Motorola It has been sporadically updated over the last year and a half, so long that I forgot what it's original base was. I think it was the version distributed with our IAS V 2.0 system. The original SRD had a massive number of bugs, the worst one was probably that it would loose files on a Write-back (but mostly only on very large directories) !!!!!!! This version has had all the bugs I could find fixed, plus a lot of enhancements. Some of the key things are: Write-back works properly, and it also re-tries if it gets an I/O error on the write. It will dynamically expand it's core buffer (via EXTSK$ directive) if the directory won't fit. If the entire directory won't fit, it will do it in chunks, each of which is sorted properly; along with a warning message. A trailer line for each directory is given, showing the number of files in the UFD, and the number of files selected. If a switch that causes the file header to be read is specified (/MI, /FU, or a date switch), the number of blocks used/allocated is also given. A "nolist" switch is added, so you can get the above trailer info, without getting a list of the individual files (very handy for scanning an entire disk). The user write-up has been re-written. On date select, the "before" and "after" dates can now both be specified. The format of the output has been slightly modified so that a simple TECO macro can make a PIP command file to copy (or whatever) the selected files. Two macros to do just that are also on this tape, in my UFD for TECO macros. To use them, do: SRD XXX.CMD=???? TEC XXX.CMD *EISTRIP$$ *EIGET$$ * (any other edit you may want to do) *EX$$ 2. Those made by: BOB TURKELSON NASA/GODDARD SPACE FLIGHT CENTER Dave Parker, Henry Tumblin Duke University Medical Center Support for /CO/LO/MU switches (to select contiguous, locked, or multi-header files). Support selection of files created between two dates when both /BE and /AF are used in the same command line. Yes/No/Quit/Go responses for selective delete (obtained from another version of SRD). Support /OV:[n] switch to select obsolete versions of files, which are those files which would be deleted if the /PU:[n] switch were used, and those which would not be selected if the /SV:[n] switch were specified. This provides a convenient method for users to see their obsolete files, and for system managers to determine which users are not regularly purging their files. Fixes for a few bugs (including the one reported in the October 1979 Multi-Tasker). Remove the requirement that a period must be included in the /SE: