The file "make-dirs" is a shell file that will make all of the
directories (inside the current directory) to extract this tape.

APL	- APL interpreter

	The APL on this tape was obtained from Yale (Ken Thompson's
version) and modified at Purdue.  This is a preliminary version
and the documentaion may be out of phase with the sources as
this APL is currently under development.  Documentation is in
src/apl/doc.
    Apl will run under seperate I & D space.  This requires
a modified version of the wait() routine, one for zero args
(wait0) and one for one arg (wait1).  Wait() calls nargs()
which fails for split I & D space.  The y.tab.c file requires
the version of the cc command (in src/cc.c) on this tape.
The difference being the original preprocessor blows up
on excessive "#defines".  The Purdue cc command also moves
a.out to the name of the first .c file (with .c removed)
when ld finishes.  A "-m" flag prevents this and leaves
the binary on a.out.  See file src/apl/run for building APL.
APL tries to run "/bin/ned" to enter functions, etc.  You can
use the "xed" editor on this tape instead as xed is upward
compatible with ned.  APL also tries to exec "/usr/bin/aplp" for
label processing.  src/apl/aplp.c is the source for this file.
Aplp is not in the run file so you will have to compile it yourself.

tape.c 	- Mag tape manipulation (requires tm.c TU10 dev driver)

tm.c	- TU10 driver which allows tape positioning via stty

cr.c	- cr11 driver (reads cards in binary mode)

cards.c	- converts binary card image to ASCII

getty.c - Various changes

login.c	- Various changes, uses motd.c for message-of-the-day

motd.c	- Process message-of-the-day

	Motd is run from login and displays the file "/etc/motd"
on the terminal.  Next, any new data in file "/usr/news/banner"
is displayed.  Motd remembers when you have seen the /usr/news/banner
and does not display it for subsequent logins.  One can also
interrupt out of the message-of-the-day.

ass.c	- Assign device to user

deass.c	- Deassign device

xed.c	- Extended text editor

	Xed refers to a help file "/usr/tgi/src/xed.doc", this file
is on this tape as "xed.help" and the regular doc is in "doc/xed".

dump.c	- Filesystem dump.

	Dump is a version (still under modification) of the Unix
filesystem dump program.  It is not compatible with existing
dump format.  There is extra redundant information to aid in file
recovery due to bad tapes, drives, etc.  There is an "l" flag
which allows long tape records to be written, thus saving much
tape for large (RP04) filesystems.  75,000 disk blocks will fit
on a 2400' reel (1600 bpi) in long record mode (25600 byte records)
verses 19,000 blocks for conventional 512 byte tape records.
If the "l" option is used, the "f" option should be used to
explicity specify the dump device (/dev/rmt0) which should be
a raw magtape device.  The "b" option should also be selected
to specify the tape length at 65535 blocks if "l" is used.
Filesystem dumps made with this version of dump.c can only be
reloaded with the version of restor.c, also on this tape.
Both dump and restor currently have a huge buffer declared
with an "int".  This wastes much core if you are not using
the "l" option.  This buffer should probably be obtained
via a sbrk() system call instead.

restor.c - Reload filesystem dump.

	Restor has been modified to restor tapes made with
the above dump.c program.  If the tape was written with long
records, the "l" option must be specified to restor from it.
If the "l" option is selected, the "f" option should be used to
specify a raw magtape device instead of /dev/mt0 default.  Also
the "i" option is automatically selected if the "l" option is
used because we do not have seeks implemented on raw magtape yet.
This version of restor runs on a system which uses 16 bit user id's
as two 8 bit fields (uid0 and uid1). instead of uid and gid fields
of a standard (ver 6) unix inode.  You will probably have to change
the line containing the "chown" to be the same as the distribution
restor.c.

dcheck.c- Changed to not abort on trashed up directories.

icheck.c- Allows resorting of freelist for faster disk accesses.

tban.c	- Generate large block letters on standard output

help.c	- Browse through Unix documentation or other files

man.c	- shuffle args and call help

splitf.c - Split concatenated fortran program into subroutines

document.c - Generate program documentation.

write.s	- uses raw I/O for character at a time conversation.

sendall.c - Send message to all terminals (even if not logged in)

*****************************************************************

If you have any questions or comments feel free to contact:

	George Goble		Jim Besemer
	EE Computer Network	Purdue ARPA Project
	Electrical Eng. Bldg.	Electrical Eng. Bldg.
	Purdue University	Purdue University
	W. Lafayette, In 47907	W. Lafayette, In 47907
	Phone: 317-493-9479	Phone: 317-493-1420
	       317-493-3890	       317-493-8826
