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 <FF>

	[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:	<PROCESSING OF < AND >> 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:
;