perm filename ERRATA.PUB[OK,TES] blob sn#119648 filedate 1974-09-08 generic text, type C, neo UTF8
C00001 00001
C00002 00002	.<< PUB DECLARATIONS >>
C00005 00003	.<< TITLE PAGE >> BLANK PAGE
C00007 00004	.<<NEW FEATURES LISTING>>
C00011 00005	.<<BODY -- PP. 1-42>>
C00046 00006	.<<APPENDICES -- PP. 43-75>>
C00064 00007	.<<ARPA MAIL SECTION, P. 75>>
C00074 00008	.<<APPENDICES CONT., PP 75 FF.>>
C00095 ENDMK

.TURN ON "{#%α"
.TURN OFF "-" << Too many minus signs would be mistaken for hyphens. >>


.	!XGPLFTMAR ← 216;
.	AT "⊗∪" STUFF "∩" ⊂
%2{}STUFF{}%*{	⊃
.AT "ffi" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "≠" ELSE "fαfαi" ⊃;
.AT "ffl" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "∞" ELSE "fαfαl" ⊃;
.AT "ff" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "≥" ELSE "fαf" ⊃;
.AT "fi" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "≡" ELSE "fαi" ⊃;
.AT "fl" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "∨" ELSE "fαl" ⊃;
.	TURN ON "↓_"
.	AT "⊗∪" STUFF "∩" ⊂
↓_STUFF_↓{	⊃
.AT "''" ⊂
"{⊃ ;
.AT "``" ⊂




.NARROW 2,2; GROUP; TABS 10 ; TURN ON "\" ;





%5M O N I T O R   C O M M A N D   M A N U A L%*
%5(addenda and errata)%*
Brian Harvey


This document contains corrections and additions to the Monitor Command Manual,
SAILON 54.3, reflecting improvements in the system facilities as of the date above. 
A line printer version of this document is available for network users in the
file ERRATA.BH[S,DOC].  Note: page numbers mentioned herein refer to the XGP
edition of SAILON 54.3, even in the LPT version of this document.

.SKIP 6;
This work was supported by the Advanced Research Projects Agency of
the Office of the Secretary of Defense under contract DAHC15-73-C-0435.


.EVERY HEADING(|%5Monitor Command Manual (addenda and errata)|,,|    {PAGE!}%*|)


This edition includes the following changes since the August, 1974 edition:

MAIL/A to append to an earlier message.  Also, the REENTER facility
is better interfaced to the <lf> continued message feature.

RESOURCES command no longer lists job slots and Data Disc channels
available; this information can be derived from the system WHO line.

.once turn off "αβ";
In TELNET, etc., αβF now asks for a filename to append to, rather than
using the name remembered from an earlier ⊗D as βF does.  ⊗<form> puts
a formfeed in the output file, if any.

CONTROL-R in the line editor repeats the last CONTROL-S or CONTROL-K.

Add VOD to the device list.

New commands DRD (runs DIRED) and PARRY (runs PARRY).

The NET,GUE guest account no longer exists.  However, although this
fact is documented, the information about the guest account is still
included in case They change Their mind again.

MAIL, SEND, GRIPE, TYPE, PARRY, and DIRECTORY commands may be given
without being logged in.

.once select 2
(The above list does not mention explicitly secondary changes
implied by the above, e.g., changes to the error messages or
monitor command summary appendices.)

.<<BODY -- PP. 1-42>>

The first sentence of the third paragraph on page 4 (section 1.3)
should be replaced as follows:

A vacant terminal should say %3TAKE ME I'M YOURS!%* along with a line
of cryptic information on an otherwise blank screen.  The cryptic
information is the ⊗∪system WHO line,∩ described on page 17.

The following lines should be added to the device table on page 7 (section
1.5) The old AD device is still present but not for long.

IMP\Interface Message Processor for ARPA network connections
ADC\Analog to digital converter
DAC\Digital to analog converter
VOD\Voder (speech synthesizer)

On page 14 (section 2.2, line editor), add this after the paragraph
about CONTROL-K:

CONTROL-R repeats the last CONTROL-S or CONTROL-K command given
while editing the current line.  It does not use the following
character as an argument, since it remembers the argument from the
CONTROL-S or CONTROL-K command.  (Inside only.)

On page 18 (section 2.5, WHO line), in the paragraph about XTIME,
change the last sentence to ``%1... will be %3"%1 instead of %3'%1
as it usually is.%5''

Add the following paragraph to the description of the audio switch
escape commands on page 21 (section 2.9):

Your program can control the audio switch selection for your terminal
by UUO.  Although programs cannot in general change the audio switch
setting for another terminal, there is a BEEP UUO which can be used to
cause any terminal's loudspeaker to be connected to the beep generator
for a short time (less than one second).  This is used by, e.g., the
SEND command to call the recipient's attention to a message on his
screen.  You can permit or refuse such beep connections by UUO or by
escape commands; BREAK B refuses beeps, and ESC B permits them.  Any
change to your audio switch setting by other means (e.g. ESC U) also
cancels the effect of BREAK B, so you must repeat the BREAK B command
after changing your selection.

Add the following paragraph to section 4.2, page 24:

If your core image includes an upper segment (see page 11), you can set
or clear the write protection bit with the SETUWP or CLRUWP commands.  You
cannot clear write protection for a sharable upper segment if it is
protected against you.  (See the ⊗∪UUO Manual∩ for a complete discussion
of upper segment protection.)  These commands also take an optional octal
argument, which is used to set the protection code for the segment if
you are permitted to change the code.

Add the following sentence to the description of the START command on
page 25 (section 4.3):

If the octal argument is preceded by %3+%* or %3-%*, the number is added
to or subtracted from the program's normal starting address to determine
the desired starting address.

Also add the following sentence to the description of the REENTER
command on the same page:

An octal argument preceded by %3+%* (optional in this case) or %3-%*
will be added to or subtracted from the reenter address.

Add the following sentence to the description of the FORK command on
page 26 (section 4.4):

If the system's job capacity is used up, so that it is impossible to
start a new job, your terminal remains attached to the existing job.

Add the following to the description of the ASSIGN command on page
27 (section 4.5):

Non-local guest account users (see LOGIN, section 5.1) cannot use
most non-sharable devices, either by program request or by the
ASSIGN command.  Since there is no operator on this system, remote
users have no way to mount tapes, collect listings, etc.; hence, the
monitor does not allow such users to attempt I/O on those devices.

The ASSIGN command is used in a special way for User Disk Packs.  A UDP
may be used as a ⊗∪public∩ or a ⊗∪private∩ device.  In the former case,
other jobs may use the same UDP at the same time, as with the system
file disks.  A privately assigned UDP, however, is restricted to the one
job which assigned it.  (Note: a privately assigned UDP is still a
⊗∪sharable∩ device, in the sense that the job which owns it can operate
on several files simultaneously, unlike non-sharable devices like
DECtape drives, on which only one operation can be in progress at any
time.)  A UDP is normally a file-structured device, with a directory
structure just like the one described for the main file disk in section
1.5.  However, it is also possible to use a UDP as an unstructured
device, in which allocation of storage on the disk pack is done
explicitly by the user program.  This mode of using the UDP is called
⊗∪old∩ mode (because it used to be the only mode available).  The
format of the ASSIGN command for a UDP is

ASSIGN mode UDPn logical-name

The optional mode argument can be

PUBLIC\public access, file structured UDP
PRIVATE\private access, file structured UDP
OLD\private access, non-structured UDP

The default mode is PUBLIC.  A later ASSIGN command for the same device
can be used to change the mode from PRIVATE to PUBLIC, or from PUBLIC
to PRIVATE if no other jobs are using the device.  However, to change
into or out of OLD mode, the device must first be deassigned by all
jobs using it.  This is because a particular pack either is or isn't
formatted for file structured use, and the mode given in the ASSIGN
command must agree with that of the pack itself.  (A mismatch is not
detected when you give the ASSIGN command, but will be caught when
your program actually tries to use the device.)  The only exception is
that a formatted pack may be read, but not written, in OLD mode.

Although we have only one disk drive for user packs at present, the
monitor provides for the possibility of several such drives, and
treats %3UDP%* as a generic device name.  The command %3ASSIGN#UDP%*
will select a drive only if it is not in use, although a command which
specifies a particular drive (%3ASSIGN#UDP1%*) will succeed if the
drive is in use but PUBLIC.  Unlike other devices, the UDP must be
ASSIGNed before it can be used by a program, to ensure that the
proper mode is used.  For more details on the use of user packs, see
the ⊗∪UUO Manual∩.

Add this paragraph to the description of DEASSIGN on page 27:

Because UDPs can be assigned in a way which permits public access, the
DEASSIGN command for a UDP types a message at your terminal indicating
whether or not the pack should be dismounted.  If you interrupt a
program which is using a UDP and deassign the UDP, it will still be
considered in use by your program until you reset it (for example,
by the %3CORE#0%* command).  You will then be told that you may
dismount the pack.

Add this to the description of the PJOB command on page 27 (section 4.6):

The argument can be a name of the form %3DDn%*, to find out who is
using Data Disc channel n.  You will be told the TTY line number, if
any, as well as the job number.  Also, if the argument is a UDP, the
command may type out %3UDP1 PUBLIC%* if applicable, and will type a
job number only if that job has assigned the drive as PRIVATE or OLD.

Add the following sentence to the description of the command %3TIME 0%* on
page 28 (section 4.6):

It also types the percentage spent in the monitor at interrupt level,
but this information is provided for the benefit of system wizards and is
not particularly meaningful to users.

Also, add this to the description of the DAYTIME command on that page:

If the job has been logged in since the previous day, dates (day of
the month) are typed along with the three times.

Replace the description of RESOURCES (page 28, section 4.6) with this:

The RESOURCES command lists the available system resources: it types
the number of free tracks on the file disk, and the names of free
devices (mag tape, etc.) other than the disk, IMP, and terminals.
A separate line is typed for each UDP drive (currently there is only one)
unless the drive is detached from the system or being used for swapping.
The line contains just the device name if the drive is free; otherwise it
indicates whether it is %3PUBLIC%* or %3PRIVATE%*;
if the drive has a file-structured
pack mounted, its name (volume ID) and the number of free tracks,
as for the DSK device,
will be typed if known to the monitor.  (That is, the name
will be typed if any input/output operation has actually happened
on that pack since it was mounted.)

Also, add this to the FILES description in the next paragraph,
after the sentence ``%1... for end-of-file seen.%*''

The letter U indicates that the file is on a UDP.

Replace the last paragraph on page 30 and the first paragraph on page 31
(section 5.1, LOGIN) as follows:

It is possible to set a password and file protection codes to restrict
access to a particular PPN.  If the PPN you specify to LOGIN has a
password, LOGIN types %3Password=%* and you must type the correct
password to log in.  Echoing of input characters is turned off so the
password does not print.  Passwords may be one to six letters or digits
followed by RETURN.  To protect files from unauthorized access, there
is a protection code associated with each file.  The code specifies the
access allowed to the file for its owner (i.e., a user logged in under
the file's PPN), for other authorized AI Lab users,
and for guest users who are logged in remotely (from the ARPA
network, dial-up telephone lines, or campus terminals).  You can set
the protection code for a file using the COPY program (see Appendix 2).
However, you must use the LOGIN program to set the protection code of
your file directory itself, and the default protection code which is
assigned to new files created in your directory if the program writing
the file does not specify a value explicitly.  If you use α% as the
delimiter between the project and programmer names when you log in,
LOGIN will give you the opportunity to change your password, the file
directory protection, and the default protection for new files.  The
protection codes are entered as three-digit octal numbers, with the
following meanings:

Bit\Meaning in directory protection code\Meaning in file protection code
.skip 1
400\password is for remote logins only (see below)\don't dump this file (see DART, Appendix 5)
200\unused\delete protect (see COPY, Appendix 2)
100\owner may not write files\owner may not overwrite this file
040\local users may not change protection of files\... of this file
020\local users may not read directory or any files\... read this file
010\local users may not write any files\... overwrite this file
004\guest users may not change protection of files\... of this file
002\guest users may not read directory or any files\... read this file
001\guest users may not write any files\... overwrite this file
Bit\Meaning in directory protection code
.skip 1
400\password is for remote logins only (see below)
100\owner may not write files
040\local users may not change protection of files
020\local users may not read directory or any files
010\local users may not write any files
004\guest users may not change protection of files
002\guest users may not read directory or any files
001\guest users may not write any files
Bit\Meaning in file protection code
.skip 1
400\don't dump this file (see DART, Appendix 5)
200\delete protect (see COPY, Appendix 2)
100\owner may not overwrite this file
040\local users may not change protection of this file
020\local users may not read this file
010\local users may not overwrite this file
004\guest users may not change protection of this file
002\guest users may not read this file
001\guest users may not overwrite this file

If the 400 bit is on in the protection code for a file directory, the
password  associated with that  area is used  only for  logins from a
remote site; no  password will be  required for  local login on  that
PPN.   Except for  the special %3NET,GUE%*  guest account  (see below),
remote login  is not allowed on a PPN which does not have a password;
thus, if you want  to be able to log  in remotely but do not  want to
have to type  a password for local login, you can  set the 400 bit in
your directory's protection code.   Remote users without accounts  on
the system can log in as %3NET,GUE%* (network guest) without a password.
(Instead, if you log  in as %3NET,GUE%* you will be asked to type in your
name.  Any name you give is accepted and stored to identify  your job
as  long  as you  remain  logged  in; the FINGER command (see Section 5.11)
will type the name you give to identify you to other users.)  It is possible
to set up special guest accounts without the password requirement for use
by specific AI Lab project groups; consult a system programmer for more
information on this.

(Note: at the present time the NET,GUE account has been discontinued,
because it was using too much computer time.  People who are not
authorized users cannot log in remotely.  A few monitor commands are
allowed without login, as mentioned in the individual command

Users with access  to  local
terminals  who sometimes need to  log in remotely  can set a password
(with α%) for their own PPNs; remote users who want to establish their
own file directories should communicate with Lester Earnest.  (Type
eth command %3MAIL LES%*.)  Sometimes you may find the system  is
in ⊗∪maintenance mode,∩ which  means that the monitor is  being debugged
and the system is not available for normal use.  If you try to log in
at such a time you will be asked for the maintenance password.

Change the reference to %1APE%* on page 32 (section 5.1, LOGIN) to %1NS%*.

Add the following at the end of the LOGOUT description (page 33, section 5.2):

Any of these commands, when typed at a PTY which is not owned by a TELNET
server (that is, not the virtual terminal of an ARPA network user), simply
kills the job without running the LOGOUT program.  This has approximately
the effect of KJOB/F.

Add the following to the table of E commands on page 33 (section 5.3):

READ\edit with E in book mode

Also, the second line of the table of compile-type RPG commands should be:

LOAD\compile and load programs

Delete %3HELP%* from the list of COPY commands.  (There is now a
separate HELP program for this command.)

Replace the last paragraph on page 34 (section 5.4, COPY and SPOOL)
with this:

The commands in this section all require that you be logged in,
except for TYPE, DIRECTORY, and QSPOOL.

Add this to the table of MAIL commands on page 35 (section 5.5):

PLAN\create plan file for FINGER (see page 40)

Replace the last paragraph of section 5.5 (MAIL, page 35) with this:

The commands in this section all require that you be logged in,
except for MAIL, SEND, GRIPE, and RCV.

In the table of special characters for DO (section 5.7, page 36), the
description of ? should say ``%3DO types out "A=####" and waits%*...''
rather than %3?A%*.

Replace the last paragraph of section 5.8 (ZERO, page 37) with this:

The ZERO program is not used for new-format (file structured) UDPs.
It can be used to change the password of an old-format UDP, and also
allows the initialization on such a UDP of the file structure
formerly used by the COPY program, although this feature is now
obsolete.  The UDPUFD command is used to set passwords and
create file directories on new-format UDPs.

Add the following paragraph to the WHO command writeup (section 5.9,
page 38):

From a non-display terminal only, the command %3WHO/Q%* will type
only PPN and TTY for each job which is not detached.  ARPA network
users are listed separately.  This is intended for Quick typeout.

Add the following to the description of FINGER on page 40 (section 5.11):

If the programmer specified as the argument to FINGER is not logged in,
the program types the date and time of his last logout.  Also, if he has
created a plan file (with the PLAN command, Appendix 4) it is typed.
FINGER will accept human being names as argument instead of programmer
names, if desired.

Replace the description of HELP on page 40 (section 5.11) with

The HELP command provides information about system programs and
facilities.  It takes as its argument the name of some program or
concept, and provides some short description of that facility, if
such a description exists.  The data for HELP comes from the [3,2]
directory; this data consists mostly of short text files which are
typed by HELP, but may also include programs or monitor commands
which HELP will run for you.  If no HELP is available, but there is
a longer document available in one of the standard documentation
file directories, HELP will so inform you.  If you type %3HELP%*
with no argument, the program will list the topics on which HELP
is available.  (Some of the HELPers which run programs rather than
just typing text at you require that you be logged in. %3HELP#LOGIN%*
is cleverly not among those.)

Replace the description of SYSTAT on page 40 (section 5.11) with

The SYSTAT command runs the WHO program (see section 5.9).  The old
SYSTAT program is no longer supported on this system, but the command
name was retained for compatibility with other systems.

Change the sentence ``%1Except for FIXIMLAC ...%*'' in the first
paragraph of section 5.12 (page 40) to ``%1Except as noted below,
they require that you be logged in.%*''  Also add ``%1This command
may be given when not logged in.%*'' to the FIXIMLAC paragraph
on the same page.

Delete the sentence beginning ``%1If you end the command line with ALT ...%*''
in the description of the TELNET command on page 41 (section 5.12).  The effect
formerly achieved by ALT is now used automatically in all cases.  Also,
add the following paragraph after the TELNET description:

It is possible to establish TELNET-like connections to remote computers
by using dial-up connections via the dataphones normally used for
incoming dial-up lines.  Such dataphones are presently associated with TTY10 and
TTY11; the dataphone on TTY11 includes an automatic dialing circuit.  The
DIAL command will establish an outgoing dataphone connection and thereafter
behave like a TELNET.  The dial command takes as its argument either the
device name of a TTY, in which case you must dial the number you want
manually on the associated dataphone, or a telephone number in the form


where %3d%* represents a digit and braces enclose optional characters.
In the latter case, the telephone number is dialed automatically on TTY11's

Add the following to the end of page 41 (section 5.12):

The NS command runs the News Service program, which allows access to
news stories which have been received from the
Associated Press and New York Times
news wires.  The HOT command runs the HOT program, which
types AP or NYT stories as they come in.
These commands are restricted to local users at
the request of the Associated Press.  Full documentation on the
news service is contained in the file NS.ME[S,DOC].

The UDPUFD command runs the UDPUFD program, which is used to create
or delete user file directories on file-structured user disk packs.
The command format is %3UDPUFD PRJ,PRG%* (you must first ASSIGN the
UDP).  To create a new directory, you must know the pack password;
to change or delete a directory you must know its password.  You can
change the directory's password or file protection codes with UDPUFD
as you can for the main file disk with LOGIN (see Section 5.1).  You
can delete a directory only if it is empty.  This
is a privileged program, and the command is restricted to local users
(as is the UDP itself).

The DRD command (not related to the Department of Redundancy Department)
runs the DIRED program, for displaying and manipulating file directories
at a Stanford display terminal.  See the file DIRED.SGK[UP,DOC] for

The PARRY command runs PARRY, the paranoid model.  It may be used
without being logged in.

Add the following to section 6, page 42:

Privileges can be enabled or disabled at any time.  That is, for each job,
the monitor remembers the privileges to which the job is entitled as well
as the ones which are presently active.  All privileges to which you are
entitled are normally activated when you log in, but you may choose to
disable any or all for safety reasons.  The ENABLE and DISABLE commands,
with no arguments, turn on or off all privileges to which you are entitled. 
These commands may also be used with a privilege name as argument, to
enable or disable specific privileges.  If you have the PRI privilege,
you can enable specific privileges to which you are not entitled, except
that privileges which are intended only for specific programs (XGP font
compiler, service level monitor) cannot be enabled by any user.

Also, a few system programs intended for general use require special
privileges.  Such programs are run by special commands (not R or RUN),
and any attempt to modify your core image while running such a program
will disable the temporary privileges involved.
.<<APPENDICES -- PP. 43-75>>

In the description of the CETV and ETV commands on page 44 (appendix 1),
in the last line of the paragraph numbered 1, the word ``%1of%*'' should
be ``%1if%*''.  Also, delete the last sentence in the last paragraph on
that page, numbered 3.  (TMPCOR files for each job are now saved separately
for each alias used by that job.)  Add the following paragraph at the end
of the page:


The READ command starts E in a special mode, called ⊗∪book mode,∩ used
to read long files over an extended time period.  In this mode, E does
several things differently from the normal editing procedure:

1.  If there is a file with the name in the READ command, extension BKP,
and PPN matching that given in the command, your ALIAS PPN, or your
login PPN (tried in that order), it is used as an RPG file to determine
where to start editing the specified file.  This ``bookmark'' file is not
deleted by LOGOUT, so you can continue reading at a later session.  The
file, if found, is updated when you exit from E; if there was no BKP file,
one is created on your (alias) area when you exit.

2.  A READ command with no argument uses RPG (TMPCOR) files as ETV does,
but the filename used is different, so you can alternate ETV and READ
commands for different files with no confusion.

3.  E does not allow you to modify the file when using book mode.

Insert the following entry in the table of ``filehack selectors'' on
page 58 (appendix 2, COPY):

.TABLE; TABS 10,30; INDENT 0,29;
PLAN\<pn>.PLN[2,2]\Current user's PLAN file

In the paragraph about page lists on page 58 (appendix 2, COPY), add this:

An asterisk (%3*%*) may be used in a page list instead of
the final page number,
to denote the last page, e.g., %3LIST#COPY(3:*)%* would list all but the
first two pages of the file COPY.

Replace the paragraph on the User Disk Pack on page 59 (appendix 2, COPY)
with this:

COPY treats new-format (file structured) UDPs like the main file disk.
The old file-structure simulation which COPY provided for old-format
UDPs is no longer available.

Insert this sentence in the paragraph about DECtapes on page 59 (appendix
2, COPY):

The total file capacity of a DECtape is about 71.4K words.

Insert the following on page 60 (appendix 2, COPY), before the
``Switches'' section:

Spooling pseudo-devices:

COPY recognizes two pseudo-device names, TPL: and PGX:, to allow
spooling of the output of some copy function to the LPT or XGP,
respectively.  These device names may be used only in output terms,
and may not be used with file names.  COPY creates a file on the [SPL,SYS]
directory containing the desired output, and enters a spooling request
for the appropriate device.  The file is deleted after spooling.  For a
standard COPY command, the effect is essentially equivalent to the
recommended SPOOL/RECOPY (see page 66); the main advantage of this
capability is for direct spooling of list terms, e.g.,


to spool a list of the [*,SYS] file directories.  (Note: It is claimed
that these pseudo-device names stand for The Pseudo Lpt and Pseudo
Graphic Xerox-machine respectively.)

In the list of COPY switches (page 61, appendix 2), add this entry:

.BEGIN NARROW 2,5; TABS 16,21; INDENT 0,20; TURN ON "\";
NOSPACES\NOS\This switch eliminates spaces at the end of a line.

Also, on page 62, add %3/REFERENCE%* and
change the abbreviation for %3/RENAME%* as follows:

.BEGIN NARROW 2,5; TABS 16,21; INDENT 0,20; TURN ON "\";
REFERENCE\REF\This switch is like /SEARCH below, but includes in the
directory listing an extra column containing the date on which each
file was last read (referenced by LOOKUP).

RENAME\REN\A rename is done on the input file with the output file
information.  /QUIET applies when the output filnam.ext already exists.

Remove %3HELP%* from the list of monitor commands which run COPY
(page 63, appendix 2).

In the table of spooler switches (page 66, appendix 3), the entry
for %3/REPEAT%* should be

.TABLE; TABS 13,17; INDENT 0,12;
REPEAT=n\Make n copies of the listing.  (REPEAT is NOT sticky,
\and is not allowed in XSPOOL.)

Insert the following on page 66 (appendix 3, SPOOL), before the
``Delayed Listing'' section:

File specifications may be read from an auxiliary file by including
in the command line the name of the auxiliary file preceded by %3@%*. 
This file may include file names and switches.

Add the following to the table of XSPOOL switches, page 68:

NOXGP\Opposite of /XGP.

NTNODE=n\Sets the number of text nodes allocated by the monitor (see below).

NVNODE=n\Sets the number of vector nodes allocated.

Also add the following at the end of page 68:

⊗∪Text nodes∩ and ⊗∪vector nodes∩ are units of core storage allocation
used by the monitor's XGP service routines.  Generally, you need not
worry about them, but if you have trouble printing a complex document
the allocation control switches may be able to help you.  See a
system wizard to find out.

The %3/XGP%* switch, when present, turns off the usual default
assumptions about other switches; in particular, %3/HEADING%* is
not assumed unless it is explicitly used.  Spooling a file with
extension .XGP implies a default of %3/NONUMBER%* as well as

Add the following paragraphs to the QSPOOL and UNSPOOL descriptions
(page 69, appendix 3):

The commands %3QSPOOL/LPT%* and %3QSPOOL/XGP%* will list
spool requests only for the indicated device.

The commands %3UNSPOOL/LPT%* and %3UNSPOOL/XGP%* will list and delete
spool requests only for the indicated device.  Also, if you run
UNSPOOL and give the monitor REENTER command, it allows you the
extended capabilities described above for the SPL,SYS user.

On page 70 (appendix 4, MAIL), insert the following after the description
of the GRIPE command.  Also, add PLAN to the subheading on that page.

A final special-purpose command is PLAN, which creates a file intended
to describe your projected whereabouts, travel plans, etc. to other
users who may look for you while you are away.  The format is

PLAN <message>

Unlike the other MAIL commands, PLAN creates a file containing only the
message in the command rather than adding the message to any previously
created messages.  Also, if you use a null message, your plan file is
deleted.  The plan files are read by the FINGER program (see page 40).

On page 70 (appendix 4, MAIL), change the first sentence of the
paragraph starting ``%1The only switches alowed...%*'' to

The switches which can be used with MAIL, SEND, or REMIND are
%3/D%* and %3/U%*.

Also, add this paragraph before the last one beginning on that page:

The %3/A%* (append) switch can be used with the MAIL command only.  It
means that the message you enter should be appended to the most recent
earlier message from you (i.e., from a user with your login programmer
name) to each recipient.  If there is no such message, a new message
will be created as if %3/A%* had not been used.

On page 71 (appendix 4, MAIL), insert the following paragraphs before
the one starting ``%1For the SEND command, ...%*'':

The MAIL command also allows the use of destinations at foreign ARPA
network sites.  This facility is described in detail later in this

If there is a file named OUTGO.MSG on your (ALIAS) disk area, MAIL will
save your message at the front of that file as well as mailing it to
the specified destinations.  The distribution list will be included in
this file whether or not you use the /D switch.

If you do not know the programmer name for a user, you can use his
human being type name instead (first or last name).  The name will
be found in the file of authorized users, if it is present there,
and you will be told the programmer name for that user to encourage
you to use it in the future (it's faster).  If there is more than
one user with the name you give, it tells you all the relevant
programmer names and invites you to try again.

Also, replace the following paragraph with this one:

For the SEND command, there are several special forms of destination: a
job number, the device name of a terminal followed optionally by a colon,
%3*%* (sends to all logged-in users), and %3ARPA*%* (sends to all users
logged in via the ARPA network).  Any of these special forms, if used,
must be the only destination specified.

On page 72 (appendix 4, MAIL), replace the paragraph starting ``%1The check
for a file...%*'' as follows:

The check for a file directory for the specified user(s) is made before
the program asks for the message if the multi-line option is used.  If there
are no valid destinations, the program exits without doing anything
else.  If any destinations are valid, however, the program asks if you
wish to continue, and if so it continues as if only the valid destinations
were specified.  (Exception:  The list provided by /D includes all
specified destinations, valid or invalid.)# The special case of a
command like %3SEND#PRJ,PRG%* where what is meant is %3SEND#[PRJ,PRG]%*
will be caught if %3PRJ%* is not the name of a programmer, and the
(probable) desired effect is simulated with a warning message
given.  Note: in the case of SEND, you will be warned if a destination
user is not logged in.  Unlike the message for an invalid destination,
this warning does not require you to reconfirm your desire to continue. 
After you finish typing in the message, you are again notified of
not-logged-in destinations as described earlier.

On page 73 (appendix 4, MAIL), add this to the last paragraph before the
REMIND heading, about the REENTER command:

If the original command line contained text ending with a <lf>, for the
continued message feature, the text loaded into the line editor will not
include that text; therefore, the entire multi-line message will be used
as the new message if you do not add any text on the command line.

On page 74 (appendix 4, MAIL), add this to the paragraph after the table
of time formats:

A time without a date may be followed by an asterisk (%3*%*), in which case
the reminder will be sent every day at the time specified.

On page 74 (appendix 4, MAIL), in the paragraph starting ``%1The optional
count field...%*'' replace ``%1#ffl%*'' with ``%1#%3∞%5''.

Add the following paragraph above the last paragraph on page 74
(appendix 4, MAIL, description of REMIND command):

Since the structure of the reminder queue is rather sensitive to
incorrect date and time information, the current date and time
according to the monitor are checked for reasonableness against
the reminder file.  If they are considered unreasonable, no reminders
will be accepted or delivered until the system has been up for at
least five minutes.  (Hopefully by then an incorrect date or time
entry will have been noticed and corrected.)

Add the following new section before the description of the RCV
command on page 75 (appendix 4).

MAIL to ARPA network hosts

The MAIL command allows mail to be sent to users at other ARPA
network sites.  (This service is not available to network guests, sorry.)

Since the ``@'' character was already used in MAIL to specify a file
to be read for command arguments, the character ``α%'' is used to
signify ARPA site names, e.g., %3BHα%SU-AI%* not %3BH@SU-AI%*.  Site names
can follow a user name, as above, or can be used alone (followed by
a space) as a ``sticky'' site:


will send the message to RG, TK, MINSKY, and PAPERT at MIT-AI, and
to BH at SAIL.  (Of course, if SAIL is used as the site name the
mail is not actually sent through the network!)

User names for foreign hosts can be of (essentially) arbitrary length.
If the name is a string of letters and digits starting with a letter,
it can simply be typed as is: %3TEITELMAN α% MAXC%* for example.  (The case
of letters is preserved, in case it matters to the foreign host.)  If
the user name contains characters other than letters and digits, or
starts with a digit, enclose it in quotes (%3"%*) with two quotes used to
represent a single quote if necessary.  The host name cannot contain
any special characters except hyphen.  Partial site names are recognized
as in our TELNET and FTP programs.  Also, a decimal number may be used
instead of a host name if necessary.

If the destination list in a MAIL command includes PPNs at SAIL (which
must be enclosed in square brackets), SAIL is assumed as the destination
host and should not be specified explicitly, e.g.,


mails to TK at MIT-AI and [1,BH] at SAIL.  To mail to a PPN somewhere
else, you must say, e.g.:

MAIL "[N900AR00]"%CMU

The outcome of an attempt to send network mail is reported to you, in
a format somewhat like SNDMSG in TENEX.  The possible outcomes are

USER at SITE -- ok
USER at SITE -- refused
USER at SITE -- queued
USER at SITE -- failed

The first case means that the mail was successfully sent.  The second
means that the network connection was made successfully but the MAIL
command was rejected, possibly because there is no such user at that


Network mail will be queued if it cannot be sent when
you make the request (remote host down, etc.)  The mail is queued via
the REMIND phantom.  The status report from the MAIL command is ``queued''.
The mail will be retried at three-hour intervals for three days.  If
it is sent successfully, or if the three days run out and the request
is deleted, you will receive a status report from the REMIND phantom,
in the form of a reminder from yourself saying

ARPA network mail to USER at SITE -- ok

if successful, or

ARPA network mail to USER at SITE -- expired

if not.  The date and time in the header of this status report will be
the time when the message is actually sent successfully (or deleted).
The date and time in the header of the message sent to the remote site
is the time when you originally tried to send the message.

It is also possible to get a status report saying

ARPA network mail to USER at SITE -- refused

if the connection to the remote host is made but the host refuses the
mail.  This status report will also include any error message returned
to us by the remote host.

If a message which was typed in (i.e., not from a @FILE construction)
returns either a queued or a failed response, the text of the message
is saved in a file FAILED.TXT in your (alias) directory.  This should
not be necessary for queued mail, which will eventually be sent
automatically if possible, but is necessary for failed and reassuring
for queued.  The file contains the message as typed, i.e., no header
of either internal or external format, and no space added in front of
each line.  If the file cannot be entered (e.g., you are aliased to a
write protected directory), nothing special is done, but if the file
is written successfully you are so informed.

The CANCEL command lists ARPA mail which you have queued and allows
you to abort the request.  The listing by CANCEL contains the text
of your message and the name of the addressee, but lists his site by
number rather than by name.  It also specifies the number of attempts
remaining before the request will be deleted.

It is possible to get a ``failed'' status report from a network
MAIL command if the program is unable to enter the request in the
REMIND queue, for instance because there are no job slots available
for the phantom.  In this case you must try again later yourself.
(You can save the text of a long message you have typed in by giving
the monitor REENTER command after MAIL exits and redirecting the
mail to yourself.)

Usually if the mail is refused, and possibly otherwise, the remote host
will send us error messages intended to be helpful to you.  If any such
messages are received which are not part of the normal MAIL sequence,
they are typed out along with the status report.  Thus you can hopefully
figure out why the mail was refused.

Mail to foreign hosts is prefixed with a TENEX-ish header including your
real name, if known to the system, and your net address (%3PRG @ SU-AI%*).
Thus recipients should be able to figure out how to reply.

Distribution list files as in %3MAIL @FILE%* can, naturally, include
network destinations.  The /D switch, which includes the list of
addressees in the message, includes network addressees, as typed
(e.g., with abbreviated site names if that's what you typed).  The
message header as sent to each net addressee has his site name
in full, with his user ID as you typed it.

Add to the discussion of RCV arguments at the end of page 75
(appendix 4):

Finally, an argument of the form %3?PRG%* will type the plan file
for user PRG, if there is one.  In this case, the file is merely
typed, not edited.

Add the following entries to the table of RCV options on page 76
(appendix 4):

A\Appends to it from your terminal
P\Postpones the decision for a long message (see below)

In the next paragraph, delete ``%2except for %1? which activates itself.%5''

On the same page, in the paragraph on the Z option, replace the last
two sentences (starting ``%1The only way to add new lines...%*'') with

You can switch from Z editing mode to A (append) mode by typing
<control><meta>A.  The current line will be stored as it appeared on
your screen before you typed <control><meta>A, editing is ended as if
you had typed <control><cr>, and you are invited to type in additional
text as in the A option.  The Z option editor is slow and rather
stupid; if you have any sizable changes to make to the message you will
probably be better off using the T option to move it to a separate file,
editing it with E, and re-mailing it.

Also, add the following to the paragraph concerning long messages
on page 77, starting ``%1It is possible....%*''

If the option you select is %3E%* or %3!%*, then Quiet processing
is always assumed. 
If you wish, you may postpone the decision on how to process the
message until after seeing the rest of it, by typing %3P%* to the
option request.  This will type the remainder of the message and
ask again for an option.  %3QP%* is illegal, and %3P%* is only
legal when a message overflows.

In the table of DART monitor commands on page 78 (appendix 5), the
entries for LOCATE and TLIST should be:


Add the following after the second line on page 88 (appendix 8, ARPA):

The information which follows also applies to the DIAL program, a
version of T which uses dial-up telephone connections rather than the
ARPA network.  The format of the DIAL command is explained on page 41.
Another version of T is called PTYJOB, for communicating with a
pseudo-Teletype; it is not run with its own monitor command, but by

In the list of telnet control commands starting on page 88, change the
entry for %1⊗H%* to %1<arg>⊗S%*.  (The %1⊗H%* in the text of that entry
must also be changed to %1⊗S%*.)  The existing entry for %1⊗S%* should
now say ``%1⊗S (no arg)%*''.  The following entries should also be
modified as shown here:

βE\Begin local echoing.  Also attempts to turn off remote echoing.  Different
sites have different echoing conventions.  Some sites expect to send back
echoing, some do not.  If you find that what you type is not being echoed
in a reasonable time, you may use this command to let you see what you are
typing.  In the DIAL prgram, this makes you look like a half duplex terminal,
and does not change the state of remote echoing.

αβE\Terminate local echoing.  Also attempts to turn on remote echoing.  One
does this when each key one types appears twice on the console.  Turning off
local echoing will often eliminate one copy of the key.  The DIAL program
does not attempt to change the state of remote echoing.

Also add the following new control commands:

βO\Turn on console typeout.  See αβO.

αβO\Turn off console typeout.  Useful when output is already going to a
file and you don't want to waste the time it takes to type out on your
console as well.

βF\Open output file like βD, but append the text to an existing file of
the same name.  You are only asked for a file name if you have not
previously opened an output file with βD or ⊗F during this session; if
you have already named an output file, the new output will be appended
to that one.

αβF\Append to file, like βF, but always asks for a file name.

⊗<form>\If there is an output file open, insert a form feed character
in it.

⊗C\(TELNET only)  Send interrupt.  This is the network protocol for
``return to monitor'' or equivalent.

βC\(DIAL only)  Turn on control character mode.  In this mode all
characters received from the dataphone are typed on your console.

αβC\(DIAL only)  Turn off control character mode.  In this mode, octal
codes 1-10, 16-37, and 177 are not typed on your console when received
from the dataphone.

βM\(PTYJOB only)  Enters a mode in which all 9-bit characters you type
are sent unchanged to the PTY except βM, αβM, βZ, and αβZ.  (Of course,
if you are in line-at-a-time mode some control characters are still
interpreted by the system line editor.)

αβM\(PTYJOB only)  Leaves the above mode; meta-characters are again
interpreted as commands to PTYJOB.

⊗Z\(PTYJOB only)  Quotes the following 9-bit character, so it is sent
to the PTY as is, regardless of the βM mode switch.

On the third line of the FTP description on page 90, ``%1⊗FTP←%*''
should be ``%1FTP%*''.

In the description of the XGP on page 97 (appendix 9), delete the
reference to the VERTICAL POSITION knob.  This knob may be in any
position, and should not normally be changed by users.

Replace the last paragraph on page 100 (appendix 9, fixing memory
stops) as follows:

Once the memory is reset, the computers have to be convinced that
nothing bad happened.  To do this on the PDP-10, the USER MODE light
on the console must be off.  If it is on, first turn on the SINGLE
INSTRUCTION switch on the console, then push CONTINUE.  This should
turn off the USER MODE light.  Then turn off the SINGLE INSTRUCTION
switch.  When the USER MODE light is off, enter 700200#010003 in the
data switches and push the EXECUTE key.  If the MEMORY STOP light on
the PDP-6 is on, follow the same procedure as on the PDP-10 with these
exceptions:  Instead
of a USER MODE light on the console, the PDP-6 has an EXEC MODE light
at the top of the second bay to the left of the console; this light must
be on for the execute.  Also, there is no SINGLE INSTRUCTION switch on
the PDP-6; instead, while the INSTRUCTION STOP switch is down, push
INSTRUCTION CONTINUE once.  Finally, push CONTINUE on both machines.

Replace the last paragraph on page 101
(appendix 10, reloading) with the following:

If this procedure fails, check that the NXM STOP switch on the console
is turned on; then check the following switches, located inside the
second door to the left of the console: JSYS ENB and MAPAC ENB off,

If the system loader tape still fails, find the DECtape with the
current system.  The DECtape will be labeled with the system name and
date.  Mount it on some DECtape drive.  Find the paper tape labeled
256K TENDMP or 128K TENDMP, and load it into the paper tape reader
(on the PDP-10).  Stop the PDP-6.  Press RESET and READ IN on the
PDP-10.  The paper tape will be read, and the CTY will type carriage
return and line feed.  Type %3n$%* where %3n%* is the number of the
DECtape drive and %3$%* is an alt mode.  The DECtape should spin
for a while, then it will stop and the CTY will type crlf again.
Type %3L$S%* then
carriage return.  The DECtape will spin again, followed by another
crlf.  Type %3206$%* then %3G$%* to start the system.  (If the
Librascope disk is down, type %3200$G$%* instead.)

The following monitor error messages should be added to the list
in appendix 11, starting on page 102, in alphabetical sequence:



You gave an %3ASSIGN PUBLIC%* or %3ASSIGN PRIVATE%* command for a
UDP which was already assigned as OLD, or vice versa.  The UDP
will be assigned to your job as PUBLIC.


You gave an %3ASSIGN PRIVATE%* or %3ASSIGN OLD%* command for a UDP
which was already in use by another job.  The UDP will be assigned
to your job as PUBLIC.


You gave the privileged DETACH command with a Data Disc channel as
argument, and the channel is in use.


The PDP-6 has detected an illegal address which you specified to be used
for some function connected with the ADC or DAC device.  This was not
detected when your program executed a UUO, but asynchronously, in the
device service program running on the PDP-6.


You have given an %3ASSIGN OLD%* command for a UDP, and mounted a pack which
has been formatted for file-structured use, and your program tried to
write on the pack (gave an ENTER UUO).


You gave a SETUWP or CLRUWP command with an argument greater than
1000 octal.


The privilege name specified in an ENABLE or DISABLE command does
not exist.


You typed a SETUWP or CLRUWP command and your core image does not
include an upper segment.


You have typed an %3ASSIGN PUBLIC%* or %3ASSIGN PRIVATE%* command
for a UDP, and mounted a pack which has not been formatted for
file-structured use.  The error is not detected until your program
tries to perform some operation on the UDP.  See a system programmer
about formatting your pack.


You typed a KILL command with a job number not belonging to your
programmer name.


You typed a SETUWP or CLRUWP command, and are not permitted to
change the write protection of your core image's upper segment.


You typed an ENABLE command specifying a privilege name, and
neither the privilege you specified nor the PRI privilege is
in the list associated with your PPN; or the privilege is one
which is not permitted to any user (XGP or SSL).


Your program has tried to perform some operation on a UDP, and
there is no pack mounted, or the drive is not turned on, or it
does not have its ID plug inserted in the front panel, or it
is switched to read-only and your program tried to write on it.


You typed a KILL command with your own job number as the argument.


Also, add ``%1or KILL%*'' after ``%1ATTACH%*'' in the description
of the %3NO#SUCH#JOB%* message, and remove the reference to the
KILL command in the description of the %3OUT#OF#BOUNDS%* message.
Remove the %3IMP#IS#DEAD%* message.  (This condition is reported
to the user program by an error status bit.)

Add the following to the monitor command summary, pages 118
and 119:

.SELECT 4; TABS 11,45,54,65,78; TURN ON "\#"; TURN OFF "{";
CLruwp\clear upper segment write protect\CLruwp\\{prot}\24
DIAl\talk to computer by telephone\DIAl\DIAL\dv | phone\41
DISable\⊂ disable privileges ⊃\DISable\\⊂ {priv} ⊃\42
DRd\run directory editor\DRd\DIRED\{[prj,prg]}\41
ENable\⊂ enable privileges ⊃\ENable\\⊂ {priv} ⊃\42
HOt\read AP or NYT news wire\HOt\HOT\-\41
NS\read AP or NYT stories\NS\NS\-\41
PLan\create plan file\PLan\MAIL\\70
READ\edit with E in book mode\READ\E\{fn}\44
UDpufd\create UDP file directory\UDpufd\UDPUFD\prj,prg\41

.TABS 11,21,33
CLruwp\clear upper segment write protect
.TABS 11,21,33;
DIAl\talk to computer by telephone
DISable\⊂ disable privileges ⊃
DRd\run directory editor
ENable\⊂ enable privileges ⊃
HOt\read AP or NYT news wire
NS\read AP or NYT stories
PLan\create plan file
READ\edit with E in book mode
UDpufd\create UDP file directory
.TABS 11,21,33
DIAl\DIAL\dv | phone\41
DISable\\⊂ {priv} ⊃\42
ENable\\⊂ {priv} ⊃\42


The %3Unspool%* entry should now be %3UNspool%* (changing minimum
abbreviation).  On page 119, the SYSTAT command now runs the WHO
program, not SYSTAT.  Also, HELP now runs HELP, not COPY.

Also, the following should be added to the list of abbreviations
on page 117:

prot		octal protection code
phone		telephone number, format {(ddd)}ddd{-}dddd
priv		privilege name

I am not in general trying to maintain the index, either to fix errors
or to add new entries.  However, one particular omission has been
mentioned to me several times by irate users:

LOADER switches###54