RSX 11-M V3.2 CHICAGO 1980 *** [307,23] *** README.1ST DANIEL STEINBERG SRI INTERNATIONAL LOC. K1023 333 RAVENSWOOD MENLO PARK, CA 94025 (415) 326-6200 EXT.5539 SHORT DESCRIPTION OF FILES IN THIS SUBMISSION: ARDRV.SLP AR11 DEVICE DRIVER ENHANCEMENT DRDRV.SLP RM02/3 DEVICE DRIVER CORRECTIONS INITL.SLP I/O PACKET PRE-ALLOCATION ENHANCEMENT... SYSCM.SLP ...PACKETS ARE PRE-ALLOCATED FROM THE TOP OF ...DYNAMIC POOL AT INITIAL SYSTEM BOOT HELLO.SLP ENHANCEMENTS AND CONNECT-TIME LOGGING... BYE.SLP ...AT LOGIN, "ASN XX:=SY:/LOGIN" NOT ...SPAWNED IF XX:==SY00: ALREADY... SRILOG.MAC CONNECT TIME LOGGING WITH PROJECT CHARGE NUMBERS BILLER.MAC BILLING PROGRAM FOR SRILOG ACCOUNTING DSR.MAC ONLINE DISPLAY OF DYNAMIC POOL FRAGMENTATION UPRNLWR.TEC TECO MACROS FOR QUICK CASE CONVERSION SYSLIB.TEC TECO PROGRAM TO FIND THINGS IN A LBR ENTRY FILE ...PROMPTS FOR A SEARCH STRING AND LOOKS IN ...LB:[1,1]SYSLIB.ENT FOR THE APPROPRIATE ...MODULE. TO MAKE SYSLIB.ENT: LBR LB:[1,1]SYSLIB/LE,SYSLIB.ENT/-SP DIR.CMD COMMAND FILE TO GET A NEAT DIRECTORY ONEDEL.TEC TECO MACRO TO PAGINATE THE DIRECTORY AND REMOVE THE LEADING [307,23] ARDRV.SLP This correction removes the code which restricts synchronous I/O sweeps to non-checkpointable tasks. This code is obsolete, since a task with an active sweep will always have a non-zero I/O count, and therefore be effectively non-checkpointable. There is no need for the task to be non-checkpointable when a sweep is not active. This correction works fine on our system. [307,23] DRDRV.SLP This correction fixes two obscure bugs in the RM02/3 device driver. 1) The FORMAT ERROR bit was tested in the wrong device register. 2) If the drive rejected the instruction to set OFFSET MODE, the driver logic detected a different error far downstream. With non-DEC RM02/3s, this could occur if the controller was working correctly, but asserted DRIVE READY more slowly than the DEC RM02/3. With DEC drives, the error rarely, if ever, occurs. With the correction applied, the device driver will HANG until the drive is ready. If anyone bothers to code a reasonable alternative (such as timing out), please let me know. [307,23] INITL.SLP & SYSCM.SLP INITL.MAC is a section of EXEC code which is task-built to lie directly before the system dynamic pool. It is executed when the system is initially booted (or when you say G to XDT). Once it finishes executing once, it deallocates itself into the front of pool. After you SAVe the system, the SAV code does what INITL did when the system is re-booted. Since INITL executes exactly once and is then freed to pool, all code added to it is recovered. This correction fixes a trivial bug and implements a critical enhancement. The bug is described below, and rarely occurs anyway. The enhancement is much more interesting. While the QIO OPTIMIZATION option (Q$$OPT) helps things out a lot by keeping a private linked list of pre-allocated I/O packets, these packets are initially allocated from pool while the system is running. Generally, you will SET /MAXPKT=8 and find that, after your system has been running a while, pool will be far more fragmented than it was when you booted the system! Since the packets are allocated at random times, they will be left in random places in pool, causing undue fragmentation. One solution would be to do some sort of compression and/or garbage collection. This has been suggested before; the standard reply is that, since RSX keeps no back-pointers, this would be almost impossible to implement. The approach i've taken is to pre-allocate the I/O packets right at the top of pool when the system is initially booted. If there is always a pre-allocated packet available, no packets will come out of pool. If MAXPKT is set too low, however, overflow packets will be allocated out of pool and, depending on timing and luck, may never be released. The enhancement consists of shuffling some code around in INITL and adding a short routine to pre-allocate a specified number of packets. The pre-allocation count comes from the byte at $PKAVL (in SYSCM.MAC). SYSCM.SLP sets this byte to the value DS$OPT, which should be defined in your RSXMC.MAC. I added a line to my RSXMC which reads: DS$OPT=Q$$OPT so that the initial maximum number of I/O packets are pre-allocated. DS$OPT and Q$$OPT may theoretically be as large as 255., but the pre-allocation algorithm stops when all the preceding INITL code has been used (it doesn't overwrite itself). If you don't have an 11/70 or parity memory, you can get 15. packets pre-allocated (conditional code in INITL leaves more room). When INITL is done, DS$OPT packets are sitting at the top of pool, followed by exactly one large block of pool. The execution of SAV causes a few more fragments to be formed permanently. I strongly recommend the use of this enhancement with a value for DS$OPT of at least 8. (i use 15. on my system). A bug in the INITL code shows up when you try to boot a non-VMRed system and it crashes (statistically, half the time). This is because VMR twiddles the dynamic pool pointers to make sure that the top of pool is on a double-word boundary. Although, there is no reason that i can dream up for this, the INITL code assumes that this is the case and, if not, will doubly deallocate the first word of pool. If $POOL happens to be on a double-word boundary, everything's ok. The correction should fix this by recomputing the top address of the INITL code. Since most people VMR their system before booting it, this correction is rarely necessary (if you have this problem and don't want to rebuild RSX11M.TSK, you can do this: >VMR ENTER FILENAME: RSX11M VMR>^Z since the VMR kluge works when it initially verifies the task image.) These patches have been running successfully in my system for months. [307,23] CORALB.SLP I have been using this highly altered CORAL module for a month to gather some information on the effectiveness of various Executive Core Allocation routines. A single flag word may be changed (via OPEn) to enable/disable different variations of algorithms. Timing information can be collected by turning DR11-K output register bits on and off, and monitoring these with digital counters. I don't recommend that you use this correction file in your system unless you know what you're doing. By applying the patch and getting a listing of the resultant CORAL.MAC;2, you can figure out what i've done. Feel free to call me for help. Preliminary results indicate that, while the roving core allocation algorithm can be configured to execute very quickly most of the time (as much as 3-4 times as fast as the standard first-fit), the distributed RSX first-fit algorithm tends to fragment pool somewhat less. However, this can vary, depending on your installation conditions, and i strongly recommend that you look seriously at the corrections to INITL.MAC and HELLO.MAC in this submission for free ways of cutting down on pool fragmentation. [307,23] HELLO.SLP Several corrections and modifications are made to HELlo. The important ones are: 1) If DS$LOG is defined (in RSXMC.MAC), special accounting code is included. Before logging on the user, (s)he is asked to type in a project code, which is passed, along with other information, to the task LOG... for processing. Project codes are not validated, they are merely stored for future billing. It's primitive, but it works just fine for us. 2) Rather than hard-coding the range of privileged accounts, the assembly values PRV1-PRV2 determine whether a user will be logged on a privileged. Also, users with group codes ING1-ING2 are extra-special: they may log in without accounting, and they may log in when system logons are disabled (they MUST invoke HELlo with: HELN etc. rather than HEL, though). 3) Users whose group codes are from SLV1-SLV2 are logged in slaved. There would have to be a LOGIN.CMD file in the login UFD to get any further. Currently, if LOGIN.CMD has SET /SLAVE=TI: as its first line, there will still be a hole between ...HEL and ...AT. in which the user may type a control-C and abort ...AT. With this correction, the only remaining problem is that, if LOGIN.CMD has a .ASK directive, the user may type control-Z which will stop ...AT. and hang the line. IND needs a .DISABLE EXIT directive of some sort to prevent this (or .ENABLE LOGOUT, so that BYE is spawned when AT. exits). 4) If the account file says that the user's default disk is SY00:, HELlo will currently spawn the command line: ASN SY00:=SY:/LOGIN to the MCR. This is completely unnecessary, since SY: may be globally REDirected to the proper device. Further, the assignment causes the allocation of a small piece of pool for the system assignment tables. If several users are logged on, pool will get uneccessarily fragmented in this way. [307,23] BYE.SLP This correction file: 1) Implements the accounting described above, if DS$LOG is defined. 2) Changes the time-dependent logout messages. 3) Fixes a known bug with outstanding I/O when BYE exits. [307,23] SRILOG.MAC This program catches data packets from ...HEL and ...BYE to implement a rudimentary connect-time accounting. The system overhead is practically nil. The source has further documentation. To assemble and build: @SRILOG [307,23] BILLER.MAC, BILLTIO.MAC, BILLWRK.MAC This is a billing program that scans the log file produced by SRILOG and generates an account by account summary. The BILLTIO overlay allows you to modify the operating parameters and BILLWRK does the actual file manipulation. This is an old program that works well, but there isn't a lot of documentation on how to use it. The command "?" produces a list of options and their current values. Typing the option enables it, typing -OPtion disables it. The default startup condition bills the entire log file without modifying it. You can set it up to delete billed entries or write a new version of the log file. Call me if you want help. To assemble and build: @BILLER [307,23] DSR.MAC This is a little program which prints out a map of your executive pool fragmentation (not including I/O packets). You can get a single map, or you can have a RMDEMO-like continuous display. If installed as ...DSR, it can be invoked with: >DSR for a one-time only display >DSR n for a redisplay every n ticks It also prints an arrow pointing to the listhead (this is because i use it to monitor a roving listhead). The code is for a SOROC terminal, but it takes about 2 minutes to tailor to a different set of cursor controls. To assemble and build: @DSR [307,23] UPRNLWR.TEC Invoke this by saying (to TECO): EIUPRNLWR$$ Your text buffer will be unchanged, but Q-regs L and U will be loaded with case conversion macros. The macros themselves execute without changing any Q-regs other than L and U. For example: 56ML will convert the next 56 characters to lower case MU will convert the next character to upper case The converted characters are typed out at your terminal. [307,20] - USGS library contributions: MDINIT.COR RMDEMO (V3.2) correction files for the correct display of MDPAGE.COR IN: and OUT: tasks in systems with a resident task loader REMAP.COR and display of UP time in RSX-11M systems (conditionalized. RMDDEF.COR for R$$EIS, but not tested on a non-EIS machine.) UFD.COR Correction file to allow a non-privileged user to create UFDs with the same group number as the protection UIC. TIMER.FTN FORTRAN execution profiler subroutine and test driver. TIMERTEST.FTN (See upcoming Multi-Tasker article.) GETCMD.MAC FORTRAN access to system indirect command file processing. CSI.MAC FORTRAN access to system CSI parsing routines, including CSISV.MAC construction of switch tables and switch value tables. CSISW.MAC STOP.MAC Replacement FORTRAN STOP statement processor that eliminates STOP message. (See December 1979 Multi-Tasker article.) TCLOSE.MAC FORTRAN callable file close with truncation (after flushing the file buffers via a forced .POINT). TTYATA.MAC FORTRAN link to TT driver unsolicited input character AST ASTTST.FTN mechanism (via completion routines) and test driver. (See April 1979 Multi-Tasker article.) USERMAC.MAC USGS macro library sources and the library itself. The source USERMAC.MLB file may be of interest to MACRO programmers who would like macros for simple terminal I/O, ala FORTRAN TYPEs and ACCEPTs. The source file is heavily laced with comments. The rest of the files belong to the programs below: CRASH Used to force a system crash from a privileged terminal. (See March 1980 Multi-Tasker article.) CWD and PWD Change Working Directory and Print Working Directory. Combination of ASN ddnn:=SY: and SET /UIC=[g,m] in one command with lots of extras, e.g., warns you if the UFD does not exits, prints disk usage (blocks and percent). Type CWD /HE and PWD /HE for help. DAMMIT Cute messages (taken from old DECUS tape and converted for 11M). IDX FORTRAN IV/FORTRAN IV-PLUS cross reference generator. A substantial enhancement to the old IDX program that processes all FOR and F4P keywords (including INCLUDEs) and generates the correct line numbers for each compiler (with proper carriage control for appending to the compiler listing file). See IDX.DOC and README.IDX for help. PRINT 11M-PLUS style print command for the old print symbiont; accepts optional /DElete switch. Type PRI /HE for help. SNAP Snap dumps (almost) any running task by faking out PMD... into thinking the task asked for it. Accepts all the arguments available in the SNAP$ macro. Allows non- privileged users to dump their own tasks only. Type SNA /HE for help. (Try snapping PMD... sometime!) SQUISH Compresses imported text files by removing text beyond a specified column and trims trailing blanks and tabs. See SQUISH.TXT for help. UNDELETE Very dangerous program for recovering files accidentally deleted from a disk. Allows file specifications similar to SRD Select Entry patterns. Written to recover a system disk that had been completely (accidentally) wild card deleted (it works fine). For system programmers only. See UNDELETE.DOC for help. WHO Who is on the system (with names taken from the account file) and currently executing tasks with their status. Also allows query of account file info, such as WHO BAKER or WHO 100,1. (Makes only one pass through ATL and account file.) Type WHO /HE for help. Command files are available for each program by name (except PWD, which is really CWD installed as ...PWD), and there is a blanket command file, USGS.CMD, that will build the necessary libraries and all supplied tasks. If you choose to build each task manually, be sure to invoke @USGSLIB first to build the common libraries. The following files should be available for a build of all tasks: LB:[1,1]EXEMC.MLB LB:[1,24]MCR.OLB LB:[1,54]RSX11M.STB LB:[200,200]RSXMC.MAC Any comments, suggestions, complaints, or praise may be sent to either Larry Baker or Gary "Max" Maxwell at U. S. Geological Survey Office of Earthquake Studies 345 Middlefield Road M/S 77 Menlo Park, CA 94025 (415) 323-8111 x2703 FTS 467-2703 P.S. This tape was assembled at 3 a.m. after the machine's power supply was repaired from a failure earlier in the evening. We have tested the command files individually, but did not have time to test them all together. They should work in any UFD on your disk. Good luck. .SD 70;.PS 60,70 .LM 5 .B 3 .C 65; Overview and Installation Guide to IDX .B 2 .C 65; 18-Apr-80 .B 3 .HL 1 Summary .P 5 This document is an overview of the background and implementation specifics of IDX, Version 2. The full user's manual to IDX is in the runoff file, IDX.RNO, in the distribution UIC. .P 5 Version 1 of IDX has been floating around for several years now, though it lacked some "pretty" features that kept our installation from using it as a reliable tool. This upgraded version started with Version 1 as is, fixed up known bugs where possible, reworked several modules that displayed some chronic problems, and after initial testing, new features were added to supply full support to all valid FORTRAN-IV PLUS features. .P 5 To those who are used to an older version of IDX, this version will seem very similar. The format of the cross-reference output is the same as before, although several alternative formats were tried and discarded as being more unreadable. The command line format is also the same, although several switches have been added, among them an /HE switch to provide instant help on the use of IDX. .PAGE .HL 1 Changes from Version 1 .HL 2 Parsing Algorithm .P 5 Many small changes have been made to the parsing of the FORTRAN statements to correct obscure bugs. The parsing algorithms have been tested more rigorously than any other section of the program, but there may be extremely rare FORTRAN constructs which may give IDX problems. .HL 2 EXTK$ Support .P 5 For host systems which support the EXTK$ directive, IDX will allocate its symbol table space on a pure demand basis, in increments of 2 Kwords. This increment can be changed by modifying an assembly parameter in the STORE module. .P 5 The basic algorithm and data structure for storing symbol values and references is the same. Two differences are important: offsets within a symbol table entry are now defined symbolically, and storing is done only within the last "frame" allocated via an EXTK$. .HL 1 Installation .P 5 Basically, the command file IDX.CMD should help you get from wherever your UIC is to a task image of IDX. Just copy the distribution into any UIC of your choice, and invoke IDX.CMD. If you want to task build IDX into a privileged UIC, you had better log onto a privileged account first. .P 5 Most of the compile-time and build-time parameters for IDX are asked for in the command file, such as default switches, memory increments, and INCLUDE statement nesting depth. .HL 1 Documentation .P 5 We have included a locally generated User's Guide for IDX in the distribution, which includes the usage codes output by IDX in the cross reference listing. Generally, any question about using IDX can be answered therein. The .RNO file for the User's Guide has been included so you can change the masthead of the document. .HL 1 Support .P 5 Of course, we aren't staking our lives on IDX, but we feel it gives great support to all of FORTRAN IV-PLUS' features, and it has been a great help to our FORTRAN programmers. If you happen to discover any bugs that defy explanation, please forward them to us; we'll see what we can do (If you make any enhancements, we'd like to find out about them, also!). .PG .AP .C TARLUG CONTRIBUTIONS The Toronto Area RSX LUG presents its humble offerings for spring 1980 .B .lm +10 .I -10 [310,1] This UIC contains general information. TARLUG.RNO has names and adresses if you want contact anyone here and a policy statement. T.RNO is a directory of past SIG tapes with some notataion. .B .I -10 [310,111] This UIC contains general C programs including: .i -5 SORT merge .I -5 Key Word In Context index maker .I -5 Z80 cross compiler .I -5 MC multi column lister .I -5 DUAL a program to change MACRO from tasteless UPPER CASE to tasteful Dual Case .i -5 6800 cross compiler .i -5 OD Octal Dump .i -5 and much more. The sources ususally tell you what they do. .B .I -10 [310,112] This contains several programs for the indirect command processor. .B .I -5 BLD will build FORTRAN programs, including running a preprocessor without having to type the file name over and over and it remembers everything for next time and is easily modified. .I -5 ERROR will interactively get an error log report witout having to find and then understand the DEC manual on PSE and SYE etc. .I -5 DIRECTORY will interactively change protection or delete UFD's without you having to use a pip command that approaches 80 characters. .B .I -10 [310,113] This is a new version of David Conroy's famous C compiler. .B .I -10 [310,114] This is the new assembler to go with the new C compiler .B .I -10 [310,115] This is a collection of VT11 demonstration programs. .B .I -10 [310,116] This contains the C runtime system .B .I -10 [310,117] A new improved version of an editor which looks a lot like UNIX's ED and allows you to send command to MCR from the Editor. .B .I -10 [310,121] This is a version of Super Startrek for RT11 .B .I -10 [310,122] This is the real time startrek from boeing, modified to run under RSX11M and with a few enhancements. .B .I -10 [310,123] RSX chess .B .I -10 [310,124] Chess in C .B .I -10 [310,125] A few miscellaneous FORTRAN things including a program which designs bass reflex speaker enclosures; Backgammon; ANOVA (analysis of variance); Shell sort. .B .I -10 [310,126] A bibliograhy maintenance system set up under TECO which will find entries by keyword or author etc. It runs in house under RT11 and RSX. A faster non-TECO search routine for RSX is also included. This will probably be maintained in future releases. .B .I -10 [310,130] A core graphics package from DOD in C which needs some work to run under RSX. .B .I -10 [310,131] Games and stuff for Michael Reese Basic. .B .I -10 [310,132] Some miscellaneous stuff for an ISC colour (Canadian spelling) terminal including a colour clock and interactive drawing package. .B .I -10 [310,133] Ontario Hydro miscellaneous subroutines .B .I -10 [310,134] Ontario Hydro tasks .B .I -10 [310,135] From the National Research Council in Ottawa are two sets of software. .ls .le;Alphabetic sort of directories .le;A plotting library for Hewlett Packard plotters .els .B .I -10 [310,136] From the Communications Security Establishment of the Department of National Defence, Ottawa .ls .le;General purpose tape Utility to handle tapes in various formats. .le;A CONVERT program to convert file formats including EBCDIC-ASCII. .le;ID program to give the DECNET node that a termianl is attached to. .le;Software to play music through the D/A converter which comes with files to play a dozen or so popular tunes. .els .B .I -10 [310,137] From Ray Whitton at Questor Surveys Ltd., a complete accounting package for RSX11M .b See you next tape .LIt This UIC contains several programs, most of which are written in C DUAL changes MACRO 11 source to dual case ESA ESA0 ESA1 ESA2 ESA3 ESA4 ESA5 ESP GRAB GREP powerful string finding program H HACK KWIK Keyword in context index maker L LC0 LC1 LPR Lineprinter interface MC Multicolumn lister NM finds symbol names in obj's, can replace a map file OD very nice file dumper PBN PINST PTR SORT file sorter TASK.CMD helps build these tasks TTT 3-D tic tac toe WC counts word and lines in files WUMPUS silly game Z80 Z80 cross compiler 6800 6800 cross compiler The rest you'll have to look at MRB .ap This UIC contains several progams that run under the indirect command processor. .b .LM 10 .I -5 BLD.CMD will build FORTRAN programs for you. It came about because we got fed up with typing FILE=FILE over and over again. If you say @BLD it will ask you for the file name (no extension) and the interactively develop the compile and taskbuild commands. It remembers everything so that next time you just hit @BLD and it prompts with the file name. Typing ESCAPE will cause the program to be rebuilt complete with special libraries that you specified the first time. It also has certain defaults built in eg. use FLECS preprocessor and F4P, you may cause it to stop asking questions at any time and use the defaults by typing ESCAPE. You may have to change a few things for your needs, such as the defaults but it should be easy and will save much time during program development. .B .I -5 DCL.CMD is an exercise in the use of AT. from the university of TORONTO. It gives a limited DEC commmand language which may be useful for some very casual users. .B .I -5 DIRECTORY.CMD is a program that we keep in [1,1] to interactively change protection or delete directories. The PIP command line to change directory protection is so long I am never sure if its right. This program makes it easy and has double checks at critical points. .B .I -5 ERROR.CMD is kept in [1,6] as LOGIN.CMD the error logging account. After having to find the book and figure out how to use PSE and SYE etc. every time we wanted to check the error log, we got the first version of this from the University of Toronto. We liked it so much that it has been added to frequently. It will interactively run ERF,PSE and SYE for you without the manual. .I 30 MRB .Ap This UIC contains demonstration programs for the VT11. Most of them came from our RT11 system henc the .FOR extensions. The ones with .FTN have probably been change to RSX and have been run. VTLIST is a display list dumper that used to work under RT but isn't as happy under RSX, CRFWAR is VT 11 spacewar from DENNIS SMITH who used to be at CRF at the U of Toronto but is now with AES Ltd. There is also a WHETSTONE benchmark. Let Me know if I can help on any of this .LM +20 .B M.R. Brown .BR P.O. Box 2000 .BR Downsview Ontario .BR 416-633-4240 .ap This UIC contains a version of super startrek that was on a previous RSX sig tape. Dave Sweeney of DCIEM, P.O. Box 2000, Downsview Ontario, spent considerable effort to squeeze it into RT11. .lit FURTHER INFORMATION ON RT-11 SUPER STAR TREK -------------------------------------------- ALL FILES ARE ASSUMED TO BE ON DEVICE DK7:, INCLUDING THE RULES (FILE STARTR.DOC) AND ANY FROZEN GAMES GENERATED. THESE ARE REFERRED TO IN SUBROUTINES PRELIM, FREEZE, AND THAW. ON COMPILATON, USE THE /S (NO ISN'S) AND /V (NO ARRAY VECTORING) SWITCHES TO SAVE SPACE. THE GIVEN OVERLAY SCHEME (IN FILE SSTLNK.COM) LOADS TO JUST UNDER 120000 (114000 WITH FL. PT. HARDWARE) IN RT-11 VERSION 3, SJ MONITOR. COMPILATION IS FROM .FOR FILES ON DK7: TO .OBJ MODULES ON DK5: , AND LINKER INPUT/OUTPUT IS CURRENTLY FROM/TO DK5: . .eli .ap .c Real time Startrek for RSX11M this is the same program as described in the appendix except: .Ls .LE;Cursor control changed to VT52 .Le;PLAYER translated into FLECS .le;RDAST changed a bit .le;A few new messages added .le;Build file changed to shrink task .els You have to add a common partition to memory which is very easy in V3.2. We used Dfile as it has to exist for our VT11 anyway. Its a grea demonstartion of real time capability. .APPENDIX Original Writeup .SPACING 1 .PERIOD .C ^^[ 3 0 0 , 3 0 1 ] M U L T I - T R E K\\ .C --------------------------------------- .S ^^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 UNIVERSE CONSISTS OF A 100 BY 100 MATRIX, OF WHICH A PLAYER CAN SEE AN APPROXIMATE 20 BY 20 MATRIX OF HIS/HER IMMEDIATE AREA. .S ^THE GAME CONSISTS OF A REAL-TIME DRIVER TASK, A TIME-SHARED PLAYER TASK FOR EACH TERMINAL AND A SHARED GLOBAL COMMON FOR INTER-TASK COMMUNICATION. ^^MULTI-TREK\\ WAS WRITTEN FOR ^^IAS\\ (CURRENTLY RUNNING UNDER VERSION 3.0), HOWEVER, IT SHOULD RUN UNDER ANY SYSTEM WITH SHARED GLOBAL AND REAL-TIME CAPABILITIES. ^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. .S ^^MULTI-TREK\\ WAS WRITTEN IN A STRUCTURED ^FORTRAN CALLED ^^TRANSFOR\\. ^THIS ^^UIC\\ CONTAINS ALL OF THE ^FORTRAN PRODUCED BY ^^TRANSFOR\\, AS WELL AS THE ^^TRANSFOR\\ SOURCE (FILE TYPE ^^.X4S\\) AND LISTINGS (FILE TYPE ^^.X4L\\). ^DUE TO THE SIMILARITIES OF THE VARIOUS STRUCTURED ^FORTRAN LANGUAGES IT MAY BE POSSIBLE TO SUCCESSFULLY COMPILE THE ^^.X4S\\ FILES WITH OTHER STRUCTURED COMPLIERS WITH LITTLE OR NO MODIFICATION. .S ^^NOTE: T\\HIS ^^UIC\\ CONTAINS A MORE SOPHISTICATED VERSION OF ^^MULTI-TREK\\ FOR USE ON SYSTEMS HAVING THE CAPABILITY OF UNSOLICITED INPUT ^^AST'\\S AND ^^CRT\\ TERMINALS WITH PROGRAMMABLE CURSOR AND SCREEN CLEARING (USED TO PROVIDE A CONTINOUSLY UPDATED DISPLAY). [302,300] CONTAINS A LESS SOPHISTICATED VERSION FOR SYSTEMS WITHOUT THESE FEATURES. .S ^THE PROGRAMMABLE CURSOR AND SCREEN CLEARING ESCAPE SEQUENCES IN THE SOURCE CODE ARE FOR A ^BEEHIVE 100 TERMINAL, HOWEVER, COMMENTS IN THE CODE IDENTIFY THESE ESCAPE SEQUENCES. ^THEY MAY HAVE TO BE MODIFIED FOR DIFFERENT TERMINALS. .ap This UIC contains a version of CHESS that I found on the RSTS tapes which started me believing that the division of libraries between processors and then operating systems was probably no longer appropriate. Anyway, the task file was built under the RSX run time system under rsts and has run fine on several real RSX systems for quite a while. I think the source originated from RT11 (one TARLUG memeber reports finding a copy hidden on DEC's maintenance pack) and if you build it, it has a few error messages which you can ignore as the code is never gotten to (according to Gerry Mintz at the University of Toronto). Better yet maybe someone can tidy it up and send it back. .C Russ Brown .ap This UIC contains a couple of FORTRAN (remember GOTO's) things that are not guaranteed to run immediately but do work. .b .lm 10 .B .i -5 BASS - is a program originally on EBCDICK cards that was modified to run under RT11. It designs a bass reflex speaker enclosure for you. .B .I -5 ANOVAP - This is an analysis of variance subroutine written by the late Prof John Ogilvie of the Universit of Toronto. It has been rehashed to run under RSX and to provide 'F' statistics. .B .I -5 BG - a Backgammon game. .B .I -5 SHELL - a shell sort subroutine .ap This UIC contains a bibliography system designed to keep track of a moderate number of research papers. It enables the retrieval of references by author title etc. I wrote the original to replace my card files while sitting beside the pool in Florida. I have included the faster FORTRAN search routinethat we use under RSX. It will buils using SEA.CMD. I intend to try and support this in future tapes. We have other software which reads DSIS tapes in EBCDIC and reformats them for this system. I will forward that to any interested party. .B M.R. Brown .BR P.O. Box 2000 .BR Downsview Ontario Important Note: This directory has been archived at the June 79 UNIX Conference in order to reduce size of the distribution. All c code has been archived in cont.a using the V7 (V6.5) archiver ******************************************************************* This file contains: 1. A description of every other file on the tape. 2. Instructions on how to use this graphics package. Files: READ_ME This file pr.sh Prints documentation and sources genisco.c Genisco device driver init_termin.c functions for initializing and terminating user_program.c sample user program defaults.c functions for setting and inquiring default values inquiry.c inquiry functions seg_attrib.c segment attribute handling functions segments.c segment handling functions primitives.c output primitives handling functions prim_attrib.c output primitives attributes handling functions view_trans.c functions for viewing transformations view_surface.c functions for handling output devices auxiliary.c general system service functions errors.c error handling functions ???????.c the function having the name "???????" run shell file to compile all .c files and load library run-example shell file to load example batch.c batching functions (pseudodisplay) pseudo dislay file which will be created Instructions for use: 1. For some device, write a device driver according to the specifications in the documentation. A sample driver for the Genisco raster display is in file genisco. 2. Substitute the name of the file containing your driver for genisco in the run shell file. Also, edit the device characteristics for the device into the view surface descriptor in file init_termin.c. 3. Write a user_program that does something useful or use the sample provided. See the run-example for details. 4. Submit run-example files to UNIX shell. This will create file "example" which should execute. 5. When things go wrong (and they will), we'd be interested in hearing about it, but we probably won't do anything about it. Submit all complaints (in writing, not by phone) with the accompaning fix (sources on tape, if necessary) to: Department of Defense 9800 Savage Road Ft. George G. Meade, Md. 20755 Attn: Mike T. Garrett, R53 ACEYDU a card drawing game BANDIT computerized one-armed bandit BASEBL plays a baseball game with you BIORHYTHM plots your biorhythm chart BLKJAK blackjack game BOAT a shooting game against a gunboat CIVIL a war game based on the U.S. civil war CRAPS dice game DRGRAC a drag racing game FUTBAL football game GUESS you have to guess a number the computer picks GUNNER a simple cannon elevation shooting game HOCKEY plays a form of hockey KENO another gambling game KING makes you ruler of a kingdom LANDER lunar landing simulation MARKET 2 person market simulation game NICOMA the computer guesses a number that you pick RANDOM tests the random number generator ROULET roulet game RUSROU russian roulette (stupid) SLOT slot machine SNOOPY draws snoopy on your terminal STERIL control screw-worm flies with insecticides etc. .ap This is a catchall of our ISC stuff. I'm not sure its all here If not then write to me .lm +10 .LIT RUSS BROWN P.O. Box 2000 Downsview Ont. Canada .eli .LM -10 There should be two things in this uic 1) ISCCLK which is a colour clock on the ISC terminal and 2) Interactive drawing package for the same terminal. .LIT ************************************************************* *** *** *** ONTARIO HYDRO - MISCELLANEOUS SUBROUTINES *** *** THIS UIC [310,133] CONTAINS A POTPOURRI *** OF ROUTINES. *** *** A ROUGH GROUPING FOLLOWS: *** *** 1) DATA BASE HANDLER *** DBHTRF - MAIN LINE FOR DBHXXX *** DBIDBH - INTERFACE ROUTINE IN DBIXXX *** DBITST - MAINLINE FOR DBIXXX *** COMMMON - SGAXXX DEFINITION *** DBHQIO - I/O ROUTINE FOR DBHXXX *** MOVE - ROUTINE TO COPY FROM ANOTHER TASK *** GENHSH - GENERALIZED HASHING FUNCTION *** *** 2) FORTRAN POINTER ROUTINES *** IGETAD - STORE ADDRESS OF VARIABLE *** INDGET - GET VALUE STORED AT AN ADDRESS *** INDPUT - STORE A VALUE AT AN ADDRESS *** MOVDPI - MOVE TWO CONSECUTIVE WORDS *** ICALL - CALL A SUBROUTINE WITH AN ADDRESS *** 3) MISC. *** TINUM - RETURNS TI#,TASKNAME,UIC *** TIMOUT- WAITS "N" SECONDS THEN CONTINUES *** ERRMSG- FORTRAN INTERFACE TO MO.... *** BLOCK - FORTRAN CALLABLE DISK BLOCK READ ROUTINE *** TRACE - AUTO RESTART ON TASK FAILURE *** ********************************************************** .RM 80 .LIT ****************************************************** ** ** ** ONTARIO HYDRO - COMPLETE TASK UIC [350,134] ** ** THIS UIC CONTAINS CODE AND COMMAND FILES ** FOR BUILDING COMPLETE TASKS. ** ** THE FOLLOWING IS A LIST OF THE TASKS CONTAINED HEREIN: ** ** 1) ESFLX - FILE TRANSFER ** 2) DISPLY - FORMAT CONVERSION ** ** ******************************************************** ESFLX THIS PROGRAM TRANFERS ANY FILES-11 FILE FROM ONE SYSTEM TO ANOTHER. IF THE ORIGINATING SYSTEM CAN INITIATE A CONNECTION, THE USE OF THE NON-STANDARD FUNCTION CODES CAN BE DELETED. THIS PACKAGE IS USED REGULARLY UNDER RSX-11D WITH A MODIFIED TTY HANDLER; BUT, IT SHOULD RUN WITH MINOR MODIFICATION UNDER RSX-11M(V3.2). IT DOES REQUIRE A HANDLER WITH READ-AHEAD. DISPLY THIS PROGRAM WILL CONVERT VARIOUS INPUT FORMAT VALUES TO VARIOUS OUTPUT FORMAT VALUES. FOR EXAMPLE, REAL TO OCTAL; OCTAL TO ASCII; INTEGER*4 TO OCTAL; ETC .LIT ALPHLIST RSX 11M ALPHABETIC SORT OF CATALOGUE - documentation in ALPHLIST.RNO, .DOC HP---- RSX 11M HEWLETT PACKARD 7221 PLOT ROUTINES - documentation in HPLIB.RNO, .DOC .RM 80 .lit THE FOLLOWING IS A DESCRIPTION OF EACH FILE ON THIS TAPE: ID.MAC THIS RSX11-M MACRO PROGRAM, WHEN INITIATED BY A TERMINAL WILL OUTPUT TO THATS TERMINAL ITS ACTUAL PHYSICAL TERMINAL NUMBER AND THE NAME OF THE DECNET NODE (IF ANY) TO WHICH IT IS ATTACHED: YOU ARE TERMINAL NUMBER 04 ON NODE: HAL RDUNLMT.MAC THIS RSX11-M MACRO PROGRAM READS AN UNLABLED TAPE. WHEN INITIATED IT PROMPTS FOR THE FOLLOWING INFORMATION: - WHETHER OR NOT THE OUTPUT FILE SHOULD HAVE VARIABLE LENGTH RECORDS (IE. TRUNCATE TRAILING BLANKS) - LOGICAL RECORD SIZE (NOTE: THE BLOCKSIZE ON THE TAPE MUST DIVIDE EVENLY BY THIS NUMBER) - WHETHER OR NOT THE FIRST BYTE OF EACH RECORD IS A CARRIAGE CONTROL CHARACTER - OUTPUT DEVICE - OUTPUT UIC - OUTPUT FILE NAME CONVERT.MAC THIS RSX11-M MACRO PROGRAM CONVERTS THE RECORD FORMAT OF THE INPUT FILE TO THAT DESIRED IN AN OUTPUT FILE. THE INPUT WILL ALSO OPTIONALLY BE CONVERTED FROM EBCDIC TO ASCII. FOR, EXAMPLE A CARD IMAGE INPUT COULD BE CONVERTED AND/OR TRANSLATED TO LINE PRINTER FORMAT. THE FOLLOWING INFORMATION IS PROMPTED FOR BY THE PROGRAM: - INPUT DEVICE - INPUT UIC - INPUT FILE NAME THE PROGRAM THEN PRINTS THE FOLLOWING INFORMATION ON THE TERMINAL: - INPUT FILE TYPE (FIXED, VARIABLE OR DONT KNOW) - MAXIMUM RECORD SIZE - WHETHER OR NOT THE FIRST CHAHRACTER OF THE RECORDS ARE CARRIAGE CONTROL CHARACTERS THE FORMAT OF THE OUTPUT FILE IS THEN DETERMINED FROM THE FOLLOWING PROMPTS: - INPUT LOGICAL RECORD SIZE (MUST BE >= MAXIMUM RECORD SIZE - PADDED WITH BLANKS) - WHETHER OR NOT TO TRUNCATE TRAILING BLANKS - WHETHER OR NOT TO TRANSLATE FROM EBCDIC TO ASCII - LOGICAL OUTPUT RECORD SIZE - WHETHER OR NOT THE FIRST CHARACTER IS CARRIAGE CONTROL - OUTPUT DEVICE - OUTPUT UIC - OUTPUT FILE NAME - NUMBER OF RECORDS TO BE READ IN BEFORE OUTPUTING A RECORD - NUMBER OF RECORDS TO BE OUTPUT FROM THOSE JUST READ IN THE SPECIFIED NUMBER OF RECORDS ARE READ IN AND THEY ARE CONTATINATED TOGETHER (ALL RECORDS READ IN ARE FIRST PADDED BY BLANKS OUT TO THE LOGICAL INPUT RECORD LENGTH IF NEED BE). THE SPECIFIED NUMBER OF OUTPUT RECORDS ARE NOW WRITTEN FROM THIS BUFFER (IF VARIABLE LENGTH OUTPUT WAS CHOSEN THEN TRAILING BLANKS ARE NOT OUTPUT). IF THE BUFFER WAS NOT LONG ENOUGH THEN IT IS PADDED BY BLANKS, IF IT WAS TOO LONG THEN THE EXTRA BYTES ARE THROWN AWAY. RECORDS FROM THE INPUT FILE MAY BE DELETED BY SPECIFYING THE APPROPRIATE NUMBER OF INPUT RECORDS. FOR EXAMPLE, IF THE INPUT AND OUTPUT RECORDS ARE THE SAME SIZE, SPECIFYING THAT TWO RECORDS ARE TO BE READ IN FOR EACH RECORD OUTPUT DELETES EVERY SECOND RECORD OF THE INPUT FILE (USEFUL FOR CONVERTING PICTURES FROM 10 LINES PER INCH TO 6 LINES PER INCH FORMAT). MUSIC.MAC - THIS IS A STAND ALONE MACRO PROGRAM WHICH PLAYS MUSIC THRU A 12 BIT DAC. ALONG WITH THIS PROGRAM ARE AN RT-11 COMMAND FILE TO GENERATE THE PROGRAM AS WELL AS 15 XMAS CAROLS. THE OUTPUT OF THE DAC SHOULD BE FILTERED (NOT MANDITORY) AND THEN INPUT TO AN AMPLIFIER. EACH LINE IN THE SONG TABLE CONTAINS, IN ORDER, THE VALUE FOR THE DURATION OF THE NOTES, AND FOUR NUMBERS, ONE FOR EACH NOTE OF THE FOUR PART HARMONY. THE FOLLOWING IS A TABLE OF NOTES AND THE PROPER VALUE FOR THE SONG TABLE: A1$ = 4 B1 = 10 C1 = 14 C1$ = 20 D1 = 24 D1$ = 30 E1 = 34 F1 = 40 F1$ = 44 G1 = 50 G1$ = 54 A2 = 60 A2$ = 64 B2 = 70 C2 = 74 C2$ = 100 D2 = 104 D2$ = 110 E2 = 114 F2 = 120 F2$ = 124 G2 = 130 G2$ = 134 A3 = 140 A3$ = 144 B3 = 150 C3 = 154 ;MIDDLE C C3$ = 160 D3 = 164 D3$ = 170 E3 = 174 F3 = 200 F3$ = 204 G3 = 210 G3$ = 214 A4 = 220 ;A 440 A4$ = 224 B4 = 230 C4 = 234 C4$ = 240 D4 = 244 D4$ = 250 E4 = 254 F4 = 260 F4$ = 264 G4 = 270 G4$ = 274 A5 = 300 A5$ = 304 B5 = 310 C5 = 314 C5$ = 320 D5 = 324 FOR A MORE COMPLETE DESCRIPTION, SEE THE NOVEMER '77 ISSUE OF "BYTE". .RM 80 .lit PROGRAM ACL *********** SYSTEM ACTIVITY ACCOUNTING PROGRAM THE INFORMATION CAPTURING PROGRAM "..ACL." WAS ORIGINALLY WRITTEN BY DENNIS TING OF THE TORONTO DEC OFFICE. NOTES -- - ALL .MAC .FTN .TSK ETC. ASSOCIATED FILES RESIDE IN UIC [1,200]. THE ACCOUNTING OUTPUT IS ALWAYS DIRECTED TO A DISK FILE... SY0:[1,6]ACCLOG.SYS THE ACCOUNTING PROCESS AS EXPECTED WILL ACCESS THIS FILE FREQUENTLY IN AN APPEND MODE. THE PROGRAM IS SET UP TO FIRST OPEN A NEW ACCLOG.SYS FILE, EACH ENTRY IS FORCED TO THE DISK AT THE TIME OF THE EVENT (TASK TERMINATION, SYSTEM USAGE REPORT). THIS WAY IF THE SYSTEM CRASHES, ONLY THE DATA ASSOCIATED WITH THE TASKS ACTIVE AT THE TIME OF THE CRASH WILL BE LOST. THE PROGRAM IS SUPPOSED TO BE CLEVER ENOUGH NOT TO HAVE TO RE-READ THE DISK FILE FOR EACH ENTRY, JUST WRITE NEW APPENDED DATA TO THE "DISK" BLOCK HELD IN MEMORY. - EVERY TASK TERMINATION GENERATES AN ENTRY TO THE ACCLOG.SYS FILE. THIS INCLUDES ALL SYSTEM TASKS AS WELL AS USER TASKS EG. MCR, SYS, SHF, ETC. OUR SYSTEM, AN 11/45 WITH.. 2 X RP04, 2 X TU10, DH11 AND 7 TERMINALS. THE INFORMATION CAPTURING PROGRAM "..ACL." AND IT'S SHUTDOWN PROGRAM "ACF" ARE WRITTEN IN MACRO. ALL OF THE ADDITIONAL PROGRAMS FOR REPORTING ETC. ARE WRITTEN IN FORTRAN IV-PLUS. ABOUT 500 TO 1500 BLOCKS OF ACCOUNTING INFORMATION ARE GEN- ERATED DURING A NORMAL 24 HOUR DAY. MOST OF THIS SPACE IS OCCUPIED BY ENTRIES FOR ...SHF. THE ..ACL. PROGRAM GENERATES A SYSTEM USAGE ENTRY INTO THE FILE ACCLOG.SYS EVERY 1/2 HOUR INDICATING BASICALLY THE AMOUNT OF TIME SPENT IN USER,SYSTEM AND IDLE STATES. BECAUSE OF THE BULK OF DATA BEING ACCUMULATED, WE DECIDED THAT WE WOULD PERIODICALLY DO A "COMPRESS" OF THE ACCLOG.SYS FILE. IN EFFECT, WHAT IS DONE, ON A HALF HOURLY BASIS, UNDER EACH UIC, FOR EACH TASK, WE SUM ALL THE ACTIVITY AND OUTPUT A SINGLE RECORD TO A TASK FILE CALLED... [1,6]MMDDHH.PAC MM = 2 DIGIT MONTH, DD = 2 DIGIT DAY, HH = 2 DIGIT HOUR. THE SYSTEM ACTIVITY DATA IS OUTPUT TO A SEPARATE FILE CALLED... [1,6]MMDDHH.KAC -- KERNAL ACTIVITY. - PROGRAM ..ACL. "HOOKS" INTO VARIOUS PARTS OF THE OPERATING SYSTEM AND THEREFORE IF ABORTED, WILL CRASH THE SYSTEM. A VERY SMALL PROGRAM ...ACF CAN BE INVOKED TO SHUT DOWN THE ACL PROGRAM PEACEFULLY, IT FLAGS ..ACL. THAT IT IS TIME TO GO AND ACL SHUTS ITSELF DOWN. TWO VERSIONS OF ..ACL. EXIST, THEY ARE FOR USE WITH RSX11M V3.0 AND V3.1 (CALLED ACL18 & ACL22). THESE ROUTINES WILL HAVE TO BE MODIFIED (IF POSSIBLE) FOR USE WITH V3.2 AND M-PLUS. THE SUPPORT PROGRAMS WILL NOT REQUIRE MODIFICATION. - A FORTRAN-V-PLUS PROGRAM CALLED ...CPR IS USED TO COMPRESS OUTPUT OF THE PROGRAM ..ACL. OUTPUT. THIS TASK SHOULD BE INSTALLED AND SCHEDUALED TO RUN EVERY 6 OR 12 HOURS. (MORE FREQUENTLY IF LIMITED DISK SPACE IS AVAILABLE). THE PROGRAM ...CPR SEQUENCE OF EVENTS FOLLOW... - SHUT OFF PROGRAM ..ACL. BY INVOKING PROGRAM ..ACF - OPEN FILE [1,6]ACCLOG.SYS;(LATEST VERSION) WITH A DISPOSITION OF DELETE ON EXIT. - RE-INITIATE PROGRAM ..ACL. - READ THROUGH THE ACCLOG.SYS FILE COPYING THE PROGRAM DATA TO A SCRATCH RANDOM ACCESS DATA FILE. ALSO, OUTPUTTING ANY KERNAL ACTIVITY TO THE MMDDHH.KAC FILE. - ASSEMBLE THE DATA FROM THE SCRATCH FILE OUTPUTTING TO FILE MMDDHH.PAC IN AN ORDERLY COMPRESSED FORM. - EXITING (AT WHICH TIME THE ACCLOG.SYS FILE IS DELETED). - ANOTHER PROGRAM CALLED ACLSUM (ALSO FORTRAN) WILL SIMPLY PRINT OUT THE DATA CONTAINED IN THE ACCLOG.SYS FILE. - IN OUR STARTUP COMMAND FILE, WE HAVE -- >INS [1,200]ACF >INS [1,200]ACL22 >INS [1,200]CPR >SET /UIC=[1,6] >RUN ..ACL. >RUN ...CPR 6H/RSI=6H THIS INITIATES THE ACCOUNTING PROCESS AT STARTUP TIME AND SCHEDUALS A COMPRESSION OF THE ACCOUNTING DATA EVERY SIX HOURS. - PROGRAM ...CPR MAY BE ACTIVATED 3 WAYS... 1) >CPR THIS IS THE NORMAL RUN WHERE ACF IS INITIATED ACL DIES, THE ACCOUNTING FILE IS OPENED, ACL IS RE-STARTED AND THE COMPRESSION TAKES PLACE. 2) >CPR END THIS COMMAND IS IN OUR SHUTUP.CMD FILE AS FOLLOWS, >SET /UIC=[1,6] >CPR END THIS IS THE SAME AS 1) EXCEPT THAT ..ACL. IS NOT RE-STARTED. 3) >CPR ACCLOG.SYS;4 THIS WILL COMPRESS FILE ACCLOG.SYS;4. IT WILL NOT AFFECT THE CURRENT OPERATION OF PROGRAM ..ACL. IN ANY WAY. ITS NORMAL USAGE IS FOR COMPRESSING ACLLOG.SYS FILES THAT WERE OPEN DURING A SYSTEM CRASH (AFTER UNLOCKING THEM). - PERIODICALLY AND ESPECIALLY AT THE END OF EACH MONTH, THE ".KAC" AND ".PAC" FILES SHOULD BE APPENDED TO A MONTHLY ACCUMULATION FILE USING PIP. >PIP KERN##YY.ACL/AP=MMDDHH.KAC >PIP PROG##YY.ACL/AP=MMDDHH.PAC ** THIS MUST BE DONE IN CRONALOGICAL ORDER, ## IS A 2 DIGIT NUMBER REPRESENTING THE MONTH. YY IS A 2 DIGIT YEAR. - NO TERMINAL USAGE IE LOGON AND LOGOFF IS ACCOUNTED FOR. - ANOTHER QUICKIE PROGRAM CALLED ...SRP WILL GENERATED A PRINTER GRAPH FROM THE KERN##YY.ACL FILE. - PROGRAM ..ACL. CURRENTLY WILL USE UP 32 WORDS (I THINK) OF DSR FOR EACH TASK THAT IS ACTIVE UP TO A MAXIMUM OF 24 TASKS. - ALL TIMES IN THE ACCOUNTING FILE DATA ARE IN TICKS EXCEPT FOR THE HHMMSS IN THE 1/2 HOUR KERNAL DATA. ALL DEVICE ACTIVITY IS IN TERMS OF COUNT OF QIO CALLS. - THE COMPRESSION PROGRAM REDUCES THE TASK NAMES TO 3 CHARACTERS. THE ONLY EXCEPTION TO THIS IS WHEN A TASK IS NOT INSTALLED AND INVOKED USING >RUN PROG. THIS WILL BE INTERCEPTED BY ..ACL. AS PROGRAM TT##, IN THIS CASE, THE TASK NAME IS SIMPLY CHANGED TO TT . - LOOK AT PROGRAM ACCLOG TO DERIVE THE FORMAT OF THE ACLLOG.SYS DATA STRUCTURE. **** N O T E **** THERE SEEMS TO BE A VERY DEVIOUS BUG IN THE ACCOUNTING PAROGRAM. WHEN THE SYSTEM IS VERY HEAVILY IN USE, THE ACL PROGRAM WILL CRASH. WHEN THIS HAPPENS, A CHUNK OF POOL SPACE IS LOST AND CANNOT BE RECOVERED UNLESS WE REBOOT. A PROGRAM "MJP" HAS BEEN WRITTEN TO GENERATE A MONTHLY COSTING SUMMARY BY PROGRAM NAME WITHIN EACH UIC. IT HAS JUST RECENTLY BEEN WRITTEN. THERE DOESN'T SEEM TO BE ANY BAD BUGS BUT, THERE ARE SOME DOUBTS AS TO WHETHER THE PROGRAM DISTRIBUTES COSTS CORRECTLY. IN OUR CASE, ALL "PROJECTS" ARE ASSOCIATED WITH UIC'S > GROUP #10, THEREFORE, ANY ACTIVITY WITHIN GROUPS 1 THROUGH 7 ARE ASUMED TO BE OVERHEAD AND THESE COSTS ARE DISTRIBUTED TO EACH UIC'S COST BY BASIS OF EACH LEVEL OF ACTIVITY. FEB. - 1980 RAY WHITTON QUESTOR SURVEYS LTD., 755-1141 - FOR THE FORTRAN AND MACRO PROGRAMS, ALL TKB, F4P AND MAC ".CMD" FILES HAVE BEEN INCLUDED. GOOD LUCK [312,315] SPRING 1980 COLLECTION This collection includes a revision to DDT22 to fix some bugs in the Fall '79 version and the MSX operating system plus a couple of utilities. The DDT22 source, DDT22.MAC, should be assembled. All of the PDP11 address space may be accessed if the DDT has access to the I/O page, and tasks may be examined even where they are too big to include DDT by making DDT a separate task. Under IAS, you must set the PARs yourself to map the task; under RSX11M you may type a command to get DDT to find the mapping. In either, for this mode, you must ensure the task being examined or modified is not moved or checkpointed. As a normal debugger, DDT gives symbolic capabilities in addition to everything ODT can do. MSX-11 is a distributed operating system for coupled PDP11 processors (11/23 or above), or it may be an emulator of a network, running several copies of MSX under RSX11M (or IAS with reduced capabilities) with each copy acting as a virtual CPU. Each CPU is multiprogrammed and the tasks running under MSX work alike in emulation or under the real stand-alone MSX (with a few exceptions in interrupt simulation which will normally be used only by operating system emulators running under MSX, and a few mapping differences). Full sources are provided, and MSX is typically built with DDT (and the stand alone version uses DDT as a system debugger). A couple of utilities are here. DSKFIX is a disk block patcher. RCONEW is a version of Ray French's locked-file recovery program. FLDMOV allows you to move a field of any number of bits from any location (starting at any bit counting from the left in any word) to any other location. It is FORTRAN callable and useful where data is to be packed or unpacked. A revised version of RSX FOCAL is included also, to provide minor corrections to the version from San Francisco, 1978. VDDRV, VDPRV, and VDKDRV are virtual disk drivers for IAS or RSX11D. VDDRV allows encrypted virtual volumes; VDKDRV may be built to simply allow virtual unencrypted disks (it is a subset of VDDRV but does not ask for cipher keys whenever loaded.) The files need not be contiguous, and do NOT install tasks on a virtual disk. Other than that, the virtual disk will allow unmodified software to use encrypted data bases by reassigning its LUNs, and provide a measure of data security unavailable under straight FILES-11. [357,1]README.DOC is a description of files submitted by: PDP-11 Seaboard LUG c/o Donald Arrowsmith Naval Air Propulsion Center Box 7176 Trenton, N.J. 08628 609-882-1414 x439 [357,12] Contains updated modules for DISOBJ in the same UIC on the Fall '79 tape. These are mostly fixes to problems with .BYTE and .PSECT output. DISOBJ is a reverse assembler which will take any object file and produce a "MACRO" style listing. [357,13] Contains a potpourri of RSX-11M V3.2 modifications. Also included is a privileged task to change the "Align- ment Disc" flag on an RK07 pack which will protect it from destruction by all field service diagnostics, INI, BRU, FMT, DSC, and BAD. It won't protect from IOX or the RK07 UMD (I have SPR'ed the fact that they will write to an alignment pack). It is written only for DM0: but could be general- ized for any last-track disc (RK06, RL01/2, RM03, RP07). It uses the ERRPKG from the Spring '79 tape (see [357,16] below). GETTT is a program to print terminal characteristics for any terminal on RSX-11M V3.2 or IAS V3.0. it is written in Fortran IV Plus. DKTAB is a macro task which adds the proper table entries for DK3: to a system which was sysgen'ed for only DK0: thru DK2:. It is given to show how a system may be modified without doing a new sysgen. P4MAL.PAT is a TKB patch to eliminate all lun blocks from the task image if UNITS=0. For loadable drivers, common blocks, DECNET processes, and non-I/O tasks, this will save 1 block per task. On small systems this adds up! The only problem I've seen is that VMR and SAV can't handle RSX11M.SYS in this state. The cure for this problem is to add a UNITS=1 line to RSXBLD.CMD. I've had no trouble with MCR/VMR INStall and LOAd. [357,14] Contains an updated module from the same UIC on the Fall '79 tape. This fixes a problem with the number of days per month. This contained some tasks to use the Digital Pathways clock model TCU-150 (which was incorrectly identi- fied as model TCU-130). [357,16] Contains SLP patch to POOLFL in UIC [301,31] on the Fall '79 tape. This fixes a bug where the null task was not identified and also updates for V3.2. Additional pool blocks are identified. (Many but not all of these additions have been checked.) Also two SLP patch files to Stammerjohn's ERRPKG from UIC [346,100] on the Spring '79 tape. One fixes a bug with lo- ading the routines above 16K. The other adds exit with status for fatal errors. THE FOLLOWING TWO PROGRAMS ARE SUBMITTED BY: HARRY ATHERTON UNIVERSITY OF CINCINNATI MEDICAL CENTER DEPARTMENT OF PEDIATRICS, ROOM 6253 231 BETHESDA AVE. CINCINNATI, OHIO 45267 PHONE (513) 872-5341 THE FILES IN [364,20] CONTAIN SEMAPHORE DIRECTIVES FOR THE RSX11-M EXECUTIVE. THESE DIRECTIVES ARE USEFUL FOR SOLVING PROBLEMS OF CONCURRENT ACCESS OF MULTIPLE TASKS TO DATA STRUCTURES (OR ANYTHING ELSE). A DESCRIPTION OF THE DIRECTIVES AND INFORMATION FOR ADDING THEM DURING A SYSGEN ARE GIVEN IN SEMINFO.RNO. INFORMATION ON SEMAPHORES IS GIVEN IN THE PAPER "IMPLEMENTATION AND APPLICATION OF SEMAPHORES IN RSX-11M" PRESENTED AT THE FALL 1979 DECUS. REPRINTS ARE AVAILABLE FROM THE ABOVE ADDRESS. THE CORRECTION FILES HAVE BEEN MODIFIED SINCE THIS PACKAGE APPEARED ON THE 1979 FALL DECUS TAPE. THE CORRECTION FILES NOW USE ASCII STRING LOCATORS FOR INSERTING LOGIC INTO THE EXECUTIVE MODULES. THIS ALLOWS THESE CORRECTION FILES TO BE APPLIED AFTER THE DEC SUPPLIED CORRECTIONS. [364,44] FAST FLX-TAPE READER (FFL) THIS PROGRAM WILL READ ALL FILES SPECIFIED FROM FLX-TAPE INTO THEIR CORRESPONDING DIRECTORY ON DISK IN ONE PASS THROUGH THE TAPE. THIS PROGRAM SHOULD MAKE COPYING ALL OR PARTS OF THIS TAPE TO DISK FASTER AND EASIER. A COMPLETE DESCRIPTION OF THE PROGRAM IS IN "FFL.RNO." A TASK IMAGE FOR A MAPPED SYSTEM IS INCLUDED ON THE TAPE. TO MAKE IT EXECUTABLE EITHER COPY IT WITH PIP TO MAKE IT CONTIGUOUS IF IT IS ALREADY ON DISK: PIP /NV/CO=FFL.TSK OR HAVE FLX ALLOCATE A CONTIGUOUS FILE: FLX SY:[your UIC]/CO/BL:33.=MT:[364,44]FFL.TSK THIS UIC CONTAINS KWIC INDICES FOR THE MULTI-TASKER AND SOME PATCHES TO THE VERSION OF SRD IN UIC [365,1] OF THE 1979 SAN DIEGO TAPE. THE KWC INDICES HAVE TWO PARTS, INPUT TO THE KWC PROGRAM IN UIC [340,20] OF THE SAN DIEGO '79 TAPE (.KWC) AND FORMATTED OUTPUT (.LST) THE .LST FILES SHOULD BE READ ONTO YOUR DISK WITH THE /FT FLX SWITCH. THE INDEX FOR 1979 WAS PRODUCED BY JIM LIVINGSTONE (MEASUREX CORP, CUPERTINO, CALIFIORNIA). THE ONE FOR 1980 INCLUDES ARTICLES UP TO MAY, THE PAGE NUMBERS IN THE MAY ISSUE HOWEVER ARE NOT THOSE IN THE FINAL COPY. THE SRD PATCHES ALLOW THE SRD TO WORK PROPERLY UNDER RSX-11M VERSION 3.2, THERE WERE SOME PROBLEMS IN THE USE OF THE EXTK$ DIRECTIVE. MIKE BLAKE-KNOX BELL-NORTHERN RESEARCH P.O. BOX 3511, STATION "C", OTTAWA, CANADA, K1Y 4H7 This is the SCLUG (Southern California Users' Group) (RSX) submission for the Chicago 1980 DECUS meeting. UIC [301,2] contains information about all programs our user group has submitted. LIB.DIR is a brief 2-line description of each program, and LIB.DOC is the complete description of the programs. The following is a brief descriptions of the programs submitted for this meeting: DIRECTORY DECUS SIG TAPE DESCRIPTION --------- -------------- ------------------------------------------------ DIRECTORY DECUS SIG TAPE DESCRIPTION --------- -------------- ------------------------------------------------ [301,031] CHICAGO 80 OPA - ONLINE POOL ANALYZER - UPDATE FROM 79 FOR RSX-11M 3.2 [301,032] CHICAGO 80 TSPAWN - TIMESHARING SPAWN FOR IAS 2.0 & 3.0 [301,033] CHICAGO 80 CPA - CRASH POOL ANALYZER FOR RSX-11M 3.2 Note that LIB.DIR and LIB.DOC now list which tape the program was last submitted on. [301,031] CHICAGO 80 OPA - ONLINE POOL ANALYZER - UPDATE FROM 79 FOR RSX-11M 3.2 Base level: Version JN3.26 Date: 13-APR-80 Patch level: None Date: Submitted by: Jim Neeland Hughes Research Labs 3011 Malibu Canyon Rd. Malibu, CA 90265 phone: (213) 456-6411 Description: Displays a visual map of the data structures in pool and their location, thus allowing system programmers/managers to determine why their pool is so fragmented, and hopefully then rectify the situation. This is a snapshot of a running system, not a crash dump tool. For a version supporting crash dumps, see CPA (Crash Pool Analyzer) in [301,33]. System reqts: Approx. 4K for the task when invoked, plus a fraction of a second on the system stack to collect all the data. Documentation: OPA.DOC describes the output format and some uses, and the source is well commented (I hope). Status: A possibly dangerous tool in the hands of fiddlers. This program is on the system stack for most of its code, and in some circumstances that time may have deleterious effects on your system. It has been made rather more rugged than the 3.1 version, in that it will catch its own odd address or memory protect violations and announce them in addition to what- ever information it had up to the point of the trap. This does not GUARANTEE that it could not corrupt the EXEC somehow, but is much less likely to. Desired enhancements: Code to allow command-line specification of a target output file or device. Code to find remaining data structures (described in OPA.DOC). A built-in /HElp switch to remind user of the symbols used for the different data structures. Note that any significant additions, such as FCS/CSI support will make the task significantly larger. At the moment it is felt that the online task should make as few demands on the system as possible, so that it can be used when memory/pool is in short supply. Support: The author welcomes comments & suggestions, but does not want complaints about possible system crashes, although will be interested in fixes to eliminate same. [301,32]TSPAWN IAS V2.0 AND V3.0 A FORTRAN-CALLABLE SUBROUTINE FOR USE ON FULL-TIMESHARING SYSTEMS. TAKES THE EXACT SYNTAX AS THE "CALL SPAWN" SYSTEM DIRECTIVE AND SPAWNS THE TASK VIA TIMESHARING CONTROL SERVICES (TCS) RATHER THAN AS A REAL-TIME TASK VIA THE EXECUTIVE. A "SPWN$T" MACRO DEFINITION IS SUPPLIED TO USE THE ROUTINE FROM MACRO PROGRAMS. FILES: [301,32]README.1ST - THIS TEXT. [301,32]TSPAWN.DOC - INFORMATION ABOUT THE ROUTINE [301,32]TSPAWN.MAC - MACRO SOURCE FOR THE ROUTINE [301,32]MCRISH.FTN - FORTRAN EXAMPLE OF USING THE ROUTINE (LIST TSPAWN.DOC AND TSPAWN.MAC FOR FULL DETAILS) WRITTEN BY: BOB FREEPARTNER HOST INTERNATIONAL, INC. P.O. BOX 1760 SANTA MONICA, CA 90406 (213)450-7566 [301,033] CHICAGO 80 CPA - CRASH POOL ANALYZER FOR RSX-11M 3.2 Base level: Version JN3.20 Date: 20-APR-80 Patch level: None Date: Submitted by: Jim Neeland Hughes Research Labs 3011 Malibu Canyon Rd. Malibu, CA 90265 phone: (213) 456-6411 NOTE: Substantial thanks go to Wayne Graves for updating the 3.1 version of OPA (nee POOLFL) to 3.2 and converting it to work on CDA files. This version is my attempt to get the 2 programs into agreement. Due to time constraints I haven't quite succeeded! Description: Displays a visual map of the data structures in the pool which existed at the time a CDA dump was taken. This is a companion program to that in [301,31], the Online Pool Analyzer. The code is similar, but here there is rather more checking, on the grounds that pool and other internal data structures are not so likely to be valid. Use of a hard-copy output and the version linked to ODT will give one a powerful tool to poke through the crash. System reqts: Approx. 24K for the task if linked to FCSRES. Note that this task is not as clever as CDA, and needs to be taskbuilt with the RSX11M.STB file which goes with the crashed system. It is not, however, a privileged task. Documentation: [301,31]OPA.DOC describes the output format, and the source is well commented (I hope). Status: This version is not quite up to that of OPA, in that it doesn't handle the two-interrupt control block situation as well, and does not track down active I/O packets. It should be a minor job to copy the code from OPA, but I've just run out of time! Desired enhancements: Code to find remaining data structures (described in OPA.DOC). Implementation of the /HElp switch to explain the symbols used. Support: The author welcomes comments & suggestions, including decoding by others of further data structures or corrections to existing code. SUMMARY OF THE MICHAEL REESE MEDICAL CENTER SUBMISSION TO THE SPRING 80 DECUS MEETING F. BORGER, MICHAEL REESE MEDICAL CENTER CHICAGO, IL 60616, (312) 791-2515 [300,23] DISOBJ .OBJ DISASSEMBLER MODULE SANS CALL TO OLDER FORTRAN SUB DOBASX .CMD NEW TRAP HANDLER MODULE FOR DOB THAT WORKS FOR TRPHDM .MAC RSX11M MODULES (NO SPECIAL MO FUNCTION CALLS) [300,62] ABSZAP .CMD;2 ONE-LINER ABSOLUTE CORE PATCH PROGRAM ABSZAP .MAC;5 ATT .CMD;4 LISTS ATTRIBUTES OF FILE ATT .MAC;1 CORZAP .CMD;4 ONE-LINER SCOM PATCH PROGRAM CORZAP .MAC;1 DSKFIX .CMD;16 DISK ABSOLUTE BLOCK EXAMINATION/PATCHING PROGRAM DSKFIX .MAC;50 DSKFIX .MAN;10 FHD .CMD;6 PROGRAM TO LIST FILE HEADER (INDEX FILE) FOR ANY FILE FHD .MAC;106 LUT .CMD;6 LIST L(OGICAL) U(NIT) T(ABLE) OF RUNNING TASK LUT .MAC;70 PAG .CMD;3 PRODUCE PAGEINATED LISTINGS OF SOURCE FILES PAG .MAC;15 [300,200] INFORM PACKAGE, AN ENHANCEMENT/ADDITION TO DEC'S SYS PROGRAM INF .MAC;26 BASIC INFORM PACKAGE INF .ODL24 PART OF INF(ORM) PACKAGE INF .RNO;42 PART OF INF(ORM) PACKAGE INFACT .MAC;50 PART OF INF(ORM) PACKAGE EXPANDED ATL LIST INFATL .MAC;35 PART OF INF(ORM) PACKAGE LIST ONE TASK'S ATL INFCKQ .MAC;27 PART OF INF(ORM) PACKAGE LIST THE CLOCK QUE INFFRM .MAC;6 PART OF INF(ORM) PACKAGE LIST DEVICES WITH NON-0 FORMS INFIOR .MAC;22 PART OF INF(ORM) PACKAGE LIST A TASKS IO REQUESTS INFMAC .CMD;12 PART OF INF(ORM) PACKAGE INFMAM .MAC;20 PART OF INF(ORM) PACKAGE INFNOD .MAC;60 PART OF INF(ORM) PACKAGE LIST TASK NODE USAGE INFPLT .MAC;25 PART OF INF(ORM) PACKAGE INFPRT .MAC;20 PART OF INF(ORM) PACKAGE INFPTN .MAC;46 PART OF INF(ORM) PACKAGE SHOW PARTITION USEAGE INFPUD .MAC;27 PART OF INF(ORM) PACKAGE LIST A DEVICE'S PUD INFSTD .MAC;26 PART OF INF(ORM) PACKAGE LST A TASK'S STD INFTER .MAC;14 PART OF INF(ORM) PACKAGE LIST TERMINAL ATTRIBUTES INFTKB .CMD;17 PART OF INF(ORM) PACKAGE [300,201] UTX .MAC TASK TO DISPLAY USER TASK LIST AND SEPERATE LEVELS UTX .CMD (INCLUDES A BUG FIX TO EARLIER VERSION) [300,203] XX .MAC;22 A SKELETON HANDLER FOR IAS XXLIST .MAC;17 A DUMMY HANDLER THAT RETURNS STATUS OF IO.SUC FOR ALL REQUESTS BUT LISTS IO REQ NODE AT TI: USEFUL FOR SEEING WHAT A TER IO REQUEST IS LIKE, ETC CHICAGO, SPRING 1980 - RSX/IAS SIG TAPE THE FOLLOWING ARE CONTRIBUTIONS FROM: A.R.A.P. BOX 2229 PRINCETON, NJ 08540 CONTACT: JOHN LEONARD (609) 452-2950 SYSTEM: IAS VS3.0, 11/70, RP06 BASED [360,1] - README.1ST [360,200] - ARAP.OLB, NEEDED FOR ALL FOLLOWING SOFTWARE SOURCE FILES ARE ONES ADDED TO THIS VERSION OF ARAP.OLB. REFER TO PREVIOUS 2 SIG TAPES FOR OTHER SOURCES. [360,215] - DSM - DISK STORAGE MONITOR DSM, NOT (NOTICE), AND A PDS PATCH SET UP A SYSTEM TO SET DISK ALLOCATION LIMITS, CHECK THE LIMITS AUTOMATICALLY, AND ENFORCE THE LIMITS BY WAY OF LOGIN MESSAGES, PURGING FILES AND FINALLY, REVOKING PRIVILEGES. DSM IS ABLE TO MAINTAIN A REQUIRED LEVEL OF FREE DISK SPACE WITHOUT CONSTANT SYSTEM MANAGER AGGRAVATION, ONCE THE ALLOCATION SPECS ARE DETERMINED. SEE DSM.RNO/DSM.DOC AND MEMO8A AND 8B. [360,216] - QX - EXTENDED QUEUE LISTING FEATURES QX GIVES MORE DETAILED INFORMATION OF PRINT QUEUES. SPECIFICALLY, CONCATENATED FILE QUEUE, LISTING OF FILES SET PRINT DEFERRED AND PRINT TIME OF EACH FILE. QXBLD.CMD WILL COMPILE AND LINK QX.TSK. REFER TO QX.DOC FOR EXAMPLES AND SWITCHES. [360,217] - KPS - KEYPUNCH SIMULATOR THE PURPOSE OF THIS PROGRAM IS TO SIMULATE THE FUNCTIONS OF THE KEYPUNCH USING A TERMINAL. KPS IS A VERY SIMPLE EDITOR WITH THE ADDED SPECIAL FUNCTIONS OF KEYPUNCHES. THESE FUNCTIONS INCLUDE THE USE OF 'PROGRAM CARDS' AND A 'DUP' KEY, ALLOWING INPUT OF A FIXED FIELD NATURE WHERE KEYPUNCH FUNCTIONS MAKE THE TYPING TASK EASIER. SEE KPS.RNO/DOC. KPSBLD.CMD BUILDS KPS AND KPSRCV, A RECOVERY TASK TO RECLAIM THE EDIT IF A CRASH OCCURS MID-EDIT. ******* EDITORS NOTE ********* **** **** **** The following material was submitted in San Diego fall 1979. **** It is being published here because there was not enough room **** for it on the San Diego tape. **** ********************************* The following is a description of files contributed by: AERONAUTICAL RESEARCH ASSOCIATES of PRINCETON (A.R.A.P.) Box 2229, 50 Washington Road Princeton, N.J. 08540 (609) 452-2950 Any inquiries should be directed to John D. (Len) Leonard. A.R.A.P. configuration 11/70, 320kw, TU16, 3 RP06's FORTRAN IV-PLUS is the default compiler (FOR) and all .FTN files are F4P code and should be compiled as such. Currently running IAS VS 3.0 All of the following files are on [360,*]. Note that ARAP.OLB is needed for most all task builds. [360,200]ARAP - Contains ARAP.OLB and associated source for routines contained in ARAP.OLB. These routines are of general interest. ARAP.FTN is a conca- tenated source file of all .FTN modules. This copy of ARAP.OLB supercedes the copy on the New Orleans SIG tape. Program Abstracts -2- [360,240]GETCPU- GETCPU is a FORTRAN callable function which re- turns a timesharing tasks accumulated CPU time in ticks. See GETCPU.BLD and GETCPU.DOC. RSD1.MAC supercedes RSD1I.FTN from the New Orle- ans SIG tape. [360,245]SPY - SPY dynamically graphically displays timeshar- ing task's CPU utilization on a terminal basis. It is written in the spirit of DEMO and the dis- plays available on VAX. Refer to SPY.DOC for full documentation, SPYBLD.DOC and SPYBLD.CMD for task build options. KMSKIT V3.2 UPDATE #1 The files on [344,*] are updates and additions to the KMSKIT supplied on [344,*] of the Fall 1979 RSX SIG tape. Some programs are additions, utilities, reports and the like. Some represent bug fixes to the programs previously distributed. To date very few significant bugs have been reported. [344,1] Fix to bug in FCSRES command file. How to build privileged tasks with an ANSI FCSRES. Two possible working versions of an ANSI FCS resident library. [344,24] ODL's which should be suitable for building FMS11 utilities with FCSRES. Note these were created during a field test and may need a minor modification or two. A replacement ODL for QMG. The ODL on the Fall 1979 tape was for BL25 and would not correctly build with the BL26 version. [344,40] Correct error introduced into Install parcing by last SLP file. Correct DEC bug on RUN parsing which causes crashes if command line too long(only needed if INS /PRM="xyz" patch is in use). [344,43] New improved utility tasks GREP and LIST. Updated SRD module. Tasks to control a Digital TCU150. Task to clear deadwood out of GEN. An updated version of RMC(minor bug fix). [344,44] Clean up outstanding I/O before exit(bug fix). This is the old RMDEMO modified to have the functionality of the newer but bigger RMDEMO. Try it. Much less overhead. [344,45] Minor bug fixes to BATCH [344,50] How to build a BP2 task super fast.(flat out even!). [344,60] Angle Li at the University of Miami took the time to clean up the origional CCL code(hand coded form F4P). It now reads like a normal, readable MACRO-11 program. He also commented it so one can keep track of the program flow. Conditionals are inserted so one can assemble CCL not to include the DCL like PIP commands or the entire set of built in commands. Angle Li deserves the communities heartfelt thanks. To simplify the use of CCL on systems where user's sometimes reassign LB: so as to do a sysgen on a seperate disk, the location CCL expects to find SYSCCL.CCL has been moved to LB1: which must be globally assigned to a physical disk. [344,65] A spooler usage report and an updated CPU usage reporte for the KMS SYSTEM ACCOUNTING package. Also three object modules which will enable a user to spool to a terminal which also one can log on and off of. An incorrect ODL file for QMGCLI was included on the FALL DECUS 1979 RSX SIG tape. Actually, the file corresponded to the BL25 version of QMGCLI. The inclosed file will build QMG correctly. A word about building privileged tasks with FCSRES. The ODL files on [344,20] and [344,24] will build all DEC task, privileged and unprivileged if one has a 16 K Exec. Systems with a 20 K exec can not build all of the privileged tasks with FCSRES. It is a restriction of the 3.2 taskbuilder that privileged tasks are built with APR 7 pointing off into the external page, even if the task never needs to access the device registers. It is rummered that wizards have been able to circumvent this restriction (try asking Dan Steinberg at SRI) but to date I do not know how to do this in a reliable, and easily explained manner. Included are command files and ODL files which will build the field test versions of the FMS11 utilities and the KED and K52 key pad editors. Utilities DIGITAL PATHWAY'S TCU-150 CONTROL Programs to control a Digital Pathway's TCU150 are provided using TIMSET and SETTIM. Particularly note that the system time is set very simply. The TCU150 registers are read and time is formatted into a command line and then spawned to MCR as a TIME command. Sure beats switching to system state and playing the same games MCR does to set the time. IMPROVED LIST AND GREP A slightly improved LIST utility is provided and GREP is improved to use big buffering. The big buffer size chosen improves the overall processing speed by a factor of around 2 or more with a very small increase in task size. The version of GREP supplied is based on the version of GREP supplied on the FALL 1979 DECUS RSX SIG tape(supplied by Ray French). The version on the Fall tape wouldn't run under RSX11M. It turns out that IAS and RSX save and restore different registers when the call to $CBDMG is made. I would be nice if RSX and IAS could at least use identical SYSLIB routines!!. None the less, once that bug was fixed, several minor enhancements were made such that the output file would go to the correct place. To see exactly what was done, read the audit trail. PUSH - FREE UP CONTIGUOUS SPACE IN GEN A program called PUSH is supplied. Its primary function is to be as close to 64 K in size as possible. On a small 11M system, tasks like RMDEMO, POOL, QMG, and LPP0 invariably sit right smack in the middle of GEN. If the system has the extend task directive, often one sees MAC or TKB increasing in task size one increment at a time until it runs into one of the stopped tasks sitting in the middle of GEN, it then has to be checkpointed out of core and comes back in to core on the other side of the stopped task. This slows system throughput slightly. Push is designed to be so large as to force any tasks stopped in the middle of GEN to checkpointed out of core(make lots of contiguous space in GEN). It requires a Fortran which supports virtual arrays. However, if someone needs PUSH but does not have virtual arrays PUSHOLD should do about the same thing. One warning, if you have a small system, and have a non-checkpointable task stopped in the middle of GEN, DON'T use PUSH. It can never get into core, so you can't abort it. Use it when your system is semi quiescent. SRD A modification to the SRD on [300,57] of the Fall 1979 RSX SIG tape is supplied. As supplied the command SRD XYZ would no longer list all files starting with XYZ the way the old version would. The modified version of SRDINI.MAC enables the new SRD to behave identically with the previous version and retain all the new features. RMC It turns out there was a minor bug in RMC. Terminal numbers >7 were treated as decimal rather than octal. Very confusing for users. This bug is fixed, and a minor cleanup was done to make the program flow a bit more clearly. Unneeded field test code left over from BL25 is now removed. James G. Downward KMS FUSION, Inc. P.O. Box 1567 Ann Arbor, Mich. 48106 14-APR-80 The files on this UIC are to enable the user to implementthe techniques discussed in the Spring '80 DECUS paper on BP2 taskbuild optimization. Included are prototype command files to assemble and build a BP2 task, command files to create the object modules required for the fast tailored ODL's or building tasks flat out, and the SLP files required for installing resident libraries "on the fly" into GEN. TST.B2S Simple BP2 program used for timeing taskbuilds USERCCL.CCL CCL file useful for BP2 work BP2.CMD CMD file to assemble and build a BP2 task BP2IC0.CMD CMD file to create BP2IC0.OBJ(build flat out) BP2IC1.CMD CMD file to create BP2IC1.OBJ(build flat out) BP2IC2.CMD CMD file to create BP2IC2.OBJ(build flat out) DECUS.CMD CMD file to assemble and build with fast ODL's FSTFIL.CMD Creates "fast" file concatinated OBJ FSTFILRES.CMD Creates "fast" file concat. OBJ(uses RMSRLS) FSTREC.CMD Creates "fast" record I/O OBJ FSTRECRES.CMD Creates "fast" record I/O OBJ(uses RMSRLS) FSTROT.CMD Creates "fast" root OBJ FSTROTRES.CMD Creates "fast" root OBJ(uses RMSRLS) TIMETST.CMD Test taskbuild times for various TKB sizes DECUS.ODL Fastest possible ODL for SEQ I/O(no reslib) FSTRMSRLS.ODL Fast ODL(SEQ or REL) with reslib support FSTRMS11S.ODL Fast ODL(SEQ or REL) no reslib support BP2SLIDE.RNO Slides for DECUS talk FASTBP2.RNO The DECUS talk itself SETOV.SLP SLP files to allow installing resident SETOVFDT.SLP libraries "on the fly" by using the SET /TOP SPROV.SLP command to lower gen and create a transient SPROVFDT.SLP resident library partition. The SLP files for the SET /TOP command are similar to but not identical with the SLP files on the Fall 1979 RSX SIG TAPE. All modifications not relating to the SET /TOP command have been removed from these files. These correction files may be applied to SETOV and SPROV and SYS rebuilt to include only the SET /TOP modification. Of course then you don't have all the other good stuff, but..... Update to CCL This version of CCL primarily due to the work of Angle Li at the University of Miami. He took the time to edit it 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. In addition, the %A parameter has been added. If a %A is encountered, no parameter parsing and substitution is done, rather the command line in its entireity is spawned to MCR. Very convenient. To simplify use of CCL for user's(like myself) who often assing a local LB:(to do a sysgen). The location of SYSCCL.CCL has been moved to LB1: To use CCL, please do a global assign of LB1: to a physical disk either in VMR or in STARTUP.CMD. At present only three reports are provided with the KMS Fusion accounting package. The reports are ACCLOG, CPUREP, and SPLREP. The reports are included primarily as a tutorial to aid users of the accounting system in designing their own reports. At this time a general reporting facility is not planned, at least until sufficient user feedback on what is needed is accumulated. CPUREP is an updated version of the report on the FALL 1979 tape on this UIC. It fixes a few bugs and provides for optional spooling of output. It provides an overview of system activity at each sample interval. It is useful in locating periods of contention and in providing management with hard numbers when the adequacy of one's present system is being discussed. SPLREP is a simple minded report to keep track of where all that printer paper goes to. I am not particularly interested in charging individual users for the paper. It is, however, useful to know how fast paper is being used(when to reorder, how much to stock) and which projects are using it. The one report we need but have not yet written is a report providing profiling of terminal usage. If anyone has thrown such a beast together it would save me the trouble of 'byting' the bullet and writing it. PRINT SPOOLER The new print spooler will lock out a terminal specified to be a spooled device. This is because the terminal is attached by QMG when the command QMG ddn:/SPOOL is given. For some applications it is desireable to be able to use terminal for other things besides spooling. Three object modules are supplied which will enable the following to occur(the SLP files provide documentation as to what was done). QMGASS(in QMGCLI) no longer attaches the terminal. Right before the print job starts(LPP), JOBSTR attaches the terminal. When the job ends, JOBEND detaches the terminal. The three object modules can be replaced in their respective object module libraries and QMGCLI and LPP can be rebuilt. Note that a terminal can be assigned to be a spooled device only if it is not logged on. All the new modules do is allow the terminal to remain undetatched untill a print job starts. Hence the terminal may be initially set to be spooled. After that it may be logged on and off. However if the Queue manager has to be stopped it will be necessary to log off the terminal before setting it to be spooled again. These object modules do not support KMS accounting, ie no information on pages spooled is sent to LOGTSK by JOBEND. It is believed that these object modules will work in the manner stated since we have been using one version of them with no problems for some time. Jim Downward KMS Fusion, Inc. P.O. Box 1567 Ann Arbor, Mich. 48106 These are the RUNOFF files which went into giving the SYSTEM TUNING Workshop and the Poster Paper on KMS accounting. Complete manuals describing the various KMSKIT features are on the Fall 1979 RSX SIG tape. This area contains two submissions. The first is a loadable XDT. The command file XDTGEN builds the task ...XDT. This task can be used to load and unload XDT into a partition. No special system generation is required. The second submission is a manual on ACP's and example ACP software. The sample ACP software is built using the command file ACPGEN. The file ACPMAN.DOC is the printable version of the manual. The RUNOFF sources are also suppiled. Ralph Stamerjohn **** SUMMARY OF CHANGES FOR VERSION 20-21 OF RSX RATFOR: (APRIL 80) NOTE: RESTRICTION FOR VERSION 21: FUNCTION SUBROUTINE NAMES MUST NOT BE DEFINED AS SYMBOLIC CONSTANTS IF THE RETURN(EXPRESSION) FEATURE IS USED. I.E.: DEFINE(FOO=MODX); FUNCTION FOO (); RETURN(I) IS ILLEGAL. BUGS FIXED: PCN 81: STRGET- CHANGE STR(MAX) TO STR(DUMMYSIZE)TO AVOID SUBSCRIPT ERROR. PCN 83: PUTLIN- DELETE CALL TO 'ERROR' TO PREVENT LOOPING. PCN 84: ADDDEF- CNAGE LASTP>2 TO LASTP>=2 SO BINARY SEARCH WORKS FOR 2 SYMBOLS. DEFLST- SUPPRESS SYMBOL LISTING UNLESS THERE IS SOMETHING TO LIST. V21: PCN 95: OPENI- FIX STATEMENT THAT F4P CAN'T GET TO INDEX- FIX USE OF DO LOOP VARIABLE WITHIN LOOP F4P DIDN'T LIKE. PCN 99: ICSI- CONVERT COMMAND LINE TO UPPER CASE. CHANGES,FEATURES: PCN 87: SINGLE QUOTED (APOSTROPHE) STRINGS ARE PASSED TO THE FORTRAN UNMODIFIED. DIRECT ACCESS READ/WRITE STATEMENTS MUST USE 2 SUCCESSIVE APOSTROPHES. (ONE IS PASSED TO THE FORTRAN). PROCESSING OF DOUBLE QUOTED STRINGS IS NOT CHANGED. PCN 87: > ARE ALLOWED FOR .LE. AND .GT.; < AND > IS UNCHANGED. PCN 82: THE PRE-PROCESSOR USES OPEN/CLOSE STATEMENTS EXCLUSIVELY IF SYMBOL OPENCLOSE IS DEFINED. ASSIGN/FDBSET ARE USED ONLY IF OPENCLOSE IS NOT DEFINED. THE OPEN STATEMENTS SPECIFY 'LIST' CARRIAGE CONTROL TO CORRECT THE OUTPUT FILES FOR PIP. FORTRAN IV V2.2 CURRENTLY HAS A BUG (FEATURE?) WHICH CAUSES ODD ADDRESS TRAPS ON ALL ERR= TRANSFERS OUT OF THE OPEN STATEMENT EXCEPT FOR "NO SUCH FILE". PCN 85: THE PRE-PROCESSOR IS NOW OVERLAID WITH ONE OVERLAY FOR ALL FORTRAN CODE GENERATION AND ONE FOR ALL UTILITY STUFF. THIS AND OTHER CHANGES SAVES ABOUT 6KW. PCN 89: SEVERAL STRLIB ROUTINES HAVE BEEN SPEEDED UP GREATLY. OVERALL, THE PRE-PROCESSOR IS ABOUT 10% FASTER. PCN 90: THE DAY OF THE WEEK APPEARS ON THE TOP OF THE LISTING. PCN 91: YOU CAN NOW SPECIFY (AS SYMBOL DEFAULTUIC) A DEFAULT DEVICE/UIC FOR INCLUDE FILES. IF THE INCLUDE DOES NOT SPECIFY A DEVICE OR UIC AND THE FILE IS NOT FOUND, THE DEFAULTUIC STRING IS PREFIXED AND ANOTHER TRY TO FIND THE FILE IS MADE. PCN 92: RETURN (EXPRESSION) HAS BEEN ADDED TO MAKE IT CLEAR WHAT VALUE FUNCTION SUBPROGRAMS ARE RETURNING WITH. PCN 93: CONSIDERABLE CLEAN UP OF THE KEYWORD RECOGNIZING/PARSING ROUTINES WAS DONE. 'GETTOK' WAS ELIMINATED AND ALL KEYWORDS ARE HANDLED BY 'PARSE' AND 'LEX'. PCN 94: CONSIDERABLE CLEAN UP WAS DONE SO MANY ROUTINES DO NOT NEED TO PASS THE CURRENT INPUT FILE LUN FROM HAND TO HAND. IT IS NOW SET BY 'OPENI' AND 'DEFTOK' AND USED BY 'GETLIN' AND NOT SEEN BY ANYBODY ELSE. V21: PCN 96: ADD INDEX AT END OF LISTING TO SHOW PAGE NUMBERS OF FILES, ROUTINES, AND INCLUDES. PCN 97: DEFINE DEFAULT SETTINGS FOR MOST SWITCHES IN RATDEF.RAT. MOVE SWITCH PROCESSING TO RATGO. PCN 98: REORGANIZE LEX TO CHECK MOST COMMON KEYWORDS FIRST. PCN100: IMPROVE DETECTION OF NULL RATFOR SOURCE LINES AND DON'T NUMBER. PCN101: CLEAN UP SPAWNF. DEFINE FTN SWITCH STRING IN "FTNSWITCHES". PCN102: ALLOW UNDERLINE WITHIN TOKENS SO SYMBOLS CAN LOOK LIKE DEFINE (MONTH_END=YES) DEFINE "WAITFORFTN" IF YOU WANT RAT TO WAIT FOR COMPILER TO FINISH. NEW ROUTINES: VTLIB A (REVISED) PACKAGE OF SUBROUTINES THAT GIVE FULL CONTROL OF THE FEATURES OF THE VT100 AND VT52 (EXCEPT FOR READING ESCAPE SEQUENCES FROM THE KEYPAD). VTTEST A PROGRAM TO TEST ALL THE FEATURES OF VTLIB. MAPPS A KLUGE (WITH CREATE.CMD) TO PUT TOGETHER A LIST OF COMMONS AND SUBROUTINES USED BY A SET OF PROGRAMS (I.E. THE PRE-PROCESSOR) FROM A SET OF FORTRAN IV V2.2 LISTINGS. THE CURRENT OUTPUT IS IN 'RATFOR.LAY'. QUICK BUILD INSTRUCTIONS: (SEE BLDRATFOR.CMD, A RSX11/M INDIRECT COMMAND FILE THAT DOES THE WHOLE THING, FOR MORE INFO). SEQUENCE IS THE SAME FOR BOTH RSX11/M AND /D BUT A COMMAND FILE THAT DOES IT ALL IS AVAILABLE FOR /M. COMMAND FILES SUPPLIED ARE FOR FORTRAN IV V2, BUT ONLY MINOR MODS ARE NEEDED FOR F4P; SEE F4PRATFOR.CMD AS A SAMPLE. COMMAND FILES ASSUME A DUMMY DEVICE NAMED XX0:. ASSIGN THIS WHEREVER YOU WANT BEFORE BUILDING. THE FIRST TIME, RATFOR IS BUILT FROM THE .FTN FILES ON THIS TAPE, AFTER THAT, WITH A WORKING VERSION OF RATFOR, YOU CAN RATFOR THE .RAT FILES TO CONFIGURE THINGS THE WAY YOU WANT IT. FIRST TIME YOU BUILD RATFOR-- MOVE EVERYTING ON THIS TAPE INTO UIC OF YOUR CHOICE. GIVE MCR THE FOLLOWING- FOR @FORRATFOR OR F4P @F4PRATFOR FOR @FORSTRLIB LBR @LBRRATFOR LBR @LBRSTRLIB TKB @TKBRATFOR INS RATFOR AFTER THE FIRST TIME-- ADD : RAT @RATRATFOR BEFORE THE FIRST LINE ABOVE. EDIT TKBRATFOR.CMD FOR RESIDENT LIBRARIES OF YOUR CHOICE. IF YOU HAVE PROBLEMS, CALL DAVID P SYKES AMERICAN MANAGEMENT SYSTEMS, INC. 1515 WILSON BLVD ARLINGTON, VA 22209 (703) 841-6086 GOOD LUCK UIC [307,25] CONTAINS: 1. A RATFOR LIBRARY, RATLIB, FOR USE WITH THE RATFOR PREPROCESSOR WRITTEN BY DAVE SYKES AND CONTAINED (HOPEFULLY) IN UIC [373,6] OF THIS TAPE. THIS IS BASICALLY THE SAME LIBRARY AS ORIGINAL PRODUCE BY DAVE ARGUE IN UIC [345,5] ON THE CHICAGO (SPR 78) TAPE AND UPDATE BY RICHARD MICHAUD IN UIC [321,1] ON THE NEW ORLEANS (SPR 79) TAPE. SOME MINOR BUGS HAVE BEEN FIXED AND CHANGES MADE FOR COMPATIBLILITY WITH THE SYKES RATFOR. NOTE THE THE VERSION OF RATFOR PRESENTED ON THIS TAPE REPRESENTS THE BASELINE VERSION FOR THE SIG WORKING GROUP ON STRUCTURED FORTRAN. THE COMMAND FILE "MAKLIB.CMD" BUILDS THE LIBRARY. DOCUMENTATION IS FOUND IN "RATLIB.DOC" AND "RATLIB.RNO". 2. PERFORMANCE MEASUREMENT TOOLS (PROFILERS) FOR F4P TIMER -- INDICATES HOW MUCH TIME IS SPENT IN EACH SUBROUTINE. THIS IS A MODIFICATION OF THE ROUTINE SUBMITTED AS PART OF THE ORIGINAL RATFOR LIBRARY BY DAVE ARGUE. THE ONLY CHANGES ARE THAT THE FLOATING POINT INSTRUCTIONS HAVE BEEN ELIMINATED AND THE DATA TYPES FOR THE COUNTS CHANGED FROM REAL TO DOUBLE INTEGER. MEASUR -- PROVIDES THE INFORMATION GIVEN BY TIMER AS WELL AS HOW MANY TIMES EACH SUBROUTINE IS CALLED. TRACE -- PROVIDES A COMPLETE TRACE OF SUBROUTINES CALLS. THE ROUTINES ALL USE THE FORTRAN TRACEBACK CHAIN AND REQUIRE ONLY A SINGLE CALL AT THE BEGINNING OF THE MAIN PROGRAM TO EXECUTE. THE LAST 2 PROGRAM REQUIRE A PATCH TO THE $NAM ROUTINE IN THE F4P OTS. SOME OF THE ROUTINES ARE WRITTEN IN RATFOR. THE GENERATED FORTRAN CODE IS PROVIDED. THE COMMAND FILE "MAKPERFRM.CMD" DOES ALL THE WORK NECESSARY TO PLACE THESE ROUTINES IN THE LIBRARY "PERLIB.OLB" (INCLUDE CREATING THE PATCH TO $NAM). DOCUMENTATION IS FOUND IN "PERFRM.DOC" AND "PERFRM.RNO". FOR THOSE WHO WISH TO DO THEIR OWN THING, MOST OF TRACE IS WRITTEN IN RATFOR (AND THUS TRANSLATED INTO FORTRAN). REPLACE THE MODULE TRACEP AND YOU CAN DO ANYTHING YOU LIKE. TRACEP IS CALLED AT THE ENTRY OF EACH SUBROUTINE AND HANDED THE SUBROUTINE NAME. I HOPE TO PROVIDE A VERSION OF THESE ROUTINES THAT WORK WITH FOR ON THE NEXT TAPE. I WOULD APPRECIATE HEARING OF ANY PROBLEMS, COMMENTS, OR IMPROVEMENTS ANYONE MIGHT HAVE TO THESE ROUTINES. STEVE LAZARUS FORD AEROSPACE AND COMMUNICATIONS CORPORATION MAIL STOP X-90 3939 FABIAN WAY PALO ALTO, CA. 94303 (415) 494-7400 X6291 .AP .STANDARD .ps 54,70 .FIGURE 5 .C;Modifications to RNO from CARTS .skip 2 The following modifications may be made to the standard RUNOFF. .ls .le;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. .le;.BLANK and .SKIP may use negative arguments. This allows text to be moves some number of lines from the end of the page. .le;A shift right switch /RI. This switch allows text to be shifted right some number of columns. .els There is also build command files for RSX that allow mapping to shared FCS. The files for these modification are: .ls .le;RNO.SLP -- applies the corrections to the RNO modules .le;Source correction files .ls .le;CMTAB.COR -- CMTAB corrections .le;ERMAG.COR .LE;FMTCOR.COR .LE;PINDX.COR .LE;RNCMD.COR .LE;RNORSX.COR .LE;RUNOFF.COR .els .LE;RNODOC.COR -- RUNOFF.RNO corrections .LE;RNOBLDFCS.CMD -- MAPS TO A SHARED FCSRES LIBRARY .LE;RNOBLDFCS.ODL -- OVERLAYS FOR A SHARED FCSRES LIBRARY (you may need to change this) .le;README.1ST -- This document .le;README.2ND -- The standard README.1ST document normally distrubuted. .ELS To install runoff: .ls .le;read this document and the README.2ND document. .le;If you want the modifications listed above: .ls .le;transfer the files to the UICs specified in README.2ND. .le;set the UIC to the source UIC .le;Run SLP with @RNO.SLP as input .els .le;Now follow the assembly and task build instructions in README.2ND. .le;If you want to use the shared FCSRES library, use "TKB#@[1,24]RNOBLDFCS" instead of "TKB#@[1,24]RNOBLD". .le;Once you have made RNO use RUNOFF.RNO as input to check out the task and to generate a manual. .els At Fermilab, we have used these modifications without problems for some time. If you have problems, call Daniel#B.#Curtis at (312)#840-3927. Modifications to RNO from CARTS The following modifications may be made to the standard RUNOFF. 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. There is also build command files for RSX that allow mapping to shared FCS. The files for these modification are: 1. RNO.SLP -- applies the corrections to the RNO modules 2. Source correction files 1. CMTAB.COR -- CMTAB corrections 2. ERMAG.COR 3. FMTCOR.COR 4. PINDX.COR 5. RNCMD.COR 6. RNORSX.COR 7. RUNOFF.COR PAGE 2 3. RNODOC.COR -- RUNOFF.RNO corrections 4. RNOBLDFCS.CMD -- MAPS TO A SHARED FCSRES LIBRARY 5. RNOBLDFCS.ODL -- OVERLAYS FOR A SHARED FCSRES LIBRARY (you may need to change this) 6. README.1ST -- This document 7. README.2ND -- The standard README.1ST document normally distrubuted. To install runoff: 1. read this document and the README.2ND document. 2. If you want the modifications listed above: 1. transfer the files to the UICs specified in README.2ND. 2. set the UIC to the source UIC 3. Run SLP with @RNO.SLP as input 3. Now follow the assembly and task build instructions in README.2ND. 4. If you want to use the shared FCSRES library, use "TKB @[1,24]RNOBLDFCS" instead of "TKB @[1,24]RNOBLD". 5. Once you have made RNO use RUNOFF.RNO as input to check out the task and to generate a manual. At Fermilab, we have used these modifications without problems for some time. If you have problems, call Daniel B. Curtis at (312) 840-3927. GETTING ON THE AIR WITH RSX-11/IAS RUNOFF RSX-11M MAPPED SYSTEMS All command files follow the standard RSX-11M conventions. 1. [100,10] should contain all source modules. 2. [100,20] should contain the file RNOASM.CMD. 3. [100,20] will recieve the object output files. 4. [100,30] will receive listing files. 5. [1,20] should contain the file RNOBLD.ODL 6. [1,24] should contain the file RNOBLD.CMD 7. [1,34] will receive the map output file. 8. [1,54] will receive the task image file. Procedure: 1. Use UFD to set up the proper UFDs, if necessary. Note that all command files must be changed if you do not do this. 2. Use FLX to move the files to their proper UICs. 3. Set the UIC to [100,20] and assemble. SET /UIC=[100,20] MAC @RNOASM 4. Use PIP to construct a concatenated object file for all RNO files: PIP>RNO.OBS=*.OBJ 5. SET THE UIC to [1,20] and build a library containing the RNO object files: SET /UIC=[1,20] LBR>RNO/CR=[100,20]RNO.OBS 6. Edit the Task Build command file to reflect your individual system needs. The Task Build command file contains parameters to set the default switches, default paper size (for /-FF) and default underline mode. 7. Build the task image file. The map will go to [1,34] and the task image to [1,54]. TKB @[1,24]RNOBLD PAGE 2 RSX-11M UNMAPPED SYSTEMS Users of unmapped systems should follow the procedure outlined for mapped systems, but selecting UICs as appropriate. File RNOBLD.CMD will have to be edited to delete the /MM switch and to change the PAR directive to match system requirements. RSX-11D/IAS Users of RSX-11D/IAS should follow the procedure outlined for users of RSX-11M Mapped systems. Since the conventions for source and object files are installation dependent, all .CMD and .ODL files should be edited accordingly. Additionally, RSX-11D/IAS users should alter RNOBLD.CMD to change the /MM switch to /MU and to change the PAR directive as needed. Alternatively, IAS users may use command file RNOIAS.CMD to assemble and build RUNOFF. The command file contains parameters to set the default switches, default paper size (for /-FF) and default underline mode. RSTS/E To build RUNOFF under RSTS/E V06C-03 systems, run the $BUILD program and specify the RNOBLD.CTL control file on the distribution medium. RNOBLD.CTL assumes that all files have been copied to account [100,100] (use PIP.SAV). If users desire to build directly from the distribution of from another account, it will be necessary to edit RNOBLD.CTL to change references to [100,100] to the [p,pn] used in the distribution. Both the RT11 and RSX Run-Time Systems are assumed present in the system, as the PIP.SAV, MAC.TSK, LBR.TSK, and TKB.TSK programs are required in the build procedure. The Task Builder run will normally produce the message: ?TKB -- *DIAG*-MODULE ERR MULTIPLY DEFINES SYMBOL EOF This is not an error. At the (successful) completion of the procedure, RNO will be ready to run. The last step of RNOBLD.CTL copies the files necessary to use RNO (i.e., RNO.TSK and RUNOFF.RNO) to account [1,2]. This step should be deleted or changed if users do not desire to store RNO in [1,2]. To use the Concise-command language feature of RSTS/E, the following CCL command should be installed: CCL RNO=[P,PN]RNO.TSK RNO.TSK is not a privileged program. It should, however, be installed with an <104> protection code if it is desirable for all users on the system to access it. PAGE 3 CONTENTS OF THE DISTRIBUTION RNOASM.CMD - Assembly command file for RSX-11M RNOBLD.CMD - Task builder command file for RSX-11M RNOBLD.CTL - RSTS/E build control file RNOBLD.ODL - Overlay description for RSX-11M RNO.ODL - Overlay descriptor for RSTS/E RNOIAS.CMD - Command file for IAS RNOIAS.ODL - Overlay descriptor for IAS RSTASM.CMD - Assembly command file for RSTS/E RSTBLD.CMD - Task builder command file for RSTS/E CMTAB.MAC - RUNOFF source file COMND.MAC - RUNOFF source file ERMSG.MAC - RUNOFF source file FMTCM.MAC - RUNOFF source file HYPHEN.MAC - RUNOFF source file INDEX.MAC - RUNOFF source file PINDX.MAC - RUNOFF source file RNCMD.MAC - RUNOFF source file RNFIO.MAC - RUNOFF source file RNORSX.MAC - RUNOFF source file RUNOFF.MAC - RUNOFF source file START.MAC - RUNOFF source file RNPRE.MAC - RUNOFF source prefix file for all systems RSTS.MAC - RUNOFF second prefix file for RSTS/E RUNOFF.RNO - Source for RUNOFF manual README.2ND - This document .ap .standard .page size 54,80 .c;FERMILAB research services source and document control These command files, datatrieve definitions and procedures, and others, are the facilities that we have been using for a major project. These files are still under development. So is the documentation (currently, there is no documentation) The "GSR" prefixed files are the files that generate the standard type of documents. These documents have entries made in a datatrieve database. The database and utilities help document management. The "SLM" and "SLU" files are for the source management routines. The others are source generation files. Play with these as you wish. Next DECUS, the documentation should exist and the rough corners knocked off. .skip 2 .i 30;Daniel B.#Curtis .page some of the files are: .ls .le;DOCINSGEN.CMD generates docins task which addes documents to the library .le;DOCLIST .CMD sample document listing command file .le;DTRDIRLST.CMD dtr command file for listing macreplacement documents .le;DTRDLIST .CMD called by doclist to make dtr.cmd .le;GENLISTS .CMD another dtr command file .le;GENSRC .CMD generate source files/modules (pascal, fortran, macro, etc .le;GSRDSASK .CMD design spec questions .le;GSRDSGEN .CMD design spec generation .le;GSRGENDOC.CMD main document generation file .le;GSRGROUP .CMD document group questions .le;GSRINCDOC.CMD increment document number .le;GSRMEMASK.CMD memo questions .le;GSRMEMGEN.CMD memo generation .le;GSRNUM1 .CMD number generation file for project 1 .le;GSRTECGEN.CMD technical note generation .le;LIBDLALL .CMD dtr procedure to display documents .le;LIBDLDIS .CMD dtr procedure to display documents but different .le;LIBDOMDEF.CMD dtr document library domain definitions .le;LIBDTRDIC.CMD dtr command file .le;LIBGENALL.CMD dtr file to generate domains,procedures etc for doc library .le;LIBGENLST.CMD dtr procedure to generate document index .le;LIBLSTALL.CMD dtr ditto .le;LIBLSTCUR.CMD dtr ditto .le;LIBLSTDIS.CMD dtr ditto .le;LIBLSTDOC.CMD dtr ditto .le;LIBLSTGRP.CMD dtr ditto .le;LIBLSTNUM.CMD dtr ditto .le;LIBLSTSTA.CMD dtr ditto .le;LIBRECDEF.CMD dtr library record deffinition .le;SCONF1 .CMD macro source configerator .le;SCONF2 .CMD fortram source configerator .le;SCONF3 .CMD pascal source confingerator .le;SCONF4 .CMD Z80 source configerator .le;SCONF5 .CMD praxis source configeratior .le;SDATA .CMD for source data type modules ( not well thought out ) .le;SDEF1 .CMD macro definition .le;SDEF2 .CMD fortran definition .le;SDEF3 .CMD pascal deffinition .le;SDEF4 .CMD z80 definitions .le;SDEF5 .CMD prasix definitions .le;SLMDOMDEF.CMD source library managenent domain deffinition .le;SLMEXTMOD.CMD dtr slm extract module .le;SLMGENALL.CMD dtr slm generate dictionary .le;SLMHISDEF.CMD dtr slm history record deffinition .le;SLMINIDEF.CMD dtr slm initalization .le;SLMMODDEF.CMD dtr slm module record deffinition .le;SLMPRODEF.CMD dtr slm procedure deffinition .le;SLMREPMOD.CMD dtr slm replace module procedure .le;SLMRINDEF.CMD dtr slm raw data input from obj library listing .le;SLUCKNAM .CMD slm command file to check name .le;SLUDTRPRE.CMD slm command file to extract source modules and update database .le;SLUEXTRL .CMD slm command file that actually extracts modules .le;SLUREPL .CMD slm command file that replaces module in libraries .le;SLUUICCK .CMD slm command file to check uic and name match .le;INSRTDOC .MAC macro program to insert documents in the document library database .le;SAVRG .MAC .le;EDOC .TEC mung edoc to edit documents .le;ESRC .TEC mung esrc to edit sources .le;FORMAC .TEC .le;FORTEC .TEC .le;LOWINS .TEC .le;RNOFIX .TEC .le;TECO .TEC .le;DOCS1 .TRC .le;DOCS2 .TRC .els FERMILAB research services source and document control These command files, datatrieve definitions and procedures, and others, are the facilities that we have been using for a major project. These files are still under development. So is the documentation (currently, there is no documentation) The "GSR" prefixed files are the files that generate the standard type of documents. These documents have entries made in a datatrieve database. The database and utilities help document management. The "SLM" and "SLU" files are for the source management routines. The others are source generation files. Play with these as you wish. Next DECUS, the documentation should exist and the rough corners knocked off. Daniel B. Curtis PAGE 2 some of the files are: 1. DOCINSGEN.CMD generates docins task which addes documents to the library 2. DOCLIST .CMD sample document listing command file 3. DTRDIRLST.CMD dtr command file for listing macreplacement documents 4. DTRDLIST .CMD called by doclist to make dtr.cmd 5. GENLISTS .CMD another dtr command file 6. GENSRC .CMD generate source files/modules (pascal, fortran, macro, etc 7. GSRDSASK .CMD design spec questions 8. GSRDSGEN .CMD design spec generation 9. GSRGENDOC.CMD main document generation file 10. GSRGROUP .CMD document group questions 11. GSRINCDOC.CMD increment document number 12. GSRMEMASK.CMD memo questions 13. GSRMEMGEN.CMD memo generation 14. GSRNUM1 .CMD number generation file for project 1 15. GSRTECGEN.CMD technical note generation 16. LIBDLALL .CMD dtr procedure to display documents 17. LIBDLDIS .CMD dtr procedure to display documents but different 18. LIBDOMDEF.CMD dtr document library domain definitions 19. LIBDTRDIC.CMD dtr command file 20. LIBGENALL.CMD dtr file to generate domains,procedures etc for doc library 21. LIBGENLST.CMD dtr procedure to generate document index 22. LIBLSTALL.CMD dtr ditto PAGE 3 23. LIBLSTCUR.CMD dtr ditto 24. LIBLSTDIS.CMD dtr ditto 25. LIBLSTDOC.CMD dtr ditto 26. LIBLSTGRP.CMD dtr ditto 27. LIBLSTNUM.CMD dtr ditto 28. LIBLSTSTA.CMD dtr ditto 29. LIBRECDEF.CMD dtr library record deffinition 30. SCONF1 .CMD macro source configerator 31. SCONF2 .CMD fortram source configerator 32. SCONF3 .CMD pascal source confingerator 33. SCONF4 .CMD Z80 source configerator 34. SCONF5 .CMD praxis source configeratior 35. SDATA .CMD for source data type modules ( not well thought out ) 36. SDEF1 .CMD macro definition 37. SDEF2 .CMD fortran definition 38. SDEF3 .CMD pascal deffinition 39. SDEF4 .CMD z80 definitions 40. SDEF5 .CMD prasix definitions 41. SLMDOMDEF.CMD source library managenent domain deffinition 42. SLMEXTMOD.CMD dtr slm extract module 43. SLMGENALL.CMD dtr slm generate dictionary 44. SLMHISDEF.CMD dtr slm history record deffinition 45. SLMINIDEF.CMD dtr slm initalization 46. SLMMODDEF.CMD dtr slm module record deffinition 47. SLMPRODEF.CMD dtr slm procedure deffinition PAGE 4 48. SLMREPMOD.CMD dtr slm replace module procedure 49. SLMRINDEF.CMD dtr slm raw data input from obj library listing 50. SLUCKNAM .CMD slm command file to check name 51. SLUDTRPRE.CMD slm command file to extract source modules and update database 52. SLUEXTRL .CMD slm command file that actually extracts modules 53. SLUREPL .CMD slm command file that replaces module in libraries 54. SLUUICCK .CMD slm command file to check uic and name match 55. INSRTDOC .MAC macro program to insert documents in the document library database 56. SAVRG .MAC 57. EDOC .TEC mung edoc to edit documents 58. ESRC .TEC mung esrc to edit sources 59. FORMAC .TEC 60. FORTEC .TEC 61. LOWINS .TEC 62. RNOFIX .TEC 63. TECO .TEC 64. DOCS1 .TRC 65. DOCS2 .TRC These are three versions of the Fast Tape Copy Program, TPC. TPC79F is the version distributed on the 1979 Spring (New Orleans) and Fall (San Diego) DECUS tapes. TPCNEW has been modified to correct a problem in reporting error numbers (Negative byte codes were being printed as positive word values). BIGTPC is the same as TPCNEW with an additional modification to allow copying tapes with very large records (<=4200. bytes). This allows TPC to copy DSC or BRU tapes. (I haven't tried it with DSC, but it works quite nicely with BRU tapes. DSC tapes have slightly smaller records than BRU tapes so there should be no problems there.) BIGTPC takes a full 32K and should only be used if you need its additional capability. All changes are marked with the comments "++AF1" (TPCNEW & BIGTPC) and "++AF2" (BIGTPC only). THIS MATERIAL WAS PRESENTED AT THE 1908 CHICAGO SPRING DECUS MEETING IN A PANEL DISCUSSION ON SYSTEM TUNING. THE MATERIAL IN THE *.TXT FILES ARE COPIES OF THE OVERHEADS I USED AT THE MEETING. THE TIMING MATERIAL PRESENTED IN THE SLIDES RESULTS1.TXT AND RESULTS2.TXT ARE FOR A PDP-11/45,WITH A 300 MEGABYTE DISK DRIVE. THE TIMING DATA IS NOT WELL QUALIFIED AND SHOULD BE USED FOR RELATIVE COMPARISONS ONLY. THESE ROUTINES WERE DESIGNED TO ALLOW A FORTRAN PROGRAM TO GET ACCESS TO THE ASSEMBLY LANGUAGE MACROS WHICH INTERFACE TO FCS. IT IS ASSUMED THE USER IS FAMILIAR WITH THE IAS/RSX-11 I/O OPERATIONS REFERENCE MANUAL. THE USER SHOULD READ THIS MANUAL CAREFULLY. THE USER SHOULD ALSO PAY ATTENTION TO THE APPENDIX IN THE BACK OF THE MANUAL WHICH DETAILS THE CONTENTS OF THE FILE DESCRIPTOR BLOCK (FDB). IN USING THESE SUBROUTINES THE USER ALLOCATES A 128 BYTE ARRAY IN HIS FORTRAN PROGRAM TO HOLD THE FDB. THE SUBROUTINES USE THIS ARRAY AS THEIR FDB WHEN CALLING THE FCS MACROS. THUS THE FORTRAN PROGRAMMER HAS COMPLETE ACCESS TO EVERY PARAMETER THAT FCS KEEPS IN THE FILE DESCRIPTOR BLOCK. THE FCS MACROS ALSO RETURN A VALUE TO A TWO WORD I/O STATUS BLOCK. THE "INIT" SUBROUTINE MODIFIES THE F.BKST FIELD IN THE FDB SO THAT THE ADDRESS OF THE I/O STATUS BLOCK POINTS TO BYTES 124-128 OF THE FDB ARRAY. THUS THE FORTRAN PORGRAMMER CAN EXAMINE BYTES 124-128 OF THE FDB TO SEE WHAT FCS PLACES IN THE I/O STATUS BLOCK AFTER EACH I/O OPERATION. THE USER SHOULD PAY PARTICULAR ATTENTION TO THE FOLLOWING LOCATIONS IN THE FDB. F.RTYP RECORD TYPE BYTE F.RATT RECORD ATTRIBUTE BYTE F.RSIZ RECORD SIZE BYTE THE "HOW OPEN CODE" FIELD IS COMPOSED OF TWO BYTES, RACC AND FACC THEY ARE FOUND IN THE FDB. FOR MORE DETAIL THE USER IS REFERRED TO THE FILE "HOC.DOC" IN THIS UIC. RESPECTIVELY SUBMITTED PHILIP H. CANNON SCIENCE APPLICATIONS, INC. SUITE 901 1211 W 22ND STREET OAKBROOK, IL. 60521 (312)-655-5960 I have added a program called LAZRUS which recovers files that were accidentally deleted. I used a lot of the code and ideas provided by Mike Higgins so I thought I would submitt the LAZRUS program under this UIC. I have included all of Mike's stuff that he submitted in San Diego 1979. respectively, Philip Cannon [307,22] CONTAINS THE RUNOFF AND .DOC FILES FOR TWO TALKS TO BE GIVEN AT THE FALL 1979 SYMPOSIUM. "VULNERABLE POINTS OF THE RSX FILES11 SYSTEM" (AND WHAT TO DO ABOUT THEM) THIS TALK DESCRIBES SEVERAL PROGRAMS (ALSO INCLUDED IN THIS DIRECTORY) WHICH WERE USED TO RECOVER FILES OFF OF A DISK THAT HAD LOST IT'S INDEX FILE. "SORTING LIBRARY OF CONGRESS BOOK CALL NUMBERS" THIS TALK DESCRIBES A SUBROUTINE USED IN A BOOK CATALOG OUTPUT PROGRAM. THE SUBROUTINE IS UNCLUDED IN THIS DIRECTORY ALSO. editors note: Some of this material was submitted in chicago 1980. I am assuming that the files with the same name were to superseed the files submitted in San Diego 1979. The author did NOT include a README.1st for the Chicago material. end note ROBERT WATSON CISCO, INC. (918)665-2110 4135 S. 100TH E. AVE. TULSA OK 74145 THIS TAPE CONTAINS THE MODULES FOR TWO TASKS. 1. TASKER IS COMPOSED OF TASKER.CMD (TASKBUILD COMMAND FILE, MCR MODE) TASKER.FTN OP.FTN DOIT.FTN REG.FTN OCTL.FTN BAD.FTN FILL.FTN INIT.FTN BRA.FTN CHANGE.FTN SRCH.FTN OTHER.FTN HDR.FTN 2. SEE IS COMPOSED OF SEE.CMD (TASKBUILD COMMAND FILE, MCR MODE) SEE.FTN GETSYS.MAC HOLE.MAC *** THESE TWO TASKS ARE USABLE ONLY ON AN IAS VERSION 3.0 SYSTEM *** ------------------------------------------------------------------------ TASKER IS A UTILITY FOR EXAMINING AND MODIFYING TASK IMAGE FILES ON DISK. IT HAS FOUR FUNCTIONS: UPDATE REPORT SEARCH HEADER UPDATE MODE ALLOWS THE USER TO DISPLAY ANY WORD OF THE TASK (AS AN OCTAL NUMBER) BY VIRTUAL ADDRESS, AND ENTER NEW CONTENTS IN IT. THE NEW CON- TENTS CAN BE TYPED IN AS OCTAL, ASCII, OR ASCII TO BE CONVERTED TO RAD50. REPORT MODE ALLOWS THE USER TO DISPLAY (OR PRINT) ANY WORD OR SECTION OF WORDS OF THE TASK AS OCTAL, ASCII, RAD50 CONVERTED TO ASCII, OR AS MACRO SOURCE CODE. SEARCH MODE ALLOWS THE USER TO ENTER ONE OR TWO WORDS AS OCTAL, ASCII, OR ASCII TO BE CONVERTED TO RAD50. THEN TASKER REPORTS THE VIRTUAL OF EVERY OCCURENCE OF THIS WORD (OR WORDS) WITHIN A SPECIFIED ADDRESS RANGE. HEADER MODE DISPLAYS (OR PRINTS) INFORMATION FROM THE TASK HEADER IN AN EASILY READABLE FORMAT. RELATIVELY SIMPLE CHANGES CAN BE MADE IN PLACE TO LARGE OR INSTALLED TASKS BY USING THIS UTILITY. DATA AND/OR CODE CAN EASILY BE CHANGED IN FORTRAN-WRITTEN TASKS BY USING TASKER IN CONJUNCTION WITH AN F4P LI:3 LISTING AND A TASKBUILD MAP. ------------------------------------------------------------------------ SEE DISPLAYS THE SYSTEM STATUS ON A VT52 OR VT100. IT TELLS THE TIME, THE NUMBER OF FREE NODES, THE SIZE OF THE LARGEST HOLE, AND THE CON- TENTS OF THE ATL AND MRL. PARAMETERS CAN BE SET PRIOR TO COMPILE TO DETERMINE SEPARATELY THE UPDATE INTERVALS OF TIME-NODES-HOLE, AND ATL-MRL. ALSO, PARAMETERS DETERMINE HOW MANY TIMES THE SCREEN UPDATES BEFORE THE PROGRAM TIMES OUT, AND HOW LOW SYSTEM RESOURECES CAN GO BEFORE THE PROGRAM BEGINS TO SOUND WARNING BELLS. SEE CAN BE TERMINATED AT ANY TIME BY TYPING ANY PRINTABLE CHARACTER. SEE HAS SOME ADVANTAGES OVER POOL, SYS, AND DEMO. POOL DOESN'T GIVE THE ATL AND MRL. SYS DOESN'T GIVE THE NODES OR HOLE. IF THE DEMO SCREEN IS ADJUSTED TO DISPLAY ALL OF MEMORY, THEN SOME SMALL TASKS MAY NOT BE DIS- PLAYED. ALSO, SYS AND DEMO NEVER SHOW TIMESHARING TASKS AS BEING IN THE MRL. SEE SHOWS ANY TASK WITH A STATUS OF 'MRL', 'MRE', OR 'MRR' AS BE- ING IN THE MRL, WHETHER THE TASK IS TIMESHARING OR REALTIME. THE FOLLOWING PROGRAMS WERE SUBMITTED BY: JOHN WOOD LAWRENCE BERKELEY LABORATORY BERKELEY, CALIFORNIA 94720 (415) 486-5972 SEE AN INTERACTIVE CORE DUMP PROGRAM. IN RESPONSE TO AN 18 BIT ADDRESS, 256 BYTES OF MEMORY IS PRINTED ON THE TERMINAL. 8 WORDS BY 16 LINES. ICA AN INTERACTIVE CRASH DUMP PROGRAM. IT HAS THE SAME CALLING SEQUENCE AND DISPLAY FORMAT AS 'SEE'. QTDRV A DRIVER WHICH INTERCEPTS I/O PACKETS SENT TO A DESIGNATED DRIVER. IT SENDS A COPY TO A COOPERATING TASK ON ITS RECEIVE QUEUE. THE ORIGINAL IS GIVEN BACK TO THE DRIVER TO WHICH IT WAS ORIGINALLY SENT. QTTAB THE DATA BASE TO GO WITH QTDRV. RCVQIO THE COOPERATING TASK FOR THE QT: DRIVER. [371,4] CONTAINS THE COPIOUS LIBARARY OF FORTRAN CALLABLE ROOUTINES FOR DEVICE AND FILE MANAGEMENT, STRING MANIPULATION, DATE/TIME, SUBTASKING, AND OTHERS. FOR MORE INFORMATION, SEE COPIOUS.DOC. THIS UFD CONTAINS THE IAS DISK ALLOCATION SYSTEM "DALLOC" AS DESCRIBED IN THE AUTHOR'S PAPER, "SYSTEM MANAGEMENT TIPS AND TECHNIQUES". DALLOC MAY BE BUILT BY COPYING THE SOURCE FILES TO [311,200] AND INITIATING THE INDIRECT COMMAND FILE "DAL.BLD" .... BUILD THE DISK ALLOCATION UTILITY PDS> @DAL.BLD REMOVE THE "...UFD" SYSTEM TASK PDS> REMOVE ...UFD INSTALL THE DISK ALLOCATION UTILITIES PDS> INSTALL/TASK:$$$DAL [11,1]DAL PDS> INSTALL/TASK:...UFD [11,1]DALUFD DALLOC UTILIZES OBJECT MODULES CONTAINED IN "COPIOUS.OLB", ALSO INCLUDED ON THE RSX/IAS SIG TAPE (UIC [200,4]???). HOPE YOU FIND THE SYSTEM TO WORK AS WELL FOR YOU AS IT HAS ME. I'LL BE HAPPY TO ANSWER ANY QUESTIONS AND WOULD LIKE TOO HEAR OF ANY BUGS YOU MAY FIND. GOOD LUCK... GR JOHNSON BATTELLE NORTHWEST P O BOX 999 RICHLAND WA 99352 Dear Sirs: You will find that this tape contains a complete SOURCE kit for SAMSTAT, our version of STAT-11. SAMSTAT has not been modified since May of this 1979, but has been in heavy usage at the School. This version is an initial version, and we expect to modify it quit extensivly. It is resource intensive. An overview of SAMSTAT is provided in the file SSTLOG.DOC. The entire package can be installed by: FLX /RS=MM0:[6,4]SSTGEN.CMD/DO/FA @SSTGEN Since SAMSTAT is written in BPR, a preprocessor for BASIC+2, BPR has been included in this kit. This is also an 'initial attempt' package. Partial documentaion is included in BPR.RNO. There is an undocumented feature which might be of some help to you, i.e., BPR file=file/RES will resequene a BASIC+2 source file. An overview of the package is contained in SAMSTAT.LOG. For BPR, the ODL file produced by your BP2 compiler will have to be modified to reference the single subroutine required. SSTGEN should prompt you when this is necessary. An ODL file is provided for SAMSTAT that will probably work for a system that has: -> An FP11 <- -> Libraries in the default UIC's <- No core resident libraries are required... If libraries are not in the default UIC's, the SAMSTAT.ODL file will have to be edited to reflect their proper location. Respectfully, Bruce Montague USAF/SAM/BRSO BROOKS AFB, TX. 78235 (512)-536-3886 *** VUE *** ****************** **** WARNING ***** ****************** This ONLY works on VT-100's VUE is a modified version of TECO V28 which provides screen editing capability without TECO macros. Most of us who have tried to use VT52.TEC or VTEDIT.TEC for keypad/screen editing on RSX-11M systems have found that it only takes a few users to bring the system to it's knees. For this reason, at Gould NavCom Systems we have implemented A variation of TECO, called VUE, which supports a "window" while the user enters normal TECO command strings at the bottom of the screen. I have supplied only the TECO I/O modules which were modified, along with instructions for assembling and building VUE, given the DECUS 11-333 tape and a mapped system task image. The build instructions are VUEBLD.INF. There is a manual which I prepared for use at Gould as a supplement to the TECO manual which documents the changes and operating instructions. NOTE: If you accidently scroll the screen, type 1 which forces a total refresh. This is documented in the manual. ****************** **** WARNING ***** ****************** This ONLY works on VT-100's Submitted by: Bob Denny Gould NavCom Systems Div. 4323 N. Arden Dr. El Monte,Ca. 91731 (213) 442-0123 Ext. 587/535 [375,1] CONTAINS AN RSX/VMS DISK PATCH UTILITY AND SOME TECO MACROS. [ 3 2 5 , 1 ] R E A D M E . 1 S T This is the North Texas LUG's contribution to the Chicago Spring '80 RSX/IAS SIG tape. The files are split into UIC's for Operating Systems per the stardard. The files submited: Directory Contributor Description ========= =========== =============================================== [326,213] MOSTEK IAS T/S Utilities see [326,213]README.1ST For more information, bug reports, etc please contact the contributor or the North Texas LUG Librarian: John Jenkinson MOSTEK, Corp. 1215 West Crosby Road P. O. Box 169 M. S. 32 Carrollton, Texas 75006 214-323-6401 or 214-323-6195 [ 3 2 5 , 2 1 3 ] R E A D M E . 1 S T This uic contains Mostek's contributions to the RSX/IAS SIG tape for the Chicago Spring '80 Symposium. The files contributed and a brief description fo their function: Files Function ================= ============================================== LDX.MAC TKB to LDX reformatter. This program takes files LDX.CMD output from the Task Builder and reformats them into DOS .LDA files for use with DOS Absolute Loaders. LPT.MAC Produces Man-Readable leader on paper tape from LPT.CMD the PP driver. WATCH.MAC Program to sound the SONALERT on a KW11-Y Watch WATCH.CMD Dog Timer DEVICE.MAC Lists allocatable devices and who, if anyone has DEVICE.CMD them allocated. Dosn't work for disk drives yet. DATE.MAC Prints the date and day on CL. We run it at DAY.MAC Midnight to break the console log into logical DATE.CMD places if you ever need to find something fast. MWAIT.MAC Replaces the $MESSAGE/WAIT from RSX-11D Batch. MWAIT.CMD This version checks the allocation of the Paper Tape Punch to channel many users to our single Punch. FILSAV.MAC Resets the end of file pointer for those 0 used FILSAV.CMD /many allocated files. Portions of the last block may contain garbage. DISTRIB.MAC Uses a file (change FDB file specification for your DISTRIB.CMD file) to print files with banners. We use this to satisfy a bunch of users who want a copy of several files every day. SECRET.MAC Prints the Password for users on a IAS T/S or M/U SECRET.CMD System. You'll want to protect this from general access!!! BATJOB.MAC Uses file (LB0:[1,4]BATCHJOB.SUB) to fire off BATJOB.CMD batch jobs at specific times on a combination of days. This file must be in cronoligical order!!! TAPE.MAC Program to find out the block size on MT0: TAPE.CMD TAPVER.MAC Verifys Binary Load Modules on PR0: TAPVER.CMD LPSTART.MAC Resstart the line printer(s) from batch so general LPSTART.CMD won't need Consloe privileges. The account will need chain privileges. DIRECTIVE.TXT Useful for finding what that DIC code in the task dump is. For more information, bug reports, etc. call: John Jenkinson MOSTEK, Corp. 1215 W. Crosby Road P. O. Box 169 M. S. 32 Carrollton, Texas 75006 214-323-6401 or 214-323-6195  t Program: DV -- Virtual Disk Handler for IAS Author: Shack Toms Technical Advisors, Inc. 4455 Fletcher Street Wayne, Michigan 48184 (313) 722-5010 Description: DV is a program which creates an ordinary non-contiguous disk file, and uses the logical blocks therin as the physical sectors of an imaginary disk drive. This virtual disk drive can appear to IAS as any of the known (to the author) DEC disk drives. The size of the disk is up to the user (the virtual disk is not pre-allocated.) Complete file control services are available on the virtual disk. In particular: INITIALIZE works on it (if it is emulating an allowed device type) MOUNT works on it DISMOUNT works on it DSC works on it FLX works on it In general, everything, works on it except for disk diagnostics. Genning for it: To sysgen a virtual disk into your system edit the [11,17]SYSGEN.CMD file to include the following directive (with all the other DEV= directives.) DEV=DV0,<150010,0,0,1000>,,,,VRTACP Then perform a system generation. Building it: Set your default UIC to the acccount where this file was found. Then type: PDS> @dv After a while pds should buzz, and the build will be complete. Using it: When a disk is first created, it looks as though BADBLOCKS had been run on it and found no bad blocks. The following command sequence will enable a virtual disk. The disk will reside in a file named SY0:[1,1]MYDISK.DSK. It will emulate an RK05. You probably need various priveleges to do this. PDS> install dv PDS> install/task:vrtacp sy0:[11,1]bigfcp ! [ or fcp ] PDS> mcr loa dv Fake disk file? mydisk/create/emulate:rk05 PDS> allocate dv0 PDS> initialize/index:beginning dv0 virt PDS> deallocate dv0 PDS> mount/nooperator dv0 virt That should do it. When finished with the disk, use: PDS> dismount dv0 PDS> mcr unl dv To remount the disk, use: PDS> mcr loa dv Fake disk file? mydisk PDS> mount/nooperator dv0 virt The virtual disk handler remembers that the disk is an RK05. I have had much success with this device. I have many large fixed length record files, with short record lengths (8 bytes.) The most efficient way for me to copy these files to mag tape is to first copy them to a virtual disk, and then to DSC that disk to mag tape. Of course, I find that whenever I copy any files from mag tape to disk (virtual or otherwise), duing peak activity, there is a great probability of a system crash. (The mag tape handler apparantly interferes with disk UMR usage, since the crash generally appears when a block from mag tape overwrites a recently loaded task header.) If you have a habit of running out of UIC's, you may find this program helps. For more complete information on the operation and use of this program, read the blocks of comments in the beginning of it. RSX-11M SKELETON DEVICE DRIVER AND DATA BASE JAMES A. MCGLINCHEY SENIOR SYSTEMS PROGRAMMER FISCHER AND PORTER DEPARTMENT 436 COUNTY LINE ROAD WARMINSTER, PA 18974 (215) 674-6000 FILES: XXDRV.MAC SKELETON DRIVER IN MACRO-11 XXDRV.SMC SKELETON DRIVER IN SUPERMAC XXTAB.MAC SKELETON DATA BASE XXDF.MAC SKELETON DEFINITIONS HEADER FILE XXMAKE.CMD COMMAND FILE FOR ASSEMBLING AND BUILDING DRIVER AND DATA BASE ----------------------------------------------------------------- THIS IS A SKELETON DEVICE DRIVER AND DATA BASE FOR RSX-11M. IT CONTAINS ALL THE CODE REQUIRED IN AN RSX I/O DRIVER EXCEPT THE CODE THAT ACTUALLY MANIPULATES THE DEVICE. THE INTENT IS THAT THIS CODE SHOULD BE COPIED INTO AN ACCOUNT AND THE DEVICE-SPECIFIC CODE ADDED INTO IT BY THE USER. ALL THE RSX ASSEMBLY CONDITIONALS ARE HONORED. THE DRIVER IS CONFIGURED AS A MULTI-CONTROLLER DEVICE. THESE FILES ARE DESCRIBED IN THE PAPER, "RSX-11M I/O DRIVERS WITHOUT TEARS", GIVEN AT THESE DECUS MEETINGS (CHICAGO, APRIL 1980). This section includes two utility programs: FIXDISK This routine was written after the infamous BRU wrote text all over the boot block and home block on my system disk; this makes it very difficult to access the disk (!). The FIXDISK routine will pick up specific blocks from a disk using direct QIO's, modify them as necessary, store them in a direct access file, and restore them to a disk. I used it to get the home block and index blocks from a backup disk, and wrote them back out to the damaged disk. After this procedure, it was possible to get important files off that disk. With some intelligent tinkering it might even be possible to restore the disk to complete functionality. WARNING: This routine is for experienced system hackers only. Intemperate use could make some disk totally useless. _________________ TMTRACE This routine uses the Traceback calls automatically produced by Fortran IV-plus to produce an execution time trace of a complex Fortran program. Trace output looks like: BEGIN MAIN BEGIN SUB1 BEGIN SUB2 END SUB2 03:33:09 END SUB1 06:33:00 END MAIN 11:33:00 An entry is produced on entry to each subroutine. At that time, the system time is stacked along with the subroutine name. When the subroutine exits, the elapsed time for that subroutine is written, (which includes time for any nested routines). Questions, bug reports, etc., will be welcomed, though I take no responsibility, etc,etc. James A.J. Triplett Intermetrics, Inc. 701 Concord Avenue Cambridge, Mass 02138 Edward Dekker Computer Corporation of America 575 Technology Square Cambridge, MA. 02139 This submission contains programs to allow the use of a TCU-100 or a TCU-150 clock with RSX-11M. To set the time in the TCU RUN SETTCU, wait one minute, and RUN SETTIM. SETTIM reads the TCU and sets the RSX system time. Files supplied include: [15,10]SETTIM.MAC [15,10]SETTCU.MAC [15,24]TIMGEN.CMD [15,24]SETTIMASM.CMD [15,24]SETTCUASM.CMD [1,24]SETTIMBLD.CMD [1,24]SETTCUBLD.CMD Edward Dekker Computer Corporation of America 575 Technology Sq. Cambridge, MA. 02139 This submission contains modifications to the RSX-11M V3.2 Full Duplex Terminal Driver. Before applying the terminal driver patches first copy the contents of [11,40] on this tape and the distribution sources of the terminal driver listed below to [11,40] on your system disk. The correction files on this tape include the patches to these modules from autopatch tape A. The indirect command files supplied assume that you have generated the full duplex terminal driver after applying autopatch tape A, only the modules that are changed are assembled. See TTDRVMOD.RNO for the details of applying these patches. Files in this submision: Terminal Driver Patch: [11,40]TTDRVMOD.RNO - procedure to apply terminal driver patches. [11,40]TTDRV.RNO - documentation on the use on the modified driver. [11,40]TTDRVMOD.DOC [11,40]TTDRV.DOC [11,40]SYSTTMOD.CMD - command file for applying the patches. [11,40]TTDRVGEN.CMD - command file called by SYSTTMOD.CMD [11,40]TTSLP.CMD - command file called by TTDRVGEN.CMD [11,40]SYSTB.COR [11,40]TTICH.COR [11,40]TTDAT.COR [11,40]TTYZ.COR [11,40]TTINI.COR [11,40]TTMOD.COR [11,40]TTFP.COR [11,40]TTATT.COR Terminal Driver Source files needed (not on tape): [11,40]TTICH.MAC [11,40]TTDAT.MAC [11,40]TTYZ.MAC [11,40]TTINI.MAC [11,40]TTMOD.MAC [11,40]TTFP.MAC [11,40]TTATT.MAC THE FILES ON THIS FLOPPY CONSIST OF A PROGRAM WHICH ALLOWS REMOTE COPY PROGRAMS TO MAINTAIN A CURRENT COPY OF A DATA BASE WHICH IS BEING RANDOMLY UPDATED. THE FILE SERVER TASK (KCWLSN) RUNS ON AN 11/70 AND CAN SUPPORT UP TO 4 SIMULTANEOUS REQUESTOR TASKS (KCWUPD - VAX VERSION OR KCWDUP - RSX11-D/IAS VERSION) THIS PROGRAM USES MAILBOXES TO GET THE RECORD NUMBERS OF THE RECORDS TO BE SENT. ALL FILES NEEDED (WITH THE EXCEPTION OF NETLIB ROUTINES ARE INCLUDED ON THIS FILE.) LINK FILES ARE INCLUDED TO LINK THE VARIOUS PROGRAMS AND SHOULD BE EXAMINED TO DETERMINE WHICH ROUTINES ARE NEEDED. THE FILE UIC'S FOR RSX PROGRAMS WILL NEED TO BE CHANGED. RENUM DISTRIBUTION KIT, NOV 79. RENUM is a program to resequence the statement numbers in an FORTRAN program (or set of programs) and also to provide a cross reference listing of variable names vs. line numbers. It also produces a formatted listing with DO loop ranges flagged in the left margin. This version is configured for RSX11M, but should also work for D and IAS. This version is configured for FORTRAN IV, V2.04, but should also work under F4P. Use FORRENUM and TKBRENUM to build the task. You may want to edit TKBRENUM.CMD to use a resident library, etc. ICSI does the command line processing and it uses some string routines in STRLIB. Both are written in RATFOR, a FORTRAN pre-processor. The produced FORTRAN code is all you need for RENUM, but the original RATFOR is included also, since the resulting FORTRAN is not easy to understand. If you are using F4P or the newer FORTRAN IV, with the OPEN and CLOSE statements, you can modify the mainline program to use them and add a /SP switch. Also, using OPEN to specify carriage control will remove the current problem that PIP doesn't correctly understand the carriage control of the FORTRAN source code file created by RENUM (but FORTRAN does). The task image provided was done under RSX!!M V3.1. The object modules provided were made with FORTRAN IV, V2.04. If you have and problems or suggestions, call David P. Sykes 1515 Wilson Blvd Arlington, VA 22209 (703) 841-6086 Good Luck! QUICK BUILD INSTRUCTIONS: THE OBJECT MODULES AND TASK IMAGE PROVIDED ARE FORTRAN IV, V2.04, AND RSX11/M, V3.2. (SEE BLDRATFOR.CMD, A RSX11/M INDIRECT COMMAND FILE THAT DOES THE WHOLE THING, FOR MORE INFO). SEQUENCE IS THE SAME FOR BOTH RSX11/M AND /D BUT A COMMAND FILE THAT DOES IT ALL IS AVAILABLE FOR /M. COMMAND FILES SUPPLIED ARE FOR FORTRAN IV V2, BUT ONLY MINOR MODS ARE NEEDED FOR F4P; SEE F4PRATFOR AS A SAMPLE. COMMAND FILES ASSUME A DUMMY DEVICE NAMED XX0:. ASSIGN THIS WHEREEVER YOU WANT BEFORE BUILDING. THE FIRST TIME, RATFOR IS BUILT FROM THE .FTN FILES ON THIS TAPE, AFTER THAT, WITH A WORKING VERSION OF RATFOR, YOU CAN RATFOR THE .RAT FILES TO CONFIGURE THINGS THE WAY YOU WANT IT. FIRST TIME YOU BUILD RATFOR-- MOVE EVERYTING ON THIS TAPE INTO UIC [314,6]. GIVE MCR THE FOLLOWING- FOR @FORRATFOR OR F4P @F4PRATFOR FOR @FORSTRLIB LBR @LBRSTRLIB TKB @TKBRATFOR INS RATFOR RAT @RATSAMPLE FOR @FORSAMPLE TKB @TKBSAMPLE (INSTALL AND RUN SAMPLE PROGRAMS) AFTER THE FIRST TIME-- ADD : RAT @RATRATFOR BEFORE THE FIRST LINE ABOVE. IF YOU DON'T WANT TO USE UIC [314,6], EDIT THE COMMAND FILES FOR WHATEVER UIC YOU DO WANT. ALSO EDIT TKBRATFOR.CMD FOR RESIDENT LIBRARIES. IF YOU HAVE PROBLEMS, CALL DAVID P SYKES AMERICAN MANAGEMENT SYSTEMS, INC. 1515 WILSON BLVD ARLINGTON, VA 22209 (703) 841-6086 GOOD LUCK ******************************* I A S VERSION X5.01 EDITOR ******** THIS SET OF FILES HAS BEEN DEVELOPED TO CONVERT THE RMS VERSION OF EDITOR TO IAS. EARLIER DOCUMENTATION CAN BE REFERENCED FOR CHANGE DETAILS THE PACKAGE CONSISTS OF FOUR COMMAND FILES; EDIASM.CMD ASSEMBLES THE MAC ROUTINES EDIBLD.CMD INDIRECT FILE FOR TASK BUILDER EDILST.CMD USED TO LIST THE MODULES EDICMP.CMD USED TO COMPARE THE MODIFIED MODULES TO THE ORIGINAL IAS V3.0 VERSIONS (CAN BE MODIFIED TO PRODUCE SLP) THE VERSIONS OF THE MAC FILES ARE THOSE THAT CONTAIN THE RMS MODIFICATIONS TO DELETE THE INTERIM FILES THAT ARE GENERATED BY UNSAVE AND TOF OPERATIONS THE LISTSINGS OF THE COMPARES ARE INCLUDED TO SHOW THE DIFFERENCES PLEASE NOTE THAT THE EDIPRE.MAC FILE CONTAINS THE 'IAS' FLAG FOR CONDITIONAL ASSEMBLIES ;********************************************************************** ; ; A COMMAND FILE TO BUILD THE FOF CONTAINS THE FOLLOWING ***** ; E D I F O F . C M D ; ; THIS FILE CAN BE USED TO REBUID THE EDITOR FILE-OF FILES ; ; RMS -- 6/1/79 ; ;****FIRST YOU NEED TO CREATE THE FOF FILE WITH THE FOLLOWING ; COMMAND TO LBR ** ; EDI.FOF/CR/DF:FOF ;; ; ; THE MACRO SOURCE FILES AS MODIFIED FOR IAS V3.0**** ; EDI.FOF=EDPRE.MAC/RP EDI.FOF=BOTTM.MAC/RP EDI.FOF=CMSUB.MAC/RP EDI.FOF=EDEXT.MAC/RP EDI.FOF=EDMCM.MAC/RP EDI.FOF=EDIMP.MAC/RP EDI.FOF=EDMRS.MAC/RP EDI.FOF=EDSUB.MAC/RP EDI.FOF=ERROR.MAC/RP EDI.FOF=FILE.MAC/RP EDI.FOF=GETNM.MAC/RP EDI.FOF=LINMP.MAC/RP EDI.FOF=MCALL.MAC/RP EDI.FOF=MSCCM.MAC/RP EDI.FOF=OPCLS.MAC/RP EDI.FOF=SAVE.MAC/RP EDI.FOF=SCAN.MAC/RP EDI.FOF=SRCCM.MAC/RP EDI.FOF=START.MAC/RP EDI.FOF=TTYIO.MAC/RP EDI.FOF=UNSAV.MAC/RP ; ; ; LISTINGS OF THE MODIFICATIONS MADE TO THE IAS V3.0 MODULES**** ; EDI.FOF=BOTTM.CMP/RP EDI.FOF=CMSUB.CMP/RP EDI.FOF=EDEXT.CMP/RP EDI.FOF=EDMCM.CMP/RP EDI.FOF=EDIMP.CMP/RP EDI.FOF=EDMRS.CMP/RP EDI.FOF=EDSUB.CMP/RP EDI.FOF=ERROR.CMP/RP EDI.FOF=FILE.CMP/RP EDI.FOF=GETNM.CMP/RP EDI.FOF=LINMP.CMP/RP EDI.FOF=MCALL.CMP/RP EDI.FOF=MSCCM.CMP/RP EDI.FOF=OPCLS.CMP/RP EDI.FOF=SAVE.CMP/RP EDI.FOF=SCAN.CMP/RP EDI.FOF=SRCCM.CMP/RP EDI.FOF=START.CMP/RP EDI.FOF=TTYIO.CMP/RP EDI.FOF=UNSAV.CMP/RP ; ; ; THE COMMAND FILES ******* ; ; EDI.FOF=EDIASM.CMD/RP EDI.FOF=EDIBLD.CMD/RP EDI.FOF=EDILST.CMD/RP EDI.FOF=EDICMP.CMD/RP ; ; ;*** NOW LIST THE CONTENTS FOR VERIFICATION ; EDI.FOF/FU,LP: ;