Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 6-documentation/utility.tco
There are 7 other files named utility.tco in the archive. Click here to see a list.
                               TCO-number:  6.1120



Written-by:  ZIMA                             Creation-date:  29-Apr-82 16:21:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  CHECKD
Related-SPR:  	 17491



Problem:  CHECKD crashes, or possibly many pages could be released incorrectly.

Diagnosis:  
	If page zero of a mapped directory file is nonexistent, CHECKD will
crash in DR0CHK with an illegal memory read.
	Further, if a file exists in a directory with a .DIRECTORY extension,
and there is a real subdirectory file with the same filename, CHECKD will try
to open the non-directory file as the directory.

Solution:  
	Intercept the illegal memory read with an ERJMP.  Make CHECKD use
explicit generation 1 to access the subdirectory files with its GTJFNs.


                               [End of TCO 6.1120]
                               TCO-number:  6.1231



Written-by:  LEACHE                           Creation-date:  19-Aug-82 15:17:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD gets confused over user files with extension
.DIRECTORY.

Diagnosis:  CHECKD doesn't expect such an animal.

Solution:  
(1)	shoot the user
(2)	Add some protection to CHECKD:
	(A)  Force it to open only files with a generation of "1"
	(B)  Add an ERJMP to protect against missing file pages.
(3)	If items 1 and 2 fail, shoot the system administrator.


                               [End of TCO 6.1231]
                               TCO-number:  6.1301



Written-by:  WEETON                           Creation-date:   6-Oct-82 15:21:55
Edited-by:   WEETON                           Edit-date:       7-Oct-82 09:17:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD trashes structures with large directories.

Diagnosis:  When .DIRECTORY files where increased for Version 5, nobody
bothered to tell CHECKD about it.  Therefore, CHECKD think that directory
files larger than 400 pages are screwed up and tries to fix it up.


Solution:  Make NDIRPG == 500 instead of 400.  Also to keep DDT space from being
overlapped, FSTPAG must be reduced from 34000 to 26000 and MAXLOS from 50000
back to down to 40000.


                               [End of TCO 6.1301]
                               TCO-number:  6.1303



Written-by:  WEETON                           Creation-date:   7-Oct-82 17:39:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Monitor parameters can be changed, but CHECKD doesn't get told about
them.

Diagnosis:  Whoever wrote CHECKD copied the data names and values from
PROLOG.MAC, this can cause problems when PROLOG.MAC get changed, but
CHECKD doesn't.

Solution:  Change CHECKD to get any symbols it can from PROLOG.UNV.


                               [End of TCO 6.1303]
                               TCO-number:  6.1304



Written-by:  WEETON                           Creation-date:   8-Oct-82 15:36:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When CHECKD prompts "% Structure already mounted. Forcibly dismount
and proceed? ", and the answer is yes, the structure dismount can fail.  If
it does, CHECKD will reprompt with the same prompt.  This is silly.

Diagnosis:  In routine DISMNT after the failing MSTR, CHECKD writes the error
message, then returns +1 always.

Solution:  After writing the error message, instead of JRSTing .+1, JRST to
START0.


                               [End of TCO 6.1304]
                               TCO-number:  6.1328



Written-by:  WEETON                           Creation-date:  26-Oct-82 09:32:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD defaults structure names on RELEASE command.  This is dangerous.

Diagnosis:  CHECKD was written that way.

Solution:  Don't set up a default pointer at CONFRM:.


                               [End of TCO 6.1328]
                               TCO-number:  6.1356



Written-by:  DONAHUE                          Creation-date:   9-Nov-82 08:28:03
Edited-by:   DONAHUE                          Edit-date:       9-Nov-82 09:19:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Illegal memory read when CHECKD is scanning a trashed directory.
Diagnosis:  If a directory's symbol table has a bad FDB address in it, CHECKD
will attempt to read the FDB and can bomb with an illegal memory read.

Solution:  Put an ERJMP after the first instruction that references the FDB.
If the reference fails, output a message and skip this FDB.


                               [End of TCO 6.1356]
                               TCO-number:  6.1496



Written-by:  WACHS                            Creation-date:   4-Feb-83 05:09:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  CHECKD


Problem:  CHECKD doesn't know about RA80, RA81, RA60 disks, nor does it
know that they can live on controllers 0 - 17.

Diagnosis:  new stuff

Solution:  add definitions


                               [End of TCO 6.1496]
                               TCO-number:  6.1545



Written-by:  COBB                             Creation-date:  15-Mar-83 14:49:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Wrong major version #

Diagnosis:  as above

Solution:  Make it 6, since we've added new code for RA.. drives


                               [End of TCO 6.1545]
                               TCO-number:  6.1547



Written-by:  WEETON                           Creation-date:  15-Mar-83 17:20:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Not enough space.

Diagnosis:  Directories take up too much room in section 0.

Solution:  Make CHECKD multi-sectioning;  Map section 0 and 1 together,
map directories into section 2, and do all directory type stuff in section
1.


                               [End of TCO 6.1547]
                               TCO-number:  6.1548



Written-by:  WEETON                           Creation-date:  15-Mar-83 17:25:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Number of lost pages that can be recovered by CHECK BITTABLE command
is too small.

Diagnosis:  Was increased from 40000 (octal) to 50000 (octal) in Release 5.
But was later reduced back to 40000 to allow for expanded directories.
Since directories are now in section 2, increase maximum number of lost
pages back to 50000.

Solution:  See diagnosis.


                               [End of TCO 6.1548]
                               TCO-number:  6.1552



Written-by:  WEETON                           Creation-date:  16-Mar-83 13:58:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Deleted and invisible files are ignored when attempting to adjust
file page counts.

Diagnosis:  GTJFN block not set up for these possiblities.

Solution:  Set up GTJFN block to include these files.


                               [End of TCO 6.1552]
                               TCO-number:  6.1553



Written-by:  WEETON                           Creation-date:  16-Mar-83 16:47:22
Edited-by:   WEETON                           Edit-date:      16-Mar-83 16:51:11


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Directories may contain "new" files, but pages assigned to the "new"
file might not get released.

Diagnosis:  This is expected after a crash, but the user is never told.

Solution:  If we find one of these "new" files, write a message.  If the user
feels that it is nessesary, he can EXPUNGE/PURGE the directory (or just do
a CHECK BITTABLE or REBUILD command).


                               [End of TCO 6.1553]
                               TCO-number:  6.1555



Written-by:  WEETON                           Creation-date:  17-Mar-83 14:54:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Monitor comes up after CHECKD in some places it probaply shouldn't.

Diagnosis:  Flags not set at some critical spots.

Solution:  Set flag at more spots:
1) BTBINI: - Reason: Failed to initialize bit table
2) HOMEIN: - Reason: Unknown disk drive type
3) HOMIN4: - Reason: Bittable to large
4) NOHOME: - Reason: Could not find a valid home block


                               [End of TCO 6.1555]
                               TCO-number:  6.1556



Written-by:  WEETON                           Creation-date:  17-Mar-83 16:03:18


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Disks can get unnessesarily trashed.

Diagnosis:  Wrong file for wrong structure can be used when attempting
to release lost pages.

Solution:  Perform better error checking when deassigning of disk addresses
fail.  If failure was for a critical reason (i.e. disk address too big) then
quit, BEFORE we trash the structure further.


                               [End of TCO 6.1556]
                               TCO-number:  6.1572



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:11:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Edit number in octal

Diagnosis:  Was always that way

Solution:  Make it decimal.


                               [End of TCO 6.1572]
                               TCO-number:  6.1573



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:14:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD EDIT subcommand doesn't allow pages greater than any entry
already in BAT block.

Diagnosis:  In routine BTTBSE an incorrect check is made when attempting
to determine if the entry is already in the table.

Solution:  Change the CAMG to a CAMLE.


                               [End of TCO 6.1573]
                               TCO-number:  6.1574



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:34:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  BAT block doesn't get updated on EXIT command from BAT block editor.


Diagnosis:  T3 get set up, then T2 get the page put in it, then a IDIV is
done to compute the number of words to write.  The only problem with this is
that someone forgot that IDIV put the remainder in AC+1!  T3 gets clobbered!

Solution:  Set up T3 AFTER the IDIV.


                               [End of TCO 6.1574]
                               TCO-number:  6.1575



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:38:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Secondary BAT block can get trashed!

Diagnosis:  When CHECKD sets up T3 for the DSKOP to write the secondary BAT
block, it does a MOVEI T3,BATBL9.  There is only one minor problem with this:
BATBL9 is LABEL inthe CHECKD code itself, not a storage address!!

Solution:  Change MOVEI T3,BATBL9 to MOVEI T3,BATBL2.


                               [End of TCO 6.1575]
                               TCO-number:  6.1582



Written-by:  WEETON                           Creation-date:  31-Mar-83 16:44:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  ADD subcommand to BAT block editor doesn't record the APR
serial number, channel number, or drive number, in the BAT block.

Diagnosis:  No code include to do this.

Solution:  Add code.


                               [End of TCO 6.1582]
                               TCO-number:  6.1584



Written-by:  WEETON                           Creation-date:  31-Mar-83 16:49:07
Edited-by:   WEETON                           Edit-date:      31-Mar-83 16:52:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When EXITing BAT block editor and writing out edited BAT block,
CHECKD can destroy the BAT blocks for *ALL* the units in the structure.
Note: This will only happen on multi-pack structures.

Diagnosis:  When setting up for DSKOP JSYS, there the sector number is assumed
to be 2 this is incorrect for structures with more that one pack.  It should
be  (UNITNO-1) * SECTORS/UNIT + 2.

Solution:  When writing the edited BAT block(s) to the disk, add in the
sector offset into the location where we're writing the BAT block(s).


                               [End of TCO 6.1584]
                               TCO-number:  6.1590



Written-by:  WEETON                           Creation-date:   4-Apr-83 14:37:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't wait for confirmation after parsing the processor
serial number when making a new structure.

Diagnosis:  The call to the confrimation routine was left out.

Solution:  Add confirmation.


                               [End of TCO 6.1590]
                               TCO-number:  6.1591



Written-by:  WEETON                           Creation-date:   4-Apr-83 14:39:59


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  APR serial number in HOM blocks can be negitive.

Diagnosis:  CHECKD doesn't consider this possiblitly.

Solution:  Consider the case of negitive number; don't allow it!


                               [End of TCO 6.1591]
                               TCO-number:  6.1613



Written-by:  WEETON                           Creation-date:  12-Apr-83 16:16:23


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  If a RECONSTUCT ROOT-DIRECTORY command fails when attempting to
make a private copy of the bit table, CHECKD doesn't know what to do about it.

Diagnosis:  Not enough smarts in CHECKD to handle this possiblity. (see TCOs
6.1611 and 6.1612).

Solution:  Get some help from the Monitor; if CHECKD can't dismount the
structure because D1%INI is set in the Monitor, use the newly created
bit DA%AIN for the DSKAS JSYS to abort the initialization of the bit table
and then dismount the structure.


                               [End of TCO 6.1613]
                               TCO-number:  6.1735



Written-by:  WEETON                           Creation-date:  18-Jul-83 14:07:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't know that RAxx type disks are "page mode" disks.

Diagnosis:  CHECKD wasn't updated.

Solution:  Update CHECKD.  Fix up invocation of DSKTAB macros for RAxx type disks.


                               [End of TCO 6.1735]
                               TCO-number:  6.1738



Written-by:  WEETON                           Creation-date:  19-Jul-83 09:27:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD reports all multiply assigned disk address as zero.

Diagnosis:  Code was modified from V4 to V5.  Unfortunately, the code never saves
the disk address.

Solution:  When attempting to assign a page to the local copy fo the bittable,
save the address being examined on entry to the routine DSKASA.  When exiting
the routine, restore the address, then the caller can save the address for
later output to the terminal.


                               [End of TCO 6.1738]
                               TCO-number:  6.1756



Written-by:  WEETON                           Creation-date:   2-Aug-83 11:48:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't report pages that are assigned to files and are also
marked in the BAT BLOCK.

Diagnosis:  Subroutine SEEADR (see if a specific address is in the BAT BLOCK)
was modified for Version 5, but makes invalid range checks.  (It will always
return +2).

Solution:  Fix SEEADR to make correct range checks, and standardize code.


                               [End of TCO 6.1756]
                               TCO-number:  6.1759



Written-by:  WEETON                           Creation-date:   4-Aug-83 07:55:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Not enough room for code in CHECKD.

Diagnosis:  A lot of work has been done to CHECKD;  thus CHECKD been going
through growing pains.

Solution:  Change the first page of data from 26 to 40.  This will allow for
much more code to be added to CHECKD.


                               [End of TCO 6.1759]
                               TCO-number:  6.1775



Written-by:  WEETON                           Creation-date:  17-Aug-83 09:57:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When EXITing the BAT BLOCK editor after doing a VERIFY command, the
BAT BLOCKs are not updated.

Diagnosis:  Code was left out to do this.

Solution:  Add more code to routine BATBLD (build the local copy of the BAT
BLOCK).  Included in this code is a check to make sure that bad sectors are
entered only once.


                               [End of TCO 6.1775]
                               TCO-number:  6.1776



Written-by:  WEETON                           Creation-date:  17-Aug-83 09:59:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't do RA81s right.

Diagnosis:  Arguments describing the physical characteristics of RA81s are
incorrect.

Solution:  Fix arguments.


                               [End of TCO 6.1776]
                               TCO-number:  6.1869



Written-by:  TBOYLE                           Creation-date:  18-Nov-83 13:16:24
Edited-by:   TBOYLE                           Edit-date:      28-Nov-83 14:09:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD uses table of values for disk drives for such things
as cylinders/unit, sectors/cyl., etc. This more of a hassle than a problem,
since when a new disk drive is produced, CHECKD must be modified to
account for it.

Diagnosis:  At the time it was implemented, there was apparently no
MSTR% JSYS available.

Solution:  Make the HOMEIN code use the MSTR% JSYS to pick up the needed
information.


                               [End of TCO 6.1869]
                               TCO-number:  6.1871



Written-by:  TSANG                            Creation-date:  18-Nov-83 16:45:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  CHECKD
  Routines-affected:   	CHECKD	DUMPER


Related-SPR:  	 19497



Problem:  If you give the the command DEFINE HLP: <HEL*> while there are more
then one directory matching the name <HEL*> (e.g. <HELP> and <HEL1>) and there
is a file with the same name in each directory, and afterward you give a HELP
subcommand in CHECKD, you will get an error message as following:
?CHECKD: GTJFN for the help file failed
?JSYS ERROR: Invalid wildcard designator

Same situation happens in DUMPER. If multiple .HLP files of same name are
found in different directories defined by HLP: or SYS:, you will get an error
message as following:
?DUMPER help file not available, use "?" for list of commands.

Diagnosis:  The flag bits were not set correctly for GTJFN JSYS in subroutine
.HELP (CHECKD) and TYPHLP (DUMPER).
Solution:  Set the flag bit GJ%IFG on before GTJFN JSYS call, which will allow
the wildcard in input filespec.

                               [End of TCO 6.1871]
                               TCO-number:  6.1890



Written-by:  TBOYLE                           Creation-date:   1-Dec-83 15:35:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD can make errors trying to find out whether disk addresses
are in the BAT blocks.

Diagnosis:  The routine SEEADR is doomed to failure because it uses the
start and end range words without removing the flag bits that are also
present.

Solution:  Before comparing, take the flag bits out.


                               [End of TCO 6.1890]
                               TCO-number:  6.1893



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:12:29
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 16:14:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD can explode when it uses a file thinking it is really a
directory. This is not nice.

Diagnosis:  When converting a directory to its filename counterpart, it uses
GTJFN to match <dirname>.DIRECTORY rather than <dirname>.DIRECTORY.1 hence
it could match a file by the same name with a higher generation number.

Solution:  Make it match <dirname>.DIRECTORY.1. This is actually Edit 32
from autopatch that never made it into the 6 sources.


                               [End of TCO 6.1893]
                               TCO-number:  6.1894



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:24:06
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 16:29:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Owner ID of created structure artificaially limited to 13 characters
when there is room for 14.

Diagnosis:  Its a bug. Fencepost bug to be exact.

Solution:  Fix it. This is edit 31 from autopatch that didn't make it.


                               [End of TCO 6.1894]
                               TCO-number:  6.1895



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:38:36
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 17:13:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  ENABLE AUTOMATIC-STARTUP command can store the wrong
serial number in the home blocks.

Diagnosis:  It works right if you type <cr> meaning your CPU
but fails if you specify the serial number. There are two paths
to common code and each uses a different register.

Solution:  Correct both paths into common code. Use the same register.
This was edit 74 from autopatch which got missed.


                               [End of TCO 6.1895]
                               TCO-number:  6.1897



Written-by:  TBOYLE                           Creation-date:   7-Dec-83 12:52:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  VERIFY command does not add bad pages to the BAT BLOCK.

Diagnosis:  Code was left out to perform this.

Solution:  When building the BAT blocks , when leaving the BAT block editor,
copy any entries that were found during the scan, but not already in the
BAT BLOCK into the BAT BLOCK. This is edit 76 from autopatch that didn't
make it.


                               [End of TCO 6.1897]
                               TCO-number:  6.1898



Written-by:  TBOYLE                           Creation-date:   7-Dec-83 14:06:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  On a VERIFY command, the message "? Unit for page xxx not
found." always appears after a hard, soft or ECC recoverable error.

Diagnosis:  The tests made in STRMAT: are not valid if the structure
is mounted with an alias, which is always the case when doing a verify.

Also at GETCK2: the wrong half of word .MSRNS is used to find the unit
number. It also should be incremented.

Solution:  Use the GTASTS: (Get alias status routine) on VERIFY and 
fix GETCK2: Note that this solution different from Edit 54 in
autopatch which didn't make it into the sources. This is also
a far cleaner approach.


                               [End of TCO 6.1898]
                               TCO-number:  6.1903



Written-by:  TBOYLE                           Creation-date:  12-Dec-83 13:54:22
Edited-by:   TBOYLE                           Edit-date:      13-Dec-83 15:57:03


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD has the obnoxious habit of assuming PS: as the
structure name when it is run at system startup. On CLOYD: or
any other system with a non-PS: name, this makes the lost pages
hard to release because you have to type the whole thing, and
then it asks "ARE YOU SURE YOU WANT TO DO THIS?"

Diagnosis:  CHECKD does better by using it's "real" PS name.
This makes other functions work better as well. It also
makes the new HOMEIN: code work.

Solution:  Provide a routine TRANSL: that translates the STRNAM from PS: to
its real name if there is any. Call this routine in PSCHK and HOMEIN,
and also at START: so that the translated PS: name is saved in STRNAM and
PSNAME. This way system startup and PSCHK will use the real name of PS:
as their points of reference.


                               [End of TCO 6.1903]
                               TCO-number:  6.1905



Written-by:  TBOYLE                           Creation-date:  12-Dec-83 13:57:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  "Chcecking system structure complete" message flys off the
and also gets garbled with other output.

Diagnosis:  No returns after messages and no DOBEs

Solution:  Put them in.


                               [End of TCO 6.1905]
                               TCO-number:  6.2115



Written-by:  TBOYLE                           Creation-date:   2-Jul-84 14:16:36
Edited-by:   TBOYLE                           Edit-date:       2-Jul-84 15:39:40


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  There is no way to set a disk to be "don't care" as specified in
the TOPS-20 Multi-Access Disk management specification.

Diagnosis:  its a new feature.

Solution:  Add a command ENABLE/DISABLE DON'T-CARE (IF PORTED TO UNKNOWN
SYSTEM ON STRUCTURE)

Word 16 in the home blocks now describes this attribute.

The command is also invisible because this is a non-supported function
to allow use of a disk that is ported to an unknown system. Customers
need to insure that the integrity of the pack will not be compromised
by the other system.


                               [End of TCO 6.2115]
                               TCO-number:  6.2116



Written-by:  TBOYLE                           Creation-date:   2-Jul-84 14:20:56


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  There is no way to set the serial number for an RP20 disk.

Diagnosis:  We need it now because the TOPS-20 Multi-Access Disk
Mgt. SPEC wants it.

Solution:  Add a new command SET DRIVE-SERIAL-NUMBER. It will prompt for
a 36-bit serial number. CHECKD will assemble the proper two word
serial number and stuff it into the first two words of sector 3.
This command will only work for RP20's.


                               [End of TCO 6.2116]
                               TCO-number:  6.2237



Written-by:  TBOYLE                           Creation-date:   6-Oct-84 02:14:28
Edited-by:   TBOYLE                           Edit-date:       6-Oct-84 02:30:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD
Related-QAR:  	706247



Problem:    

	Too many pages marked in the BAT blocks.

Diagnosis:    

	When the verify surface command or the BAT block editor is
used, CHECKD assumes that a page is four sectors long. This is not
true for RP20's or for HSC's, hence an extra 3 sectors (pages) are
wasted when one bad page is found on those devices.

Solution:    

	At BATAD1+19 and SETCKU+3, use SECPAG to set the correct number
of sectors. There was also a problem setting the unit bit mask, it should
be truncated to 3 bits because that is all there is room for (the monitor
does this as well (TCO 6.1888.) Fix that problem at BATAD2+2 and SETCKU+13.


                               [End of TCO 6.2237]
                               TCO-number:  6.1014



Written-by:  HDAVIS                           Creation-date:  20-May-81 14:36:35
Edited-by:   PRATT                            Edit-date:      29-Sep-84 15:17:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CMD


Problem:  DOESN'T RUN IN NON-ZERO SECTIONS

Diagnosis:  SEVERAL INSTRUCTIONS USING INDIRECTION AND INDEXING WILL NOT
RUN IN NON-ZERO SECTIONS.
Solution:  REPLACE THEM WITH THE EXTENDED FORMS

                               [End of TCO 6.1014]


                               TCO-number:  6.1024



Written-by:  MILLER                           Creation-date:   9-Sep-81 15:21:43
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:04


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  ddt


Problem:  EDDT loses APR flags.

Diagnosis:  EDDT assumes that MB parity error and SBUS error
may be cleared after memory references. While these bits
certainly may have been set by the reference, clearing them
makes debugging APR interrupt code quite difficult.

Solution:  Assume NXM is adequate for detecting bad references.
On leaving DDT, clear any flags that were not on during entry, but
leave on the others. Note that NXM is still not preserved, but
MB parity and SBUS error are.


                               [End of TCO 6.1024]
                               TCO-number:  6.1135



Written-by:  MILLER                           Creation-date:  12-May-82 13:19:22


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  ddt


Problem:  EDDT will not work on the 2080.

Diagnosis:  There are new interface modes for programming the
2080 processor. Also, the 2080 supports more address space than
does the KL-10.

Solution:  Teach EDDT to interface to the 2080. Also, fix the
mapping functions of FILDDT to understand super-section pointers.


                               [End of TCO 6.1135]


                               TCO-number:  6.2218



Written-by:  LEACHE                           Creation-date:  12-Sep-84 12:59:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  DX20LD


Problem:    DX20LD generates strange errors when run on a system with a
KLIPA or KLINI installed.

Diagnosis:    DX20LD has never been taught that waht looks like an RH20
may in fact be a KLIPA or KLINI.

Solution:    Check the sign-bit in the results of the CONI; if it is set,
(indicating a KLIPA or KLINI) do not attempt a unit search on this
"channel".


                               [End of TCO 6.2218]
                               TCO-number:  6.1132



Written-by:  KROSENBLUH                       Creation-date:   6-May-82 15:57:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  EDIT 212 TO EDIT WAS MEANT TO MAKE I* START INSERTING AT LINE
100 (OR USER DEFINED DEFAULT) WHEN THE PAGE WAS EMPTY.  THE EDIT DIDN'T
CATCH EMPTY PAGES HOWEVER, SO I* STILL CAUSED INSERTION TO START AT LINE
99999 ON EMPTY PAGES.
Diagnosis:  SHOULD BE TESTING FOR A PAGE-MARK AT START OF PAGE 

Solution:  INSERT CODE TO DO THAT

                               [End of TCO 6.1132]
                               TCO-number:  6.1274



Written-by:  LOMARTIRE                        Creation-date:  20-Sep-82 10:07:18
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:06:43


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 17976



Problem:  The I* command issued in empty pages starts inserting at 49999
not at default starting line.
Diagnosis:  Edit 240 was meant to fix this but it only handled the problem
for pages after the first.  It tested for a page mark and, if found, 
provided the default starting value.  However, since page one has no 
page mark, the code at FINDB3 (provided by edit 210) is entered and 
takes the average of 0 and 99999 (the value of SINDEX when page is 
empty) and returns 49999 as the starting value.
Solution:  Insert code at FINDB3+3 to check to see if an I* command has been 
issued (check flag FL2 bit 35 [STARF] and bit 24 [UPTOPF]) and, if so, 
set T1 to the default starting line.

                               [End of TCO 6.1274]
                               TCO-number:  6.1275



Written-by:  LOMARTIRE                        Creation-date:  20-Sep-82 13:16:56
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:07:36


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  Version 6 of EDIT is not current and does not contain all the edits 
made.
Diagnosis:  V6 EDIT (on SNARK) has not been updated to reflect the current 
version.
Solution:  Copy the current version of EDIT (from FARK) to the version 6 
utilities directory on SNARK.

                               [End of TCO 6.1275]
                               TCO-number:  6.1276



Written-by:  LOMARTIRE                        Creation-date:  21-Sep-82 16:37:25
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:07:48


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18223



Problem:  If EDIT is invoked without a saved filespec, EDIT will ask for 
one but gives poorer facilities than the EXEC EDIT command (no character 
editing, recognition, or help).
Diagnosis:  Edit 214 causes EDIT to reprompt for the filespec (before it 
simply output an error message and halted).  After the prompt is printed 
(at location BADTMP:) the program continues in the initialization section 
(at label RDFLNA:) and eventually processes the user input via a SIN JSYS.  
However, the SIN JSYS has no character editing facilities so EDIT appears 
very unfriendly.
Solution:  Change the code at RDFLNA:+13 to a RDTTY JSYS.  Also, change the 
code at BADTMP:+1 to allow the reprompt pointer to access just the last 
line of the EDIT message which asks for the filespec.

                               [End of TCO 6.1276]
                               TCO-number:  6.1295



Written-by:  LOMARTIRE                        Creation-date:   1-Oct-82 16:42:58
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:08:19


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 17698



Problem:  Transferring entire pages within EDIT does not work correctly.
Diagnosis:  When EDIT stores the text to be transferred (in BUFC) it places 
a page mark at the beginning of the buffer.  This is not required since 
EDIT explicitly inserts page marks when needed.  So, when the copy buffer 
is placed at the transfer destination, an extra page is created due to the 
faulty page mark.  Also, the starting line number for destination pages 
which are empty is incorrect; its 49999 instead of the default starting line 
number.
Solution:  Delete the code (at GOCOP:+3) which places the page mark at the 
beginning of the copy buffer.  Also, fix the code at FINDB3: and NOLNUM:+7 
to return the default starting line number.  This will also fix the similar 
problem which occurs when entire pages are copied.

                               [End of TCO 6.1295]
                               TCO-number:  6.1307



Written-by:  CHALL                            Creation-date:  12-Oct-82 09:54:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  Need to understand the PERUSE command from the Exec.

Solution:  In PARSE1, check for a command name beginning with "P". If so,
call SETRED to set the read-only flag, and change the "P" to "E" so the
rest of the command is treated as if it were "EDIT".


                               [End of TCO 6.1307]
                               TCO-number:  6.1332



Written-by:  LOMARTIRE                        Creation-date:  26-Oct-82 14:44:18
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:08:54


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18223



Problem:  If EDIT is invoked without a filespec (and there is no saved filespec) 
the facilities provided for entry of one are poor (no character editing, 
recognition, or help).
Diagnosis:  Edit 214 causes EDIT to reprompt for the filespec and then continues 
in the initialization section (at label RDFLNA:) where the user input is 
eventually processed via a SIN JSYS.  This JSYS has none of the desired editing,
recognition, or help features.
Solution:  Add code in the error handling section (at BADTMP:) which uses the 
COMND JSYS for reentry of the command line.  (As an extra precaution, change 
the code at RDFLNA:+14 to a RDTTY JSYS.)

                               [End of TCO 6.1332]
                               TCO-number:  6.1333



Written-by:  LOMARTIRE                        Creation-date:  26-Oct-82 16:21:19
Edited-by:   LOMARTIRE                        Edit-date:      24-Jul-84 14:17:45


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-TCO:  	6.2144

Related-SPR:  	 18292



Problem:  EDIT ignores the specified output directory whenever it is the 
connected directory.  The first directory on the DSK: is used instead.
Diagnosis:  When EDIT stores the input and output filespecs, it does not include 
the device and directory fields (dev:<dir>) if the file is on the connected 
directory.  This is because it stores what is returned by a JFNS JSYS which 
has been called without any format control (AC3=0).  So when the output 
filespec is referenced, it contains no device field and the default of DSK: 
is used instead.
Solution:  Force the JFNS to return the full filespec (dev:<dir>name.typ.gen).  
This is done by storing the appropriate format control bits in AC3 at 
JFNSTR:+3.

                               [End of TCO 6.1333]
                               TCO-number:  6.1395



Written-by:  LOMARTIRE                        Creation-date:  24-Nov-82 15:26:04
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:11:13


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18076



Problem:  CONTROL/U works improperly for the B, E, and G commands when a 
filespec is being entered for the command.  The CONTROL/U should abort the 
command (as it does for the C and T commands in the same situation) but 
instead it simply clears the line and EDIT is still awaiting the filespec.
Diagnosis:  When the user types the CONTROL/U, an error return from routine 
GTJFNX continues at RDNERR:.  Here the error code is checked and, if it is 
GJFX37 (empty buffer), the ^U return is provided.  However, this only works 
for the C and T commands since for any other, the GTJFNX routine returns the 
GJFX33 error code (filename was not specified).  This is due to the fact that, 
for C or T commands the long form of the GTJFN is used but for the end class 
commands (E, B, and G) the short form is incorrectly used which causes the 
peculiar GJFX33 to appear.  This bug is also present in the two set commands 
/NAME and /RUN which also allow the entry of a filespec.  The other command 
which allows for the entry of a filespec, the indirect (@) command, works 
correctly since before the call to GTJFNX, it sets the EXCPFL bit in FL2 
indicating that it is a copy.  This causes the long form of the GTJFN to be 
used and thereby allows GJFX37 to be returned when CONTROL/U is entered.
Solution:  Set the copy bit of FL2 (EXCPFL) for the E, B, G, /NAME, and /RUN 
commands so that the GTJFNX routine uses the long form of GTJFN.  This will 
return GJFX37 instead of GJFX33 when a CONTROL/U is issued.  Also, add code 
in the error handler at RDNERR: to provide a ^U return when the filename 
was not specified (GJFX33).  At each of the calls to the filename entry 
routine (except one), have the ^U return (+2) print the "Aborted..." message 
and end the command.  The only exception is when an alternate filename is 
being entered for an end class command because the original output file exists 
and is not to be deleted.  At this call (in ASKNAM:), there is no way to abort 
the entry of the filespec - one must be entered.  So, except for this case, 
a CONTROL/U (or no filename specified) will abort all commands in which a 
filespec was being entered and the "Aborted..." message will be output to 
indicate this.

                               [End of TCO 6.1395]
                               TCO-number:  6.1629



Written-by:  LOMARTIRE                        Creation-date:  27-Apr-83 12:40:48
Edited-by:   LOMARTIRE                        Edit-date:      27-Apr-83 12:44:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18363



Problem:  The copy command fails when the source is designated as the 
first line of a file.
Diagnosis:  In the command, the up arrow is used as the source designator 
and should be interrupted as the first line of the file.  However, the 
routine responsible for converting the ^ (EVALUP) mishandles it and treats 
it like a destination designator.  So an incorrect line number results and 
EDIT responds with the error %No such line(s).
Solution:  In EVALUP, check to see if it is a "copy from file" command 
(check flag COPFIL) and, if so, skip the special conversion done on 
destination designators.  This will cause the correct first line number to 
be returned as the value of ^.

                               [End of TCO 6.1629]
                               TCO-number:  6.1677



Written-by:  LOMARTIRE                        Creation-date:   9-Jun-83 10:15:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18725



Problem:  The vertical bar is not substituted for correctly.
Diagnosis:  In C64 mode (the normal mode of operation) the vertical bar is 
still used as a C128 mode special character.  Namely, when used as the first 
argument in the S command, it is interpreted as any single separator.
Solution:  Test to see if we are in C128 mode before interpreting the | as a
special character.

                               [End of TCO 6.1677]
                               TCO-number:  6.1682



Written-by:  LOMARTIRE                        Creation-date:   9-Jun-83 15:56:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 19186



Problem:  EDIT fails to parse the /READONLY switch in the SWITCH.INI file.
Diagnosis:  The code allows the switch in the EDIT or CREATE command but not 
in the SWITCH.INI file.
Solution:  Change the code to allow the switch either in the command line or 
in SWITCH.INI.

                               [End of TCO 6.1682]
                               TCO-number:  6.1855



Written-by:  LOMARTIRE                        Creation-date:   9-Nov-83 15:51:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 19694



Problem:  The position argument ^+n does not always return the line that is 
n from the top of the page.  Sometimes, it returns the line that is n-1 from 
the top.
Diagnosis:  In the routine ADDSUB, the ^ is evaluated and this number is 
checked against the current position.  If they are unequal, then the number 
of lines to increment is decremented by 1 since it is assumed that we are 
at ^+1 already.  Wrong assumption.
Solution:  Remove this code.  This will make sure that n remains correct and 
that ADDSUB returns the correct value for ^+n.


                               [End of TCO 6.1855]
                               TCO-number:  6.2144



Written-by:  LOMARTIRE                        Creation-date:  24-Jul-84 14:17:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-TCO:  	6.1333

Related-SPR:  	 20248

Related-QAR:  	706147



Problem:   TCO 6.1333 broke the L command to EDIT.

Diagnosis:   The L command attempts to print to LPT: by concatenating LPT: to the 
front of the saved filespec.  Previous to TCO 6.1333, this filespec was stored 
as FILENAME.EXT.  Now, a full filespec is stored for all filespecs in EDIT.  
So, the routine is trying to put LPT: on the front of 
STR:<DIRECTORY>FILENAME.EXT.  This causes the ensuing GTJFN to fail with "No 
such directory".

Solution:   In routine LIST: when the filespec is being formed, skip by the 
structure and directory fields.


                               [End of TCO 6.2144]
                               TCO-number:  6.1467



Written-by:  WEAVER                           Creation-date:  17-Jan-83 14:23:18
Edited-by:   WEAVER                           Edit-date:      31-Mar-83 17:05:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  FE


Problem:  

FE doesn't know that .BIC extensions mean binary files.  Diagnostic
Engineering must rename files to .BIN before they can transfer them
to the front end.


Diagnosis:  

BIC was never put in BINTAB.


Solution:  

Put it there.



                               [End of TCO 6.1467]


                               TCO-number:  6.1061



Written-by:  MURPHY                           Creation-date:  19-Feb-82 16:16:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Need to convert symbol value to string in assembly.

Diagnosis:  MACRO provides no way to do this except in macro calls.

Solution:  Provide macro FORS. to automate procedure.

	FORSE. (exp,<arg>,<string>)

where: 'exp' is an expression that evaluates to a number as assembly time;
       'arg' is a dummy symbol;
       'string' is a string containing one or more occurrances of 'arg'

  this will expand to 'string' with a numeric string representing the
value of 'exp' in the current radix in place of each occurrance of 'arg'.

Example:

	FORS. (MAXBOZ,<DUMDUM>,<ASCIZ /There are DUMDUM bozons in the universe./>)

If MAXBOZ is defined, this will assemble into an ascii string with
a numeric string replacing DUMDUM.


                               [End of TCO 6.1061]
                               TCO-number:  6.1124



Written-by:  MURPHY                           Creation-date:   3-May-82 17:16:48
Edited-by:   MURPHY                           Edit-date:       3-May-82 17:43:14


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Need to use AC save facility and possibly others in-line.

Diagnosis:  Such facilities only work within subroutine.

Solution:  Provide BLOCK., ENDBK. macros within which ACSAVE, STKVAR, etc.
may be used.  See DOC:MACSYM.MSG for description.


                               [End of TCO 6.1124]
                               TCO-number:  6.1139



Written-by:  GRANT                            Creation-date:  18-May-82 07:18:31
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:52:26


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  none

Diagnosis:  none

Solution:  Add BEGSTR, ENDSTR, and LOADE macros.

                               [End of TCO 6.1139]
                               TCO-number:  6.1161



Written-by:  WALLACE                          Creation-date:   9-Jun-82 15:15:42
Edited-by:   WALLACE                          Edit-date:       9-Jun-82 15:56:18


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1162



Problem:  The AC save and stack variable facilities of MACSYM do not work
properly with global stack pointers.

Diagnosis:  These facilities do NOT always use the ADJSP instruction for
manipulation of stack pointers.  Instead they add and subtract words
of the form [n,,n], directly to the stack pointer.  Thus they make the
blatant assumption that all stack pointers used are of the local
format and only stack overflow (i.e. never stack underflow) is being
detected.

Solution:  In the AC save routines and where appropriate in the support routines
for STKVAR and TRVAR, always use ADJSP for manipulations of stack
pointers.  Note that it is no longer necessary to manually detect
stack overflow because ADJSP will set TRAP 2 for us.  Because ADJSP
cannot use counts of the form n,,n modify STKVAR and TRVAR to output
EXP n rather than n,,n following the JSP to the support routines.  New
support routines (.XSTKS and .XTRST) must be added to properly use
ADJSP in conjunction with the new count format, EXP n.  For
compatibility sake, the old routines (.STKST and .TRSET) are left
intact because there may be old .REL files that were produced with the
old MACSYM, which compiled counts of the form n,,n.


                               [End of TCO 6.1161]
                               TCO-number:  6.1163



Written-by:  MURPHY                           Creation-date:   9-Jun-82 17:29:33


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Remote macros needed.

Diagnosis:  Not there now.

Solution:  Put in macro to define remote macros.  See MACSYM.MSG
or source for documentation.


                               [End of TCO 6.1163]
                               TCO-number:  6.1175



Written-by:  PAETZOLD                         Creation-date:  23-Jun-82 10:07:10
Edited-by:   PAETZOLD                         Edit-date:      15-Jul-82 18:25:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1177	6.1188



Problem:  

There is no easy way to determine what version of MACSYM macro has obtained
from the search pseudo-op.


Diagnosis:  

We need a symbol to determine which version of macsym we have.

Solution:  

Add a symbol named MACVER which will contain the version number.  The following
symbols will define the values of the various fields in MACVER.

MACVWH is the last changer code
MACVMA is the major version number
MACVMI is the minor version number
MACVED is the edit number

The initial value of MACVER will be set to 6.0(1000)-0.  All future edits of
MACSYM should increment MACVED.



                               [End of TCO 6.1175]
                               TCO-number:  6.1177



Written-by:  PAETZOLD                         Creation-date:  25-Jun-82 11:42:23
Edited-by:   PAETZOLD                         Edit-date:      15-Jul-82 18:25:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1175	6.1188



Problem:  

MACSYM Version symbols may confuse customers.

Diagnosis:  

The do not have special characters in them.


Solution:  

Make them all .MCxxx from MACxxx.



                               [End of TCO 6.1177]
                               TCO-number:  6.1188



Written-by:  WALLACE                          Creation-date:  15-Jul-82 18:23:51
Edited-by:   WALLACE                          Edit-date:      15-Jul-82 18:25:01


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1175	6.1177



Problem:  During assembly of MACSYM, MACVWH, MACVMA, MACVMI,
and MACVED are declared as undefined global symbols.

Diagnosis:  Although REDIT #91 (TCO 6.1177) properly changed the symbol
names to .MCVWH, .MCVMA, .MCVMI, and .MCVED respectively, this edit
failed to changed the computation of MACVER (i.e. the computed version
number) to use the new symbol names.

Solution:  Modify the computation of MACVER to use the new symbols.


                               [End of TCO 6.1188]
                               TCO-number:  6.1293



Written-by:  NEUSTAEDTER                      Creation-date:   1-Oct-82 05:02:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  LOADE doesn't conform to MACSYM format for LOAD and STOR. It
generates different symbols at different times.

Diagnosis:  This is a version of LOADE that was hacked together by the
DECnet36 group before re-integrating with MACSYM.

Solution:  Re-do LOADE. While we're at it, re-do SAVEAC and install the
nifty one used by DECnet36. This will make it easier to implement
PUSHM/POPM if they ever come along.


                               [End of TCO 6.1293]
                               TCO-number:  6.1468



Written-by:  MURPHY                           Creation-date:  17-Jan-83 16:45:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Can't use a STKVAR variable in BLCAL.

Diagnosis:  BLCAL. does PUSH P, to put things on the stack;
STKVAR references are of the form -N(P) which then don't
work.

Solution:  Fix BLCAL. so that if argument is a stack reference
indexed by P, adjust the offset by the number of args
already pushed.


                               [End of TCO 6.1468]
                               TCO-number:  6.1477



Written-by:  HUIZENGA                         Creation-date:  26-Jan-83 09:21:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  User confused when INCR/DECR overflows fields.

Diagnosis:  They certainly will but MACSYM doesn't warn anybody.

Solution:  Put a warning in MACSYM that INCR/DECR may overflow fields.


                               [End of TCO 6.1477]
                               TCO-number:  6.1551



Written-by:  MURPHY                           Creation-date:  16-Mar-83 13:57:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  DO. does not compile correctly -- ENDLP. may be wrong
if nested DO.

Diagnosis:  Definition of ENDLP. not saved over nested DO.

Solution:  Save it.  Restore it too.


                               [End of TCO 6.1551]
                               TCO-number:  6.1576



Written-by:  MURPHY                           Creation-date:  25-Mar-83 16:38:53


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  No convenient way to build extended format indirect
words or one-word global byte pointers.

Diagnosis:  MACRO doesn't have any code to do it, and probably
won't get any for 5-10 years.

Solution:  Implement macros in MACSYM.  See DOC:EP.DOC for details.


                               [End of TCO 6.1576]
                               TCO-number:  6.1647



Written-by:  MURPHY                           Creation-date:   5-May-83 15:53:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  LOAD, STOR, and various other macros fail if given
a location argument which contains commas.

Diagnosis:  Missing angle-brackets in internal macros.  Commas
taken as argument separators.

Solution:  Add anglebrackets around "Y" argument in numerous
internal macro calls.


                               [End of TCO 6.1647]
                               TCO-number:  6.1650



Written-by:  HALL                             Creation-date:   6-May-83 14:06:55


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  We need to convert lots of one-word local byte pointers to
one-word globals.

Diagnosis:  Code does various forms like HRLI AC,(POINT 7,0). As long as
we have to change them, why not make them macros?

Solution:  Create new macros for generating one-word locals and one-word
globals for pointing to a 7-bit ASCII string starting in the leftmost
byte of a word.


                               [End of TCO 6.1650]
                               TCO-number:  6.1661



Written-by:  MURPHY                           Creation-date:  19-May-83 14:16:53


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Needs ways to reference data in extended sections.

Diagnosis:  Progress needed.

Solution:  Implement following macros:

EDEFST - Like DEFSTR except assumes location is in different section.
EMSKST - Like MSKSTR except assumes location is in different section.

EP. - Generates extended format indirect word given I, X, and Y in
	usual format, i.e. EP. @Y(X).  Typical usage is
	MOVE T1,@[EP. LOC(X)]

OWGP. - Generates one-word global byte pointer given same kind
	of arguments as POINT pseudo-op, but location should
	be 30-bit address.  E.g. LDB T1,[OWGP. 7,EXTLOC,6]


                               [End of TCO 6.1661]
                               TCO-number:  6.1686



Written-by:  MURPHY                           Creation-date:  14-Jun-83 16:36:34
Edited-by:   MURPHY                           Edit-date:      14-Jun-83 16:38:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-SPR:  	 19116



Problem:  Inadvertent use of external symbol for size parameter
in STKVAR not detected and assembled wrong code.

Diagnosis:  MACRO should detect non-absolute arguments in the "\"
operator in macro arguments.  It doesn't, so we'll do it
explicitly.

Solution:  Add check for absolute expression, give error message
if not.


                               [End of TCO 6.1686]
                               TCO-number:  6.1701



Written-by:  PURRETTA                         Creation-date:  22-Jun-83 17:20:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  A facility is needed to easily incorporate DEC copyright
statements into object code.

Diagnosis:  Create COPYRT and .CPYRT macros in MACSYM.

Solution:  Use COPYRT to assemble statement in both REL's and EXE's.
Use .CPYRT to assemble it ONLY into the REL'S.   For multi-module
programs the main module should use COPYRT and all supordinate
modules should use .CPYRT ,this is to prevent the EXE from having as
many copyright statements as there are modules.


                               [End of TCO 6.1701]
                               TCO-number:  6.1755



Written-by:  GROSSMAN                         Creation-date:  29-Jul-83 07:22:27
Edited-by:   GROSSMAN                         Edit-date:      29-Jul-83 07:39:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  One-word global byte pointer generation macros are hard to use.  There
are a lot of restrictions on what contexts they can be used in.  In particular,
they have to be used inside of literals.

Diagnosis:  They expand to more than one line of text.
Solution:  Create a set of symbols of the form  .Psspp  where ss is the byte
size (in decimal), and pp is the "LSH" factor (also in decimal).  These are
the same arguments that the POINT pseudo-op would take.  Note that a leading
zero must be included if the ss or pp field would be one digit.  In addition
to this, another set of symbols of the form .%sspp have been created.  These
symbols have leading zeros suppressed.  They are intended to be used only
inside of macros.

Redefine the macros OWGP. and G1BPT so that they use these symbols.

The user now has two choices:  He can use the .Pssnn symbols, or he can use
the macros.

Example:  If AC contains a 30 bit address, and you want to turn it into a
7 bit one-word global byte pointer, you could do:

		TXO AC,.P0736

		or equivalently,

		TXO AC,OWGP.(7)

Note that the .Psspp and .%sspp symbols are defined as left justified quantities
in the same position as the P field of a one-word global byte pointer.


                               [End of TCO 6.1755]
                               TCO-number:  6.1974



Written-by:  GROSSMAN                         Creation-date:  20-Feb-84 22:33:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Too many junk labels laying around.

Diagnosis:  Many macros such as IFSKP., DO., and friends generate local,
suppressed labels.  These labels are not accessible to DDT, and serve no
purpose after assembly.

Solution:  PURGE the labels after they are defined in pass 2.


                               [End of TCO 6.1974]
                               TCO-number:  6.1991



Written-by:  MOSER                            Creation-date:   3-Mar-84 17:22:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:   The TOPS-20 monitor and other programs are too big.

Diagnosis:   MACRO is not pooling most literals generated as the result of the
LDB/DPB forms of the LOAD and STOR macros. It uses the POINTR macro which
is defined with double <s (so that it can be passed as an argument) and MACRO
must "go Polish" to evaluate it. When MACRO "goes polish" it does not pool
literals!

Solution:   Replace the POINTR macro with it's expansion when used in MACSYM.


                               [End of TCO 6.1991]
                               TCO-number:  6.2132



Written-by:  PAETZOLD                         Creation-date:  18-Jul-84 10:12:48
Edited-by:   PAETZOLD                         Edit-date:      20-Jul-84 13:57:17


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
  Routines-affected:   	ENDSTR




Problem:  : 

BEGSTR/ENDSTR  sequences waste some code space and we do not have a lot
to go around.

Diagnosis:  : 

Field  macros  generate  FTSHOW words so that the listings look pretty.
However they do not reuse the storage that the FTSHOW  words  took  up.
This is a pretty big price to pay just for beauty.

Solution:  : 

Change  the  ENDSTR  macro  to  fix up the relocation counter after the
FTSHOW words are generated to make the space once  again  available  to
macro.  All the beauty of the FTSHOW words is retained.


                               [End of TCO 6.2132]
                               TCO-number:  6.2243



Written-by:  LOMARTIRE                        Creation-date:  11-Oct-84 09:27:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
  Routines-affected:   	SAVEAC


Related-QAR:  	706216



Problem:   The SAVEAC macro generates code to save and restore the wrong 
registers when decimal register values are passed.  SAVEAC <10.,11.,12.> 
results in saving ACs 12, 13, and 14.

Diagnosis:   When deciding which registers to save, the code fragment 1B<X> 
(where X is one of the arguments) will only work correctly for symbolic 
arguments.  For numeric ones, the base in effect at the time of the macro 
invocation is not taken into consideration.

Solution:   Define a temporary symbol (..SYAC) to be the AC passed and use this 
in the code 1B<..SYAC>.  This will result in the correct ACs being saved since 
the base in effect will now be considered.


                               [End of TCO 6.2243]


                               TCO-number:  6.2123



Written-by:  TGRADY                           Creation-date:  11-Jul-84 23:16:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAIL


Problem:  
MAILER and MAILEX should be merged into one local mail server.  All
maintenance edits are being made to MAILER, but MAILEX is the local
mailer used by programs like MS.  MAILER can't handle the type of
MAIL.CPY file that MS creates, because MAILER does not expect to
have TO: and CC: lists in MAIL.CPY.

If MAIL.EXE provides a MAIL.CPY that includes TO: and CC: lists, like
MS and others, then MAILER will be compatible with both MAIL.EXE and MS,
and will continue to be updated with maintenance edits.  MAILEX can
thereby be retired.


Diagnosis:  
Duplicate code in MAILER and MAILEX makes them almost identical, but not
quite.  Like all of the mail system, such as DMAILR and VMAILR, NMAIL and
VMAIL, code in MAILER was copied to create MAILEX, and altered just enough
to be incompatible.  This change solves one instance of that problem.


Solution:  
Remove the code in MAILER that creates a TO: and CC: list in the message
that gets delivered to users' MAIL.TXT file.  Put that code in MAIL.MAC,
so that the MAIL.CPY file will already contain the TO: and CC: lists.



                               [End of TCO 6.2123]
                               TCO-number:  6.1482



Written-by:  PAETZOLD                         Creation-date:  28-Jan-83 20:31:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER


Problem:  

Mail file corruption over system crashes.

Diagnosis:  

The real problem is in RELOFN and friends.  The following scenario....

1. Mail.txt is opned by MS with frozen read.

2. User receives a new message.  MAILER (and other mailers) opens the
   mail.txt file for write access.  Mail is appended.  mail.txt is 
   closed.  Because OPN share count is not one RELOFN does not call
   SCNOFN.  FILWB is cleared and THAWB was never on.  DDMP never updates
   the pages.

3. The system crashes (a rare occurance we know).

4. Modified pages are missing or inconsistant in mail.txt

5. User gets confused.


Solution:  

The proper solution is to fix RELOFN.  In reality RELOFN (a relatively
short routine) should be rewritten.  However rewriting RELOFN will 
require 4 hours of peace and quiet.  

For now teach MAILER to do a UFPGS% before closing the mail.txt file.
RELOFN will be fixed another day.  It has been this way for years.  
Another month will not hurt.



                               [End of TCO 6.1482]
                               TCO-number:  6.1693



Written-by:  LOMARTIRE                        Creation-date:  20-Jun-83 14:37:13
Edited-by:   LOMARTIRE                        Edit-date:       8-Mar-84 16:29:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER
Related-TCO:  	6.1994

Related-SPR:  	 18610



Problem:  MAILER crashed with a TTMSX1 error (could not send message within 
timeout interval).
Diagnosis:  MAILER was trying to send a "You have a message from ..." message 
to a user's terminal via a TTMSG JSYS.  The JSYS failed with a TTMSX1 and 
MAILER crashed.
Solution:  Add an ERJMP .+1 after the TTMSG after label TOPDIR:.  This will 
allow MAILER to continue if the TTMSG cannot acquire the sendall resources 
it needs.  In this case, the user will not receive notification of the new 
mail message.

                               [End of TCO 6.1693]
                               TCO-number:  6.1694



Written-by:  LOMARTIRE                        Creation-date:  20-Jun-83 14:43:42


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER
Related-SPR:  	 18367



Problem:  Unable to send mail messages.  Jobs hang waiting for a reply from 
MAILER.
Diagnosis:  At NONE:+7, MAILER connects it's PID (called MYPID) to channel 0 
and ignores possible error return from the MUTIL JSYS.  MAILER receives an 
IPCF27 error (PID not defined) and waits forever for an interrupt.
Solution:  Remove the JFCL after the MUTIL and replace it with a new error 
message.  It will read ?MAILER: Unable to assign PID to channel.

                               [End of TCO 6.1694]
                               TCO-number:  6.2074



Written-by:  TGRADY                           Creation-date:  30-May-84 16:35:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER


Problem:  
In ONQ, an error return from ALLOC will execute a RET.  Previous to the
call to ALLOC, though, ONQ did a PUSH P,W, so the error return will always
cause an illegal instruction trap.


Diagnosis:  
People don't frequently see this, but the results are always a dead MAILER,
and at least one hung Mail program.


Solution:  

In the error return code, restore the stack before executing a RET.



                               [End of TCO 6.2074]
                               TCO-number:  6.1374



Written-by:  LOMARTIRE                        Creation-date:  16-Nov-82 12:46:24
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:10:34


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MAKDMP
Related-SPR:  	 18370



Problem:  Recognition is not possible with the CREATE command due to the 
default structure name of MAKDMP.  Also, JFN's accumulate when a reparse is 
done.
Diagnosis:  Since the default structure name is MAKDMP, it will be used 
when no structure name is supplied.  So when recognition is attempted on 
the filespec using this as the structure, the parse fails since MAKDMP 
does not exist.  The JFN's accumulate because they are never released 
before the reparse.
Solution:  The default structure has been set to MAKDMP to force the user 
to enter a structure name.  No change should be made to the default structure 
name.  Instead, the structure name should be entered (the rest of the filespec 
can be defaulted as <SYSTEM>DUMP.EXE) as required.  Or, the user can define 
the logical name MAKDMP to be where the dump file should be placed.  Also, 
release the JFN, if one exists, before the new filespec is entered for the 
reparse.

                               [End of TCO 6.1374]
                               TCO-number:  6.1919



Written-by:  CJOHNSON                         Creation-date:  28-Dec-83 11:20:38
Edited-by:   CJOHNSON                         Edit-date:      13-Jan-84 11:05:30


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAKDMP


Problem:  
The DUMP.EXE program is never backed up by DUMPER.  Also, assorted
problems associated with improper use of the COMND jsys and reparsing
needed to be fixed.

Diagnosis:  
The program had no way to not set the FB%NOD (no dumper backup) bit
in the FDB.  Also, it uses a broken COMND parser which has no proper
unparsing mechanism.

Solution:  
Rewrite the program, adding the /ALLOW-DUMPER-BACKUP switch to the
CREATE command.  If the user doesn't type the switch, DUMP.EXE is
created with the FB%NOD bit set, to be compatible with previous
operation.  Release all resources acquired during parsing on a
reparse.


                               [End of TCO 6.1919]


                               TCO-number:  6.1670



Written-by:  LOMARTIRE                        Creation-date:   1-Jun-83 11:06:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAPPER
Related-SPR:  	 18820



Problem:  MAPPER fails to identify itself when issuing error or warning 
messages.  This can result in confusing SYSJOB output.
Diagnosis:  The identification is missing.
Solution:  Add ?MAPPER: before error messages and %MAPPER: before warning 
messages.

                               [End of TCO 6.1670]
                               TCO-number:  6.2006



Written-by:  LOMARTIRE                        Creation-date:  21-Mar-84 17:10:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAPPER


Problem:  MAPPER will not build with version 6 MONSYM.

Diagnosis:  MAPPER version 5.1 is used with version 6.  In this MAPPER, edit 
4 exits.  This edit allows MAPPER to run on either 5.1 or 4, the difference 
being the AC setup to the GET% JSYS.  However, the symbols used in the edit 
no longer exist and are not in version 6 MONSYM.

Solution:  Take version 5.1 MAPPER, remove edit 4, and make this version 6
MAPPER.  Note that this version of MAPPER will only run on monitor version 
5 or later.


                               [End of TCO 6.2006]
                               TCO-number:  6.1041



Written-by:  COBB                             Creation-date:   3-Dec-81 13:59:30


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  the QUEUE% jsys needs a special entry in the system PID table for
component debugging.  (Quasar, Orion etc.)

Diagnosis:  There is no entry as of yet.

Solution:  Put one in.  .SPDBG in case you care.


                               [End of TCO 6.1041]
                               TCO-number:  6.1126



Written-by:  MURPHY                           Creation-date:   4-May-82 11:50:58


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  The rules for symbol construction are not in any obvious
place.

Diagnosis:  They should be.

Solution:  Put them in the front of MONSYM which is reproduced in
the JSYS manual.  It might be a good idea to put them in the
first few pages of the JSYS manual too.


                               [End of TCO 6.1126]
                               TCO-number:  6.1138



Written-by:  PAETZOLD                         Creation-date:  15-May-82 19:57:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

BBN has defined JSYSs for the BBN TCP/IP interface.  We should try to refrain
from assigning these JSYS numbers for compatability purposes.

Diagnosis:  


Solution:  

Add ASNIQ, RELIQ, SNDIN, RCVIN, OPEN, CLOSE, SEND, RECV, STAT, CHANL,
ABORT, ANS SCSLV to JSTAB as "Not in Monitor".



                               [End of TCO 6.1138]
                               TCO-number:  6.1140



Written-by:  GRANT                            Creation-date:  18-May-82 09:54:18
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:52:50


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  NTMAN% doesn't support the event queue processor.
Diagnosis:  No code.
Solution:  Add .NTEVQ for network management.

                               [End of TCO 6.1140]
                               TCO-number:  6.1182



Written-by:  CHALL                            Creation-date:   1-Jul-82 11:15:39


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Need to define error codes for DECnet-36, plus the NSP% JSYS,
plus error codes for NSP%.

Solution:  Define them, already.


                               [End of TCO 6.1182]
                               TCO-number:  6.1281



Written-by:  PAETZOLD                         Creation-date:  23-Sep-82 19:22:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

BBN defined the OPRFN JSYS.  Need to make sure we never use this JSYS.

Diagnosis:  


Solution:  

Add OPRFN into DEFJS as a NIM JSYS.  Nothing like brand new obsolete 
functionality.



                               [End of TCO 6.1281]
                               TCO-number:  6.1473



Written-by:  GRANT                            Creation-date:  20-Jan-83 07:37:52
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:58


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  DECnet disconnect codes and error messages are out of date.
Solution:  Add a new Phase III code and update the error strings to reflect
	Phase III terminology.

                               [End of TCO 6.1473]
                               TCO-number:  6.1636



Written-by:  HALL                             Creation-date:  29-Apr-83 14:31:42
Edited-by:   HALL                             Edit-date:       9-May-83 08:19:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Need to reserve a JSYS for the interface to the FPS array
processor.

Diagnosis:  

Solution:  Reserve 625 since that's the next available number. We're not
supporting this code, but we don't want someone else using the same
JSYS number, either.


                               [End of TCO 6.1636]
                               TCO-number:  6.1711



Written-by:  WEETON                           Creation-date:  30-Jun-83 15:58:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Lines that have been TTYSPTed return error code TTYX03 (which is ok),
unfortunately, the message says "Line is temporarily active".  This is silly.
Line is actually inactive.

Diagnosis:  Engineer can't type.

Solution:  Change "active" to "inactive".


                               [End of TCO 6.1711]
                               TCO-number:  6.1716



Written-by:  MURPHY                           Creation-date:   7-Jul-83 15:09:48


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Newly defined opcode not present in MONSYM.

Solution:  Add XJRST (= JRST 15,) which does jump to
contents of E as 30-bit address, including from section 0.


                               [End of TCO 6.1716]
                               TCO-number:  6.1728



Written-by:  JCAMPBELL                        Creation-date:  14-Jul-83 11:31:03


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Files do not have attribute indicating they are FORTRAN
data files.

Diagnosis:  FDB has no field or bit to indicate FORTRAN carriage control

Solution:  Add new bit FB%FOR to .FBCTL in FDB


                               [End of TCO 6.1728]
                               TCO-number:  6.1826



Written-by:  MILLER                           Creation-date:  12-Oct-83 08:14:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM
Related-TCO:  	6.1824



Problem:  If a process acquires a PID created on another LCS processor
and tries to use it, it gets no unique indication of the specific error.

Diagnosis:  There is no error code for this condition.

Solution:  Create IPCF36, PID not assigned on this LCS processor.
This way, someone might notice the problem.


                               [End of TCO 6.1826]
                               TCO-number:  6.1915



Written-by:  PRATT                            Creation-date:  19-Dec-83 13:15:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  


A way is needed to tell Galaxy that an IPCF packet is 
coming from the QUEUE% jsys. 


Diagnosis:  


Solution:  

Add a definition to the system sender field (IP%CFC in the
IPCF packet) called .IPCCG which says SENT BY SYSTEM FOR QUEUE%.



                               [End of TCO 6.1915]
                               TCO-number:  6.1916



Written-by:  PRATT                            Creation-date:  19-Dec-83 13:40:51


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

The "DISPLAY" argument block is not defined. It will be
used to pass BUGCHK's, BUGINF's, and system messages to Galaxy.


Diagnosis:  

The monitor is currently using some kludged up argument block
that is passed to Galaxy. Galaxy is dropping these on the floor.


Solution:  

Add the definitions for the "DISPLAY" argument block and it's 
argument types.



                               [End of TCO 6.1916]
                               TCO-number:  6.1950



Written-by:  MCCOLLUM                         Creation-date:  24-Jan-84 13:45:06
Edited-by:   MCCOLLUM                         Edit-date:      24-Jan-84 13:45:42


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  
There is no equivalent in SMAP% for PM%RWX (found in PMAP%).


Diagnosis:  
Not defined in MONSYM

Solution:  
Define SM%RWX==:SM%RD!SM%WR!SM%EX in MONSYM



                               [End of TCO 6.1950]
                               TCO-number:  6.1961



Written-by:  MCCOLLUM                         Creation-date:  31-Jan-84 13:32:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  
.CHLFD, .CHCRT, and .CHFFD are defined in both MACSYM and MONSYM.


Diagnosis:  
The values are originally defined in MACSYM and end up in MONSYM when they are
referenced by MONSYM.MAC.


Solution:  
PURGE the symbols from MONSYM after they are used.


                               [End of TCO 6.1961]
                               TCO-number:  6.2024



Written-by:  CJOHNSON                         Creation-date:  10-Apr-84 11:51:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PAT
Related-SPR:  	 19859



Problem:  
 FILOP. function 4 (update) does not return the file size.

Diagnosis:  
 There is no code to do so.

Solution:  
 Write the necessary code; since the size calculation is already in,
simply add the code to return it to the calling program's lookup block.


                               [End of TCO 6.2024]
                               TCO-number:  6.1396



Written-by:  LOMARTIRE                        Creation-date:  29-Nov-82 17:17:41
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:11:45


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 18096



Problem:  If you PUSH from PTYCON, give an EXEC CLOSE then POP back to PTYCON, 
the JFN for the PTY is lost.  PTYCON displays "NO JOB NUMBER ASSIGNED" in 
response to the WHAT command and connecting to a subjob results in a panic 
level interrupt (JFN is not assigned).
Diagnosis:  When the CLOSE is given, the JFNs for the PTYs are lost.
Solution:  Do not allow lower processes (like the EXEC) to access the PTY 
JFNs that were obtained via PTYCON.  In the GTJFN to obtain the PTY JFNs, 
set GJ%ACC.  Other processes can access the PTYs but they cannot use the 
same JFNs as PTYCON - they must obtain their own.

                               [End of TCO 6.1396]
                               TCO-number:  6.1566



Written-by:  LOMARTIRE                        Creation-date:  23-Mar-83 18:18:38
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:23:10


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON


Problem:  PTYCON is filled with many errors and inadequacies, all of which 
are caused by the command parser.
Diagnosis:  The command parser of PTYCON was written in the pre-COMND days 
and is consequently very limited.
Solution:  Implement the command parser using COMND.  Besides the improvements
introduced by the use of COMND, there will be no differences apparent to the 
user.

                               [End of TCO 6.1566]
                               TCO-number:  6.1595



Written-by:  LOMARTIRE                        Creation-date:   6-Apr-83 13:12:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 18532



Problem:  When the system is booted, PTYCON hangs while processing commands 
from the .ATO file.
Diagnosis:  PTYCON hangs in routine PTYOUT.  While trying to write a byte 
to a subjob and finding the TTY input buffer full, the routine does a DIBE 
and waits for it to empty.  Output from the subjob continues to be read 
from the PTY via interrupt routine PTYINT calling routine PTYFIL.  However, 
PTYFIL does not read beyond a linefeed for each call.  If a subjob produces 
fewer interrupts than linefeeds, the TTY output buffer can fill, and thus 
the TTY input buffer fails to empty.
Solution:  Replace the DIBE in routine PTYOUT.  First check the TTY output 
buffer and read in any pending subjob output.  Then DISMS for a second 
before trying to send the character to the subjob again.

                               [End of TCO 6.1595]
                               TCO-number:  6.1859



Written-by:  LOMARTIRE                        Creation-date:  10-Nov-83 16:31:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 19496



Problem:  While issuing the LOG, GET, or SAVE command, PTYCON sometimes 
responds with "Byte count too small" and the command fails.
Diagnosis:  GTJFN is used to parse the filespec for these commands.  In 
the argument blocks, the .GJCPC value is intitially set to the value of 
the string buffer (200).  However, it is never reset on subsequent calls.  
So, as commands are issued, the number of bytes available to return 
decreases.  Finally, the GTJFN fails with "Byte count too small".

Solution:  Reset the .GJCPC value in the argument block to the buffer size 
before doing the GTJFN.

                               [End of TCO 6.1859]
                               TCO-number:  6.2079



Written-by:  LOMARTIRE                        Creation-date:   4-Jun-84 11:36:26
Edited-by:   LOMARTIRE                        Edit-date:       6-Jun-84 15:26:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-QAR:  	706028



Problem:      
Certain command abbreviations are not recognized when there is a subjob 
name with that same abbreviation.

Diagnosis:      
The subjob names are being parsed first so that if a subjob is named to be part 
of a legal command, that command abbreviation cannot be used because PTYCON 
will parse this to be a subjob name rather than a command abbreviation.

Solution:    Reorder the function descriptor blocks so that commands will be 
parsed before subjob names.  This way, command abbreviations will be parsed 
except when a one line command is entered, in which case the text will be 
interpreted to be a subjob name.


                               [End of TCO 6.2079]
                               TCO-number:  6.2248



Written-by:  LOMARTIRE                        Creation-date:  17-Oct-84 11:56:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
  Routines-affected:   	TYPSYS


Related-QAR:  	706058



Problem:   The fields of the WHAT command no longer line up in columns.

Diagnosis:   The value of TERJFN is not being set up to be .PRIOU before the 
calls to TTBOUT in TYPSYS.  This is effecting the column count for the TTY: 
which is returned by RFPOS.  This, in turn, is confusing TYPTAB which uses this 
column count to determine how many spaces to print to get to the next tab stop.

Solution:   Call ASCTER upon entry to TYPSYS to setup TERJFN to be .PRIOU.


                               [End of TCO 6.2248]


                               TCO-number:  6.1145



Written-by:  TILLSON                          Creation-date:  24-May-82 11:41:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  
Sometimes REAPER fails to detect an invalid directory name in a SKIP list.

Diagnosis:  
When an unprivileged user runs REAPER it takes SYSTEM:REAPER.CMD.  Directories 
in a SKIP list in this command file are parsed with COMND.  A directory which
cannot be accessed by this unprivileged user will parse correctly with COMND,
but the RCDIR which follows will fail.  Lack of error handling after the RCDIR
is responsible for the resultant awfulness.

Solution:  
Add an erjmp after the RCDIR at SKIP3+4L.


                               [End of TCO 6.1145]
                               TCO-number:  6.1146



Written-by:  TILLSON                          Creation-date:  24-May-82 11:54:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  
Running REAPER disabled does many bad thing s in terms of command parsing.
Examples of this include not accepting a filespec if SYSTEM:REAPER.CMD
ended with a carriage return, a question mark typed to the nonprivileged
prompt gives you the privileged prompt, and various and sundry other
nastiness.

Diagnosis:  
Code for nonprivileged users is strange.  A PSOUT is used to print the
prompt, then COMND is used to parse the filespec, without having done
a .CMINI first.  The "Check Files" prompt is again output with a PSOUT,
the filespec here is parsed with a long form GTJFN with no error handling.

Solution:  
Rework the code at PEON: to use COMND completely and correctly.


                               [End of TCO 6.1146]
                               TCO-number:  6.1805



Written-by:  MAYO                             Creation-date:  22-Sep-83 15:39:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  REAPER blows up if it sees an OFFLINE mail file, etc.

Diagnosis:  ARCF in DOKEP1 isn't ERJMP .+1'd

Solution:  Yes. (Do the ERJMP)


                               [End of TCO 6.1805]


                               TCO-number:  6.1035



Written-by:  PAETZOLD                         Creation-date:   2-Nov-81 09:56:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD looks for 5-config.cmd

Diagnosis:  

Version update needed.

Solution:  

Update the versions.


                               [End of TCO 6.1035]
                               TCO-number:  6.1060



Written-by:  MURPHY                           Creation-date:  18-Feb-82 17:18:59


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Copying dumps often fails because PS: is full.

Diagnosis:  Should be able to put dumps someplace else.

Solution:  Make SETSPD copy to DMP: instead of PS:<SYSTEM> so
logical name can be defined for dumps.


                               [End of TCO 6.1060]
                               TCO-number:  6.1241



Written-by:  HAUDEL                           Creation-date:  31-Aug-82 09:14:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Lost pages are created on DMP: and/or PS: when
the copy of DUMP.EXE to DUMP.CPY is not completed correctly.

Diagnosis:  SETSPD does not close the DUMP.CPY file. This open
file stays around until the next crash, and the pages become lost.



Solution:  Add code to close the DUMP.CPY file .


                               [End of TCO 6.1241]
                               TCO-number:  6.1278



Written-by:  MOSER                            Creation-date:  23-Sep-82 15:58:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  If a user sets up setspd to run at a terminal then typing
? in the output speed field of the TERMINAL command gives the message
"?Invalid help message pointer"

Diagnosis:  SETSPD BLTs the wrong number of words into the command block.

Solution:  Use correct BLT.


                               [End of TCO 6.1278]
                               TCO-number:  6.1296



Written-by:  DONAHUE                          Creation-date:   4-Oct-82 15:23:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  The magtape command in CONFIG no longer defaults to TU45 if the
tape type field is blank.

Diagnosis:  Probably an oversight when SETSPD was changed to use COMND.

Solution:  Add TU45 as the default for the tape type field.


                               [End of TCO 6.1296]
                               TCO-number:  6.1297



Written-by:  DONAHUE                          Creation-date:   4-Oct-82 15:26:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  SETSPD outputs error messages without informing anyone which
lines from the config file were in error.

Diagnosis:  SETSPD uses CMD and it's routines to do the command parsing.
These routines assume input is from a terminal and do not echo the
commands that were in error.

Solution:  Move the necessary routines from CMD to SETSPD and change
the error routine to output the command line before issuing the
error.


                               [End of TCO 6.1297]
                               TCO-number:  6.1489



Written-by:  WEETON                           Creation-date:   2-Feb-83 09:38:39
Edited-by:   WEETON                           Edit-date:       2-Feb-83 09:41:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Same at TCO 6.1487

Diagnosis:  Same as TCO 6.1487

Solution:  Create a new command in n-CONFIG.CMD that allows one of 3 options
for Daylight Saving Time.

The new command is:

DAYLIGHT-SAVING-TIME AUTO		;change at the perscribed time
		     OFF		;never do DST conversions
		     ON			;always do DST conversions


                               [End of TCO 6.1489]
                               TCO-number:  6.1616



Written-by:  PAETZOLD                         Creation-date:  16-Apr-83 17:02:46


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD (AND THE CONFIG FILE) ATTEMPT TO SET ARPANET HOST NUMBER.

Diagnosis:  

THEY CAN NOT DO THIS ANYMORE.  THE FILE SYSTEM:SITE-ADDRESS.TXT SETS THIS
INFORMATION.

Solution:  

REMOVE CODE FOR HOST COMMAND IN SETSPD.


                               [End of TCO 6.1616]
                               TCO-number:  6.1634



Written-by:  LOMARTIRE                        Creation-date:  28-Apr-83 16:45:02
Edited-by:   LOMARTIRE                        Edit-date:      28-Apr-83 16:47:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-SPR:  	 18779



Problem:  SETSPD is missing a patch.  The patch was designed to allow 
SETSPD to time out if a command takes more than 30 seconds to execute.  
If SETSPD does time out, a message is sent to the operator and execution 
continues with the next command.
Diagnosis:   
Solution:  Re-install the patch.

                               [End of TCO 6.1634]
                               TCO-number:  6.1804



Written-by:  TGRADY                           Creation-date:  21-Sep-83 14:25:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD gets the error message '?SETSPD: MSTR JSYS ERROR: INVALID STRUCTURE NAME'
when copying a dump file.


Diagnosis:  

If one processor in a CFS environment crashes, and the other does not, SETSPD
will get an error from MSTR when it attempts to mount the structure exclusively.


Solution:  

Don't.  Take out the exclusive bit in the MSTR structure mount.



                               [End of TCO 6.1804]
                               TCO-number:  6.1819



Written-by:  MCLEAN                           Creation-date:   5-Oct-83 22:25:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
  Routines-affected:   	SETSPD




Problem:  ERROR FILE IS TRASHED.
Diagnosis:  ENTRY SIZE OF SYSERR HEADER WAS 4 NOT 2.  THE HEADER
HERE SHOULD BE THE CONSTANT SYSTEM HEADER NOT THE HEADER IN
THE SYSERR FILE.
Solution:  MAKE SIZE 2 NOT 4 OR 5 (AS COBB DID).

                               [End of TCO 6.1819]
                               TCO-number:  6.1934



Written-by:  TBOYLE                           Creation-date:  13-Jan-84 17:19:57
Edited-by:   TBOYLE                           Edit-date:      17-Jan-84 12:37:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  SETSPD calculates the SPEAR counter value incorrectly
from ERROR.SYS. (See TCO 6.1933)

Diagnosis:  Gets it from the wrong field.

Solution:  When the algorithm says to find a value from ERROR.SYS, then
go to the last used page of the file, and trace to the last grouping
of 200 words (a resync header) Add a factor of 22 to the serial number
on that header.

This guarantees that the serial numbers are ascending. The skew is a
maximum of 22. (which is the maximum numbers of entries in a 200 word
block.)


                               [End of TCO 6.1934]
                               TCO-number:  6.1937



Written-by:  TBOYLE                           Creation-date:  17-Jan-84 19:38:05


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  There is no way to use SETSPD to set whether hangup
occurs from a logged-in or logged-out terminal.

Diagnosis:  no code. althought SMON function exists.

Solution:  put in code. New commands are:

ENABLE/DISABLE HANGUP-IF-LOGGED-IN and
ENABLE/DISABLE HANGUP-IF-LOGGED-OUT.


                               [End of TCO 6.1937]
                               TCO-number:  6.1938



Written-by:  PAETZOLD                         Creation-date:  18-Jan-84 11:22:38


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD has no support for the smon function .sfms0 and .sfms1.

Diagnosis:  

explative deleted.

Solution:  

Add two new commands 

ENABLE/DISABLE SYSTEM-MESSAGE-LEVEL-0

and

ENABLE/DISABLE SYSTEM-MESSAGE-LEVEL-1



                               [End of TCO 6.1938]
                               TCO-number:  6.1941



Written-by:  PAETZOLD                         Creation-date:  18-Jan-84 13:42:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

command keywords for enable/disable hangup-if-logged-in/out commands
are not in alphabetical order.

Diagnosis:  

explative deleted.


Solution:  

fix them.



                               [End of TCO 6.1941]
                               TCO-number:  6.1948



Written-by:  TBOYLE                           Creation-date:  23-Jan-84 15:52:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  JSYERR macro, when invoked, prints the supplied text, but never
manages to output the actual JSYS error that occured.

Diagnosis:  JSYER0 support routine in SETSPD, does not set the RH of AC 2
to -1 for ERSTR JSYS.

Solution:  fix it.


                               [End of TCO 6.1948]
                               TCO-number:  6.2036



Written-by:  GROSSMAN                         Creation-date:  17-Apr-84 06:47:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Cannot set Ethernet address in CONFIG.CMD

Diagnosis:  No code.

Solution:  Create a new SETSPD command called 'ETHERNET'.  It takes as arguments,
a channel number (0 for now) and a hexadecimal Ethernet address.  The address
consists of a series of 6 hex numbers seperated by dashes.  The keyword
'DECNET' may be used instead of the hex address string.  In this case the
address is constructed from a previously set DECnet node address (which is
usually set by the 'NODE' command).

Example:

; Set Ethernet address

ETHERNET 0 AA-00-03-3-0-15		; Random Ethernet address

; Make Ethernet address be compatible with DECnet

NODE FOO 124

ETHERNET 0 DECNET


                               [End of TCO 6.2036]
                               TCO-number:  6.2170



Written-by:  GROSSMAN                         Creation-date:  10-Aug-84 17:54:31


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  The "ETHERNET" command knows too much about the DECnet Ethernet
address format.

Solution:  Remove the code from the "ETHERNET" command that creates DECnet
addresses for a channel.  Put this code in the monitor.  Now the "ETHERNET"
command tells the monitor to set the "DECnet" address for a channel, instead
of doing it by itself.



                               [End of TCO 6.2170]
                               TCO-number:  6.2183



Written-by:  TBOYLE                           Creation-date:  20-Aug-84 16:04:10
Edited-by:   TBOYLE                           Edit-date:      20-Aug-84 16:06:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706085



Problem:  If you don't define DMP: in 6-CONFIG, then SETSPD gets confused
and tries to mount a structure called DMP:. You get "?SETSPD: Could
not find dump structure, trying default." You are supposed to get this
error when the structure required by logical name DMP: cannot be mounted.

Also, if PS: has an alias name, and DMP: is defined with that name, then
you get "?SETSPD: Unexpected MSTR JSYS failure,...". It should be able to
take the "real" name for PS:


Diagnosis:  Fuzzy thinking at STRMOU. If there is no DMP:, the GTJFN will
work, the JFNS will work, and we will look for a structure called "DMP".
Instead it should use the "old" way if there isn't a logical name called
DMP: and copy to PS:<SYSTEM> without any funny messages.

If DMP: points to the primary public structure's real structure name
then the JFNS works and produces APS:, which results in SETSPD trying
to mount the public structure twice.

Solution:  In STRMOU, 1) see if there is a system-wide logical name for
DMP: and if not return. 2) If there is a logical name DMP:, check what the
JFNS returns with an STDEV to see if the structure needs mounting
instead of comparing it to "PS:" and "DSK".

This TCO also fixes the initialization of T3 for JFNS where T3 may not
have been clear when loading the flags value.


                               [End of TCO 6.2183]
                               TCO-number:  6.2187



Written-by:  TBOYLE                           Creation-date:  21-Aug-84 13:26:24
Edited-by:   TBOYLE                           Edit-date:      21-Aug-84 13:30:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706128



Problem:    

     SETSPD fails to successfully mount  the  DMP:  structure  when  the
     structure   contains  multiple  units.   Potentially  other  SETSPD
     disasters when a large number of disk units exist on a system  with
     a multi-unit DMP: structure.

Diagnosis:    

     At NXTUNT: in SETSPD.MAC,  SETSPD  steps  through  successive  disk
     units  on  the  system  searching  for  the  unlocated  units  of a
     multi-unit DMP: structure.  However, it fails to reinitialize  some
     parameters  in  the  MSTR%  argument  block,  specifically the byte
     pointers to the storage areas for  the  structure  name  and  alias
     strings.   The  strings  for  each  unit are therefore successively
     concatenated to the original string for the DMP: structure and thus
     can  never  be matched.  Further if many units are scanned, various
     SETSPD data structures can be trashed as the strings  grow  out  of
     the two word storage areas allocated for them.

Solution:    

     Initialize the structure name and alias in the MSTR% argument block
     prior to each .MSRNU MSTR% call.


                               [End of TCO 6.2187]
                               TCO-number:  6.2253



Written-by:  TBOYLE                           Creation-date:  18-Oct-84 14:35:08
Edited-by:   TBOYLE                           Edit-date:      18-Oct-84 14:41:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706284



Problem:    

	When SETSPD runs to copy dumps, it does not always find the
dump structure of it is a CI disk.

Diagnosis:    

	The node can take a while to come up, and it takes even longer
for the disk to appear for MSTR.

Solution:    

	During structure mounting, handle MSTR failure for "No more
units in system differently". We will retry the mounting procedure for
RTYTIM seconds. (Currently set at 30 sec.) At the first failure, we
will print a warning message so that the pause is known to be for a reason.

***********
%SETSPD: Waiting to see if dump structure comes online...
***********


                               [End of TCO 6.2253]
                               TCO-number:  6.1267



Written-by:  MAYO                             Creation-date:  14-Sep-82 21:04:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB


Problem:  SYSJOB output goes to .NULIO when it shouldn't.

Diagnosis:  Code around DSTRT: tries to find job 0's tty: with the
approprate GETAB, but sets it up wrongly. When the GETAB fails, SYSJOB
defaults to .NULIO.

Solution:  Fix things up; and remove a SYSGT at the same time (use
.LOGDE instead of SYSGT for LOGDES).


                               [End of TCO 6.1267]
                               TCO-number:  6.1446



Written-by:  MCINTEE                          Creation-date:   7-Jan-83 11:23:03
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:58:04


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-TCO:  	6.1445



Problem:  Same as TCO 6.1445. The reason this is a separate TCO is that this
wonderful program (TCO) does not recognize TCOs which affect more than one
program.

Diagnosis:  none.

Solution:  none.

                               [End of TCO 6.1446]
                               TCO-number:  6.1632



Written-by:  LOMARTIRE                        Creation-date:  28-Apr-83 11:03:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-SPR:  	 18669



Problem:  HSYFRK BUGHLT when trying to bring system down.
Diagnosis:  SYSJOB has been expanded to allow 40 (octal) forks in its 
internal tables.  However, the monitor is shipped with a maximum of 30 
forks per job.
Solution:  Reduce the number of allowable SYSJOB forks from 40 to 30 (octal).

                               [End of TCO 6.1632]
                               TCO-number:  6.1922



Written-by:  EVANS                            Creation-date:   4-Jan-84 09:13:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-SPR:  	 19777



Problem:  Error message " unexpected interrupt on channel 15, PC=xxxxxxx"
occurs when giving a command 'KEYWORD name' to SYSJOB via ^Espeak, if there
is more than one space between the KEYWORD and the name.
Diagnosis:  SYSJOB accepts a space as a name terminator. Therefore, if a space
begins the name, SYSJOB looks for a null name and thus gets an invalid process
handle.
Solution:  If the input character is a space, check to see if it is the first
character. If so, get another character; if not, allow it to terminate the name.


                               [End of TCO 6.1922]
                               TCO-number:  6.2205



Written-by:  EVANS                            Creation-date:  28-Aug-84 17:04:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB


Problem:  At start-up, SYSJOB prints its version number as "4000nn" .
Diagnosis:  SYSJOB is not aware of the meaning of the VI%DEC flag in VEDIT - the
edit level. This flag tells EXEC to output the version number in decimal.
Solution:  Since SYSJOB uses an elaborate macro to output the version number,
make the code simpler and include testing for VI%DEC; if set, do the output in
decimal.

                               [End of TCO 6.2205]
                               TCO-number:  6.1268



Written-by:  MAYO                             Creation-date:  14-Sep-82 21:08:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  V6 TV < V5 TV

Diagnosis:  Many, many code changes and various bug fixes were made for
V5, these never made it to V6.

Solution:  Copy V5 TV on top of V6 TV. No new code is lost be this action.
Much new code is gained by this action.


                               [End of TCO 6.1268]
                               TCO-number:  6.1308



Written-by:  CHALL                            Creation-date:  12-Oct-82 09:56:54


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  Need to understand the PERUSE command from the Exec.

Solution:  In RSCANR, see if the command name is "PERUSE". If so, treat it
the same as "EDIT" (TV has no Read-only mode).


                               [End of TCO 6.1308]
                               TCO-number:  6.1621



Written-by:  MAYO                             Creation-date:  22-Apr-83 13:49:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  Lots of little things.

Diagnosis:  Problems with stack overflow, and ^D, and PERUSE command,
and some missing functionality.

Solution:  Fix all these little things. This is just a warning that some clean-up
was done in TV recently.


                               [End of TCO 6.1621]


                               TCO-number:  6.1131



Written-by:  MOSER                            Creation-date:   6-May-82 09:59:25
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:49:32


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  WATCH SOMETIMES REPORTS NOUTX2, "COLUMN OVERFLOW".

Diagnosis:  INCONSISTENT CODE. MOST OF WATCH OUTPUTS *S INSTEAD OF REPORTING THIS
ERROR BUT THE ROUTINE LNOUT DOES BOTH.

Solution:  JUST OUTPUT *S.


                               [End of TCO 6.1131]
                               TCO-number:  6.1216



Written-by:  LEACHE                           Creation-date:   6-Aug-82 12:12:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  WATCH does not report disk read/write counts correctly for
RP20's.

Diagnosis:  WATCH uses a LSH T2,-2 to convert sectors read/written into
pages read/written.  This division (by 4) is not correct for RP20's
which have 1 sector per page.

Solution:  Use MTOPR to get the sectors per page for each unit, and
save the data in a table.  Use the table and an IDIV instruction to
convert sectors read/written to pages read/written.


                               [End of TCO 6.1216]
                               TCO-number:  6.1220



Written-by:  LEACHE                           Creation-date:   9-Aug-82 16:45:58
Edited-by:   LEACHE                           Edit-date:       9-Aug-82 16:49:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH
Related-TCO:  	6.1217



Problem:  WATCH does not produce read-after-write counts in the disk I/O
section.

Diagnosis:  No code to do so.

Solution:  Add code.


                               [End of TCO 6.1220]
                               TCO-number:  6.1279



Written-by:  MURPHY                           Creation-date:  23-Sep-82 16:11:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Watch sometimes outputs "column overflow" error
messages.  The the job is detached, this hangs and prevents
any further output.  Even if the job is not detached, these
messages clutter up the terminal and possibly cause a
pause at end of page.

Diagnosis:  Excessive paranoia.  The column overflows are
not serious enough to warrant error messages.

Solution:  Change NOUT fail return to NOP.


                               [End of TCO 6.1279]
                               TCO-number:  6.1289



Written-by:  LEACHE                           Creation-date:  29-Sep-82 15:58:32
Edited-by:   LEACHE                           Edit-date:       1-Oct-82 11:12:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  
ALthough WATCH prints read-after-write counts in the summary disk statistics,
it does not print them in the interval statistics.

Diagnosis:  
No code to do so.

Solution:  
Add a new data field (DKVR) to the interval statistics.

In the interval statistics, total disk reads are equivalent to the sumo of
fields DKVR plus DKRD.  Likewise, in the summary statistics, total disk
reads are equivalent to the sum of the disk-read value plus the verify value.


                               [End of TCO 6.1289]
                               TCO-number:  6.1350



Written-by:  MURPHY                           Creation-date:   5-Nov-82 17:50:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Many many problem.  Most release 5 edits missing, some
half in.

Diagnosis:  Source confusion.

Solution:  Merge edits.


                               [End of TCO 6.1350]
                               TCO-number:  6.1880



Written-by:  TLITT                            Creation-date:  22-Nov-83 22:09:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Working set size and used pages are overstated

Diagnosis:  UPDWSS and UPDUPG are called unconditionally early in BP2.  Two
of three cases then update again in subroutines.  The third shouldn't update
at all.

Solution:  Delete the early calls to UPDWSS and UPDUPG.  The code further
along gets it right.


                               [End of TCO 6.1880]


                               TCO-number:  6.1120



Written-by:  ZIMA                             Creation-date:  29-Apr-82 16:21:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  CHECKD
Related-SPR:  	 17491



Problem:  CHECKD crashes, or possibly many pages could be released incorrectly.

Diagnosis:  
	If page zero of a mapped directory file is nonexistent, CHECKD will
crash in DR0CHK with an illegal memory read.
	Further, if a file exists in a directory with a .DIRECTORY extension,
and there is a real subdirectory file with the same filename, CHECKD will try
to open the non-directory file as the directory.

Solution:  
	Intercept the illegal memory read with an ERJMP.  Make CHECKD use
explicit generation 1 to access the subdirectory files with its GTJFNs.


                               [End of TCO 6.1120]
                               TCO-number:  6.1231



Written-by:  LEACHE                           Creation-date:  19-Aug-82 15:17:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD gets confused over user files with extension
.DIRECTORY.

Diagnosis:  CHECKD doesn't expect such an animal.

Solution:  
(1)	shoot the user
(2)	Add some protection to CHECKD:
	(A)  Force it to open only files with a generation of "1"
	(B)  Add an ERJMP to protect against missing file pages.
(3)	If items 1 and 2 fail, shoot the system administrator.


                               [End of TCO 6.1231]
                               TCO-number:  6.1301



Written-by:  WEETON                           Creation-date:   6-Oct-82 15:21:55
Edited-by:   WEETON                           Edit-date:       7-Oct-82 09:17:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD trashes structures with large directories.

Diagnosis:  When .DIRECTORY files where increased for Version 5, nobody
bothered to tell CHECKD about it.  Therefore, CHECKD think that directory
files larger than 400 pages are screwed up and tries to fix it up.


Solution:  Make NDIRPG == 500 instead of 400.  Also to keep DDT space from being
overlapped, FSTPAG must be reduced from 34000 to 26000 and MAXLOS from 50000
back to down to 40000.


                               [End of TCO 6.1301]
                               TCO-number:  6.1303



Written-by:  WEETON                           Creation-date:   7-Oct-82 17:39:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Monitor parameters can be changed, but CHECKD doesn't get told about
them.

Diagnosis:  Whoever wrote CHECKD copied the data names and values from
PROLOG.MAC, this can cause problems when PROLOG.MAC get changed, but
CHECKD doesn't.

Solution:  Change CHECKD to get any symbols it can from PROLOG.UNV.


                               [End of TCO 6.1303]
                               TCO-number:  6.1304



Written-by:  WEETON                           Creation-date:   8-Oct-82 15:36:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When CHECKD prompts "% Structure already mounted. Forcibly dismount
and proceed? ", and the answer is yes, the structure dismount can fail.  If
it does, CHECKD will reprompt with the same prompt.  This is silly.

Diagnosis:  In routine DISMNT after the failing MSTR, CHECKD writes the error
message, then returns +1 always.

Solution:  After writing the error message, instead of JRSTing .+1, JRST to
START0.


                               [End of TCO 6.1304]
                               TCO-number:  6.1328



Written-by:  WEETON                           Creation-date:  26-Oct-82 09:32:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD defaults structure names on RELEASE command.  This is dangerous.

Diagnosis:  CHECKD was written that way.

Solution:  Don't set up a default pointer at CONFRM:.


                               [End of TCO 6.1328]
                               TCO-number:  6.1356



Written-by:  DONAHUE                          Creation-date:   9-Nov-82 08:28:03
Edited-by:   DONAHUE                          Edit-date:       9-Nov-82 09:19:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Illegal memory read when CHECKD is scanning a trashed directory.
Diagnosis:  If a directory's symbol table has a bad FDB address in it, CHECKD
will attempt to read the FDB and can bomb with an illegal memory read.

Solution:  Put an ERJMP after the first instruction that references the FDB.
If the reference fails, output a message and skip this FDB.


                               [End of TCO 6.1356]
                               TCO-number:  6.1496



Written-by:  WACHS                            Creation-date:   4-Feb-83 05:09:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  CHECKD


Problem:  CHECKD doesn't know about RA80, RA81, RA60 disks, nor does it
know that they can live on controllers 0 - 17.

Diagnosis:  new stuff

Solution:  add definitions


                               [End of TCO 6.1496]
                               TCO-number:  6.1545



Written-by:  COBB                             Creation-date:  15-Mar-83 14:49:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Wrong major version #

Diagnosis:  as above

Solution:  Make it 6, since we've added new code for RA.. drives


                               [End of TCO 6.1545]
                               TCO-number:  6.1547



Written-by:  WEETON                           Creation-date:  15-Mar-83 17:20:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Not enough space.

Diagnosis:  Directories take up too much room in section 0.

Solution:  Make CHECKD multi-sectioning;  Map section 0 and 1 together,
map directories into section 2, and do all directory type stuff in section
1.


                               [End of TCO 6.1547]
                               TCO-number:  6.1548



Written-by:  WEETON                           Creation-date:  15-Mar-83 17:25:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Number of lost pages that can be recovered by CHECK BITTABLE command
is too small.

Diagnosis:  Was increased from 40000 (octal) to 50000 (octal) in Release 5.
But was later reduced back to 40000 to allow for expanded directories.
Since directories are now in section 2, increase maximum number of lost
pages back to 50000.

Solution:  See diagnosis.


                               [End of TCO 6.1548]
                               TCO-number:  6.1552



Written-by:  WEETON                           Creation-date:  16-Mar-83 13:58:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Deleted and invisible files are ignored when attempting to adjust
file page counts.

Diagnosis:  GTJFN block not set up for these possiblities.

Solution:  Set up GTJFN block to include these files.


                               [End of TCO 6.1552]
                               TCO-number:  6.1553



Written-by:  WEETON                           Creation-date:  16-Mar-83 16:47:22
Edited-by:   WEETON                           Edit-date:      16-Mar-83 16:51:11


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Directories may contain "new" files, but pages assigned to the "new"
file might not get released.

Diagnosis:  This is expected after a crash, but the user is never told.

Solution:  If we find one of these "new" files, write a message.  If the user
feels that it is nessesary, he can EXPUNGE/PURGE the directory (or just do
a CHECK BITTABLE or REBUILD command).


                               [End of TCO 6.1553]
                               TCO-number:  6.1555



Written-by:  WEETON                           Creation-date:  17-Mar-83 14:54:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Monitor comes up after CHECKD in some places it probaply shouldn't.

Diagnosis:  Flags not set at some critical spots.

Solution:  Set flag at more spots:
1) BTBINI: - Reason: Failed to initialize bit table
2) HOMEIN: - Reason: Unknown disk drive type
3) HOMIN4: - Reason: Bittable to large
4) NOHOME: - Reason: Could not find a valid home block


                               [End of TCO 6.1555]
                               TCO-number:  6.1556



Written-by:  WEETON                           Creation-date:  17-Mar-83 16:03:18


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Disks can get unnessesarily trashed.

Diagnosis:  Wrong file for wrong structure can be used when attempting
to release lost pages.

Solution:  Perform better error checking when deassigning of disk addresses
fail.  If failure was for a critical reason (i.e. disk address too big) then
quit, BEFORE we trash the structure further.


                               [End of TCO 6.1556]
                               TCO-number:  6.1572



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:11:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Edit number in octal

Diagnosis:  Was always that way

Solution:  Make it decimal.


                               [End of TCO 6.1572]
                               TCO-number:  6.1573



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:14:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD EDIT subcommand doesn't allow pages greater than any entry
already in BAT block.

Diagnosis:  In routine BTTBSE an incorrect check is made when attempting
to determine if the entry is already in the table.

Solution:  Change the CAMG to a CAMLE.


                               [End of TCO 6.1573]
                               TCO-number:  6.1574



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:34:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  BAT block doesn't get updated on EXIT command from BAT block editor.


Diagnosis:  T3 get set up, then T2 get the page put in it, then a IDIV is
done to compute the number of words to write.  The only problem with this is
that someone forgot that IDIV put the remainder in AC+1!  T3 gets clobbered!

Solution:  Set up T3 AFTER the IDIV.


                               [End of TCO 6.1574]
                               TCO-number:  6.1575



Written-by:  WEETON                           Creation-date:  25-Mar-83 16:38:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Secondary BAT block can get trashed!

Diagnosis:  When CHECKD sets up T3 for the DSKOP to write the secondary BAT
block, it does a MOVEI T3,BATBL9.  There is only one minor problem with this:
BATBL9 is LABEL inthe CHECKD code itself, not a storage address!!

Solution:  Change MOVEI T3,BATBL9 to MOVEI T3,BATBL2.


                               [End of TCO 6.1575]
                               TCO-number:  6.1582



Written-by:  WEETON                           Creation-date:  31-Mar-83 16:44:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  ADD subcommand to BAT block editor doesn't record the APR
serial number, channel number, or drive number, in the BAT block.

Diagnosis:  No code include to do this.

Solution:  Add code.


                               [End of TCO 6.1582]
                               TCO-number:  6.1584



Written-by:  WEETON                           Creation-date:  31-Mar-83 16:49:07
Edited-by:   WEETON                           Edit-date:      31-Mar-83 16:52:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When EXITing BAT block editor and writing out edited BAT block,
CHECKD can destroy the BAT blocks for *ALL* the units in the structure.
Note: This will only happen on multi-pack structures.

Diagnosis:  When setting up for DSKOP JSYS, there the sector number is assumed
to be 2 this is incorrect for structures with more that one pack.  It should
be  (UNITNO-1) * SECTORS/UNIT + 2.

Solution:  When writing the edited BAT block(s) to the disk, add in the
sector offset into the location where we're writing the BAT block(s).


                               [End of TCO 6.1584]
                               TCO-number:  6.1590



Written-by:  WEETON                           Creation-date:   4-Apr-83 14:37:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't wait for confirmation after parsing the processor
serial number when making a new structure.

Diagnosis:  The call to the confrimation routine was left out.

Solution:  Add confirmation.


                               [End of TCO 6.1590]
                               TCO-number:  6.1591



Written-by:  WEETON                           Creation-date:   4-Apr-83 14:39:59


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  APR serial number in HOM blocks can be negitive.

Diagnosis:  CHECKD doesn't consider this possiblitly.

Solution:  Consider the case of negitive number; don't allow it!


                               [End of TCO 6.1591]
                               TCO-number:  6.1613



Written-by:  WEETON                           Creation-date:  12-Apr-83 16:16:23


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  If a RECONSTUCT ROOT-DIRECTORY command fails when attempting to
make a private copy of the bit table, CHECKD doesn't know what to do about it.

Diagnosis:  Not enough smarts in CHECKD to handle this possiblity. (see TCOs
6.1611 and 6.1612).

Solution:  Get some help from the Monitor; if CHECKD can't dismount the
structure because D1%INI is set in the Monitor, use the newly created
bit DA%AIN for the DSKAS JSYS to abort the initialization of the bit table
and then dismount the structure.


                               [End of TCO 6.1613]
                               TCO-number:  6.1735



Written-by:  WEETON                           Creation-date:  18-Jul-83 14:07:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't know that RAxx type disks are "page mode" disks.

Diagnosis:  CHECKD wasn't updated.

Solution:  Update CHECKD.  Fix up invocation of DSKTAB macros for RAxx type disks.


                               [End of TCO 6.1735]
                               TCO-number:  6.1738



Written-by:  WEETON                           Creation-date:  19-Jul-83 09:27:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD reports all multiply assigned disk address as zero.

Diagnosis:  Code was modified from V4 to V5.  Unfortunately, the code never saves
the disk address.

Solution:  When attempting to assign a page to the local copy fo the bittable,
save the address being examined on entry to the routine DSKASA.  When exiting
the routine, restore the address, then the caller can save the address for
later output to the terminal.


                               [End of TCO 6.1738]
                               TCO-number:  6.1756



Written-by:  WEETON                           Creation-date:   2-Aug-83 11:48:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't report pages that are assigned to files and are also
marked in the BAT BLOCK.

Diagnosis:  Subroutine SEEADR (see if a specific address is in the BAT BLOCK)
was modified for Version 5, but makes invalid range checks.  (It will always
return +2).

Solution:  Fix SEEADR to make correct range checks, and standardize code.


                               [End of TCO 6.1756]
                               TCO-number:  6.1759



Written-by:  WEETON                           Creation-date:   4-Aug-83 07:55:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Not enough room for code in CHECKD.

Diagnosis:  A lot of work has been done to CHECKD;  thus CHECKD been going
through growing pains.

Solution:  Change the first page of data from 26 to 40.  This will allow for
much more code to be added to CHECKD.


                               [End of TCO 6.1759]
                               TCO-number:  6.1775



Written-by:  WEETON                           Creation-date:  17-Aug-83 09:57:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  When EXITing the BAT BLOCK editor after doing a VERIFY command, the
BAT BLOCKs are not updated.

Diagnosis:  Code was left out to do this.

Solution:  Add more code to routine BATBLD (build the local copy of the BAT
BLOCK).  Included in this code is a check to make sure that bad sectors are
entered only once.


                               [End of TCO 6.1775]
                               TCO-number:  6.1776



Written-by:  WEETON                           Creation-date:  17-Aug-83 09:59:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD doesn't do RA81s right.

Diagnosis:  Arguments describing the physical characteristics of RA81s are
incorrect.

Solution:  Fix arguments.


                               [End of TCO 6.1776]
                               TCO-number:  6.1869



Written-by:  TBOYLE                           Creation-date:  18-Nov-83 13:16:24
Edited-by:   TBOYLE                           Edit-date:      28-Nov-83 14:09:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD uses table of values for disk drives for such things
as cylinders/unit, sectors/cyl., etc. This more of a hassle than a problem,
since when a new disk drive is produced, CHECKD must be modified to
account for it.

Diagnosis:  At the time it was implemented, there was apparently no
MSTR% JSYS available.

Solution:  Make the HOMEIN code use the MSTR% JSYS to pick up the needed
information.


                               [End of TCO 6.1869]
                               TCO-number:  6.1871



Written-by:  TSANG                            Creation-date:  18-Nov-83 16:45:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  CHECKD
  Routines-affected:   	CHECKD	DUMPER


Related-SPR:  	 19497



Problem:  If you give the the command DEFINE HLP: <HEL*> while there are more
then one directory matching the name <HEL*> (e.g. <HELP> and <HEL1>) and there
is a file with the same name in each directory, and afterward you give a HELP
subcommand in CHECKD, you will get an error message as following:
?CHECKD: GTJFN for the help file failed
?JSYS ERROR: Invalid wildcard designator

Same situation happens in DUMPER. If multiple .HLP files of same name are
found in different directories defined by HLP: or SYS:, you will get an error
message as following:
?DUMPER help file not available, use "?" for list of commands.

Diagnosis:  The flag bits were not set correctly for GTJFN JSYS in subroutine
.HELP (CHECKD) and TYPHLP (DUMPER).
Solution:  Set the flag bit GJ%IFG on before GTJFN JSYS call, which will allow
the wildcard in input filespec.

                               [End of TCO 6.1871]
                               TCO-number:  6.1890



Written-by:  TBOYLE                           Creation-date:   1-Dec-83 15:35:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD can make errors trying to find out whether disk addresses
are in the BAT blocks.

Diagnosis:  The routine SEEADR is doomed to failure because it uses the
start and end range words without removing the flag bits that are also
present.

Solution:  Before comparing, take the flag bits out.


                               [End of TCO 6.1890]
                               TCO-number:  6.1893



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:12:29
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 16:14:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD can explode when it uses a file thinking it is really a
directory. This is not nice.

Diagnosis:  When converting a directory to its filename counterpart, it uses
GTJFN to match <dirname>.DIRECTORY rather than <dirname>.DIRECTORY.1 hence
it could match a file by the same name with a higher generation number.

Solution:  Make it match <dirname>.DIRECTORY.1. This is actually Edit 32
from autopatch that never made it into the 6 sources.


                               [End of TCO 6.1893]
                               TCO-number:  6.1894



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:24:06
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 16:29:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  Owner ID of created structure artificaially limited to 13 characters
when there is room for 14.

Diagnosis:  Its a bug. Fencepost bug to be exact.

Solution:  Fix it. This is edit 31 from autopatch that didn't make it.


                               [End of TCO 6.1894]
                               TCO-number:  6.1895



Written-by:  TBOYLE                           Creation-date:   6-Dec-83 16:38:36
Edited-by:   TBOYLE                           Edit-date:       6-Dec-83 17:13:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  ENABLE AUTOMATIC-STARTUP command can store the wrong
serial number in the home blocks.

Diagnosis:  It works right if you type <cr> meaning your CPU
but fails if you specify the serial number. There are two paths
to common code and each uses a different register.

Solution:  Correct both paths into common code. Use the same register.
This was edit 74 from autopatch which got missed.


                               [End of TCO 6.1895]
                               TCO-number:  6.1897



Written-by:  TBOYLE                           Creation-date:   7-Dec-83 12:52:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  VERIFY command does not add bad pages to the BAT BLOCK.

Diagnosis:  Code was left out to perform this.

Solution:  When building the BAT blocks , when leaving the BAT block editor,
copy any entries that were found during the scan, but not already in the
BAT BLOCK into the BAT BLOCK. This is edit 76 from autopatch that didn't
make it.


                               [End of TCO 6.1897]
                               TCO-number:  6.1898



Written-by:  TBOYLE                           Creation-date:   7-Dec-83 14:06:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  On a VERIFY command, the message "? Unit for page xxx not
found." always appears after a hard, soft or ECC recoverable error.

Diagnosis:  The tests made in STRMAT: are not valid if the structure
is mounted with an alias, which is always the case when doing a verify.

Also at GETCK2: the wrong half of word .MSRNS is used to find the unit
number. It also should be incremented.

Solution:  Use the GTASTS: (Get alias status routine) on VERIFY and 
fix GETCK2: Note that this solution different from Edit 54 in
autopatch which didn't make it into the sources. This is also
a far cleaner approach.


                               [End of TCO 6.1898]
                               TCO-number:  6.1903



Written-by:  TBOYLE                           Creation-date:  12-Dec-83 13:54:22
Edited-by:   TBOYLE                           Edit-date:      13-Dec-83 15:57:03


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  CHECKD has the obnoxious habit of assuming PS: as the
structure name when it is run at system startup. On CLOYD: or
any other system with a non-PS: name, this makes the lost pages
hard to release because you have to type the whole thing, and
then it asks "ARE YOU SURE YOU WANT TO DO THIS?"

Diagnosis:  CHECKD does better by using it's "real" PS name.
This makes other functions work better as well. It also
makes the new HOMEIN: code work.

Solution:  Provide a routine TRANSL: that translates the STRNAM from PS: to
its real name if there is any. Call this routine in PSCHK and HOMEIN,
and also at START: so that the translated PS: name is saved in STRNAM and
PSNAME. This way system startup and PSCHK will use the real name of PS:
as their points of reference.


                               [End of TCO 6.1903]
                               TCO-number:  6.1905



Written-by:  TBOYLE                           Creation-date:  12-Dec-83 13:57:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  "Chcecking system structure complete" message flys off the
and also gets garbled with other output.

Diagnosis:  No returns after messages and no DOBEs

Solution:  Put them in.


                               [End of TCO 6.1905]
                               TCO-number:  6.2115



Written-by:  TBOYLE                           Creation-date:   2-Jul-84 14:16:36
Edited-by:   TBOYLE                           Edit-date:       2-Jul-84 15:39:40


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  There is no way to set a disk to be "don't care" as specified in
the TOPS-20 Multi-Access Disk management specification.

Diagnosis:  its a new feature.

Solution:  Add a command ENABLE/DISABLE DON'T-CARE (IF PORTED TO UNKNOWN
SYSTEM ON STRUCTURE)

Word 16 in the home blocks now describes this attribute.

The command is also invisible because this is a non-supported function
to allow use of a disk that is ported to an unknown system. Customers
need to insure that the integrity of the pack will not be compromised
by the other system.


                               [End of TCO 6.2115]
                               TCO-number:  6.2116



Written-by:  TBOYLE                           Creation-date:   2-Jul-84 14:20:56


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD


Problem:  There is no way to set the serial number for an RP20 disk.

Diagnosis:  We need it now because the TOPS-20 Multi-Access Disk
Mgt. SPEC wants it.

Solution:  Add a new command SET DRIVE-SERIAL-NUMBER. It will prompt for
a 36-bit serial number. CHECKD will assemble the proper two word
serial number and stuff it into the first two words of sector 3.
This command will only work for RP20's.


                               [End of TCO 6.2116]
                               TCO-number:  6.2237



Written-by:  TBOYLE                           Creation-date:   6-Oct-84 02:14:28
Edited-by:   TBOYLE                           Edit-date:       6-Oct-84 02:30:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CHECKD
Related-QAR:  	706247



Problem:    

	Too many pages marked in the BAT blocks.

Diagnosis:    

	When the verify surface command or the BAT block editor is
used, CHECKD assumes that a page is four sectors long. This is not
true for RP20's or for HSC's, hence an extra 3 sectors (pages) are
wasted when one bad page is found on those devices.

Solution:    

	At BATAD1+19 and SETCKU+3, use SECPAG to set the correct number
of sectors. There was also a problem setting the unit bit mask, it should
be truncated to 3 bits because that is all there is room for (the monitor
does this as well (TCO 6.1888.) Fix that problem at BATAD2+2 and SETCKU+13.


                               [End of TCO 6.2237]
                               TCO-number:  6.1014



Written-by:  HDAVIS                           Creation-date:  20-May-81 14:36:35
Edited-by:   PRATT                            Edit-date:      29-Sep-84 15:17:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  CMD


Problem:  DOESN'T RUN IN NON-ZERO SECTIONS

Diagnosis:  SEVERAL INSTRUCTIONS USING INDIRECTION AND INDEXING WILL NOT
RUN IN NON-ZERO SECTIONS.
Solution:  REPLACE THEM WITH THE EXTENDED FORMS

                               [End of TCO 6.1014]


                               TCO-number:  6.1024



Written-by:  MILLER                           Creation-date:   9-Sep-81 15:21:43
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:04


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  ddt


Problem:  EDDT loses APR flags.

Diagnosis:  EDDT assumes that MB parity error and SBUS error
may be cleared after memory references. While these bits
certainly may have been set by the reference, clearing them
makes debugging APR interrupt code quite difficult.

Solution:  Assume NXM is adequate for detecting bad references.
On leaving DDT, clear any flags that were not on during entry, but
leave on the others. Note that NXM is still not preserved, but
MB parity and SBUS error are.


                               [End of TCO 6.1024]
                               TCO-number:  6.1135



Written-by:  MILLER                           Creation-date:  12-May-82 13:19:22


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  ddt


Problem:  EDDT will not work on the 2080.

Diagnosis:  There are new interface modes for programming the
2080 processor. Also, the 2080 supports more address space than
does the KL-10.

Solution:  Teach EDDT to interface to the 2080. Also, fix the
mapping functions of FILDDT to understand super-section pointers.


                               [End of TCO 6.1135]


                               TCO-number:  6.2218



Written-by:  LEACHE                           Creation-date:  12-Sep-84 12:59:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  DX20LD


Problem:    DX20LD generates strange errors when run on a system with a
KLIPA or KLINI installed.

Diagnosis:    DX20LD has never been taught that waht looks like an RH20
may in fact be a KLIPA or KLINI.

Solution:    Check the sign-bit in the results of the CONI; if it is set,
(indicating a KLIPA or KLINI) do not attempt a unit search on this
"channel".


                               [End of TCO 6.2218]
                               TCO-number:  6.1132



Written-by:  KROSENBLUH                       Creation-date:   6-May-82 15:57:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  EDIT 212 TO EDIT WAS MEANT TO MAKE I* START INSERTING AT LINE
100 (OR USER DEFINED DEFAULT) WHEN THE PAGE WAS EMPTY.  THE EDIT DIDN'T
CATCH EMPTY PAGES HOWEVER, SO I* STILL CAUSED INSERTION TO START AT LINE
99999 ON EMPTY PAGES.
Diagnosis:  SHOULD BE TESTING FOR A PAGE-MARK AT START OF PAGE 

Solution:  INSERT CODE TO DO THAT

                               [End of TCO 6.1132]
                               TCO-number:  6.1274



Written-by:  LOMARTIRE                        Creation-date:  20-Sep-82 10:07:18
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:06:43


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 17976



Problem:  The I* command issued in empty pages starts inserting at 49999
not at default starting line.
Diagnosis:  Edit 240 was meant to fix this but it only handled the problem
for pages after the first.  It tested for a page mark and, if found, 
provided the default starting value.  However, since page one has no 
page mark, the code at FINDB3 (provided by edit 210) is entered and 
takes the average of 0 and 99999 (the value of SINDEX when page is 
empty) and returns 49999 as the starting value.
Solution:  Insert code at FINDB3+3 to check to see if an I* command has been 
issued (check flag FL2 bit 35 [STARF] and bit 24 [UPTOPF]) and, if so, 
set T1 to the default starting line.

                               [End of TCO 6.1274]
                               TCO-number:  6.1275



Written-by:  LOMARTIRE                        Creation-date:  20-Sep-82 13:16:56
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:07:36


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  Version 6 of EDIT is not current and does not contain all the edits 
made.
Diagnosis:  V6 EDIT (on SNARK) has not been updated to reflect the current 
version.
Solution:  Copy the current version of EDIT (from FARK) to the version 6 
utilities directory on SNARK.

                               [End of TCO 6.1275]
                               TCO-number:  6.1276



Written-by:  LOMARTIRE                        Creation-date:  21-Sep-82 16:37:25
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:07:48


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18223



Problem:  If EDIT is invoked without a saved filespec, EDIT will ask for 
one but gives poorer facilities than the EXEC EDIT command (no character 
editing, recognition, or help).
Diagnosis:  Edit 214 causes EDIT to reprompt for the filespec (before it 
simply output an error message and halted).  After the prompt is printed 
(at location BADTMP:) the program continues in the initialization section 
(at label RDFLNA:) and eventually processes the user input via a SIN JSYS.  
However, the SIN JSYS has no character editing facilities so EDIT appears 
very unfriendly.
Solution:  Change the code at RDFLNA:+13 to a RDTTY JSYS.  Also, change the 
code at BADTMP:+1 to allow the reprompt pointer to access just the last 
line of the EDIT message which asks for the filespec.

                               [End of TCO 6.1276]
                               TCO-number:  6.1295



Written-by:  LOMARTIRE                        Creation-date:   1-Oct-82 16:42:58
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:08:19


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 17698



Problem:  Transferring entire pages within EDIT does not work correctly.
Diagnosis:  When EDIT stores the text to be transferred (in BUFC) it places 
a page mark at the beginning of the buffer.  This is not required since 
EDIT explicitly inserts page marks when needed.  So, when the copy buffer 
is placed at the transfer destination, an extra page is created due to the 
faulty page mark.  Also, the starting line number for destination pages 
which are empty is incorrect; its 49999 instead of the default starting line 
number.
Solution:  Delete the code (at GOCOP:+3) which places the page mark at the 
beginning of the copy buffer.  Also, fix the code at FINDB3: and NOLNUM:+7 
to return the default starting line number.  This will also fix the similar 
problem which occurs when entire pages are copied.

                               [End of TCO 6.1295]
                               TCO-number:  6.1307



Written-by:  CHALL                            Creation-date:  12-Oct-82 09:54:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT


Problem:  Need to understand the PERUSE command from the Exec.

Solution:  In PARSE1, check for a command name beginning with "P". If so,
call SETRED to set the read-only flag, and change the "P" to "E" so the
rest of the command is treated as if it were "EDIT".


                               [End of TCO 6.1307]
                               TCO-number:  6.1332



Written-by:  LOMARTIRE                        Creation-date:  26-Oct-82 14:44:18
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:08:54


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18223



Problem:  If EDIT is invoked without a filespec (and there is no saved filespec) 
the facilities provided for entry of one are poor (no character editing, 
recognition, or help).
Diagnosis:  Edit 214 causes EDIT to reprompt for the filespec and then continues 
in the initialization section (at label RDFLNA:) where the user input is 
eventually processed via a SIN JSYS.  This JSYS has none of the desired editing,
recognition, or help features.
Solution:  Add code in the error handling section (at BADTMP:) which uses the 
COMND JSYS for reentry of the command line.  (As an extra precaution, change 
the code at RDFLNA:+14 to a RDTTY JSYS.)

                               [End of TCO 6.1332]
                               TCO-number:  6.1333



Written-by:  LOMARTIRE                        Creation-date:  26-Oct-82 16:21:19
Edited-by:   LOMARTIRE                        Edit-date:      24-Jul-84 14:17:45


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-TCO:  	6.2144

Related-SPR:  	 18292



Problem:  EDIT ignores the specified output directory whenever it is the 
connected directory.  The first directory on the DSK: is used instead.
Diagnosis:  When EDIT stores the input and output filespecs, it does not include 
the device and directory fields (dev:<dir>) if the file is on the connected 
directory.  This is because it stores what is returned by a JFNS JSYS which 
has been called without any format control (AC3=0).  So when the output 
filespec is referenced, it contains no device field and the default of DSK: 
is used instead.
Solution:  Force the JFNS to return the full filespec (dev:<dir>name.typ.gen).  
This is done by storing the appropriate format control bits in AC3 at 
JFNSTR:+3.

                               [End of TCO 6.1333]
                               TCO-number:  6.1395



Written-by:  LOMARTIRE                        Creation-date:  24-Nov-82 15:26:04
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:11:13


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18076



Problem:  CONTROL/U works improperly for the B, E, and G commands when a 
filespec is being entered for the command.  The CONTROL/U should abort the 
command (as it does for the C and T commands in the same situation) but 
instead it simply clears the line and EDIT is still awaiting the filespec.
Diagnosis:  When the user types the CONTROL/U, an error return from routine 
GTJFNX continues at RDNERR:.  Here the error code is checked and, if it is 
GJFX37 (empty buffer), the ^U return is provided.  However, this only works 
for the C and T commands since for any other, the GTJFNX routine returns the 
GJFX33 error code (filename was not specified).  This is due to the fact that, 
for C or T commands the long form of the GTJFN is used but for the end class 
commands (E, B, and G) the short form is incorrectly used which causes the 
peculiar GJFX33 to appear.  This bug is also present in the two set commands 
/NAME and /RUN which also allow the entry of a filespec.  The other command 
which allows for the entry of a filespec, the indirect (@) command, works 
correctly since before the call to GTJFNX, it sets the EXCPFL bit in FL2 
indicating that it is a copy.  This causes the long form of the GTJFN to be 
used and thereby allows GJFX37 to be returned when CONTROL/U is entered.
Solution:  Set the copy bit of FL2 (EXCPFL) for the E, B, G, /NAME, and /RUN 
commands so that the GTJFNX routine uses the long form of GTJFN.  This will 
return GJFX37 instead of GJFX33 when a CONTROL/U is issued.  Also, add code 
in the error handler at RDNERR: to provide a ^U return when the filename 
was not specified (GJFX33).  At each of the calls to the filename entry 
routine (except one), have the ^U return (+2) print the "Aborted..." message 
and end the command.  The only exception is when an alternate filename is 
being entered for an end class command because the original output file exists 
and is not to be deleted.  At this call (in ASKNAM:), there is no way to abort 
the entry of the filespec - one must be entered.  So, except for this case, 
a CONTROL/U (or no filename specified) will abort all commands in which a 
filespec was being entered and the "Aborted..." message will be output to 
indicate this.

                               [End of TCO 6.1395]
                               TCO-number:  6.1629



Written-by:  LOMARTIRE                        Creation-date:  27-Apr-83 12:40:48
Edited-by:   LOMARTIRE                        Edit-date:      27-Apr-83 12:44:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18363



Problem:  The copy command fails when the source is designated as the 
first line of a file.
Diagnosis:  In the command, the up arrow is used as the source designator 
and should be interrupted as the first line of the file.  However, the 
routine responsible for converting the ^ (EVALUP) mishandles it and treats 
it like a destination designator.  So an incorrect line number results and 
EDIT responds with the error %No such line(s).
Solution:  In EVALUP, check to see if it is a "copy from file" command 
(check flag COPFIL) and, if so, skip the special conversion done on 
destination designators.  This will cause the correct first line number to 
be returned as the value of ^.

                               [End of TCO 6.1629]
                               TCO-number:  6.1677



Written-by:  LOMARTIRE                        Creation-date:   9-Jun-83 10:15:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 18725



Problem:  The vertical bar is not substituted for correctly.
Diagnosis:  In C64 mode (the normal mode of operation) the vertical bar is 
still used as a C128 mode special character.  Namely, when used as the first 
argument in the S command, it is interpreted as any single separator.
Solution:  Test to see if we are in C128 mode before interpreting the | as a
special character.

                               [End of TCO 6.1677]
                               TCO-number:  6.1682



Written-by:  LOMARTIRE                        Creation-date:   9-Jun-83 15:56:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 19186



Problem:  EDIT fails to parse the /READONLY switch in the SWITCH.INI file.
Diagnosis:  The code allows the switch in the EDIT or CREATE command but not 
in the SWITCH.INI file.
Solution:  Change the code to allow the switch either in the command line or 
in SWITCH.INI.

                               [End of TCO 6.1682]
                               TCO-number:  6.1855



Written-by:  LOMARTIRE                        Creation-date:   9-Nov-83 15:51:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-SPR:  	 19694



Problem:  The position argument ^+n does not always return the line that is 
n from the top of the page.  Sometimes, it returns the line that is n-1 from 
the top.
Diagnosis:  In the routine ADDSUB, the ^ is evaluated and this number is 
checked against the current position.  If they are unequal, then the number 
of lines to increment is decremented by 1 since it is assumed that we are 
at ^+1 already.  Wrong assumption.
Solution:  Remove this code.  This will make sure that n remains correct and 
that ADDSUB returns the correct value for ^+n.


                               [End of TCO 6.1855]
                               TCO-number:  6.2144



Written-by:  LOMARTIRE                        Creation-date:  24-Jul-84 14:17:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EDIT
Related-TCO:  	6.1333

Related-SPR:  	 20248

Related-QAR:  	706147



Problem:   TCO 6.1333 broke the L command to EDIT.

Diagnosis:   The L command attempts to print to LPT: by concatenating LPT: to the 
front of the saved filespec.  Previous to TCO 6.1333, this filespec was stored 
as FILENAME.EXT.  Now, a full filespec is stored for all filespecs in EDIT.  
So, the routine is trying to put LPT: on the front of 
STR:<DIRECTORY>FILENAME.EXT.  This causes the ensuing GTJFN to fail with "No 
such directory".

Solution:   In routine LIST: when the filespec is being formed, skip by the 
structure and directory fields.


                               [End of TCO 6.2144]
                               TCO-number:  6.1467



Written-by:  WEAVER                           Creation-date:  17-Jan-83 14:23:18
Edited-by:   WEAVER                           Edit-date:      31-Mar-83 17:05:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  FE


Problem:  

FE doesn't know that .BIC extensions mean binary files.  Diagnostic
Engineering must rename files to .BIN before they can transfer them
to the front end.


Diagnosis:  

BIC was never put in BINTAB.


Solution:  

Put it there.



                               [End of TCO 6.1467]


                               TCO-number:  6.1061



Written-by:  MURPHY                           Creation-date:  19-Feb-82 16:16:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Need to convert symbol value to string in assembly.

Diagnosis:  MACRO provides no way to do this except in macro calls.

Solution:  Provide macro FORS. to automate procedure.

	FORSE. (exp,<arg>,<string>)

where: 'exp' is an expression that evaluates to a number as assembly time;
       'arg' is a dummy symbol;
       'string' is a string containing one or more occurrances of 'arg'

  this will expand to 'string' with a numeric string representing the
value of 'exp' in the current radix in place of each occurrance of 'arg'.

Example:

	FORS. (MAXBOZ,<DUMDUM>,<ASCIZ /There are DUMDUM bozons in the universe./>)

If MAXBOZ is defined, this will assemble into an ascii string with
a numeric string replacing DUMDUM.


                               [End of TCO 6.1061]
                               TCO-number:  6.1124



Written-by:  MURPHY                           Creation-date:   3-May-82 17:16:48
Edited-by:   MURPHY                           Edit-date:       3-May-82 17:43:14


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Need to use AC save facility and possibly others in-line.

Diagnosis:  Such facilities only work within subroutine.

Solution:  Provide BLOCK., ENDBK. macros within which ACSAVE, STKVAR, etc.
may be used.  See DOC:MACSYM.MSG for description.


                               [End of TCO 6.1124]
                               TCO-number:  6.1139



Written-by:  GRANT                            Creation-date:  18-May-82 07:18:31
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:52:26


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  none

Diagnosis:  none

Solution:  Add BEGSTR, ENDSTR, and LOADE macros.

                               [End of TCO 6.1139]
                               TCO-number:  6.1161



Written-by:  WALLACE                          Creation-date:   9-Jun-82 15:15:42
Edited-by:   WALLACE                          Edit-date:       9-Jun-82 15:56:18


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1162



Problem:  The AC save and stack variable facilities of MACSYM do not work
properly with global stack pointers.

Diagnosis:  These facilities do NOT always use the ADJSP instruction for
manipulation of stack pointers.  Instead they add and subtract words
of the form [n,,n], directly to the stack pointer.  Thus they make the
blatant assumption that all stack pointers used are of the local
format and only stack overflow (i.e. never stack underflow) is being
detected.

Solution:  In the AC save routines and where appropriate in the support routines
for STKVAR and TRVAR, always use ADJSP for manipulations of stack
pointers.  Note that it is no longer necessary to manually detect
stack overflow because ADJSP will set TRAP 2 for us.  Because ADJSP
cannot use counts of the form n,,n modify STKVAR and TRVAR to output
EXP n rather than n,,n following the JSP to the support routines.  New
support routines (.XSTKS and .XTRST) must be added to properly use
ADJSP in conjunction with the new count format, EXP n.  For
compatibility sake, the old routines (.STKST and .TRSET) are left
intact because there may be old .REL files that were produced with the
old MACSYM, which compiled counts of the form n,,n.


                               [End of TCO 6.1161]
                               TCO-number:  6.1163



Written-by:  MURPHY                           Creation-date:   9-Jun-82 17:29:33


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Remote macros needed.

Diagnosis:  Not there now.

Solution:  Put in macro to define remote macros.  See MACSYM.MSG
or source for documentation.


                               [End of TCO 6.1163]
                               TCO-number:  6.1175



Written-by:  PAETZOLD                         Creation-date:  23-Jun-82 10:07:10
Edited-by:   PAETZOLD                         Edit-date:      15-Jul-82 18:25:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1177	6.1188



Problem:  

There is no easy way to determine what version of MACSYM macro has obtained
from the search pseudo-op.


Diagnosis:  

We need a symbol to determine which version of macsym we have.

Solution:  

Add a symbol named MACVER which will contain the version number.  The following
symbols will define the values of the various fields in MACVER.

MACVWH is the last changer code
MACVMA is the major version number
MACVMI is the minor version number
MACVED is the edit number

The initial value of MACVER will be set to 6.0(1000)-0.  All future edits of
MACSYM should increment MACVED.



                               [End of TCO 6.1175]
                               TCO-number:  6.1177



Written-by:  PAETZOLD                         Creation-date:  25-Jun-82 11:42:23
Edited-by:   PAETZOLD                         Edit-date:      15-Jul-82 18:25:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1175	6.1188



Problem:  

MACSYM Version symbols may confuse customers.

Diagnosis:  

The do not have special characters in them.


Solution:  

Make them all .MCxxx from MACxxx.



                               [End of TCO 6.1177]
                               TCO-number:  6.1188



Written-by:  WALLACE                          Creation-date:  15-Jul-82 18:23:51
Edited-by:   WALLACE                          Edit-date:      15-Jul-82 18:25:01


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-TCO:  	6.1175	6.1177



Problem:  During assembly of MACSYM, MACVWH, MACVMA, MACVMI,
and MACVED are declared as undefined global symbols.

Diagnosis:  Although REDIT #91 (TCO 6.1177) properly changed the symbol
names to .MCVWH, .MCVMA, .MCVMI, and .MCVED respectively, this edit
failed to changed the computation of MACVER (i.e. the computed version
number) to use the new symbol names.

Solution:  Modify the computation of MACVER to use the new symbols.


                               [End of TCO 6.1188]
                               TCO-number:  6.1293



Written-by:  NEUSTAEDTER                      Creation-date:   1-Oct-82 05:02:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  LOADE doesn't conform to MACSYM format for LOAD and STOR. It
generates different symbols at different times.

Diagnosis:  This is a version of LOADE that was hacked together by the
DECnet36 group before re-integrating with MACSYM.

Solution:  Re-do LOADE. While we're at it, re-do SAVEAC and install the
nifty one used by DECnet36. This will make it easier to implement
PUSHM/POPM if they ever come along.


                               [End of TCO 6.1293]
                               TCO-number:  6.1468



Written-by:  MURPHY                           Creation-date:  17-Jan-83 16:45:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Can't use a STKVAR variable in BLCAL.

Diagnosis:  BLCAL. does PUSH P, to put things on the stack;
STKVAR references are of the form -N(P) which then don't
work.

Solution:  Fix BLCAL. so that if argument is a stack reference
indexed by P, adjust the offset by the number of args
already pushed.


                               [End of TCO 6.1468]
                               TCO-number:  6.1477



Written-by:  HUIZENGA                         Creation-date:  26-Jan-83 09:21:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  User confused when INCR/DECR overflows fields.

Diagnosis:  They certainly will but MACSYM doesn't warn anybody.

Solution:  Put a warning in MACSYM that INCR/DECR may overflow fields.


                               [End of TCO 6.1477]
                               TCO-number:  6.1551



Written-by:  MURPHY                           Creation-date:  16-Mar-83 13:57:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  DO. does not compile correctly -- ENDLP. may be wrong
if nested DO.

Diagnosis:  Definition of ENDLP. not saved over nested DO.

Solution:  Save it.  Restore it too.


                               [End of TCO 6.1551]
                               TCO-number:  6.1576



Written-by:  MURPHY                           Creation-date:  25-Mar-83 16:38:53


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  No convenient way to build extended format indirect
words or one-word global byte pointers.

Diagnosis:  MACRO doesn't have any code to do it, and probably
won't get any for 5-10 years.

Solution:  Implement macros in MACSYM.  See DOC:EP.DOC for details.


                               [End of TCO 6.1576]
                               TCO-number:  6.1647



Written-by:  MURPHY                           Creation-date:   5-May-83 15:53:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  LOAD, STOR, and various other macros fail if given
a location argument which contains commas.

Diagnosis:  Missing angle-brackets in internal macros.  Commas
taken as argument separators.

Solution:  Add anglebrackets around "Y" argument in numerous
internal macro calls.


                               [End of TCO 6.1647]
                               TCO-number:  6.1650



Written-by:  HALL                             Creation-date:   6-May-83 14:06:55


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  We need to convert lots of one-word local byte pointers to
one-word globals.

Diagnosis:  Code does various forms like HRLI AC,(POINT 7,0). As long as
we have to change them, why not make them macros?

Solution:  Create new macros for generating one-word locals and one-word
globals for pointing to a 7-bit ASCII string starting in the leftmost
byte of a word.


                               [End of TCO 6.1650]
                               TCO-number:  6.1661



Written-by:  MURPHY                           Creation-date:  19-May-83 14:16:53


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Needs ways to reference data in extended sections.

Diagnosis:  Progress needed.

Solution:  Implement following macros:

EDEFST - Like DEFSTR except assumes location is in different section.
EMSKST - Like MSKSTR except assumes location is in different section.

EP. - Generates extended format indirect word given I, X, and Y in
	usual format, i.e. EP. @Y(X).  Typical usage is
	MOVE T1,@[EP. LOC(X)]

OWGP. - Generates one-word global byte pointer given same kind
	of arguments as POINT pseudo-op, but location should
	be 30-bit address.  E.g. LDB T1,[OWGP. 7,EXTLOC,6]


                               [End of TCO 6.1661]
                               TCO-number:  6.1686



Written-by:  MURPHY                           Creation-date:  14-Jun-83 16:36:34
Edited-by:   MURPHY                           Edit-date:      14-Jun-83 16:38:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
Related-SPR:  	 19116



Problem:  Inadvertent use of external symbol for size parameter
in STKVAR not detected and assembled wrong code.

Diagnosis:  MACRO should detect non-absolute arguments in the "\"
operator in macro arguments.  It doesn't, so we'll do it
explicitly.

Solution:  Add check for absolute expression, give error message
if not.


                               [End of TCO 6.1686]
                               TCO-number:  6.1701



Written-by:  PURRETTA                         Creation-date:  22-Jun-83 17:20:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  A facility is needed to easily incorporate DEC copyright
statements into object code.

Diagnosis:  Create COPYRT and .CPYRT macros in MACSYM.

Solution:  Use COPYRT to assemble statement in both REL's and EXE's.
Use .CPYRT to assemble it ONLY into the REL'S.   For multi-module
programs the main module should use COPYRT and all supordinate
modules should use .CPYRT ,this is to prevent the EXE from having as
many copyright statements as there are modules.


                               [End of TCO 6.1701]
                               TCO-number:  6.1755



Written-by:  GROSSMAN                         Creation-date:  29-Jul-83 07:22:27
Edited-by:   GROSSMAN                         Edit-date:      29-Jul-83 07:39:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  One-word global byte pointer generation macros are hard to use.  There
are a lot of restrictions on what contexts they can be used in.  In particular,
they have to be used inside of literals.

Diagnosis:  They expand to more than one line of text.
Solution:  Create a set of symbols of the form  .Psspp  where ss is the byte
size (in decimal), and pp is the "LSH" factor (also in decimal).  These are
the same arguments that the POINT pseudo-op would take.  Note that a leading
zero must be included if the ss or pp field would be one digit.  In addition
to this, another set of symbols of the form .%sspp have been created.  These
symbols have leading zeros suppressed.  They are intended to be used only
inside of macros.

Redefine the macros OWGP. and G1BPT so that they use these symbols.

The user now has two choices:  He can use the .Pssnn symbols, or he can use
the macros.

Example:  If AC contains a 30 bit address, and you want to turn it into a
7 bit one-word global byte pointer, you could do:

		TXO AC,.P0736

		or equivalently,

		TXO AC,OWGP.(7)

Note that the .Psspp and .%sspp symbols are defined as left justified quantities
in the same position as the P field of a one-word global byte pointer.


                               [End of TCO 6.1755]
                               TCO-number:  6.1974



Written-by:  GROSSMAN                         Creation-date:  20-Feb-84 22:33:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:  Too many junk labels laying around.

Diagnosis:  Many macros such as IFSKP., DO., and friends generate local,
suppressed labels.  These labels are not accessible to DDT, and serve no
purpose after assembly.

Solution:  PURGE the labels after they are defined in pass 2.


                               [End of TCO 6.1974]
                               TCO-number:  6.1991



Written-by:  MOSER                            Creation-date:   3-Mar-84 17:22:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM


Problem:   The TOPS-20 monitor and other programs are too big.

Diagnosis:   MACRO is not pooling most literals generated as the result of the
LDB/DPB forms of the LOAD and STOR macros. It uses the POINTR macro which
is defined with double <s (so that it can be passed as an argument) and MACRO
must "go Polish" to evaluate it. When MACRO "goes polish" it does not pool
literals!

Solution:   Replace the POINTR macro with it's expansion when used in MACSYM.


                               [End of TCO 6.1991]
                               TCO-number:  6.2132



Written-by:  PAETZOLD                         Creation-date:  18-Jul-84 10:12:48
Edited-by:   PAETZOLD                         Edit-date:      20-Jul-84 13:57:17


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
  Routines-affected:   	ENDSTR




Problem:  : 

BEGSTR/ENDSTR  sequences waste some code space and we do not have a lot
to go around.

Diagnosis:  : 

Field  macros  generate  FTSHOW words so that the listings look pretty.
However they do not reuse the storage that the FTSHOW  words  took  up.
This is a pretty big price to pay just for beauty.

Solution:  : 

Change  the  ENDSTR  macro  to  fix up the relocation counter after the
FTSHOW words are generated to make the space once  again  available  to
macro.  All the beauty of the FTSHOW words is retained.


                               [End of TCO 6.2132]
                               TCO-number:  6.2243



Written-by:  LOMARTIRE                        Creation-date:  11-Oct-84 09:27:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MACSYM
  Routines-affected:   	SAVEAC


Related-QAR:  	706216



Problem:   The SAVEAC macro generates code to save and restore the wrong 
registers when decimal register values are passed.  SAVEAC <10.,11.,12.> 
results in saving ACs 12, 13, and 14.

Diagnosis:   When deciding which registers to save, the code fragment 1B<X> 
(where X is one of the arguments) will only work correctly for symbolic 
arguments.  For numeric ones, the base in effect at the time of the macro 
invocation is not taken into consideration.

Solution:   Define a temporary symbol (..SYAC) to be the AC passed and use this 
in the code 1B<..SYAC>.  This will result in the correct ACs being saved since 
the base in effect will now be considered.


                               [End of TCO 6.2243]


                               TCO-number:  6.2123



Written-by:  TGRADY                           Creation-date:  11-Jul-84 23:16:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAIL


Problem:  
MAILER and MAILEX should be merged into one local mail server.  All
maintenance edits are being made to MAILER, but MAILEX is the local
mailer used by programs like MS.  MAILER can't handle the type of
MAIL.CPY file that MS creates, because MAILER does not expect to
have TO: and CC: lists in MAIL.CPY.

If MAIL.EXE provides a MAIL.CPY that includes TO: and CC: lists, like
MS and others, then MAILER will be compatible with both MAIL.EXE and MS,
and will continue to be updated with maintenance edits.  MAILEX can
thereby be retired.


Diagnosis:  
Duplicate code in MAILER and MAILEX makes them almost identical, but not
quite.  Like all of the mail system, such as DMAILR and VMAILR, NMAIL and
VMAIL, code in MAILER was copied to create MAILEX, and altered just enough
to be incompatible.  This change solves one instance of that problem.


Solution:  
Remove the code in MAILER that creates a TO: and CC: list in the message
that gets delivered to users' MAIL.TXT file.  Put that code in MAIL.MAC,
so that the MAIL.CPY file will already contain the TO: and CC: lists.



                               [End of TCO 6.2123]
                               TCO-number:  6.1482



Written-by:  PAETZOLD                         Creation-date:  28-Jan-83 20:31:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER


Problem:  

Mail file corruption over system crashes.

Diagnosis:  

The real problem is in RELOFN and friends.  The following scenario....

1. Mail.txt is opned by MS with frozen read.

2. User receives a new message.  MAILER (and other mailers) opens the
   mail.txt file for write access.  Mail is appended.  mail.txt is 
   closed.  Because OPN share count is not one RELOFN does not call
   SCNOFN.  FILWB is cleared and THAWB was never on.  DDMP never updates
   the pages.

3. The system crashes (a rare occurance we know).

4. Modified pages are missing or inconsistant in mail.txt

5. User gets confused.


Solution:  

The proper solution is to fix RELOFN.  In reality RELOFN (a relatively
short routine) should be rewritten.  However rewriting RELOFN will 
require 4 hours of peace and quiet.  

For now teach MAILER to do a UFPGS% before closing the mail.txt file.
RELOFN will be fixed another day.  It has been this way for years.  
Another month will not hurt.



                               [End of TCO 6.1482]
                               TCO-number:  6.1693



Written-by:  LOMARTIRE                        Creation-date:  20-Jun-83 14:37:13
Edited-by:   LOMARTIRE                        Edit-date:       8-Mar-84 16:29:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER
Related-TCO:  	6.1994

Related-SPR:  	 18610



Problem:  MAILER crashed with a TTMSX1 error (could not send message within 
timeout interval).
Diagnosis:  MAILER was trying to send a "You have a message from ..." message 
to a user's terminal via a TTMSG JSYS.  The JSYS failed with a TTMSX1 and 
MAILER crashed.
Solution:  Add an ERJMP .+1 after the TTMSG after label TOPDIR:.  This will 
allow MAILER to continue if the TTMSG cannot acquire the sendall resources 
it needs.  In this case, the user will not receive notification of the new 
mail message.

                               [End of TCO 6.1693]
                               TCO-number:  6.1694



Written-by:  LOMARTIRE                        Creation-date:  20-Jun-83 14:43:42


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER
Related-SPR:  	 18367



Problem:  Unable to send mail messages.  Jobs hang waiting for a reply from 
MAILER.
Diagnosis:  At NONE:+7, MAILER connects it's PID (called MYPID) to channel 0 
and ignores possible error return from the MUTIL JSYS.  MAILER receives an 
IPCF27 error (PID not defined) and waits forever for an interrupt.
Solution:  Remove the JFCL after the MUTIL and replace it with a new error 
message.  It will read ?MAILER: Unable to assign PID to channel.

                               [End of TCO 6.1694]
                               TCO-number:  6.2074



Written-by:  TGRADY                           Creation-date:  30-May-84 16:35:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAILER


Problem:  
In ONQ, an error return from ALLOC will execute a RET.  Previous to the
call to ALLOC, though, ONQ did a PUSH P,W, so the error return will always
cause an illegal instruction trap.


Diagnosis:  
People don't frequently see this, but the results are always a dead MAILER,
and at least one hung Mail program.


Solution:  

In the error return code, restore the stack before executing a RET.



                               [End of TCO 6.2074]
                               TCO-number:  6.1374



Written-by:  LOMARTIRE                        Creation-date:  16-Nov-82 12:46:24
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:10:34


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MAKDMP
Related-SPR:  	 18370



Problem:  Recognition is not possible with the CREATE command due to the 
default structure name of MAKDMP.  Also, JFN's accumulate when a reparse is 
done.
Diagnosis:  Since the default structure name is MAKDMP, it will be used 
when no structure name is supplied.  So when recognition is attempted on 
the filespec using this as the structure, the parse fails since MAKDMP 
does not exist.  The JFN's accumulate because they are never released 
before the reparse.
Solution:  The default structure has been set to MAKDMP to force the user 
to enter a structure name.  No change should be made to the default structure 
name.  Instead, the structure name should be entered (the rest of the filespec 
can be defaulted as <SYSTEM>DUMP.EXE) as required.  Or, the user can define 
the logical name MAKDMP to be where the dump file should be placed.  Also, 
release the JFN, if one exists, before the new filespec is entered for the 
reparse.

                               [End of TCO 6.1374]
                               TCO-number:  6.1919



Written-by:  CJOHNSON                         Creation-date:  28-Dec-83 11:20:38
Edited-by:   CJOHNSON                         Edit-date:      13-Jan-84 11:05:30


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAKDMP


Problem:  
The DUMP.EXE program is never backed up by DUMPER.  Also, assorted
problems associated with improper use of the COMND jsys and reparsing
needed to be fixed.

Diagnosis:  
The program had no way to not set the FB%NOD (no dumper backup) bit
in the FDB.  Also, it uses a broken COMND parser which has no proper
unparsing mechanism.

Solution:  
Rewrite the program, adding the /ALLOW-DUMPER-BACKUP switch to the
CREATE command.  If the user doesn't type the switch, DUMP.EXE is
created with the FB%NOD bit set, to be compatible with previous
operation.  Release all resources acquired during parsing on a
reparse.


                               [End of TCO 6.1919]


                               TCO-number:  6.1670



Written-by:  LOMARTIRE                        Creation-date:   1-Jun-83 11:06:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAPPER
Related-SPR:  	 18820



Problem:  MAPPER fails to identify itself when issuing error or warning 
messages.  This can result in confusing SYSJOB output.
Diagnosis:  The identification is missing.
Solution:  Add ?MAPPER: before error messages and %MAPPER: before warning 
messages.

                               [End of TCO 6.1670]
                               TCO-number:  6.2006



Written-by:  LOMARTIRE                        Creation-date:  21-Mar-84 17:10:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MAPPER


Problem:  MAPPER will not build with version 6 MONSYM.

Diagnosis:  MAPPER version 5.1 is used with version 6.  In this MAPPER, edit 
4 exits.  This edit allows MAPPER to run on either 5.1 or 4, the difference 
being the AC setup to the GET% JSYS.  However, the symbols used in the edit 
no longer exist and are not in version 6 MONSYM.

Solution:  Take version 5.1 MAPPER, remove edit 4, and make this version 6
MAPPER.  Note that this version of MAPPER will only run on monitor version 
5 or later.


                               [End of TCO 6.2006]
                               TCO-number:  6.1041



Written-by:  COBB                             Creation-date:   3-Dec-81 13:59:30


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  the QUEUE% jsys needs a special entry in the system PID table for
component debugging.  (Quasar, Orion etc.)

Diagnosis:  There is no entry as of yet.

Solution:  Put one in.  .SPDBG in case you care.


                               [End of TCO 6.1041]
                               TCO-number:  6.1126



Written-by:  MURPHY                           Creation-date:   4-May-82 11:50:58


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  The rules for symbol construction are not in any obvious
place.

Diagnosis:  They should be.

Solution:  Put them in the front of MONSYM which is reproduced in
the JSYS manual.  It might be a good idea to put them in the
first few pages of the JSYS manual too.


                               [End of TCO 6.1126]
                               TCO-number:  6.1138



Written-by:  PAETZOLD                         Creation-date:  15-May-82 19:57:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

BBN has defined JSYSs for the BBN TCP/IP interface.  We should try to refrain
from assigning these JSYS numbers for compatability purposes.

Diagnosis:  


Solution:  

Add ASNIQ, RELIQ, SNDIN, RCVIN, OPEN, CLOSE, SEND, RECV, STAT, CHANL,
ABORT, ANS SCSLV to JSTAB as "Not in Monitor".



                               [End of TCO 6.1138]
                               TCO-number:  6.1140



Written-by:  GRANT                            Creation-date:  18-May-82 09:54:18
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:52:50


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  NTMAN% doesn't support the event queue processor.
Diagnosis:  No code.
Solution:  Add .NTEVQ for network management.

                               [End of TCO 6.1140]
                               TCO-number:  6.1182



Written-by:  CHALL                            Creation-date:   1-Jul-82 11:15:39


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Need to define error codes for DECnet-36, plus the NSP% JSYS,
plus error codes for NSP%.

Solution:  Define them, already.


                               [End of TCO 6.1182]
                               TCO-number:  6.1281



Written-by:  PAETZOLD                         Creation-date:  23-Sep-82 19:22:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

BBN defined the OPRFN JSYS.  Need to make sure we never use this JSYS.

Diagnosis:  


Solution:  

Add OPRFN into DEFJS as a NIM JSYS.  Nothing like brand new obsolete 
functionality.



                               [End of TCO 6.1281]
                               TCO-number:  6.1473



Written-by:  GRANT                            Creation-date:  20-Jan-83 07:37:52
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:58


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  DECnet disconnect codes and error messages are out of date.
Solution:  Add a new Phase III code and update the error strings to reflect
	Phase III terminology.

                               [End of TCO 6.1473]
                               TCO-number:  6.1636



Written-by:  HALL                             Creation-date:  29-Apr-83 14:31:42
Edited-by:   HALL                             Edit-date:       9-May-83 08:19:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Need to reserve a JSYS for the interface to the FPS array
processor.

Diagnosis:  

Solution:  Reserve 625 since that's the next available number. We're not
supporting this code, but we don't want someone else using the same
JSYS number, either.


                               [End of TCO 6.1636]
                               TCO-number:  6.1711



Written-by:  WEETON                           Creation-date:  30-Jun-83 15:58:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Lines that have been TTYSPTed return error code TTYX03 (which is ok),
unfortunately, the message says "Line is temporarily active".  This is silly.
Line is actually inactive.

Diagnosis:  Engineer can't type.

Solution:  Change "active" to "inactive".


                               [End of TCO 6.1711]
                               TCO-number:  6.1716



Written-by:  MURPHY                           Creation-date:   7-Jul-83 15:09:48


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Newly defined opcode not present in MONSYM.

Solution:  Add XJRST (= JRST 15,) which does jump to
contents of E as 30-bit address, including from section 0.


                               [End of TCO 6.1716]
                               TCO-number:  6.1728



Written-by:  JCAMPBELL                        Creation-date:  14-Jul-83 11:31:03


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  Files do not have attribute indicating they are FORTRAN
data files.

Diagnosis:  FDB has no field or bit to indicate FORTRAN carriage control

Solution:  Add new bit FB%FOR to .FBCTL in FDB


                               [End of TCO 6.1728]
                               TCO-number:  6.1826



Written-by:  MILLER                           Creation-date:  12-Oct-83 08:14:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM
Related-TCO:  	6.1824



Problem:  If a process acquires a PID created on another LCS processor
and tries to use it, it gets no unique indication of the specific error.

Diagnosis:  There is no error code for this condition.

Solution:  Create IPCF36, PID not assigned on this LCS processor.
This way, someone might notice the problem.


                               [End of TCO 6.1826]
                               TCO-number:  6.1915



Written-by:  PRATT                            Creation-date:  19-Dec-83 13:15:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  


A way is needed to tell Galaxy that an IPCF packet is 
coming from the QUEUE% jsys. 


Diagnosis:  


Solution:  

Add a definition to the system sender field (IP%CFC in the
IPCF packet) called .IPCCG which says SENT BY SYSTEM FOR QUEUE%.



                               [End of TCO 6.1915]
                               TCO-number:  6.1916



Written-by:  PRATT                            Creation-date:  19-Dec-83 13:40:51


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  

The "DISPLAY" argument block is not defined. It will be
used to pass BUGCHK's, BUGINF's, and system messages to Galaxy.


Diagnosis:  

The monitor is currently using some kludged up argument block
that is passed to Galaxy. Galaxy is dropping these on the floor.


Solution:  

Add the definitions for the "DISPLAY" argument block and it's 
argument types.



                               [End of TCO 6.1916]
                               TCO-number:  6.1950



Written-by:  MCCOLLUM                         Creation-date:  24-Jan-84 13:45:06
Edited-by:   MCCOLLUM                         Edit-date:      24-Jan-84 13:45:42


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  
There is no equivalent in SMAP% for PM%RWX (found in PMAP%).


Diagnosis:  
Not defined in MONSYM

Solution:  
Define SM%RWX==:SM%RD!SM%WR!SM%EX in MONSYM



                               [End of TCO 6.1950]
                               TCO-number:  6.1961



Written-by:  MCCOLLUM                         Creation-date:  31-Jan-84 13:32:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONSYM


Problem:  
.CHLFD, .CHCRT, and .CHFFD are defined in both MACSYM and MONSYM.


Diagnosis:  
The values are originally defined in MACSYM and end up in MONSYM when they are
referenced by MONSYM.MAC.


Solution:  
PURGE the symbols from MONSYM after they are used.


                               [End of TCO 6.1961]
                               TCO-number:  6.2024



Written-by:  CJOHNSON                         Creation-date:  10-Apr-84 11:51:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PAT
Related-SPR:  	 19859



Problem:  
 FILOP. function 4 (update) does not return the file size.

Diagnosis:  
 There is no code to do so.

Solution:  
 Write the necessary code; since the size calculation is already in,
simply add the code to return it to the calling program's lookup block.


                               [End of TCO 6.2024]
                               TCO-number:  6.1396



Written-by:  LOMARTIRE                        Creation-date:  29-Nov-82 17:17:41
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:11:45


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 18096



Problem:  If you PUSH from PTYCON, give an EXEC CLOSE then POP back to PTYCON, 
the JFN for the PTY is lost.  PTYCON displays "NO JOB NUMBER ASSIGNED" in 
response to the WHAT command and connecting to a subjob results in a panic 
level interrupt (JFN is not assigned).
Diagnosis:  When the CLOSE is given, the JFNs for the PTYs are lost.
Solution:  Do not allow lower processes (like the EXEC) to access the PTY 
JFNs that were obtained via PTYCON.  In the GTJFN to obtain the PTY JFNs, 
set GJ%ACC.  Other processes can access the PTYs but they cannot use the 
same JFNs as PTYCON - they must obtain their own.

                               [End of TCO 6.1396]
                               TCO-number:  6.1566



Written-by:  LOMARTIRE                        Creation-date:  23-Mar-83 18:18:38
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:23:10


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON


Problem:  PTYCON is filled with many errors and inadequacies, all of which 
are caused by the command parser.
Diagnosis:  The command parser of PTYCON was written in the pre-COMND days 
and is consequently very limited.
Solution:  Implement the command parser using COMND.  Besides the improvements
introduced by the use of COMND, there will be no differences apparent to the 
user.

                               [End of TCO 6.1566]
                               TCO-number:  6.1595



Written-by:  LOMARTIRE                        Creation-date:   6-Apr-83 13:12:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 18532



Problem:  When the system is booted, PTYCON hangs while processing commands 
from the .ATO file.
Diagnosis:  PTYCON hangs in routine PTYOUT.  While trying to write a byte 
to a subjob and finding the TTY input buffer full, the routine does a DIBE 
and waits for it to empty.  Output from the subjob continues to be read 
from the PTY via interrupt routine PTYINT calling routine PTYFIL.  However, 
PTYFIL does not read beyond a linefeed for each call.  If a subjob produces 
fewer interrupts than linefeeds, the TTY output buffer can fill, and thus 
the TTY input buffer fails to empty.
Solution:  Replace the DIBE in routine PTYOUT.  First check the TTY output 
buffer and read in any pending subjob output.  Then DISMS for a second 
before trying to send the character to the subjob again.

                               [End of TCO 6.1595]
                               TCO-number:  6.1859



Written-by:  LOMARTIRE                        Creation-date:  10-Nov-83 16:31:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-SPR:  	 19496



Problem:  While issuing the LOG, GET, or SAVE command, PTYCON sometimes 
responds with "Byte count too small" and the command fails.
Diagnosis:  GTJFN is used to parse the filespec for these commands.  In 
the argument blocks, the .GJCPC value is intitially set to the value of 
the string buffer (200).  However, it is never reset on subsequent calls.  
So, as commands are issued, the number of bytes available to return 
decreases.  Finally, the GTJFN fails with "Byte count too small".

Solution:  Reset the .GJCPC value in the argument block to the buffer size 
before doing the GTJFN.

                               [End of TCO 6.1859]
                               TCO-number:  6.2079



Written-by:  LOMARTIRE                        Creation-date:   4-Jun-84 11:36:26
Edited-by:   LOMARTIRE                        Edit-date:       6-Jun-84 15:26:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
Related-QAR:  	706028



Problem:      
Certain command abbreviations are not recognized when there is a subjob 
name with that same abbreviation.

Diagnosis:      
The subjob names are being parsed first so that if a subjob is named to be part 
of a legal command, that command abbreviation cannot be used because PTYCON 
will parse this to be a subjob name rather than a command abbreviation.

Solution:    Reorder the function descriptor blocks so that commands will be 
parsed before subjob names.  This way, command abbreviations will be parsed 
except when a one line command is entered, in which case the text will be 
interpreted to be a subjob name.


                               [End of TCO 6.2079]
                               TCO-number:  6.2248



Written-by:  LOMARTIRE                        Creation-date:  17-Oct-84 11:56:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  PTYCON
  Routines-affected:   	TYPSYS


Related-QAR:  	706058



Problem:   The fields of the WHAT command no longer line up in columns.

Diagnosis:   The value of TERJFN is not being set up to be .PRIOU before the 
calls to TTBOUT in TYPSYS.  This is effecting the column count for the TTY: 
which is returned by RFPOS.  This, in turn, is confusing TYPTAB which uses this 
column count to determine how many spaces to print to get to the next tab stop.

Solution:   Call ASCTER upon entry to TYPSYS to setup TERJFN to be .PRIOU.


                               [End of TCO 6.2248]


                               TCO-number:  6.1145



Written-by:  TILLSON                          Creation-date:  24-May-82 11:41:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  
Sometimes REAPER fails to detect an invalid directory name in a SKIP list.

Diagnosis:  
When an unprivileged user runs REAPER it takes SYSTEM:REAPER.CMD.  Directories 
in a SKIP list in this command file are parsed with COMND.  A directory which
cannot be accessed by this unprivileged user will parse correctly with COMND,
but the RCDIR which follows will fail.  Lack of error handling after the RCDIR
is responsible for the resultant awfulness.

Solution:  
Add an erjmp after the RCDIR at SKIP3+4L.


                               [End of TCO 6.1145]
                               TCO-number:  6.1146



Written-by:  TILLSON                          Creation-date:  24-May-82 11:54:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  
Running REAPER disabled does many bad thing s in terms of command parsing.
Examples of this include not accepting a filespec if SYSTEM:REAPER.CMD
ended with a carriage return, a question mark typed to the nonprivileged
prompt gives you the privileged prompt, and various and sundry other
nastiness.

Diagnosis:  
Code for nonprivileged users is strange.  A PSOUT is used to print the
prompt, then COMND is used to parse the filespec, without having done
a .CMINI first.  The "Check Files" prompt is again output with a PSOUT,
the filespec here is parsed with a long form GTJFN with no error handling.

Solution:  
Rework the code at PEON: to use COMND completely and correctly.


                               [End of TCO 6.1146]
                               TCO-number:  6.1805



Written-by:  MAYO                             Creation-date:  22-Sep-83 15:39:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  REAPER


Problem:  REAPER blows up if it sees an OFFLINE mail file, etc.

Diagnosis:  ARCF in DOKEP1 isn't ERJMP .+1'd

Solution:  Yes. (Do the ERJMP)


                               [End of TCO 6.1805]


                               TCO-number:  6.1035



Written-by:  PAETZOLD                         Creation-date:   2-Nov-81 09:56:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD looks for 5-config.cmd

Diagnosis:  

Version update needed.

Solution:  

Update the versions.


                               [End of TCO 6.1035]
                               TCO-number:  6.1060



Written-by:  MURPHY                           Creation-date:  18-Feb-82 17:18:59


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Copying dumps often fails because PS: is full.

Diagnosis:  Should be able to put dumps someplace else.

Solution:  Make SETSPD copy to DMP: instead of PS:<SYSTEM> so
logical name can be defined for dumps.


                               [End of TCO 6.1060]
                               TCO-number:  6.1241



Written-by:  HAUDEL                           Creation-date:  31-Aug-82 09:14:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Lost pages are created on DMP: and/or PS: when
the copy of DUMP.EXE to DUMP.CPY is not completed correctly.

Diagnosis:  SETSPD does not close the DUMP.CPY file. This open
file stays around until the next crash, and the pages become lost.



Solution:  Add code to close the DUMP.CPY file .


                               [End of TCO 6.1241]
                               TCO-number:  6.1278



Written-by:  MOSER                            Creation-date:  23-Sep-82 15:58:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  If a user sets up setspd to run at a terminal then typing
? in the output speed field of the TERMINAL command gives the message
"?Invalid help message pointer"

Diagnosis:  SETSPD BLTs the wrong number of words into the command block.

Solution:  Use correct BLT.


                               [End of TCO 6.1278]
                               TCO-number:  6.1296



Written-by:  DONAHUE                          Creation-date:   4-Oct-82 15:23:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  The magtape command in CONFIG no longer defaults to TU45 if the
tape type field is blank.

Diagnosis:  Probably an oversight when SETSPD was changed to use COMND.

Solution:  Add TU45 as the default for the tape type field.


                               [End of TCO 6.1296]
                               TCO-number:  6.1297



Written-by:  DONAHUE                          Creation-date:   4-Oct-82 15:26:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  SETSPD outputs error messages without informing anyone which
lines from the config file were in error.

Diagnosis:  SETSPD uses CMD and it's routines to do the command parsing.
These routines assume input is from a terminal and do not echo the
commands that were in error.

Solution:  Move the necessary routines from CMD to SETSPD and change
the error routine to output the command line before issuing the
error.


                               [End of TCO 6.1297]
                               TCO-number:  6.1489



Written-by:  WEETON                           Creation-date:   2-Feb-83 09:38:39
Edited-by:   WEETON                           Edit-date:       2-Feb-83 09:41:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Same at TCO 6.1487

Diagnosis:  Same as TCO 6.1487

Solution:  Create a new command in n-CONFIG.CMD that allows one of 3 options
for Daylight Saving Time.

The new command is:

DAYLIGHT-SAVING-TIME AUTO		;change at the perscribed time
		     OFF		;never do DST conversions
		     ON			;always do DST conversions


                               [End of TCO 6.1489]
                               TCO-number:  6.1616



Written-by:  PAETZOLD                         Creation-date:  16-Apr-83 17:02:46


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD (AND THE CONFIG FILE) ATTEMPT TO SET ARPANET HOST NUMBER.

Diagnosis:  

THEY CAN NOT DO THIS ANYMORE.  THE FILE SYSTEM:SITE-ADDRESS.TXT SETS THIS
INFORMATION.

Solution:  

REMOVE CODE FOR HOST COMMAND IN SETSPD.


                               [End of TCO 6.1616]
                               TCO-number:  6.1634



Written-by:  LOMARTIRE                        Creation-date:  28-Apr-83 16:45:02
Edited-by:   LOMARTIRE                        Edit-date:      28-Apr-83 16:47:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-SPR:  	 18779



Problem:  SETSPD is missing a patch.  The patch was designed to allow 
SETSPD to time out if a command takes more than 30 seconds to execute.  
If SETSPD does time out, a message is sent to the operator and execution 
continues with the next command.
Diagnosis:   
Solution:  Re-install the patch.

                               [End of TCO 6.1634]
                               TCO-number:  6.1804



Written-by:  TGRADY                           Creation-date:  21-Sep-83 14:25:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD gets the error message '?SETSPD: MSTR JSYS ERROR: INVALID STRUCTURE NAME'
when copying a dump file.


Diagnosis:  

If one processor in a CFS environment crashes, and the other does not, SETSPD
will get an error from MSTR when it attempts to mount the structure exclusively.


Solution:  

Don't.  Take out the exclusive bit in the MSTR structure mount.



                               [End of TCO 6.1804]
                               TCO-number:  6.1819



Written-by:  MCLEAN                           Creation-date:   5-Oct-83 22:25:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
  Routines-affected:   	SETSPD




Problem:  ERROR FILE IS TRASHED.
Diagnosis:  ENTRY SIZE OF SYSERR HEADER WAS 4 NOT 2.  THE HEADER
HERE SHOULD BE THE CONSTANT SYSTEM HEADER NOT THE HEADER IN
THE SYSERR FILE.
Solution:  MAKE SIZE 2 NOT 4 OR 5 (AS COBB DID).

                               [End of TCO 6.1819]
                               TCO-number:  6.1934



Written-by:  TBOYLE                           Creation-date:  13-Jan-84 17:19:57
Edited-by:   TBOYLE                           Edit-date:      17-Jan-84 12:37:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  SETSPD calculates the SPEAR counter value incorrectly
from ERROR.SYS. (See TCO 6.1933)

Diagnosis:  Gets it from the wrong field.

Solution:  When the algorithm says to find a value from ERROR.SYS, then
go to the last used page of the file, and trace to the last grouping
of 200 words (a resync header) Add a factor of 22 to the serial number
on that header.

This guarantees that the serial numbers are ascending. The skew is a
maximum of 22. (which is the maximum numbers of entries in a 200 word
block.)


                               [End of TCO 6.1934]
                               TCO-number:  6.1937



Written-by:  TBOYLE                           Creation-date:  17-Jan-84 19:38:05


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  There is no way to use SETSPD to set whether hangup
occurs from a logged-in or logged-out terminal.

Diagnosis:  no code. althought SMON function exists.

Solution:  put in code. New commands are:

ENABLE/DISABLE HANGUP-IF-LOGGED-IN and
ENABLE/DISABLE HANGUP-IF-LOGGED-OUT.


                               [End of TCO 6.1937]
                               TCO-number:  6.1938



Written-by:  PAETZOLD                         Creation-date:  18-Jan-84 11:22:38


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

SETSPD has no support for the smon function .sfms0 and .sfms1.

Diagnosis:  

explative deleted.

Solution:  

Add two new commands 

ENABLE/DISABLE SYSTEM-MESSAGE-LEVEL-0

and

ENABLE/DISABLE SYSTEM-MESSAGE-LEVEL-1



                               [End of TCO 6.1938]
                               TCO-number:  6.1941



Written-by:  PAETZOLD                         Creation-date:  18-Jan-84 13:42:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  

command keywords for enable/disable hangup-if-logged-in/out commands
are not in alphabetical order.

Diagnosis:  

explative deleted.


Solution:  

fix them.



                               [End of TCO 6.1941]
                               TCO-number:  6.1948



Written-by:  TBOYLE                           Creation-date:  23-Jan-84 15:52:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  JSYERR macro, when invoked, prints the supplied text, but never
manages to output the actual JSYS error that occured.

Diagnosis:  JSYER0 support routine in SETSPD, does not set the RH of AC 2
to -1 for ERSTR JSYS.

Solution:  fix it.


                               [End of TCO 6.1948]
                               TCO-number:  6.2036



Written-by:  GROSSMAN                         Creation-date:  17-Apr-84 06:47:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  Cannot set Ethernet address in CONFIG.CMD

Diagnosis:  No code.

Solution:  Create a new SETSPD command called 'ETHERNET'.  It takes as arguments,
a channel number (0 for now) and a hexadecimal Ethernet address.  The address
consists of a series of 6 hex numbers seperated by dashes.  The keyword
'DECNET' may be used instead of the hex address string.  In this case the
address is constructed from a previously set DECnet node address (which is
usually set by the 'NODE' command).

Example:

; Set Ethernet address

ETHERNET 0 AA-00-03-3-0-15		; Random Ethernet address

; Make Ethernet address be compatible with DECnet

NODE FOO 124

ETHERNET 0 DECNET


                               [End of TCO 6.2036]
                               TCO-number:  6.2170



Written-by:  GROSSMAN                         Creation-date:  10-Aug-84 17:54:31


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD


Problem:  The "ETHERNET" command knows too much about the DECnet Ethernet
address format.

Solution:  Remove the code from the "ETHERNET" command that creates DECnet
addresses for a channel.  Put this code in the monitor.  Now the "ETHERNET"
command tells the monitor to set the "DECnet" address for a channel, instead
of doing it by itself.



                               [End of TCO 6.2170]
                               TCO-number:  6.2183



Written-by:  TBOYLE                           Creation-date:  20-Aug-84 16:04:10
Edited-by:   TBOYLE                           Edit-date:      20-Aug-84 16:06:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706085



Problem:  If you don't define DMP: in 6-CONFIG, then SETSPD gets confused
and tries to mount a structure called DMP:. You get "?SETSPD: Could
not find dump structure, trying default." You are supposed to get this
error when the structure required by logical name DMP: cannot be mounted.

Also, if PS: has an alias name, and DMP: is defined with that name, then
you get "?SETSPD: Unexpected MSTR JSYS failure,...". It should be able to
take the "real" name for PS:


Diagnosis:  Fuzzy thinking at STRMOU. If there is no DMP:, the GTJFN will
work, the JFNS will work, and we will look for a structure called "DMP".
Instead it should use the "old" way if there isn't a logical name called
DMP: and copy to PS:<SYSTEM> without any funny messages.

If DMP: points to the primary public structure's real structure name
then the JFNS works and produces APS:, which results in SETSPD trying
to mount the public structure twice.

Solution:  In STRMOU, 1) see if there is a system-wide logical name for
DMP: and if not return. 2) If there is a logical name DMP:, check what the
JFNS returns with an STDEV to see if the structure needs mounting
instead of comparing it to "PS:" and "DSK".

This TCO also fixes the initialization of T3 for JFNS where T3 may not
have been clear when loading the flags value.


                               [End of TCO 6.2183]
                               TCO-number:  6.2187



Written-by:  TBOYLE                           Creation-date:  21-Aug-84 13:26:24
Edited-by:   TBOYLE                           Edit-date:      21-Aug-84 13:30:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706128



Problem:    

     SETSPD fails to successfully mount  the  DMP:  structure  when  the
     structure   contains  multiple  units.   Potentially  other  SETSPD
     disasters when a large number of disk units exist on a system  with
     a multi-unit DMP: structure.

Diagnosis:    

     At NXTUNT: in SETSPD.MAC,  SETSPD  steps  through  successive  disk
     units  on  the  system  searching  for  the  unlocated  units  of a
     multi-unit DMP: structure.  However, it fails to reinitialize  some
     parameters  in  the  MSTR%  argument  block,  specifically the byte
     pointers to the storage areas for  the  structure  name  and  alias
     strings.   The  strings  for  each  unit are therefore successively
     concatenated to the original string for the DMP: structure and thus
     can  never  be matched.  Further if many units are scanned, various
     SETSPD data structures can be trashed as the strings  grow  out  of
     the two word storage areas allocated for them.

Solution:    

     Initialize the structure name and alias in the MSTR% argument block
     prior to each .MSRNU MSTR% call.


                               [End of TCO 6.2187]
                               TCO-number:  6.2253



Written-by:  TBOYLE                           Creation-date:  18-Oct-84 14:35:08
Edited-by:   TBOYLE                           Edit-date:      18-Oct-84 14:41:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SETSPD
Related-QAR:  	706284



Problem:    

	When SETSPD runs to copy dumps, it does not always find the
dump structure of it is a CI disk.

Diagnosis:    

	The node can take a while to come up, and it takes even longer
for the disk to appear for MSTR.

Solution:    

	During structure mounting, handle MSTR failure for "No more
units in system differently". We will retry the mounting procedure for
RTYTIM seconds. (Currently set at 30 sec.) At the first failure, we
will print a warning message so that the pause is known to be for a reason.

***********
%SETSPD: Waiting to see if dump structure comes online...
***********


                               [End of TCO 6.2253]
                               TCO-number:  6.1267



Written-by:  MAYO                             Creation-date:  14-Sep-82 21:04:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB


Problem:  SYSJOB output goes to .NULIO when it shouldn't.

Diagnosis:  Code around DSTRT: tries to find job 0's tty: with the
approprate GETAB, but sets it up wrongly. When the GETAB fails, SYSJOB
defaults to .NULIO.

Solution:  Fix things up; and remove a SYSGT at the same time (use
.LOGDE instead of SYSGT for LOGDES).


                               [End of TCO 6.1267]
                               TCO-number:  6.1446



Written-by:  MCINTEE                          Creation-date:   7-Jan-83 11:23:03
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:58:04


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-TCO:  	6.1445



Problem:  Same as TCO 6.1445. The reason this is a separate TCO is that this
wonderful program (TCO) does not recognize TCOs which affect more than one
program.

Diagnosis:  none.

Solution:  none.

                               [End of TCO 6.1446]
                               TCO-number:  6.1632



Written-by:  LOMARTIRE                        Creation-date:  28-Apr-83 11:03:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-SPR:  	 18669



Problem:  HSYFRK BUGHLT when trying to bring system down.
Diagnosis:  SYSJOB has been expanded to allow 40 (octal) forks in its 
internal tables.  However, the monitor is shipped with a maximum of 30 
forks per job.
Solution:  Reduce the number of allowable SYSJOB forks from 40 to 30 (octal).

                               [End of TCO 6.1632]
                               TCO-number:  6.1922



Written-by:  EVANS                            Creation-date:   4-Jan-84 09:13:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB
Related-SPR:  	 19777



Problem:  Error message " unexpected interrupt on channel 15, PC=xxxxxxx"
occurs when giving a command 'KEYWORD name' to SYSJOB via ^Espeak, if there
is more than one space between the KEYWORD and the name.
Diagnosis:  SYSJOB accepts a space as a name terminator. Therefore, if a space
begins the name, SYSJOB looks for a null name and thus gets an invalid process
handle.
Solution:  If the input character is a space, check to see if it is the first
character. If so, get another character; if not, allow it to terminate the name.


                               [End of TCO 6.1922]
                               TCO-number:  6.2205



Written-by:  EVANS                            Creation-date:  28-Aug-84 17:04:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  SYSJOB


Problem:  At start-up, SYSJOB prints its version number as "4000nn" .
Diagnosis:  SYSJOB is not aware of the meaning of the VI%DEC flag in VEDIT - the
edit level. This flag tells EXEC to output the version number in decimal.
Solution:  Since SYSJOB uses an elaborate macro to output the version number,
make the code simpler and include testing for VI%DEC; if set, do the output in
decimal.

                               [End of TCO 6.2205]
                               TCO-number:  6.1268



Written-by:  MAYO                             Creation-date:  14-Sep-82 21:08:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  V6 TV < V5 TV

Diagnosis:  Many, many code changes and various bug fixes were made for
V5, these never made it to V6.

Solution:  Copy V5 TV on top of V6 TV. No new code is lost be this action.
Much new code is gained by this action.


                               [End of TCO 6.1268]
                               TCO-number:  6.1308



Written-by:  CHALL                            Creation-date:  12-Oct-82 09:56:54


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  Need to understand the PERUSE command from the Exec.

Solution:  In RSCANR, see if the command name is "PERUSE". If so, treat it
the same as "EDIT" (TV has no Read-only mode).


                               [End of TCO 6.1308]
                               TCO-number:  6.1621



Written-by:  MAYO                             Creation-date:  22-Apr-83 13:49:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  TV


Problem:  Lots of little things.

Diagnosis:  Problems with stack overflow, and ^D, and PERUSE command,
and some missing functionality.

Solution:  Fix all these little things. This is just a warning that some clean-up
was done in TV recently.


                               [End of TCO 6.1621]


                               TCO-number:  6.1131



Written-by:  MOSER                            Creation-date:   6-May-82 09:59:25
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:49:32


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  WATCH SOMETIMES REPORTS NOUTX2, "COLUMN OVERFLOW".

Diagnosis:  INCONSISTENT CODE. MOST OF WATCH OUTPUTS *S INSTEAD OF REPORTING THIS
ERROR BUT THE ROUTINE LNOUT DOES BOTH.

Solution:  JUST OUTPUT *S.


                               [End of TCO 6.1131]
                               TCO-number:  6.1216



Written-by:  LEACHE                           Creation-date:   6-Aug-82 12:12:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  WATCH does not report disk read/write counts correctly for
RP20's.

Diagnosis:  WATCH uses a LSH T2,-2 to convert sectors read/written into
pages read/written.  This division (by 4) is not correct for RP20's
which have 1 sector per page.

Solution:  Use MTOPR to get the sectors per page for each unit, and
save the data in a table.  Use the table and an IDIV instruction to
convert sectors read/written to pages read/written.


                               [End of TCO 6.1216]
                               TCO-number:  6.1220



Written-by:  LEACHE                           Creation-date:   9-Aug-82 16:45:58
Edited-by:   LEACHE                           Edit-date:       9-Aug-82 16:49:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH
Related-TCO:  	6.1217



Problem:  WATCH does not produce read-after-write counts in the disk I/O
section.

Diagnosis:  No code to do so.

Solution:  Add code.


                               [End of TCO 6.1220]
                               TCO-number:  6.1279



Written-by:  MURPHY                           Creation-date:  23-Sep-82 16:11:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Watch sometimes outputs "column overflow" error
messages.  The the job is detached, this hangs and prevents
any further output.  Even if the job is not detached, these
messages clutter up the terminal and possibly cause a
pause at end of page.

Diagnosis:  Excessive paranoia.  The column overflows are
not serious enough to warrant error messages.

Solution:  Change NOUT fail return to NOP.


                               [End of TCO 6.1279]
                               TCO-number:  6.1289



Written-by:  LEACHE                           Creation-date:  29-Sep-82 15:58:32
Edited-by:   LEACHE                           Edit-date:       1-Oct-82 11:12:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  
ALthough WATCH prints read-after-write counts in the summary disk statistics,
it does not print them in the interval statistics.

Diagnosis:  
No code to do so.

Solution:  
Add a new data field (DKVR) to the interval statistics.

In the interval statistics, total disk reads are equivalent to the sumo of
fields DKVR plus DKRD.  Likewise, in the summary statistics, total disk
reads are equivalent to the sum of the disk-read value plus the verify value.


                               [End of TCO 6.1289]
                               TCO-number:  6.1350



Written-by:  MURPHY                           Creation-date:   5-Nov-82 17:50:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Many many problem.  Most release 5 edits missing, some
half in.

Diagnosis:  Source confusion.

Solution:  Merge edits.


                               [End of TCO 6.1350]
                               TCO-number:  6.1880



Written-by:  TLITT                            Creation-date:  22-Nov-83 22:09:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  WATCH


Problem:  Working set size and used pages are overstated

Diagnosis:  UPDWSS and UPDUPG are called unconditionally early in BP2.  Two
of three cases then update again in subroutines.  The third shouldn't update
at all.

Solution:  Delete the early calls to UPDWSS and UPDUPG.  The code further
along gets it right.


                               [End of TCO 6.1880]