Google
 

Trailing-Edge - PDP-10 Archives - BB-H311B-RM - rsx20f-swskit/documentation/rsx20f-manual.mem
There are no other files named rsx20f-manual.mem in the archive.









                               CONTENTS



                                                                 Page


CHAPTER  1       INTRODUCTION                                    1-1  

         1.1     THE PDP-11                                      1-2  
         1.1.1     The UNIBUS                                    1-3  
         1.1.2     The I/O Page                                  1-3  
         1.1.3     Vector Interrupts                             1-3  
         1.1.4     Priorities                                    1-3  
         1.1.5     Traps                                         1-3  
         1.1.6     Data Transfers                                1-4  
         1.1.7     General Registers                             1-4  
         1.1.8     Stacks                                        1-4  
         1.1.9     Instruction Set                               1-4  
         1.2     RSX-11M OPERATING SYSTEM                        1-4  
         1.2.1     Directives                                    1-4  
         1.2.2     Device Drivers                                1-5  
         1.2.3     Significant Events                            1-5  
         1.2.4     Mapped and Unmapped Systems                   1-5  
         1.3     TASKS                                           1-5  
         1.4     RSX-20F REQUIREMENTS                            1-6  
         1.5     THE DERIVATION OF RSX-20F FROM RSX-11M          1-6  

CHAPTER  2       FILES-11 SYSTEM                                 2-1  

         2.1     GENERAL DEFINITIONS                             2-1  
         2.2     FILES-11 FILE SPECIFICATION                     2-1  
         2.2.1     Files-11 File Structure                       2-2  
         2.3     FILES-11 DIRECTORIES                            2-3  
         2.4     FIXED FILE ID'S                                 2-4  
         2.5     FCS FILE STRUCTURE                              2-4  

CHAPTER  3       RSX-20F GLOSSARY OF TERMS                       3-1  

CHAPTER  4       PARSER                                          4-1  

         4.1     ENTERING AND EXITING THE PARSER                 4-1  
         4.2     PARSER COMMAND SYNTAX                           4-2  
         4.3     PARSER CONSOLE MODES                            4-4  
         4.3.1     PARSER Help Facility                          4-4  
         4.4     PARSER COMMANDS                                 4-6  
         4.5     PARSER ERROR MESSAGES                           4-23 

CHAPTER  5       KLINIT                                          5-1  

         5.1     KLINIT LOAD AND START                           5-6  
         5.2     KLINIT OPERATOR DIALOG                          5-6  
         5.3     KLINIT MESSAGES                                 5-16 
         5.3.1     Informational Messages                        5-16 
         5.3.2     Warning Messages                              5-17 
         5.3.3     Dialog Error Messages                         5-19 
























                                                                Page 2


                           CONTENTS (CONT.)



                                                                 Page

         5.3.4     System Error Messages                         5-20 
         5.4     REPORTS RELATING TO THE KLINIT DIALOG           5-31 
         5.4.1     External Memory Maps                          5-31 
         5.4.2     Internal Memory Maps                          5-32 
         5.4.3     Microcode Verification Error Reports          5-33 
         5.4.3.1   CRAM Error Report                             5-33 
         5.4.3.2   DRAM                                          5-34 
         5.5     KLINIT DIALOG EXAMPLES                          5-34 

CHAPTER  6       RSX-20F UTILITIES                               6-1  

         6.1     COP UTILITY                                     6-1  
         6.1.1     Function                                      6-1  
         6.1.2     Format                                        6-2  
         6.1.3     Examples                                      6-2  
         6.1.4     Error Messages                                6-3  
         6.2     INI UTILITY                                     6-4  
         6.2.1     Function                                      6-4  
         6.2.2     Format                                        6-4  
         6.2.3     Examples                                      6-6  
         6.2.4     Error Messages                                6-6  
         6.3     MOU AND DMO                                     6-9  
         6.3.1     Function                                      6-9  
         6.3.2     Format                                        6-10 
         6.3.3     Examples                                      6-10 
         6.3.4     Error Messages                                6-11 
         6.4     PIP - PERIPHERAL INTERCHANGE PROGRAM            6-12 
         6.4.1     Function                                      6-12 
         6.4.2     Initiating PIP                                6-12 
         6.4.3     PIP Command String Format                     6-12 
         6.4.4     PIP Switches and Subswitches                  6-13 
         6.4.5     PIP Error Messages                            6-19 
         6.5     RED                                             6-23 
         6.5.1     Function                                      6-23 
         6.5.2     Format                                        6-24 
         6.5.3     Examples                                      6-24 
         6.5.4     Error Messages                                6-24 
         6.6     SAV                                             6-24 
         6.6.1     Function                                      6-24 
         6.6.2     Format                                        6-25 
         6.6.3     Example                                       6-26 
         6.6.4     Error Messages                                6-26 
         6.7     USER FILE DIRECTORY                             6-29 
         6.7.1     Function                                      6-29 
         6.7.2     Format                                        6-29 
         6.7.3     Examples                                      6-29 
         6.7.4     Error Messages                                6-30 
         6.8     ZAP                                             6-30 
         6.8.1     Function                                      6-31 
         6.8.2     Invoking and Terminating ZAP                  6-31 
         6.8.3     ZAP Switches                                  6-32 
         6.8.4     Addressing Locations in a Task Image          6-32 
         6.8.4.1   ZAP Addressing Modes: Absolute and Task            
                   Image                                         6-33 
         6.8.4.2   Addressing Locations in Task Image Mode       6-33 
         6.8.5     The ZAP Command Line                          6-34 

























                                                                Page 3


                           CONTENTS (CONT.)



                                                                 Page

         6.8.5.1   Open/Close Location Commands                  6-35 
         6.8.5.2   General Purpose Commands                      6-36 
         6.8.5.3   Using the Carriage Return                     6-36 
         6.8.5.4   ZAP Internal Registers                        6-36 
         6.8.5.5   ZAP Arithmetic Operators                      6-37 
         6.8.5.6   ZAP Command Line Element Separators           6-37 
         6.8.5.7   The Current Location Symbol                   6-38 
         6.8.5.8   Formats for Specifying Locations in ZAP            
                   Command Lines                                 6-38 
         6.8.6     Using ZAP Open/Close Commands                 6-39 
         6.8.6.1   Opening Locations in a Task Image File        6-39 
         6.8.6.2   Changing the Contents of a Location           6-39 
         6.8.6.3   Closing Task Image Locations                  6-40 
         6.8.7     Using Zap General Purpose Commands            6-42 
         6.8.7.1   The = Command: Display the Value of an             
                   Expression                                    6-43 

CHAPTER  7       RSX-20F MONITOR                                 7-1  

         7.1     RSX-20F EXECUTIVE                               7-1  
         7.2     TASKS AND SCHEDULING                            7-6  
         7.3     SYSTEM TRAPS                                    7-9  
         7.4     TERMINAL SERVICE ROUTINES                       7-11 
         7.4.1     Modem Handling                                7-11 
         7.4.1.1   Modem Handling Concepts                       7-11 
         7.4.1.2   Terminal Driver Routine                       7-12 
         7.4.1.3   Modem Timeout Routine                         7-15 
         7.4.2     Terminal Handling                             7-16 
         7.4.2.1   Character Input Routine                       7-16 
         7.4.2.2   Terminal Timeout Routine                      7-20 
         7.4.2.3   Character Output Routine                      7-23 

CHAPTER  8       DTE HARDWARE OPERATION                          8-1  

         8.1     DTE-20 COMMUNICATIONS REGION                    8-1 
         8.2     DTE REGISTERS                                   8-10 
         8.2.1     DTE-20 Status Word                            8-10 
         8.2.2     Diagnostic Words                              8-14 
         8.2.3     DTE-20 Data Transfer Registers                8-18 
         8.3     USING THE DTE-20 REGISTERS                      8-22 
         8.3.1     Deposit and Examine                           8-22 
         8.3.2     Transfer Operations                           8-22 
         8.3.3     Doorbell Function                             8-23 
         8.3.4     Diagnostic Functions                          8-24 
         8.4     PROTOCOLS                                       8-24 
         8.4.1     Secondary Protocol                            8-24 
         8.4.2     Primary Protocol                              8-24 
         8.5     QUEUED PROTOCOL                                 8-25 
         8.6     DIRECT AND INDIRECT TRANSFERS                   8-27 
         8.6.1     Direct Packets                                8-28 
         8.6.2     Indirect Packets                              8-28 
         8.7     DATA STRUCTURE OF PACKETS                       8-29 

CHAPTER  9       ERROR DETECTION AND LOGGING                     9-1  

         9.1     THE KEEP ALIVE COUNT                            9-1  
         9.2     KLERR TASK                                      9-1  
         9.3     ERROR LOGGING                                   9-2  























                                                                Page 4


                           CONTENTS (CONT.)



                                                                 Page

         9.3.1     KL Error Logging                              9-2  
         9.3.2     PDP-11 Error Logging                          9-5  
         9.3.3     KLERRO.SNP FILE                               9-6  
         9.3.4     KLERR MESSAGES                                9-7  
         9.4     KLXFER                                          9-9  

CHAPTER  10      ERROR DEBUGGING                                10-1  

         10.1    USING FEDDT                                    10-1  
         10.2    INTERPRETING AN RSX-20F DUMP                   10-4  
         10.2.1    Useful Data in Dump Files                    10-5  
         10.2.2    Sample Dump Analysis                         10-7  
         10.2.3    Front End Status Block                       10-10 

APPENDIX A       RSX-20F STOP CODES AND I/O ERROR CODES          A-1  

APPENDIX B       FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND           
                 RSX-20F                                         B-1  

         B.1     REFORMATTING FILES                              B-1  
         B.1.1     Restrictions                                  B-2  
         B.2     TRANSFERRING FILES                              B-4  
         B.2.1     Running FE                                    B-4  
         B.2.2     The FE: Device                                B-5  
         B.2.3     RSX-20F Tasks                                 B-5  
         B.2.4     File Transfer Dialogue                        B-6  

APPENDIX C       FRONT-END TASKS                                 C-1  

APPENDIX D       KLINIK ACCESS DIALOGUE                          D-1

         D.1     SIGNIFICANT KLINIK EVENTS                       D-1
         D.2     KLINIK ACCESS PARAMETERS                        D-2  
         D.2.1     Usage of the Remote Terminal                  D-2  
         D.2.2     Access Password for Remote CTY's              D-2  
         D.2.3     KLINIK Access Window                          D-3  
         D.2.4     Console Mode of the Remote Terminal           D-3  
         D.3     OPERATOR DIALOGUE WITH KLINIK                   D-4  
         D.3.1     Setting Access Parameters                     D-4  
         D.3.2     Examining the Current KLINIK Parameters       D-7  
         D.3.3     Terminating the KLINIK Link                   D-7  
         D.4     REMOTE USER DIALOGUE wITH KLINIK                D-8  
         D.4.1     Logging In as a Remote Operator               D-8  
         D.4.2     Logging In as a Timesharing User              D-10 
         D.5     KLINIK INTEGRITY OVER A REBOOT                  D-11  

APPENDIX E       GETTING HELP ON RSX-20F                         E-1  

APPENDIX F       EIA PIN DEFINITIONS                             F-1  

INDEX                                                        Index-1  






























                                                                Page 5


                           CONTENTS (CONT.)



                                                                 Page

                               FIGURES


FIGURE  1-1     The Front End for a KL-based Computer System     1-1
        5-1     Load Switches and Switch Register for KL 
                with Floppy Disks                                5-3
        5-2     Load Switches and Switch Register for KL 
                with DECtapes                                    5-4
        5-3     KLINIT Operator Dialog                           5-12
        7-1     RSX-20F Executive                                7-2
        7-2     RSX-20F Memory Layout                            7-5
        7-3     System Task Directory (STD) Node                 7-7
        7-4     Active Task List (ATL) Node                      7-8
        7-5     Modem-Handling Hardware                          7-12
        7-6     Modem Control Algorithm                          7-13
        7-7     Modem Timeout Algorithm                          7-15
        7-8     Character Input Algorithm                        7-17
        7-9     Terminal Timeout Algorithm                       7-21
        7-10    Character Output Algorithm                       7-24
        8-1     KL Communications Region                         8-2
        8-2     DTE-20 Registers                                 8-10
        8-3     DTE-20 Status Word in Read State                 8-11
        8-4     DTE-20 Status Word in Write State                8-13
        8-5     Direct Packet                                    8-28
        8-6     Indirect Packet and Data                         8-29
        9-1     KLERRO.SNP File Contents                         9-6



                                TABLES


TABLE   5-1     Switch Register Bit Definitions                  5-5
        F-1     EIA Pin Definitions                              F-1








                            RSX-20F System
                           Reference Manual



                      Order Number: AA-H352A-TK







                             JANUARY 1980

               This reference manual describes RSX-20F,
               the  operating  system  that runs on the
               PDP-11/40   front-end    processor    of
               KL-based  computers.   RSX-20F loads the
               KL microcode, configures main and  cache
               memory,  loads  the  boot  program,  and
               performs diagnostics.  For systems  that
               are running TOPS-20, as well as for 1091
               systems, RSX-20F  also  provides  device
               handling for unit record equipment.







                                   1080/90        1091      2040/50/60

OPERATING SYSTEM:    TOPS-10      REL. 7.00     REL. 7.00     
                     TOPS-20                                  REL. 4

SOFTWARE:  RSX-20F (TOPS-10)      VA13-41       VE13-41
           RSX-20F (TOPS-20)                                  VB13-41





     To order additional copies of  this  document,  contact  the
     Software Distribution Center, Digital Equipment Corporation,
     Maynard, Massachusetts 01754

        Digital Equipment Corporation, Maynard, Massachusetts
                                                                Page 2


                                          First Printing, January 1980



The information in this document is subject to change  without  notice
and  should  not  be  construed  as  a commitment by Digital Equipment
Corporation.  Digital Equipment Corporation assumes no  responsibility
for any errors that may appear in this document.

The software described in this document is furnished under  a  license
and  may  only  be used or copied in accordance with the terms of such
license.

No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by DIGITAL or its affiliated companies.





         Copyright (C) 1980 by Digital Equipment Corporation





The postage-prepaid READER'S COMMENTS form on the last  page  of  this
document  requests  the  user's  critical  evaluation  to assist us in
preparing future documentation.

The following are trademarks of Digital Equipment Corporation:

         DIGITAL             DECsystem-10        MASSBUS
         DEC                 DECtape             OMNIBUS
         PDP                 DIBOL               OS/8
         DECUS               EDUSYSTEM           PHA
         UNIBUS              FLIP CHIP           RSTS
         COMPUTER LABS       FOCAL               RSX
         COMTEX              INDAC               TYPESET-8
         DDT                 LAB-8               TYPESET-11
         DECCOMM             DECSYSTEM-20        TMS-11
         ASSIST-11           RTS-8               ITPS-10
                                                                Page 3














                               PREFACE



The RSX-20F System Reference  Manual  contains  reference  information
describing  the RSX-20F front-end operating system.  RSX-20F runs on a
PDP-11/40 front-end processor and communicates with either  a  TOPS-10
or TOPS-20 operating system running on a KL main processor.

The audience for this manual comprises Software  Support  Specialists,
Field  Service  personnel,  systems programmers, and system operators.
It is assumed that the reader is familiar with PDP-11 hardware, RSX-11
operating systems, and either TOPS-10 or TOPS-20.

This manual does not contain everything  anyone  would  like  to  know
about RSX-20F.  The information contained here was included because it
seemed to be especially important and useful to the  largest  part  of
the  audience.   Hopefully,  this  information will prevent some users
from having to place calls to a central DIGITAL installation when they
need  help.   The  information  in  the  manual is organized into five
parts, as follows:

Part  I,  SYSTEM  OVERVIEW,  introduces  the  PDP-11   hardware,   the
RSX-11-based  operating  system,  and  the Files-11 file structure.  A
short glossary of RSX-20F terms and acronyms is also included.

Part II, SYSTEM SOFTWARE, contains a description of  the  PARSER  (the
front-end  command  processor)  and  of  KLINIT (the KL initialization
software), as well as operating instructions for the front-end utility
programs.

Part III, SYSTEM INTERNALS, contains information  about  the  resident
RSX-20F  monitor  and  the  nonresident  system tasks.  Communications
between the KL and the  PDP-11  using  the  DTE-20  are  discussed  in
detail.   The  handling  of  terminals,  both direct lines and dial-up
lines, is also described.

Part V, APPENDIXES, contains a list of  system  error  messages.   The
procedure  for  transferring  files  between  the KL and the PDP-11 is
described, and the front-end system  tasks  are  listed.   The  dialog
involved  in  setting  up  a  KLINIK  window for remote diagnostics is
discussed.  There is also  a  list  of  information  to  include  with
RSX-20F  Software Performance Reports and hot line calls, as well as a
table of EIA pin definitions.
                                                                Page 4


The following TOPS-10 and TOPS-20  manuals  also  contain  information
about  RSX-20F.  You should be aware that the TOPS-10 manuals will not
be released until May 1980, along with Release 7.01.

     TOPS-10 Operator's Guide                     AA-5104B-TB

     TOPS-10 Monitor Installation Guide           AA-5056B-TB

     TOPS-20 Operator's Guide                     AA-4176D-TM

     TOPS-20 Software Installation Guide          AA-4195G-TM

Readers who wish to become more  familiar  with  PDP-11  hardware  and
software  can  find  additional  material  in the following handbooks.
They contain both tutorial and reference information.

     PDP-11 Processor Handbook                    EB 05138 76

     PDP-11 Software Handbook                     EB 09798 78

     PDP-11 Peripherals Handbook                  EB 05961 76

     Terminals and Communications Handbook        EB 15486 79











                              CHAPTER 1

                             INTRODUCTION



Two PDP-11 operating systems, RSX-11M and RSX-11D, provided  the  base
upon  which  RSX-20F  was  built.  These operating systems were chosen
because they offered the best base for  building  the  required  front
end.  The KL requires a front end that:

     1.  Is small and efficient.

     2.  Can  handle  special  cases  such  as  booting  the  KL   and
         diagnosing and recovering KL errors.

     3.  Can  handle  the  unit  record   devices   of   TOPS-20   and
         TOPS-10/1091.

The purpose of the KL front end is to take some of the  load  off  the
KL.   Specifically,  the  front  end  handles booting, configuring and
loading the KL, and drives  the  unit-record  and  terminal  hardware.
Figure 1-1 shows a diagram of a KL-based computer system with a PDP-11
front end, including the connections  that  are  present  between  the
front end and the various peripherals that it drives.

This chapter presents important concepts of PDP-11 software,  explains
the  needs  of  RSX-20F,  and  describes  how RSX-11M and RSX-11D were
modified to produce RSX-20F.
INTRODUCTION                                                  Page 1-2



















































       Figure 1-1 The Front End for a KL-based Computer System



1.1  THE PDP-11

The PDP-11 has several unique features that make it an easy machine to
program and use.  This section describes some of the most important of
these features.
INTRODUCTION                                                  Page 1-3


1.1.1  The UNIBUS

The UNIBUS is a 56-line bus used to send addresses, data, and  control
information  to  the system components and peripherals.  The method of
communication is the same for every device on  the  UNIBUS,  including
memory  and  the  central  processor.   Each  device, including memory
locations, processor registers, and  peripheral-device  registers,  is
assigned  an address on the UNIBUS.  Thus, peripheral-device registers
can be manipulated as easily as main memory by the central  processor.
The  UNIBUS  is  both  bidirectional  and  asynchronous;   this allows
devices of varying speeds to be connected to it.



1.1.2  The I/O Page

The I/O page is an area at the high end of memory  in  which  all  the
physical device registers are assigned an address.  The UNIBUS concept
makes this I/O page easy to access and  easy  to  keep  current,  thus
making it very useful to those who wish to find out about the physical
state of the system.  



1.1.3  Vector Interrupts

Vector interrupts allow the user  to  control  interrupt  handling  as
easily  as  depositing data into memory locations.  Each device on the
UNIBUS has two words assigned to  it  in  low  memory  to  handle  its
interrupts.   The  first  word  is the address of the routine to which
control is to be relinquished in  the  event  of  an  interrupt.   The
second  word  contains  the processor status word to be installed when
control is transferred to the interrupt routine.



1.1.4  Priorities

Interrupt priorities can  be  set  individually  for  devices  on  the
UNIBUS.   Each  device has a priority level on which it can interrupt.
In the processor status word, the priority level field (bits 5-7)  can
be set to a value of 0 through 7.  Only devices with a priority higher
than the priority  in  the  status  word  can  interrupt.   The  user,
therefore,  can  control  interrupt priorities by depositing data into
memory.



1.1.5  Traps

Both synchronous and asynchronous traps can be handled by the  PDP-11.
Synchronous  traps  occur  immediately upon the issuance of an illegal
instruction or general trap.  They are dealt  with  by  means  of  the
vectors  in  low  memory  and  provide user flexibility.  Asynchronous
traps occur independently of user instructions, usually as the  result
of I/O completion.  
INTRODUCTION                                                  Page 1-4


1.1.6  Data Transfers

Data can be transferred in  two  ways  via  the  UNIBUS:   a  BR  (Bus
Request)  or an NPR (Non-Processor Request).  The method normally used
is the BR, in which the device wanting to use the  UNIBUS  must  first
request  the use of the bus from the bus master.  An NPR parallels DMA
(Direct Memory Access) on the KL.  An NPR steals UNIBUS cycles without
directly  gaining control of the processor.  Since it does not need to
access the processor, an NPR is much faster than a BR.



1.1.7  General Registers

The central processor has eight registers (0-7) for general use.   The
registers  can  be  used  as  accumulators,  index registers, or stack
pointers.  Register 6 is used as the system stack  pointer  (SP),  and
Register  7  is used as the hardware program counter (PC).  These last
two registers can be manipulated in exactly the same way as the  other
registers,  but  depositing data in them will destroy the state of the
PDP-11, because  the  PDP-11  will  not  be  able  to  find  the  next
instruction or the hardware stack.



1.1.8  Stacks

The  PDP-11  is  a  stack-oriented  machine.   It  contains   built-in
addressing  modes  designed  to manipulate stacks of data.  The PDP-11
also has its own system stack, and it uses R6 as  the  hardware  stack
pointer.



1.1.9  Instruction Set

The  PDP-11  instruction  set  operates  on  single-  or   double-byte
operands.   Addressing  on the PDP-11 is by eight-bit bytes.  The word
size is sixteen bits.  Addressing includes  a  variety  of  addressing
modes  which,  when  combined  with  the  instruction  set,  allow the
programmer great flexibility in programming.



1.2  RSX-11M OPERATING SYSTEM

RSX-11M is a PDP-11 operating  system.   It  controls  I/O,  schedules
tasks  to  be  run,  and  provides  common  subroutines.  The resident
operating system is referred to as the Executive.



1.2.1  Directives

A directive is a request to  the  Executive  to  perform  a  function.
Directives   can   perform  I/O  functions,  obtain  task  and  system
information, suspend and resume task execution, and cause  a  task  to
exit.    Directives   are  called  EMT's  (EMulator  Traps),  and  are
equivalent to JSYS's in TOPS-20 and UUO's in TOPS-10.
INTRODUCTION                                                  Page 1-5


1.2.2  Device Drivers

A  device  driver  is  a  program  that  controls  physical   hardware
activities on a peripheral device.  The device driver is generally the
device-dependent  interface  between  a   device   and   the   common,
device-independent I/O code in an operating system.



1.2.3  Significant Events

A significant event is an event or condition that indicates  a  change
in  the  system status of an event-driven system.  A significant event
is  declared,  for  example,  when  an  I/O  operation  completes.   A
declaration of a significant event indicates that the Executive should
review the eligibility of task execution, because the event might have
unblocked  the execution of a higher priority task.  The following are
considered to be significant events:

     o    Queueing of I/O requests

     o    Completing of I/O requests

     o    Requesting a task

     o    Scheduling a task

     o    Waking up a task

     o    Exiting a task

There are 64 significant event flags and most  of  them  are  directly
related  to  servicing  directives.   These  flags can also be used by
tasks to communicate with other tasks.



1.2.4  Mapped and Unmapped Systems

A mapped system uses hardware memory management  to  relocate  virtual
memory  addresses.   An  unmapped  system  has no hardware to relocate
virtual addresses into physical addresses.  An  unmapped  system  must
therefore  be  assembled with the correct physical addresses.  RSX-20F
is an unmapped system.



1.3  TASKS

A task is the fundamental executable unit in PDP-11 operating systems.
Some  tasks are self-sufficient and can be thought of in much the same
way as programs in TOPS-10 or TOPS-20.  Some  tasks  must  call  other
tasks   to   complete  their  function.   Some  tasks  are  considered
subroutines to be called by still other tasks.

Tasks can reside in one  of  three  places:   the  resident  Executive
(EXEC)  partition,  the  general  (GEN)  partition,  or  the  Files-11
partition (F11TPD).  A partition is an area of memory reserved for the
execution  of  tasks.   In  the  simplest case, a task uses all of the
partition.  If the task is smaller  than  the  partition,  the  unused
space  is  unavailable  to  other tasks.  If a task is larger than the
partition, it must be written to use overlays.  Overlays are  sections
of  code  that  are brought into memory as needed and are written over
existing code that is no longer required.
INTRODUCTION                                                  Page 1-6


Most tasks that run in the EXEC partition handle specific devices  and
system  functions.   These  tasks are called resident tasks;  that is,
they are always core resident  and  are  not  swapped  out.   This  is
important  because  system  functions and devices demand instantaneous
service and should not have to wait for code to  be  read  in  from  a
peripheral  device.   Occasionally a task is larger than the partition
into which it must fit.  This situation can be handled  by  overlaying
code.   Overlaying  consists of replacing unneeded sections of code in
core with sections that are needed  but  are  not  currently  in  main
memory.

There  are   two   general   classes   of   tasks:    privileged   and
non-privileged.   A  privileged task can access its own partition, the
Executive partition, and the I/O page.  A non-privileged task can only
access its own partition and shared regions.

When a task has been compiled, it is still not ready to be loaded  and
executed.   It  must  be  put  through  the  Task Builder.  A compiler
produces an output file called an object  module.   The  Task  Builder
accepts  object  modules  as  input,  links  them  together,  resolves
references to global symbols and library files, and produces an output
file  called  a  task  image.  In the task image file, all relocatable
expressions and external references have been  converted  to  absolute
addresses.   The  task  image file can then be loaded into a partition
and executed.  The Task Builder can also produce a memory map file.  A
memory  map describes the allocation of storage, itemizes the separate
modules that the task comprises, and lists all global-symbol values.



1.4  RSX-20F REQUIREMENTS

The PDP-11/40 fulfills the normal functions of a  front-end  computer.
It  acts  as  a peripheral handler and data concentrator/router in its
relation with the KL.  The devices that it  handles  are  the  slower,
unit  record  devices  (TTY,  CDR,  and  LPT).   This allows the KL to
concentrate on computing rather than  servicing  interrupts  from  the
slower devices.

The front end can also be  used  for  other  special  functions.   For
example,  it  can perform all the following steps necessary to get the
KL up and running:

     o    Load the microcode

     o    Configure memory

     o    Configure cache

     o    Load a bootstrap program

It can also perform diagnostics  on  the  KL  when  hardware  problems
develop.



1.5  THE DERIVATION OF RSX-20F FROM RSX-11M

RSX-11M is  geared  toward  multiprogramming  and  quick  response  to
real-time   events.    The   multiprogramming  capability  allows  the
development and use of  utility  programs  that  can  perform  special
tasks.   The  real-time  response  allows  any  attached devices to be
serviced quickly.  For these reasons, RSX-11M was chosen as the  basis
for RSX-20F.
INTRODUCTION                                                  Page 1-7


RSX-11M utility programs  can  be  run  only  in  the  GEN  partition.
Nonresident  Exec  routines  (for  example,  Files-11, KLRING, KLDISC,
SETSPD, TKTN, and MIDNIT) run  in  the  F11TPD  partition.   Only  one
utility  task  can  run  at any one time in the GEN partition and that
task runs until completion.  Some tasks  use  overlays.   These  tasks
must  control their own overlaying, however, since the Executive makes
no attempt to do so.

The significant event scheme of RSX-11M was kept in RSX-20F  in  order
to  handle  changes  in  system  states and to provide directives with
information.  The directives that were kept provide I/O service,  task
information and task control.  The scheduling algorithm used to decide
which task runs next is round robin within priority value.

Specific programs are brought into core to do special tasks.  Some  of
the  RSX-20F utility programs are MOUNT and DISMOUNT to control access
to Files-11 devices, PIP to transfer files from one Files-11 device to
another,  UFD to create User File Directories on Files-11 devices, and
PARSER to provide communication and diagnostic functions.   All  these
tasks run in the GEN partition.

The biggest change in the structure of RSX-11M had to do with  driving
the  DTE-20  interface.  The DTE-20 is the only link between the front
end and the KL, and provides the interface  between  the  KL  and  the
terminals,  printers,  and  so  forth.   In order to deal with all the
purposes to which the DTE-20 would be put, the operating system needed
a device driver.  A queue mechanism had to be set up to handle all the
requests for the devices that the KL receives  and  transmits  to  the
front end.  Consequently, the queued protocol task was added to handle
the communication between TOPS-20 and the device drivers in the  front
end.

Although no inter-CPU communication can take place over the disk,  the
PDP-11   and   the   KL  can  access  the  dual-ported  RP04/06  drive
independently of each other.  However, RSX-20F does not have access to
the  entire  dual-ported  disk;   RSX-20F  is  limited to 950 pages by
default (the value can be  made  larger  by  reformatting  the  disk).
Logical  block  number  400 is the home block for the Files-11 system.
TOPS-20  views  the  front-end  file   system   as   one   big   file,
<ROOT-DIRECTORY>FRONT-END-FILE-SYSTEM.BIN.   TOPS-10  also  views  the
front-end file system as one big file, SYS:FE.SYS.

System access to front-end files  is  usually  done  with  file  ID's.
Because  the front-end file system contains relatively few files, this
access method can find the files quickly.  The directory structure  is
kept for those few situations when users must interact with a Files-11
area on floppy disk, DECtape, or dual-ported RP04/06.   No  protection
checking is enforced with the file systems.

Real PDP-11 formatted disks have 16-bit words, and disk addressing and
accessing  is consonant with this scheme.  However, disks supported by
TOPS-10 and TOPS-20 must be formatted in 18-bit  words  to  make  them
compatible  with  the  36-bit  word size expected by the KL processor.
Therefore, the RSX-20F disk driver  is  a  modified  RSX-11M  routine.
Each   PDP-11   word   of   data  in  the  Files-11  area  is  written
right-justified in the 18-bit  space  available.   The  two  left-hand
(high-order) bits are ignored by RSX-20F's disk driver.











                              CHAPTER 2

                           FILES-11 SYSTEM



All RSX-based operating systems have a  standard  file  system  called
Files-11.   Users who access files in an RSX-20F Files-11 system use a
syntax that is similar to TOPS-20 and TOPS-10.  This  chapter  defines
some  terms  used  by  Files-11,  and describes the file structure and
directory structure used by the system.



2.1  GENERAL DEFINITIONS

The Files-11 system imposes a  structure  on  a  medium.   The  medium
Files-11  uses is any block-addressable storage device.  This includes
such media as disks and DECtapes.  Since the method of access  to  all
Files-11 media is similar, all types of Files-11 media are referred to
as disks.

A Files-11 volume is a logical file structure which  includes  one  or
more devices of the same type.  A Files-11 volume can be compared to a
file structure under TOPS-10 and TOPS-20.

When Files-11 devices are used by a task, each device  is  assigned  a
number  called  a Logical Unit Number (LUN).  LUNs are associated with
physical devices during a task's I/O operations.   The  Executive  can
also assign LUNs for its own use.



2.2  FILES-11 FILE SPECIFICATION

The file specification for Files-11 is:

     dev:[g,m]filename.ext;version

where:

     dev:           is the name of a physical  or  logical  device  on
                    which  the  desired  file  is located.  The device
                    name consists of two ASCII characters followed  by
                    an optional one-digit unit number and a colon.

     [g,m]          is the group number and member  number  associated
                    with the User File Directory (UFD).  These numbers
                    are octal and are in the range of 1 to 777.   This
                    section of the file specification is also referred
                    to as the User Identification Code (UIC).

     filename       is the name of the file which can be from 1  to  9
                    alphanumeric characters.
FILES-11 SYSTEM                                               Page 2-2


     ext            is the extension of the file which can be  from  1
                    to 3 alphanumeric characters or null.

     version        is the version number of the file which can  range
                    from   1  to  77777.   If  no  version  number  is
                    specified, the number defaults to the most  recent
                    version  on  a read operation and the next version
                    number on a write operation.

By comparison, the TOPS-20 file specification format is:

     dev:<directory>filename.type.gen

The TOPS-10 file specification format is:

     dev:filename.ext[p,pn]

The quantity [g,m] is the directory  number  and  corresponds  to  the
directory  name  in  TOPS-20  and  the  project-programmer  number  in
TOPS-10.

Here are two examples of valid RSX-20F Files-11 file specifications:

     DB0:[5,5]KLINIK.TSK

     DX1:[5,5]MIDNIT.TSK;1



2.2.1  Files-11 File Structure

Any data of interest on a Files-11 volume is contained in a  file.   A
file  is  an  ordered  set of virtual blocks, a virtual block being an
array of 512 eight-bit bytes.  A file's virtual  blocks  are  numbered
from  1  to  n,  where  n blocks have been allocated to the file.  The
number assigned to a virtual block is, of  course,  called  a  Virtual
Block  Number,  or  VBN.   Each  virtual  block  is mapped to a unique
logical block on the volume.  Virtual blocks can be processed  in  the
same  manner  as logical blocks.  Any array of bytes that is less than
65K in length can be read  or  written,  provided  that  the  transfer
starts  on  a virtual block boundary and that its length is a multiple
of four.

Each file in a volume is uniquely identified by a file ID.  A file  ID
is  a  binary value consisting of three PDP-11 words (48 bits).  It is
supplied by Files-11 when the file is created and  used  whenever  the
file is referenced.  The three words contain:

     1.  File number - This number uniquely identifies the file on the
         volume.  

     2.  File sequence number - This number identifies the current use
         of  an  individual file number on a volume.  The file numbers
         are reused.  Since the file  number  of  a  deleted  file  is
         available  to  be  used  again,  the  file sequence number is
         attached to distinguish the uses of the file number.  

     3.  Relative Volume Number -  This  number  must  be  zero.   The
         location is reserved for the implementation of volume sets.
FILES-11 SYSTEM                                               Page 2-3


Each file on a Files-11 volume is described by  a  file  header.   The
file  header is a block that contains all the information necessary to
access the file.  The file header is contained in the  volume's  index
file,  not  in  the file itself.  The file header is divided into four
distinct areas:  

     1.  Header Area - This area contains the file number and the file
         sequence   number   as  well  as  the  file's  ownership  and
         protection codes.  This area also  contains  offsets  to  the
         other  areas of the file header, thereby defining their size.
         Finally, the header area contains a user attribute  area,  in
         which  the user can store a limited amount of data describing
         the file.  

     2.  Ident Area - This area contains identification and accounting
         data  about the file, including the primary name of the file,
         its creation date and time,  its  expiration  date,  and  its
         revision count, date and time.

     3.  Map Area - This area describes the mapping of virtual  blocks
         of  the  file  to  logical  blocks  of  the volume.  The area
         contains  a  list  of  retrieval  pointers,  each  of   which
         describes  one logically contiguous segment of the file.  The
         map area also contains the  linkage  to  the  next  extension
         header of the file, if one exists.

     4.  End Checksum - This area, the last  two  bytes  of  the  file
         header,  contain  a  sixteen-bit  additive  checksum  of  the
         preceding 255 words of the file header.  The checksum is used
         in the process of verifying that this block is a file header.

Since the file header has a fixed size while the file itself does not,
a large file could require more space for its mapping information than
is  available.   To  provide  for  this  contingency,  Files-11   uses
extension headers.  An extension header is used to chain together file
headers to provide enough space for the mapping information.  The  map
areas  link  the  headers together in order of ascending virtual block
numbers.



2.3  FILES-11 DIRECTORIES

Directories are Files-11 files whose sole  function  is  to  associate
file-name  strings with file ID's.  Since the file ID is unique to the
file, the file ID can be used to  locate  the  file  directly  in  the
Files-11  system.   However,  most users find it easier to deal with a
group of files if the files can be named.  This ease  of  use  is  the
goal  of the directory file.  A directory file is an FCS (File Control
Services) file consisting of fixed sixteen-byte records  (see  Section
2.5 for a description of FCS files).  Each record is a directory entry
describing a single file.  Each entry contains the following data:

     o    File ID - The three-word binary ID of the  file  this  entry
          represents  (The  file number portion of the file ID is zero
          when the entry is empty.)

     o    Name - The name of the file, stored as three words of  three
          Radix-50 characters 

     o    Type - The file type (known also as the  extension),  stored
          as one word of three Radix-50 characters

     o    Version - The file version number, stored in binary  in  one
          word
FILES-11 SYSTEM                                               Page 2-4


2.4  FIXED FILE ID'S

As with any file system, Files-11 maintains a data structure  that  it
uses  to control the file organization.  The information that Files-11
needs are kept in files called known files because the  system  always
knows  about  them.   These  files  are  created  when a new volume is
initialized.  The files have fixed file ID numbers  so  that  Files-11
can  always find its own data.  The files and their uses are described
below.

     1.  Index File - The index file is file ID 1,1,0.  It  is  listed
         in  the  Master  File  Directory  (MFD) as INDEXF.SYS;1.  The
         index file provides  the  means  for  identification  of  and
         initial  access  to  a Files-11 volume.  It also contains the
         access data for all files on the volume, including itself.

     2.  Storage Bitmap File - The storage  bitmap  file  is  file  ID
         2,2,0.   It  is listed in the MFD as BITMAP.SYS;1.  This file
         is used to control the  available  space  on  a  volume.   It
         contains  a  storage  control  block with summary information
         about the volume, and the  bitmap  itself,  which  lists  the
         availability of individual blocks.

     3.  Bad Block File - The bad block file is file ID 3,3,0.  It  is
         listed  in  the  MFD  as BADBLK.SYS;1.  The bad block file is
         simply a file containing a list of all the known  bad  blocks
         on the volume.

     4.  Master File Directory - The master file directory is file  ID
         4,4,0.  It is listed in the MFD (itself) as 000000.DIR;1.  It
         lists the five known files, and all the user file directories
         for the volume.

     5.  Core Image File - The core image file is file ID  5,5,0.   It
         is  listed  in  the  MFD  as  CORIMG.SYS;1.  This file is the
         bootable system image file.




2.5  FCS FILE STRUCTURE

FCS stands for File Control Services, which is a user-level  interface
to  Files-11.  Its principal feature is a record control facility that
allows sequential processing of variable-length  records  as  well  as
sequential  and  random  processing of fixed-length records.  FCS uses
the virtual block system provided by the basic Files-11 structure.

FCS treats every disk file as a sequentially numbered array of  bytes.
Records are given ordinal numbers starting with 1 for the first record
in the file.  A file  consisting  of  fixed-length  records  can  have
records  crossing block boundaries or not, depending on the setting of
a flag in the file header area.  If records do cross block boundaries,
the  records  are  simply packed end to end.  Records of an odd length
are padded with a byte of indeterminate contents.  If records  do  not
cross block boundaries, their size is limited to 512 bytes.

Variable-length records can be as long as 32,767 bytes, unless records
do  not  cross block boundaries, in which case the limit is 510 bytes.
Each record is preceded by a two-byte binary count of the bytes in the
record (the count does not include the two bytes in which it is stored
itself).  This byte count is always word-aligned, and  padded  with  a
single  null  byte if necessary.  A byte count of -1 is used to signal
the end of live data in a particular block.  The next  record  in  the
file will begin at the next block.  











                              CHAPTER 3

                      RSX-20F GLOSSARY OF TERMS



This chapter includes definitions and  expansions  of  several  words,
phrases, and acronyms used in the manual.


ACL                     
          Access Control List

ACP                     
          Ancillary Control Processor

ACK                     
          Affirmative aCKnowledgement - the reply that indicates  that
          the  receiver  accepted the previous data block and that the
          receiver  is  ready  to  accept  the  next  block   of   the
          transmission.

APR                     
          Arithmetic PRocessor 

AST                     
          Asynchronous System Trap

ATL                     
          Active Task List

Auto-bauding
          The process by which the terminal  hardware  determines  the
          line speed on a dial-up line.

Carrier
          The analog signal that carries data over telephone lines.  

Carrier Transition
          A transition in the state of the carrier signal, either from
          "On" to "Off" or vice versa.

CC                      
          Condition Code

CKL                     
          ClocK List

Communications Region   
          An area in KL memory that is used for coordinating statuses,
          preparing  for byte transfer operations, and passing limited
          amounts of data.  Both the KL and the PDP-11 have  an  Owned
          Communications Region in which they alone can write.

CUSP                    
          Commonly Used System Program 
RSX-20F GLOSSARY OF TERMS                                     Page 3-2


DEQUE                   
          Double Ended QUEue

DIC                     
          Directive Identification Code (0-127)

Deposit Region
          A region in KL memory that is accessed by the  PDP-11  using
          Protected Deposits.

DH-11
          Communications interface between the PDP-11 front end and up
          to sixteen terminals.

DM-11BB
          Communications interface between the PDP-11  front  end  and
          the  EIA  modem  control  lines.   The  DM-11BB  is  used in
          conjunction with the DH-11 to handle  asynchronous  terminal
          lines connected to common carrier facilities.

DPB                     
          Directive Parameter Block

DSW                     
          Directive Status Word

DTE-20                  
          The hardware interface between the PDP-11 and the  KL.   DTE
          stands for Data Ten to Eleven.

DTL                     
          DTE-20 List

DTR
          The signal used by a computer system  to  answer  the  phone
          ring  from  a  remote  user.   DTR  stands for Data Terminal
          Ready.

EBOX
          Part of the KL hardware that performs arithmetic and logical
          operations.

EMT                     
          EMulator Trap Instruction

EPT                     
          The  area  in  KL  memory  that  is  reserved  for  use   in
          transmission  of  data  between  processors.  EPT stands for
          Executive Process Table.

Examine Region
          A region in KL memory that is accessed by the  PDP-11  using
          Protected Examines.  

External Page           
          An area (4K) of real memory space (760000-777777) containing
          CPU and peripheral device control and status registers (also
          known as the I/O page).

FCP                     
          File Control Primitives

IRQ                     
          I/O Request Queue
RSX-20F GLOSSARY OF TERMS                                     Page 3-3


ISR                     
          Interrupt Service Routine

KT11                    
          Hardware Memory Management Option

LBN                     
          Logical Block Number

Login
          The process of getting a KL to recognize  a  potential  user
          (see also Logon)

Logon
          The process of getting a PDP-11  to  recognize  a  potential
          user 

LUN                     
          Logical Unit Number

MCB
          The software resident in a DN20 that supports  DECnet.   MCB
          stands for Multifunction Communications Base.

MCR                     
          Monitor Console Routines

MFD                     
          Master File Directory

MRL                     
          Memory Request List

Normal Termination      
          An error-free completion of a given task.  The term Done  is
          not  used  because, unlike a Done flag, a Normal Termination
          flag is not set if an error occurs.   An  error  causes  the
          Error Termination flag to be set.

NXM
          Non-eXistent Memory

Owned Area
          An area in the Communications Region that is for the use  of
          the  related  processor.  The related processor can read and
          write to and from this area.

Packet                  
          A group of bytes including data and control elements that is
          switched and transmitted as a composite whole.

Privileged Front End    
          A PDP-11 attached to a KL by means of a DTE-20 that can  use
          the   diagnostic   bus   and  do  unprotected  deposits.   A
          privileged front end can crash the KL.

Protected Examines/Deposits
          An Examine or Deposit that is range-checked by the KL.   The
          relocation  and  protection  for  the  Examine  operation is
          separate from that for the Deposit operation.  A  privileged
          front  end can override the protection checks;  a restricted
          front end cannot override the protection checks.  (See  also
          Relative Address)
RSX-20F GLOSSARY OF TERMS                                     Page 3-4


PUD                     
          Physical Unit Device Table

Relative Address
          An address specified by the PDP-11 software on  a  Protected
          Examine  or Deposit.  The address specified by the PDP-11 is
          relative to the Examine or Deposit Region, and runs  from  0
          to  the maximum relative address (which is kept by the KL in
          the EPT).  (See also Examine Region, Deposit Region, EPT)

Restricted Front End    
          A PDP-11 that is attached to a KL by means of a  DTE-20  and
          cannot  crash  the  KL  if  the KL hardware and software are
          working correctly.  A restricted front end  cannot  use  the
          diagnostic  bus, and cannot read KL memory unless the KL has
          first set up the interrupt system to allow it.

RTS 
          A signal sent from the Data Terminal Equipment (in this case
          the  DTE-20)  to  the Data Communications Equipment (DCE) to
          condition the DCE  for  transmission.   Since  all  terminal
          communication  is full-duplex, the local modem should always
          be ready to transmit when a user is dialed  in.   Thus,  RTS
          should  always  be asserted by the PDP-11 for active dial-up
          lines.  RTS stands for Request to Send.

Send-All
          Data that is sent to every active line on  the  system  that
          has not refused it.  An obvious example is a system message.

SPR
          Software Performance Report

SST                     
          Synchronous System Traps

STD                     
          System Task Directory

Thread                  
          The link word in a node.

TPD                     
          Task Partition Directory

UIC                     
          User Identification Code

UFD                     
          User File Directory

VCB                     
          Volume Control Block

VBN                     
          Virtual Block Number











                              CHAPTER 4

                                PARSER



The command language processor for the front-end operating  system  is
called  the  PARSER.   It is a nonresident system task and executes in
the GEN partition when it is invoked.  The PARSER is the primary means
of  communications  between  the  system  operator  and  the front-end
programs.  It also provides access to the KL's memory  and  diagnostic
registers.   The  PARSER  accepts  input  in the form of ASCII strings
entered at the console terminal (CTY).



4.1  ENTERING AND EXITING THE PARSER

If you  are  currently  communicating  with  the  TOPS-10  or  TOPS-20
monitor,  or  a  TOPS-10  or  TOPS-20  job,  type  a control backslash
(CTRL/\) to enter the PARSER.

If you are  currently  communicating  with  another  RSX-20F  task  or
utility  such as KLINIT or PIP, type a CTRL/Z to exit the current task
and then a CTRL/\ to enter the PARSER.

When you enter the PARSER, you  will  receive  one  of  the  following
prompts:

     PAR>      This indicates that  the  PARSER  is  ready  to  accept
               commands  and  the KL is running (that is, the KL clock
               is running and the KL run flop is on).

     PAR%      This indicates that  the  PARSER  is  ready  to  accept
               commands  but  the  KL  microcode  is in the HALT loop.
               (The KL clock is running but the KL run flop is off.)

     PAR#      This indicates that  the  PARSER  is  ready  to  accept
               commands  but the KL clock is stopped and the KL is not
               running.


                                 NOTE

               If you see  the  PAR#  prompt  displayed
               during  timesharing,  you  should reload
               the system.


If the PARSER encounters an error during its initialization, an  error
message will precede the prompt.

In order to exit the PARSER, type QUIT or a CTRL/Z to  return  to  the
TOPS-10 or TOPS-20 monitor or use the PARSER command, MCR, to load and
start another program.
PARSER                                                        Page 4-2


4.2  PARSER COMMAND SYNTAX

Commands to the PARSER are typed one or more to a line in response  to
a  PAR>,  PAR%,  or  PAR#  prompt.  The rules that follow apply to all
commands you wish to type unless you are explicitly told otherwise  in
the description of the command.

     1.  Multiple commands can be entered on a  single  line.   To  do
         this,  separate  each  command  from  the  following one by a
         semicolon.  For example:

              PAR>EXAMINE PC;EXAMINE 20;SHUTDOWN<RET>

     2.  Command lines can be continued on  the  following  line.   To
         continue  a command line on the next line, end the line to be
         continued with a hyphen  (-)  and  a  carriage  return.   The
         PARSER will prompt you for the continuation line with another
         hyphen.  For example:

              PAR>EXAMINE PC;EXAMINE 20;-<RET>
              -EXAMINE NEXT<RET>

         The maximum number of characters in a command line is 280.

     3.  A comment can be added to the end of a command line or can be
         an entry in itself.  To insert a comment, begin the text with
         an exclamation mark (and end it with a carriage return).  For
         example:

              PAR>CLEAR CONSOLE!RESET TO OPERATOR MODE<RET>
              PAR>!THIS IS A COMMENT LINE<RET>

     4.  Terminal output can be suppressed.  To do this, type  CTRL/O.

     5.  Keywords in a command can  be  truncated  to  their  shortest
         unique abbreviation.  For example:

              PAR>H!HALT THE KL CPU<RET>

         If the truncation is not unique, you will  receive  an  error
         message.  For example:

              PAR>RE 5<RET>
              PAR -- [PARSER] AMB - AMBIGUOUS KEYWORD "RE"

         In this example, the PARSER found two commands  that  started
         with RE: REPEAT and RESET.

     6.  The default radix of integers  is  octal  if  an  address  or
         36-bit  value  is  expected;  otherwise, the default radix is
         decimal.

     7.  Numbers can be shifted a specified number of binary places in
         either  direction.   To  shift to the left, use an underscore
         (_) between the number you wish to shift and  the  number  of
         binary  places  you  wish  it to be shifted.  This causes the
         left hand number to be shifted to the left by the  number  of
         binary bits indicated by the right-hand number, assuming that
         the right-hand number is positive.  If the right-hand  number
         is  negative,  the  left-hand  number is shifted to the right
         that many binary places.  Thus, in order to specify a  number
PARSER                                                        Page 4-3


         in  octal  which  ends  in several zeros, you could write the
         non-zero  part,  then  an  underscore,  then  the  number  of
         trailing (binary) zeros in the number.  For example:

              PAR>EXAMINE 2_3<RET>

         results in

              20/ xxxxxx xxxxxx

         Note that rule #6 applies to both the  left-  and  right-hand
         numbers.

     8.  Negative numbers can be specified through the use of a  unary
         minus (-) preceding the number.  For example:

              PAR>DEPOSIT TEN 30:-1<RET>     (deposit -1 in 
                                               loc. 30)
              30/ xxxxxx xxxxxx              (previous 
                                               contents)
              PAR>EXAMINE TEN 30<RET>        (examine 
                                               loc. 30)
              30/ 777777 777777              (new contents)

     9.  Numeric values can be entered as arithmetic expressions using
         addition   (+),  subtraction  (-),  multiplication  (*),  and
         division (/).  For example:

              PAR>EXAMINE 123654+32<RET>
              123706/ xxxxxx xxxxxx

              PAR>DEPOSIT TEN 408-6:100<RET>

              PAR>SET INCREMENT 2*3<RET>
              KL INCREMENT: 6

              PAR>REPEAT 8/4; EXAMINE PC<RET>
              PC/ xxxxxx xxxxxx
              PC/ xxxxxx xxxxxx

         Note  that  in  the  evaluation  of  arithmetic  expressions,
         multiplication,  division,  and binary shifts take precedence
         over addition and subtraction.

    10.  Relocation factors can be added or subtracted from a  number.
         To  do this, use a single quote (') following a number to add
         the PDP-11 relocation factor (offset) to the number.   Use  a
         double  quote  (")  to subtract the PDP-11 relocation factor.
         For example:

              PAR>SET OFFSET 101204<RET>
              PDP-11 OFFSET: 101204
              PAR>EXAMINE ELEVEN 32'<RET>
              101236\ xxxxxx
              PAR>EXAMINE ELEVEN 101236"<RET>
              32\ xxxxxx

         You can use the PDP-11 relocation factor to modify KL  memory
         addresses as well as PDP-11 memory addresses.
PARSER                                                        Page 4-4


When you close a command line (carriage  return  without  a  preceding
hyphen),  the  PARSER  first scans the command line buffer for illegal
characters.  If it finds any, the entire command line is discarded and
the following message is issued:

     PAR -- [PARSER] ILC - ILLEGAL CHARACTER "c"

where "c" is the first illegal character found.

If the command line passes the character scan, the  PARSER  begins  to
execute  the individual commands.  If the PARSER encounters an invalid
command, that command and any others remaining in the command line are
not  executed.   The  invalid  command also generates an error message
(see Section 4.5, PARSER Error Messages).



4.3  PARSER CONSOLE MODES

The PARSER command set differs according to the current console  mode.
There are three basic console modes:

     OPERATOR MODE       This mode allows  only  those  commands  that
                         will   not   crash  the  TOPS-10  or  TOPS-20
                         monitor.

     PROGRAMMER MODE     This mode allows all PARSER  commands  except
                         diagnostic functions.

     MAINTENANCE MODE    This mode  allows  the  full  set  of  PARSER
                         commands.

In addition, there is a mode called USER MODE.  Entering this mode has
the effect of exiting the PARSER and is equivalent to a QUIT command.

When RSX-20F is initially loaded, the console mode is  the  mode  that
was  in  effect  in  the  PARSER when the RSX-20F front-end module was
saved.  (See Chapter 6 for a description of the SAV utility.) There is
a  SET  CONSOLE  command  to  change the console mode, a CLEAR CONSOLE
command to reset the mode to OPERATOR, and a WHAT CONSOLE  command  to
determine the current mode.  These commands are explained in detail in
Section 4.4.



4.3.1  PARSER Help Facility

The PARSER has a built-in help facility that prints out the  available
list of commands for the console mode you are in.

For an example, assume you are in OPERATOR mode and type:

     PAR>?<RET>

The PARSER responds:

     PARSER COMMANDS ARE:

     ABORT
     CLEAR
     DISCONNECT
     EXAMINE
     JUMP
     MCR
     REPEAT
     RUN
PARSER                                                        Page 4-5


     SET
     SHUTDOWN
     QUIT
     WHAT

If, on the other hand, you are in PROGRAMMER mode, the response is:

     PARSER COMMANDS ARE:

     ABORT
     CLEAR
     CONTINUE
     DEPOSIT
     DISCONNECT
     EXAMINE
     HALT
     INITIALIZE
     JUMP
     MCR
     REPEAT
     RESET
     RUN
     SET
     SHUTDOWN
     START
     QUIT
     WHAT
     XCT
     ZERO

This help facility extends to the argument level.  If you are not sure
of  the  arguments for a particular command, type the command followed
by a space and a question mark.  

For instance, assume you are in OPERATOR mode and type:

     PAR>CLEAR ?<RET>

The PARSER responds:

     CLEAR COMMANDS ARE:

     CONSOLE
     INCREMENT
     KLINIK
     MEMORY
     NOT
     REPEAT

If instead you are in PROGRAMMER mode, the response will be:

     CLEAR COMMANDS ARE:

     CONSOLE
     DATE
     INCREMENT
     KLINIK
     MEMORY
     NOT
     OFFSET
     RELOAD
     REPEAT
     RETRY
     TRACKS
PARSER                                                        Page 4-6


Subarguments can also be determined in this manner.  For  example,  if
you type:

     PAR>SET CONSOLE ?<RET>

The PARSER responds:

     SET COMMANDS ARE:

     MAINTENANCE
     OPERATOR
     PROGRAMMER
     USER



4.4  PARSER COMMANDS

All PARSER commands are listed in  this  section.   The  console  mode
associated  with  each  command  specifies the minimal console mode at
which the command is available.  The following notational  conventions
apply to the command format:

     o    Any single argument not in brackets must be specified.

     o    Uppercase arguments are keywords  and  must  be  entered  as
          shown or truncated according to rule 5 in Section 4.2.

     o    A multiple choice list enclosed in square brackets [ ] means
          that  an entry is optional.  If there is a default entry, it
          will be specified.

     o    A multiple choice list enclosed in braces { } means that one
          of the entries must be specified.

In the following  list  of  commands,  those  specified  as  requiring
MAINTENANCE  console  mode  should  be  restricted  to  Field  Service
personnel.  Also, some commands require that the KL be stopped;   this
can be done with a HALT or ABORT command.



ABORT                                                         OPERATOR


     The ABORT command stops the KL by trying to  force  it  into  the
     HALT loop.  If this fails after a reasonable number of EBOX clock
     ticks, the command tries to  START  MICROCODE,  which  implies  a
     MASTER  RESET of the KL processor.  This is one way to get the KL
     into a known state when a  previous  state  left  it  in  a  hung
     condition.



CLEAR CLOCK   NORMAL                                       MAINTENANCE
              CRAM
              DATA-PATH
              CONTROL
              EXTERNAL
              INTERNAL
              MARGIN
              FULL
              HALF
              QUARTER
              SLOW
PARSER                                                        Page 4-7


     The  CLEAR  CLOCK  command  selectively  resets  the   KL   clock
     parameters.  The CLEAR CLOCK arguments function as follows:

          CLEAR CLOCK NORMAL      =  SET CLOCK NORMAL

          CLEAR CLOCK CRAM           Disables the control-RAM 
                                      clock

          CLEAR CLOCK DATA-PATH      Disables the data-path clock

          CLEAR CLOCK CONTROL        Disables the control logic 
                                      clock

          CLEAR CLOCK   EXTERNAL  = SET CLOCK NORMAL
                        INTERNAL
                        MARGIN
                        FULL
                        HALF
                        QUARTER
                        SLOW



CLEAR CONSOLE                                                 OPERATOR


     The CLEAR CONSOLE command forces the PARSER into OPERATOR console
     mode.  It is the equivalent of SET CONSOLE OPERATOR.



CLEAR DATE                                                  PROGRAMMER


     The CLEAR DATE command clears the validity bit  and  prompts  you
     for  a new date and time (see SET DATE command).  This command is
     not valid if RSX-20F is in primary protocol.



CLEAR FS-STOP                                              MAINTENANCE


     The  CLEAR  FS-STOP  command  disables  the  Field  Service  stop
     facility.  



CLEAR INCREMENT                                               OPERATOR


     The CLEAR INCREMENT command resets the  KL  increment  factor  to
     zero.  (See EXAMINE INCREMENT command.)



CLEAR KLINIK                                                  OPERATOR


     The CLEAR KLINIK command closes  the  KLINIK  access  window  and
     terminates  the KLINIK link.  (See Appendix D for a discussion on
     KLINIK access.)
PARSER                                                        Page 4-8


CLEAR MEMORY                                                  OPERATOR


     The CLEAR MEMORY  command  forces  all  subsequent  EXAMINEs  and
     DEPOSITs  to reference KL memory.  This command is the equivalent
     of the SET MEMORY TEN command.  Note that this command  does  not
     set  memory  to  zeros, or in fact to anything at all;  it simply
     specifies  which  memory,  the  KL  or  the  PDP-11,   is   being
     referenced.



CLEAR NOT                                                     OPERATOR


     The CLEAR NOT command is the equivalent of the SET command.



CLEAR OFFSET                                                PROGRAMMER


     The CLEAR OFFSET command sets  the  relocation  factor  to  zero.
     (See rule ten in Section 4.2.)



CLEAR PARITY STOP   ALL                                    MAINTENANCE
                    AR
                    CRAM
                    DRAM
                    ENABLE
                    FM
                    FS-STOP


     The CLEAR PARITY-STOP command selectively disables  parity  stops
     for AR, CRAM, DRAM, Fast Memory, and Field Service.



CLEAR RELOAD                                                PROGRAMMER


     The CLEAR RELOAD command disables the automatic reload of the  KL
     following a fatal error.



CLEAR REPEAT                                                  OPERATOR


     The CLEAR REPEAT command resets the command line repeat factor to
     zero.   A repeat factor of zero is the same as a repeat factor of
     one;  subsequent command lines are executed once.



CLEAR RETRY                                                 PROGRAMMER


     The CLEAR RETRY command resets the  RETRY  flag  in  the  PARSER.
     When  this flag is off, a Keep-Alive-Cease error causes the KLERR
     routine to take a system snapshot and then call KLINIT to perform
     a system reload of the KL.  (See SET RETRY.)
PARSER                                                        Page 4-9


CLEAR TRACKS                                                PROGRAMMER


     The CLEAR  TRACKS  command  stops  RSX-20F  from  typing  all  KL
     operations and results on the controlling terminal.



CONTINUE                                                    PROGRAMMER


     The CONTINUE command takes the KL out of the HALT loop and starts
     execution at the instruction pointed to by the PC.



DEPOSIT AR:newdata                                          PROGRAMMER


     The DEPOSIT AR  command  sets  the  contents  of  the  arithmetic
     register to newdata.



DEPOSIT   ELEVEN      addr        :newdata                  PROGRAMMER
          TEN         DECREMENT
                      INCREMENT
                      NEXT
                      PREVIOUS
                      THIS


     The DEPOSIT memory address command displays the contents  of  the
     specified  or  implied  memory  address  and  then  replaces  the
     contents with newdata.

          ELEVEN    specifies  that  the  command  is  referencing  an
                    address in the PDP-11 memory.

          TEN       specifies  that  the  command  is  referencing  an
                    address in the KL memory.

     If  neither  ELEVEN  or  TEN  is  specified,  the  memory  to  be
     referenced is determined by the most recent SET MEMORY command.

     If  no  SET  MEMORY  command  has  been  issued,  KL  memory   is
     referenced.

     The following six arguments determine the specific memory address
     into  which  you  wish  to deposit the data;  one of them must be
     entered.

          addr           is  the  actual  memory  address   in   octal
                         notation.   When  referencing  PDP-11 memory,
                         this must be an even number.

          INCREMENT      means add the  KL  increment  factor  to  the
                         address  last  referenced  to  arrive  at the
                         deposit address.  If PDP-11 memory  is  being
                         referenced, this command is the equivalent of
                         DEPOSIT NEXT.
PARSER                                                       Page 4-10


          DECREMENT      means subtract the KL increment  factor  from
                         the  address last referenced to arrive at the
                         deposit address.  If PDP-11 memory  is  being
                         referenced, this command is the equivalent of
                         DEPOSIT PREVIOUS.

          NEXT           means add one  (for  a  KL)  or  two  (for  a
                         PDP-11)  to  the  address  last referenced to
                         arrive at the deposit address.

          PREVIOUS       means subtract one (for a KL) or two  (for  a
                         PDP-11)  from  the address last referenced to
                         arrive at the deposit address.

          THIS           means use the address last referenced as  the
                         deposit address.



DISCONNECT                                                    OPERATOR


     The DISCONNECT command disconnects the KLINIK link by running the
     KLDISC  task.  This command does not clear any KLINIK parameters.
     (See Appendix D for a discussion of KLINIK.)



EXAMINE PC                                                    OPERATOR


     The EXAMINE PC command prints the  contents  of  the  KL  program
     counter (PC) in octal, on the CTY.



EXAMINE KL                                                    OPERATOR


     The EXAMINE KL command performs  the  EXAMINE  PC,  EXAMINE  VMA,
     EXAMINE PI, and the EXAMINE FLAGS commands, in that order.



EXAMINE   ELEVEN    addr                                      OPERATOR
          TEN       DECREMENT
                    INCREMENT
                    NEXT
                    PREVIOUS
                    THIS


     The EXAMINE memory address command displays the contents  of  the
     specified or implied memory address in octal, on the CTY.

          ELEVEN         specifies that the command is referencing  an
                         address in the PDP-11 memory.

          TEN            specifies that the command is referencing  an
                         address in the KL memory.

     If  neither  ELEVEN  or  TEN  is  specified,  the  memory  to  be
     referenced  is  determined by the most recent SET MEMORY command.
     If  no  SET  MEMORY  command  has  been  issued,  KL  memory   is
     referenced.
PARSER                                                       Page 4-11


     The following six arguments determine the specific memory address
     to be examined;  one of them must be entered.

          addr           is  the  actual  memory  address   in   octal
                         notation.   If  you  are  referencing  PDP-11
                         memory, this must be an even number.

          INCREMENT      means add the  KL  increment  factor  to  the
                         address  last  referenced  to  arrive  at the
                         examine address.  If PDP-11 memory  is  being
                         referenced, this command is the equivalent of
                         EXAMINE NEXT.

          DECREMENT      means subtract the KL increment  factor  from
                         the  address last referenced to arrive at the
                         examine address.  If PDP-11 memory  is  being
                         referenced, this command is the equivalent of
                         EXAMINE PREVIOUS.

          NEXT           means add one  (for  a  KL)  or  two  (for  a
                         PDP-11)  to  the  address  last referenced to
                         arrive at the examine address.

          PREVIOUS       means subtract one (for a KL) or two  (for  a
                         PDP-11)  from  the address last referenced to
                         arrive at the examine address.

          THIS           means use the address last referenced as  the
                         examine address.



EXAMINE AB                                                  PROGRAMMER


     The EXAMINE AB command displays the contents of  the  KL  address
     break register.



EXAMINE AD                                                  PROGRAMMER


     The EXAMINE AD command displays the  contents  of  the  KL  adder
     register.



EXAMINE ADX                                                 PROGRAMMER


     The EXAMINE ADX command displays the contents  of  the  KL  adder
     extension.



EXAMINE AR                                                  PROGRAMMER


     The EXAMINE AR command displays the contents of the KL arithmetic
     register.
PARSER                                                       Page 4-12


EXAMINE ARX                                                 PROGRAMMER


     The  EXAMINE  ARX  command  displays  the  contents  of  the   KL
     arithmetic register extension.



EXAMINE BR                                                  PROGRAMMER


     The EXAMINE BR command displays the contents  of  the  KL  buffer
     register.



EXAMINE BRX                                                 PROGRAMMER

     The EXAMINE BRX command displays the contents of  the  KL  buffer
     register extension.



EXAMINE CRADDR                                              PROGRAMMER


     The EXAMINE CRADDR command displays the contents of the  KL  CRAM
     address register.



EXAMINE CRLOC                                               PROGRAMMER


     The EXAMINE CRLOC command displays the contents of  the  KL  CRAM
     location register.



EXAMINE DRADDR                                              PROGRAMMER


     The EXAMINE DRADDR command displays the contents of the  KL  DRAM
     address register.



EXAMINE DTE-20                                              PROGRAMMER


     The EXAMINE DTE-20 command displays the  contents  of  the  three
     diagnostic  registers  and  the  status  register for the console
     DTE-20.



EXAMINE EBUS                                                PROGRAMMER


     The EXAMINE EBUS command displays the contents  of  the  KL  EBUS
     register.
PARSER                                                       Page 4-13


EXAMINE FE                                                  PROGRAMMER


     The EXAMINE FE command displays the contents of the  KL  Floating
     Exponent register.



EXAMINE FLAGS                                               PROGRAMMER


     The EXAMINE FLAGS command displays the current state of the  flag
     bits  (0-12)  in  the  left half of the PC word.  Those flags are
     OVF, CY0, CY1, FOV, BIS, USR, UIO, LIP, AFI, AT1, AT0,  FUF,  and
     NDV.



EXAMINE FM                                                  PROGRAMMER


     The EXAMINE FM command displays  the  contents  of  the  KL  Fast
     Memory register.



EXAMINE MQ                                                  PROGRAMMER


     The EXAMINE MQ command displays the contents of the KL Multiplier
     Quotient register.



EXAMINE PI                                                  PROGRAMMER


     The EXAMINE PI command displays  the  current  state  of  the  KL
     Priority Interrupt system.



EXAMINE REGISTERS                                           PROGRAMMER


     The EXAMINE  REGISTERS  command  displays  the  contents  of  the
     following  registers  (see  also  the  EXAMINE  command  for  the
     individual registers):

          AD, ADX, AR, ARX, BR, BRX, EBUS, FM, MQ, and PC.



EXAMINE SBR                                                 PROGRAMMER


     The  EXAMINE  SBR  command  displays  the  contents  of  the   KL
     Subroutine Return register.
PARSER                                                       Page 4-14


EXAMINE SC                                                  PROGRAMMER


     The EXAMINE SC command displays the  contents  of  the  KL  Shift
     Count register.



EXAMINE VMA                                                 PROGRAMMER


     The EXAMINE VMA command displays the contents of the  KL  Virtual
     Memory Address register.



EXAMINE VMAH                                                PROGRAMMER


     The EXAMINE VMAH command displays the contents of the KL  Virtual
     Memory Address Held register.



FREAD nnn                                                  MAINTENANCE


     The FREAD command performs a diagnostic function read of  the  KL
     CPU.   The valid range of function codes (nnn) is 100 through 177
     octal.



FWRITE nn:data                                             MAINTENANCE


     The FWRITE command performs a diagnostic function write to the KL
     CPU.   The  valid  range  of function codes (nn) is 40 through 77
     octal.  The data must be a 36-bit integer.



FXCT nn                                                    MAINTENANCE


     The FXCT command performs a diagnostic function execute on the KL
     CPU.   The  valid  range  of  function codes (nn) is 0 through 37
     octal.



HALT                                                        PROGRAMMER


     The HALT command tries to put  the  KL  into  the  HALT  loop  by
     clearing  the  RUN flop (FXCT 10) and waiting.  If the KL refuses
     to go into the HALT loop, the front end tries to force it  in  by
     using  BURST  mode.   If  this does not work, the following error
     message is issued:

          PAR -- [HALT] CFH - CAN'T FIND KL HALT LOOP
PARSER                                                       Page 4-15


INITIALIZE                                                  PROGRAMMER


     The INITIALIZE command sets  up  the  KL  state  flag  word  with
     default values and restarts the KL based on those values.



JUMP addr                                                     OPERATOR


     The JUMP command starts the KL at the specified address and exits
     from  the  PARSER.   At  this  point, the CTY is connected to the
     TOPS-10 or TOPS-20 operating system.  The argument addr  must  be
     an  octal,  positive,  nonzero  address  with  a maximum value of
     17777777.



MCR taskname                                                  OPERATOR


     The MCR command loads and starts the specified task file.



QUIT                                                          OPERATOR


     The QUIT command causes the PARSER to be exited.  At this  point,
     the  CTY is connected to the TOPS-10 or TOPS-20 operating system.
     This command is equivalent to SET CONSOLE USER or CTRL/Z.



REPEAT nnn;[command1;command2;...]                            OPERATOR


     The REPEAT command causes the subsequent commands in the  current
     command line to be repeated the number of times specified by nnn.
     The argument nnn must be a positive, decimal, nonzero integer.

     The command line can contain as many commands as will fit  within
     the 280 character buffer limitation.  You can nest REPEATs within
     the command line.  Also, if a SET REPEAT command  is  in  effect,
     the  two  repeat  factors  are multiplied to arrive at the actual
     number of times commands are repeated.

     For example, the following command examines the PC ten times:

          REPEAT 10;EXAMINE PC

     A more complex example is shown below, along with the sequence of
     single  commands  that  would  duplicate the action of the single
     command line.

          REPEAT 3;EXAMINE PC;REPEAT 2;EXAMINE NEXT

          EXAMINE PC
          EXAMINE NEXT
          EXAMINE NEXT
          EXAMINE PC
          EXAMINE NEXT
          EXAMINE NEXT
PARSER                                                       Page 4-16


          EXAMINE PC
          EXAMINE NEXT
          EXAMINE NEXT

     If SET REPEAT 4 had been previously entered, the  above  sequence
     would be repeated four times.

     If no commands are specified,  the  effect  is  that  of  a  null
     command.



RESET                                                       PROGRAMMER


     The RESET command performs a MASTER RESET of the KL  and  retains
     the  clock and parity-stop enables that existed before the reset.
     This command is not allowed while the KL is running.



RESET ALL                                                   PROGRAMMER


     The RESET ALL command executes the RESET APR, RESET DTE-20, RESET
     PAG,  and  RESET  PI commands.  This command is not allowed while
     the KL is running.



RESET APR                                                   PROGRAMMER


     The RESET APR command executes a CONO APR,,267760 instruction  to
     clear  the  KL arithmetic processor.  This command is not allowed
     while the KL is running.



RESET DTE-20                                                PROGRAMMER


     The RESET DTE-20 command resets the DTE-20 by depositing a  1  in
     bit  6 of the DTE-20 diagnostic word 2.  Bit 0 in diagnostic word
     3 is set to 1 to indicate word-mode transfers.



RESET ERROR                                                 PROGRAMMER


     The RESET ERROR command executes a CONO APR,,27760 instruction to
     reset the KL error flags.  



RESET INITIALIZE                                            PROGRAMMER


     The RESET INITIALIZE command performs a MASTER RESET  of  the  KL
     and  sets  up normal clock and parity-stop enables.  This command
     is not allowed while the KL is running.
PARSER                                                       Page 4-17


RESET IO                                                    PROGRAMMER


     The RESET IO command executes a CONO APR,,200000  instruction  to
     perform an I/O reset of the KL.



RESET PAG                                                   PROGRAMMER


     The RESET PAG command executes a CONO PAG,,0 instruction followed
     by a DATAO PAG,,100 instruction to reset the KL PAGing box.  This
     command requires that the KL clock be running.



RESET PI                                                    PROGRAMMER


     The RESET PI command executes a  CONO  PI,,10000  instruction  to
     reset the KL Priority Interrupt system.



RUN taskname                                                  OPERATOR


     The RUN command loads and starts the specified task  file.   This
     command is an alias for the MCR command.



SET CLOCK NORMAL                                           MAINTENANCE


     The SET CLOCK NORMAL command sets the KL's  clock  parameters  to
     internal  source, full rate, and enables the CRAM, data path, and
     control logic clocks.



SET CLOCK   CRAM                                           MAINTENANCE
            DATA-PATH
            CONTROL


     This SET CLOCK command enables the specified clock as follows:

          CRAM      enables the control-RAM clock.

          DATA-PATH enables the data-path clock.

          CONTROL   enables the control logic clock.



SET CLOCK   EXTERNAL                                       MAINTENANCE
            INTERNAL
            MARGIN


     This SET CLOCK command sets  the  source  of  the  clock  pulses:
     external,  internal,  or  margin.   The  margin clock is slightly
PARSER                                                       Page 4-18


     faster than the normal internal clock and is used for  diagnosing
     rate-sensitive  problems.   There  may  not  be an external clock
     attached to the KL.  Therefore, after  you  type  the  SET  CLOCK
     EXTERNAL command, the PARSER will print:

          CONFIRM EXTERNAL CLOCK SOURCE (YES OR NO)?

     If you answer YES, the operation is performed.  If you answer YES
     and  there is no external clock attached, the KL hangs and has to
     be reset.



SET CLOCK   FULL                                           MAINTENANCE
            HALF
            QUARTER
            SLOW


     This SET CLOCK command determines the  speed  of  the  KL  clock:
     full  speed,  one  half  speed,  one quarter speed, or slow speed
     which is equivalent to one eighth speed.



SET CONSOLE   MAINTENANCE                                     OPERATOR
              OPERATOR
              PROGRAMMER
              USER


     The SET CONSOLE command sets the console mode of  operation  and,
     therefore, the allowable subset of PARSER commands.

     MAINTENANCE  allows the full set of PARSER commands.

     PROGRAMMER   allows  all  PARSER   commands   except   diagnostic
                  functions.

     OPERATOR     allows only those  PARSER  commands  that  will  not
                  crash the TOPS-10 or TOPS-20 monitor.

     USER         exits the PARSER.

     If no subargument is entered, the console is  set  to  PROGRAMMER
     mode.


                                   NOTE

         If KLINIK is enabled and active, the PARSER will not  let
         you  set  the console mode any higher than that specified
         when the KLINIK window was defined.





SET DATE                                                    PROGRAMMER


     The SET DATE command sets RSX-20F's internal date.  This date  is
     used  in  setting  up  and accessing KLINIK.  This command is not
     available if RSX-20F thinks that it  already  has  a  valid  date
PARSER                                                       Page 4-19


     (validity  flag is ON).  In response to the SET DATE command, the
     PARSER prompts you as follows:

          PAR>SET DATE<RET>
          DATE: 19 FEB 79
          TIME: 1211
          CURRENT SYSTEM DATE:
          MONDAY, 19-FEB-79 12:11
           VALIDITY FLAG IS:ON
          PAR>



SET FS-STOP                                                MAINTENANCE


     The SET FS-STOP command enables the Field Service stop facility.



SET INCREMENT n                                               OPERATOR


     The SET INCREMENT command sets the KL increment  counter  to  the
     value  specified  by the octal integer, n.  The increment counter
     is used by the INCREMENT and DECREMENT arguments of  the  EXAMINE
     and  DEPOSIT  commands.   Also,  only  KL  memory  addresses  are
     modified by the increment counter.   PDP-11  addresses  that  are
     incremented   or   decremented  default  to  NEXT  and  PREVIOUS,
     respectively.



SET KLINIK                                                    OPERATOR


     The SET KLINIK command is used to enable  access  to  the  KLINIK
     link.   The  command  initiates a dialog in which a KLINIK access
     window and security parameters are established.  (See Appendix  D
     for the KLINIK dialog.)



SET MEMORY   ELEVEN                                           OPERATOR
             TEN


     The  SET  MEMORY  command  establishes  the  default  memory  for
     EXAMINEs and DEPOSITs.

     ELEVEN    means default to the PDP-11 memory.

     TEN       means default to the KL memory.

     The command itself has no default;  an argument must be  entered.
     When RSX-20F is first loaded, the default memory is TEN.



SET NOT argument                                              OPERATOR


     The SET NOT command is the equivalent of the  CLEAR  command  and
     requires an argument.  (See the CLEAR commands.)
PARSER                                                       Page 4-20


SET OFFSET nnnnnn                                           PROGRAMMER


     The SET OFFSET command sets the PDP-11 relocation factor  to  the
     value  specified  by  nnnnnn,  an octal number in the range 77777
     (+32,767) through 100000 (-32,768).  The relocation  factor  when
     RSX-20F  is  first  loaded  is  the  address  of  the PARSER root
     overlay.



SET PARITY-STOP   ALL                                      MAINTENANCE
                  AR
                  CRAM
                  DRAM
                  ENABLE
                  FM
                  FS-STOP


     The SET PARITY-STOP command  allows  you  to  selectively  enable
     parity  stops  for  the  Arithmetic Register and extension, CRAM,
     DRAM, Fast Memory, and Field  Service.   The  parity  stops  when
     RSX-20F  is  first  loaded are AR, CRAM, DRAM, and FM with ENABLE
     ON.



SET RELOAD                                                  PROGRAMMER


     The SET RELOAD command enables the automatic reload of the KL  by
     the  PDP-11  front  end in situations such as Keep-Alive-Cease or
     CPU errors.



SET REPEAT n                                                  OPERATOR


     The SET REPEAT command sets the command line repeat factor to  n.
     The value n must be specified as a positive decimal number.  Each
     subsequent command line will be repeated n number of times.



SET RETRY                                                   PROGRAMMER


     The SET RETRY command sets the RETRY flag in RSX-20F.  When  this
     flag  is  set,  the  first occurrence of a Keep-Alive-Cease error
     results in the execution of the instruction in location 71.  This
     instruction  will  usually branch to a routine that causes the KL
     monitor to dump memory and request a reload (BUGHLT  in  TOPS-20,
     STOPCD in TOPS-10).  If the KL cannot accomplish this task before
     the end of the Keep-Alive period  (5  seconds),  RSX-20F  assumes
     that  the  KL is incapacitated.  In this case, KLERR is called to
     take a KL hardware snapshot and then reload the KL.

     If the RETRY flag is reset (see CLEAR RETRY), every occurrence of
     a  Keep-Alive-Cease  error  results in a KLERR snapshot/reload of
     the KL.
PARSER                                                       Page 4-21


SET TRACKS                                                  PROGRAMMER


     The SET TRACKS command causes RSX-20F to type out, on the console
     terminal, all KL operations and their results.



SHUTDOWN                                                      OPERATOR


     The SHUTDOWN command DEPOSITs a  minus  one  into  the  KL  EXEC,
     virtual  location 30 (octal).  This command is used to bring down
     a running system gracefully.

     Example:

          PAR>SHUTDOWN
          **HALTED**

          %DECSYSTEM-20 NOT RUNNING



START TEN addr                                              PROGRAMMER


     The START TEN command starts the KL  at  the  address  specified.
     Control  then returns to the PARSER.  The starting address, addr,
     is a required argument and must not be zero.



START MICROCODE [addr]                                      PROGRAMMER


     The START MICROCODE command performs a MASTER RESET of the KL and
     then  starts  the microcode at the specified address.  If addr is
     omitted, the default address is zero.  Starting the microcode  at
     an address other than zero is not recommended.



WHAT CLOCK                                                  PROGRAMMER


     The WHAT CLOCK command displays the  current  source,  rate,  and
     control of the KL's clocks.



WHAT CONSOLE                                                  OPERATOR


     The WHAT CONSOLE  command  displays  the  current  console  mode:
     OPERATOR, PROGRAMMER, or MAINTENANCE.



WHAT DATE                                                     OPERATOR


     The WHAT DATE command displays the day, date, and time  that  are
     currently  stored  in  RSX-20F.   The status of the date validity
     flag is also displayed.
PARSER                                                       Page 4-22


WHAT INCREMENT                                                OPERATOR


     The WHAT INCREMENT command displays the current value of  the  KL
     increment counter used in EXAMINEs and DEPOSITs.



WHAT KLINIK                                                   OPERATOR


     The WHAT KLINIK command displays the current access status of the
     KLINIK  link  (see  the SET KLINIK command in Appendix D).  If no
     access window has been set up the reply is:

          KLINIK DISABLED

     If an access window has been set up and the link is in  use,  the
     reply is:

          KLINIK ACTIVE

     If an access window has been set up and the link is not  in  use,
     the reply is:

          KLINIK INACTIVE

     In either of the last two instances, the status is followed by  a
     display of the KLINIK window parameters.



WHAT MEMORY                                                   OPERATOR


     The WHAT MEMORY command displays the default memory for  DEPOSITs
     and EXAMINEs.



WHAT OFFSET                                                 PROGRAMMER


     The WHAT OFFSET command displays the  current  PDP-11  relocation
     factor.



WHAT PARITY-STOP                                            PROGRAMMER


     The WHAT PARITY-STOP command displays the current status  of  the
     parity  stop  enable  bit  as  well  as the parity stops that are
     currently enabled.



WHAT RELOAD                                                 PROGRAMMER


     The WHAT RELOAD  command  displays  the  current  status  of  the
     automatic reload function.
PARSER                                                       Page 4-23


WHAT REPEAT                                                   OPERATOR


     The WHAT REPEAT command displays the current value of the  PARSER
     repeat factor.



WHAT RETRY                                                  PROGRAMMER


     The WHAT RETRY command displays the current status of  the  RETRY
     flag in the front end.



WHAT TRACKS                                                 PROGRAMMER


     The WHAT TRACKS command displays the current KL tracking status.



WHAT VERSION                                                  OPERATOR


     The WHAT VERSION command displays the current versions of RSX-20F
     and the PARSER.



XCT argument                                                PROGRAMMER


     The XCT  command  takes  a  36-bit  numerical  expression  as  an
     argument  and  executes  it  as  a  KL  instruction.   Note  that
     executing an instruction with an opcode (bits  0  through  8)  of
     zero  is  not allowed.  If attempted, you will receive an ILLEGAL
     KL OPCODE error message.



ZERO loaddr>hiaddr                                          PROGRAMMER


     The ZERO command zeroes a specified  area  of  KL  memory.   ZERO
     accepts  as  an argument the boundary addresses of the area to be
     zeroed:  loaddr and hiaddr.



4.5  PARSER ERROR MESSAGES

The following list contains all the error messages that can be  issued
by  the PARSER while in any of the three console modes.  The format of
each message is:

     PAR -- [command name] code - message
PARSER                                                       Page 4-24


The command name is the name of the command  that  caused  the  error.
However,  this  command  name can be PARSER if you typed a string that
caused an error in the  command  parser  rather  than  in  a  specific
command routine.  For example, assume that you type an invalid command
such as:

     PAR>KLEAR CONSOLE

You will receive the error message:

     PAR -- [PARSER] NSK - NO SUCH KEYWORD "KLEAR"

On the other hand, assume that you type in an invalid argument:

     PAR>CLEAR KONSOLE

You will receive the error message:

     PAR -- [CLEAR] NSK - NO SUCH KEYWORD "KONSOLE"

The various error codes, messages, and explanations are given below.


AMB      AMBIGUOUS KEYWORD "xxx"

         where "xxx" is the ambiguous keyword.  The PARSER found  more
         than one keyword that matched the abbreviation you typed.


                                     NOTE

             The PARSER  matches  your  abbreviation  against  the
             complete  set of commands and arguments regardless of
             the subset allowed by the console mode you are in.


APE      KL APR ERROR

         The PARSER  encountered  a  CPU  error  (nonexistent  memory,
         parity  error,  or  a  similar  condition).   Call your Field
         Service Representative.


BAE      BURST ARGUMENT ERROR

         This is an internal programming failure.  Call your  Software
         Support Specialist.


CAE      KL CRAM ADDRESS ERROR

         This is an internal programming failure.   Call  either  your
         Field   Service   Representative  or  your  Software  Support
         Specialist.


CBO      COMMAND BUFFER OVERFLOW

         You typed a command line that was more than 280 characters in
         length.  Reenter the command as two or more lines.
PARSER                                                       Page 4-25


CDI      CLEAR DATE ILLEGAL

         You tried to clear the internal date  while  the  KL  was  in
         primary protocol.


CES      CLOCK ERROR STOP - code ERROR STOP

         The variable, code, is either CRAM,  DRAM,  FM,  or  FS-STOP.
         This  message  is  displayed  when the CPU encounters a fatal
         internal hardware error.  Note the  code  received  and  call
         your  Field  Service Representative.  Also, try to reload the
         system using DISK, DECtape, floppy or  switch  register.   If
         you  use  the  switch register, make sure that you reload the
         microcode.


CFH      CAN'T FIND KL HALT LOOP

         The PARSER tried to halt the KL but failed.  Call your  Field
         Service Representative.


CLE      CONSOLE LIMIT EXCEEDED

         You tried to set a console mode  that  was  higher  than  the
         console  mode  specified  in  the  SET KLINIK command dialog.
         This is not allowed while the KLINIK link is active in remote
         mode.


CNR      COMMAND IS NOT REPEATABLE

         You tried to  repeat  a  command  that  cannot  be  repeated.
         However, the command has been executed once.


DAV      DATE ALREADY VALID

         You tried to set a new internal date and  the  date  validity
         flag was on.


DBT      DATE BEFORE TODAY

         While in the SET KLINIK command dialog, you tried to  specify
         an open or close date that was prior to the current date.


DCK      DIVIDE CHECK

         This is an internal programming error.   Call  your  Software
         Support Specialist.


DMF      DEPOSIT KL MEMORY FAILED

         This is an internal programming  failure.   RSX-20F  did  not
         accept  a  deposit  directive.   Call  your  Software Support
         Specialist.
PARSER                                                       Page 4-26


DNP      DTE-20 IS NOT PRIVILEGED

         This is a fatal error.  The DTE-20  mode  switch  is  in  the
         wrong    position.     Call   either   your   Field   Service
         Representative or your Software Support Specialist.


DOR      DAY OUT OF RANGE

         You specified a day that does not  exist  in  the  month  you
         entered.


DSF      DTE-20 STATUS FAILURE

         A read or write to one of the DTE-20 status registers failed.
         Call your Software Support Specialist.


DTC      DTE-20 CONFUSED - RUN AND HALT LOOP

         This is a fatal error.  The run and halt loop flags were  set
         simultaneously,  an  impossible  situation.   Call your Field
         Service Representative.


ECT      EBOX CLOCK TIMEOUT

         While the PARSER was doing an execute function, the KL failed
         to reenter the halt loop within the allotted time.  Call your
         Software Specialist.


EMF      EXAMINE KL MEMORY FAILED

         This is an internal programming  failure.   RSX-20F  did  not
         accept  an  examine  directive.   Call  your Software Support
         Specialist.


EOC      END OF COMMAND REQUIRED

         The command was ended with a ?  and no  additional  arguments
         are required.  Retype the command and press the RETURN key.


EPE      EBUS PARITY ERROR

         This a fatal error.  The PARSER encountered  an  EBUS  parity
         error.  Call your Field Service Representative.


ESD      EBOX STOPPED - DEPOSIT

         The PARSER executed a deposit directive and found that the KL
         clock was stopped.


ESE      EBOX STOPPED - EXAMINE

         The PARSER executed an examine directive and found  that  the
         KL clock was stopped.
PARSER                                                       Page 4-27


FRF      FUNCTION READ nnn FAILED

         A diagnostic function read with function code nnn has failed.
         This   is   a   fatal   error.    Call   your  Field  Service
         Representative and your Software Support Specialist.  If  the
         system crashes, try to reload it.


FWF      FUNCTION WRITE nn FAILED

         A diagnostic function write with function code nn has failed.
         This   is   a   fatal   error.    Call   your  Field  Service
         Representative and your Software Support Specialist.  If  the
         system crashes, try to reload it.


FXF      FUNCTION XCT nn FAILED

         A diagnostic function  execute  with  function  code  nn  has
         failed.   This  is  a  fatal  error.  Call your Field Service
         Representative and your Software Support Specialist.  If  the
         system crashes, try to reload it.


IDF      ILLEGAL DATE FORMAT

         You entered a date in the wrong format.  The  correct  format
         is:

              dd-mmm-yy

         where the hyphens can be replaced by spaces and the year  can
         be  entered as four digits.  The day and year must be numeric
         and  the  month  must  be  alphabetic.   The  month  can   be
         abbreviated as long as it retains its uniqueness.

IFC      ILLEGAL FUNCTION CODE

         This is either an internal programming error or the result of
         entering  a diagnostic command with an invalid function code.
         The valid function codes are as follows:

              FREAD  command takes codes 100-177
              FWRITE command takes codes 40-77
              FXCT   command takes codes 0-37

         If the message was not a  result  of  entering  a  diagnostic
         command, call your Software Support Specialist.


ILC      ILLEGAL CHARACTER "c"

         The PARSER found an illegal character in the command line and
         "c"  is  the  character's  printing  equivalent.  Nonprinting
         characters are preceded by a circumflex (^) and converted  to
         their printing equivalent for output.


ILS      ILLEGAL SEPARATOR CHARACTER "s"

         The PARSER  found  an  illegal  separator  character  in  the
         command  line  and "s" is the illegal character.  Nonprinting
         characters are preceded by a circumflex (^) and converted  to
         their  printing  equivalent  for  output.  Note that a tab is
         converted to one space.
PARSER                                                       Page 4-28


IOC      ILLEGAL KL OPCODE

         Either you or the PARSER tried to execute  a  KL  instruction
         with  an  illegal  op-code.  If this was not the result of an
         XCT command, call your Software Support Specialist.


IPC      ILLEGAL PASSWORD CHARACTER "c"

         During the SET KLINIK dialog, you typed a password containing
         "c,"  an  illegal  character.   You  must use only numeric or
         uppercase alphabetic characters in the password.


IRC      ILLEGAL REPEAT COUNT

         You typed a zero or negative argument to either the REPEAT or
         SET REPEAT command.


ITF      ILLEGAL TIME FORMAT

         You entered a time of day that was not in the proper  format.
         The PARSER expects a numeric value of the form hh:mm or hhmm.


ITN      ILLEGAL TASK NAME

         The RUN or MCR command was entered with no task name.


KCN      KL CLOCK IS OFF

         The KL clock is off and you tried to execute a  command  that
         requires the clock to be on.


KLA      KL ADDRESS ERROR

         You specified a KL address that was out  of  range  (over  22
         bits), negative, or not in octal radix.


KLR      ILLEGAL WHILE KL RUNNING

         You tried to execute a command that is illegal while  the  KL
         is running.


KNC      KL IS NOT CONTINUABLE

         You tried to resume processing with the CONTINUE command, but
         the  KL  was  not  in  a continuable state.  For example, you
         cannot CONTINUE after a RESET command.


KWE      KLINIK WINDOW ERROR

         During the SET KLINIK dialog, you specified  a  window  close
         date and time that is prior to the window open date and time.
PARSER                                                       Page 4-29


MRA      MISSING REQUIRED ARGUMENT

         You did not specify all of the necessary  arguments  for  the
         command.


NDI      NULL DATE ILLEGAL

         During the SET DATE dialog, you answered  the  DATE:   prompt
         with a carriage return.  You must supply a date.


NER      NUMERIC EXPRESSION REQUIRED

         You entered a command that expects a numeric expression as an
         argument and something else was entered.


NOR      INPUT NUMBER OUT OF RANGE

         You specified a number that was out of range or in the  wrong
         radix.


NPI      NULL PASSWORD ILLEGAL

         During the SET KLINIK  dialog,  you  answered  the  PASSWORD:
         prompt with a carriage return.  You must supply a password if
         one is requested.


NSK      NO SUCH KEYWORD "xxx"

         You entered a command containing the invalid keyword "xxx".


NST      NO SUCH TASK

         You specified a nonexistent task in an MCR or RUN command.


NTI      NULL TIME ILLEGAL

         During the SET DATE dialog, you answered  the  TIME:   prompt
         with a carriage return.  You must specify a time.


OAI      ODD ADDRESS ILLEGAL

         You tried to examine an odd-numbered PDP-11 address.


OFC      ODD FUNCTION CODE

         This is an internal programming error.   Call  your  Software
         Support Specialist.


PTL      PASSWORD TOO LONG

         During the SET KLINIK dialog, you specified a  password  that
         was more than six characters in length.
PARSER                                                       Page 4-30


RPM      RIGHT PARENTHESIS MISSING

         You omitted a right parenthesis in a numeric expression.


SCF      SET CLOCK FAILED

         The PARSER cannot validate the clock enable parameters it has
         just set.  This is a hardware error.  Call your field service
         representative.


SKI      SET KLINIK ILLEGAL WHILE KLINIK ACTIVE

         You tried to set new KLINIK parameters while the KLINIK  link
         was  active.   If you want to change the parameters, you must
         first disconnect the KLINIK  link  by  typing  DISCONNECT  or
         CLEAR KLINIK.


SPF      SET PARITY FAILED

         The PARSER cannot validate the parity stop parameters it  has
         just set.  This is a hardware error.  Call your field service
         representative.


SZI      START AT ZERO ILLEGAL

         You tried to start the KL at location zero;  this is illegal.


TAA      TASK ALREADY ACTIVE

         You issued a RUN or MCR command for a task that  was  already
         active.


TOR      TIME OUT OF RANGE

         You specified a time in which the hours were greater than  23
         or the minutes were greater than 59.


UNL      KL MICROCODE NOT LOADED

         The system tried to start the KL microcode and found that  it
         was  not  loaded  or was not functioning.  Use DISK, DECtape,
         FLOPPY, or the switch register to reload  the  microcode  and
         the system.


VFY      VERIFY FAILED

         The PARSER cannot verify the correct execution of  a  DEPOSIT
         command.  Call your Software Support Specialist.


WRM      COMMAND NOT AVAILABLE IN THIS CONSOLE MODE

         You entered a command that is not available  in  the  current
         console mode.  Use the SET CONSOLE command to change mode.
PARSER                                                       Page 4-31


XTO      KL EXECUTE TIMED OUT

         The KL failed to reenter the halt loop  within  the  allotted
         time while performing a fast internal execute function.


YOR      YEAR OUT OF RANGE

         You specified the year incorrectly.











                              CHAPTER 5

                                KLINIT



KLINIT is the KL  initialization  program.   You  can  run  KLINIT  in
default mode where it performs a fixed series of operations or you can
run it in dialog mode and specify selected operations.

When you load the system using  the  DISK,  DECTAPE,  or  FLOPPY  load
switch,  (Figures  5-1  and  5-2), KLINIT performs the following steps
automatically without operator intervention.

     1.  Loads  the  KL  processor  microcode  from  the   appropriate
         microcode  file  on  the  front-end  load  device.  (Users of
         TOPS-10 with a KL model A load from UA.MCB;  users of TOPS-10
         with  a  model  B  load from UB.MCB.  Users of TOPS-20 with a
         model A load from KLA.MCB, and TOPS-20 users with a  model  B
         load from KLX.MCB.)

     2.  Configures and enables cache memory according to  the  KLINIT
         configuration  file,  KL.CFG.  If this file is not present on
         the front-end load device, all cache is enabled.

     3.  Configures and interleaves KL memory according to the  KLINIT
         configuration  file,  KL.CFG.  If this file is not present on
         the front-end load device, all available memory is configured
         with the highest possible interleaving.

     4.  If the KL.CFG file does not exist, KLINIT creates a  file  by
         that  name  and  stores it on the front-end load device.  The
         file contains the cache and memory configuration in effect at
         the time.

     5.  Loads and starts the default KL bootstrap  program  from  the
         file  BOOT.EXB  located  on the disk, DECtape, or floppy disk
         device.  The bootstrap program  then  loads  and  starts  the
         default monitor.  The default monitor is found in:

              SYS:SYSTEM.EXE        for TOPS-10
              PS:<SYSTEM>MONITR.EXE for TOPS-20
KLINIT                                                        Page 5-2


If you do not want KLINIT to perform the above series  of  operations,
you must enter the dialog mode of KLINIT.  Then, you can do any one or
more of the following:


     o    Load and/or verify the KL microcode.

     o    Configure cache memory as you want it.

     o    Configure KL memory as you want it.

     o    Load and start any bootstrap program.

     o    Specify switches to the bootstrap program.

     o    Load and start any monitor from disk or magnetic tape.


                                      NOTE

              The default  bootstrap  program  BOOT.EXB  does  not
              understand  TOPS-20  subdirectories.  Thus, although
              you can load and start any monitor  from  disk,  you
              cannot   load   the  monitor  from  any  disk  area.
              Specifically,         you          can          load
              <EXTRA-SYSTEM>OUR-MONITOR.EXE,  but  you cannot load
              <EXTRA.SYSTEM>OUR-MONITOR.EXE.  
KLINIT                                                        Page 5-3













































                              Figure 5-1
      Load Switches and Switch Register for KL with Floppy Disks
KLINIT                                                        Page 5-4

















































                              Figure 5-2
        Load Switches and Switch Register for KL with DECtapes
KLINIT                                                        Page 5-5


                              Table 5-1
                   Switch Register Bit Definitions


  17  16  15  14         11  10       8   7  6         3   2   1   0


  Bit                              Meaning


  0            If  this  bit  is  set,  the   remaining   bits   are
               interpreted.   You  must  set this to load the system
               using the switch register.

  2,1          If both bits 1 and 2 are set, RSX-20F is  loaded  and
               the  KL  initialization  operator  dialog (KLINIT) is
               loaded and started.  This is what you usually want to
               do  if  you  are  loading  the system from the switch
               register.

               If bit 1 is set and bit 2 is  not  set,  the  RSX-20F
               monitor  is  loaded and started;  no communication is
               initiated between the KL  and  PDP-11  processors  at
               this time.

               If bit 1 is not set and bit  2  is  set,  RSX-20F  is
               loaded  and started.  However, the front end tries to
               communicate with the  KL  using  secondary  and  then
               primary  protocol.   If  the KL is not running, a TBT
               11-halt occurs.

               If both 1 and 2 are not set,  the  system  is  loaded
               much  like  it  is using the DISK, DECtape, or FLOPPY
               load  switch.   However,   since   other   bits   are
               interpreted,  you  can specify the unit number of the
               bootstrap device in bits 8-10.

  6-3          Currently not used, and must not be set.

  7            If this bit is set, the bootstrap device  is  a  disk
               pack on a dual-ported drive.

               If the bit is not set,  the  bootstrap  device  is  a
               DECtape   drive  or  floppy  disk  on  the  front-end
               processor.

  10-8         These three bits allow you to specify the unit number
               of  the  bootstrap  device  in  binary.   No bits set
               indicate unit 0;  bits 9 and 8 set indicate unit 3.

  14-11        These four bits allow you to specify to  RSX-20F  the
               DH-11  line  number to which you wish to redirect the
               CTY.

  15           This bit indicates the action taken when an I/O error
               occurs  during the bootstrapping.  If the bit is set,
               the operation is retried  indefinitely  if  an  error
               occurs.   If  it is not set (the normal case), a halt
               occurs after ten unsuccessful retries.

  17,16        Currently not used, and must not be set.


  A bit is set when  the  corresponding  switch  is  in  the  upward
  position.
KLINIT                                                        Page 5-6


5.1  KLINIT LOAD AND START

When you load and start the KL using  the  SW  REG  load  switch,  you
usually  enter the KLINIT dialog.  (Refer to Figures 5-1 and 5-2.) Set
the switch register bits 0, 1, and 2 on (in the up  position).   Refer
to  Table  5-1 to determine if bits 7 through 10 should be set.  Press
the load switches SW REG and ENABLE simultaneously.  RSX-20F loads and
starts and, in turn, loads and starts KLINIT.  KLINIT then prompts you
with the first question:

     KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?

You may also enter the KLINIT dialog from the PARSER.   Assuming  that
RSX-20F is running, type the following:

     CTRL/\ (does not echo)   ;to enter the PARSER
     PAR>MCR KLINIT           ;to load KLINIT
     KLI -- ENTER DIALOG [NO, YES, EXIT, BOOT]?


During the dialog, the following conventions hold:

     o    A carriage return terminates the answer to a question.  

     o    A RUBOUT or DELETE deletes a character.

     o    A carriage return by itself in answer to a question  selects
          the  default  answer to the question.  The default answer is
          the first answer listed.

     o    CTRL/Z terminates the  operator  dialog  and  exits  to  the
          PARSER  without  rewriting  the  KL.CFG file.  If the KLINIT
          dialog is terminated in this manner, the KL hardware may not
          be fully or completely initialized.

     o    CTRL/U deletes the current input line.

     o    An answer of NO to the ENTER DIALOG question skips the  rest
          of the dialog and assumes all the default answers.

     o    An answer of  BACK  to  any  question  returns  you  to  the
          previous question unless stated otherwise.

     o    An answer of RESTART to the EXIT question returns you to the
          first question in the dialog.

     o    An ESCape typed at any point in a reply before the  carriage
          return  restarts the dialog.  Note that ESCape does not echo
          on your terminal.

     o    An unacceptable answer  results  in  an  error  message  and
          causes the question to be repeated.

     o    The minimum size of an abbreviation  for  any  answer  other
          than filename is the first two characters.



5.2  KLINIT OPERATOR DIALOG

The following KLINIT dialog includes all the  possible  questions  and
all  the acceptable answers.  The questions are presented in the order
in which KLINIT asks them, unless it is specifically stated  otherwise
in  the description of the particular question.  In practice, however,
KLINIT                                                        Page 5-7


only a subset of the dialog is encountered on  any  one  system.   The
KLINIT  program  automatically  bypasses  any  questions  that are not
applicable to the system configuration.   In  addition,  a  particular
response  to  one  question  can result in the bypassing of subsequent
questions.  This behavior is documented wherever it occurs.

There are two commands that are not used in response to any particular
question,  but  can be used at almost any time.  One of these is BACK,
which causes the dialog to return  to  the  previous  question.   This
command  can  be  used at any time except on the first question of the
dialog, when of course there  is  no  previous  question.   The  other
command  has two forms that are used to toggle on and off the tracking
capability.  These forms are T+ and T-, respectively.  If you wish  to
see  a  report  on each operation of the initialization procedure, you
can give the T+ command and the complete listing will  be  printed  on
the  CTY.  You should be aware that turning on the tracking capability
will cause a great deal of information to be dumped to the CTY,  using
a lot of time and paper.

Each of the following questions is  followed  by  the  KLINIT  prompt,
KLI>.  

KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?

An answer of YES or NO to the question above causes KLINIT to print  a
hardware  environment  report containing the KL serial number, machine
type, power line frequency, and the system's hardware  options.   (See
Section 5.3.1, Informational Messages.)

NO        assumes the default answers for all the remaining questions.
          This  is  the  last chance to bypass the dialog and take the
          default path.

YES       continues the dialog and asks the next question.

EXIT      discontinues the dialog and returns to the RSX-20F monitor.

BOOT      skips the rest  of  the  dialog,  enables  cache  memory  as
          directed  by  KL.CFG,  and  immediately loads and starts the
          standard  KL  bootstrap  program  found  in  BOOT.EXB.    No
          defaults are taken when this option is selected.

KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?

YES       loads the KL microcode from the bootstrap device into the KL
          processor.   Should  you  wish  to load the microcode from a
          file that does not have  the  default  file  name,  you  can
          respond  with  YES  and,  before typing the carriage return,
          include the actual file name.

VERIFY    verifies that the microcode in the KL processor matches  the
          microcode  on  the  bootstrap  device.   An  error report is
          printed for each location found in error and an error  count
          is  incremented.   (See  Section  5.4.3  for  the format and
          contents of this error report.)  Whenever  the  error  count
          exceeds  five,  verification is discontinued and the message
          VERIFY FAILED is issued.  If verification continues  through
          all  the microcode and the final error count is greater than
          zero, the VERIFY FAILED message is issued.  In  both  cases,
          KLINIT returns to the beginning of the dialog.  You can then
          reload the microcode and try again.
KLINIT                                                        Page 5-8


FIX       verifies  the  microcode  as  in  the  VERIFY  option.    In
          addition,  whenever an error is detected, KLINIK attempts to
          reload  that  location.   If   the   reload   operation   is
          successful,  the  error count is decremented.  If the reload
          fails, the MICROCODE  FIX  FAILED  message  is  issued.   In
          either  case  verification continues with the next location.
          Whenever the  error  count  exceeds  five,  verification  is
          discontinued  and  the  VERIFY FAILED message is issued.  If
          verification continues through all  the  microcode  and  the
          final  error  count  is greater than zero, the VERIFY FAILED
          message is issued.  In both cases,  KLINIT  returns  to  the
          beginning  of the dialog.  You can then reload the microcode
          and try again.

NO        neither loads nor verifies the microcode.

KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?

FILE      configures cache memory as specified  in  the  configuration
          file, KL.CFG.  If this file does not exist, all cache memory
          is enabled.  The dialog  continues  with  the  CONFIGURE  KL
          MEMORY question.

ALL       enables all cache memory.  The  dialog  continues  with  the
          CONFIGURE KL MEMORY question.

YES       configures cache memory under dialog control.

NO        does   not   reconfigure   cache   memory;    the   existing
          configuration  is left unchanged.  The dialog continues with
          the CONFIGURE KL MEMORY question.

KLI -- ENABLE WHICH CACHES [ALL,NONE,0-3]

ALL       enables all cache memory.

NONE      disables all cache memory.

0-3       enables only the caches specified.  For example,  to  enable
          caches 0, 1, and 3 reply with:

               KLI>0,1,3<cr>

KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?


                                NOTE 1

               A reply of BACK to this question returns
               you to the RECONFIGURE CACHE question.




                                NOTE 2

               The FORCE option appears only in systems
               that  have  MOS memory.  In systems that
               do not have MOS memory the FORCE  option
               does  not  appear  in  the  CONFIGURE KL
               MEMORY question.
KLINIT                                                        Page 5-9


FILE      configures KL memory as specified in the configuration file,
          KL.CFG.   If  this  file  does  not  exist,  ALL is assumed.
          KLINIT then prints the logical memory  map  and  the  dialog
          continues with the LOAD KL BOOTSTRAP question.

          If the configuration in the KL.CFG file  is  not  consistent
          with the actual configuration an error message is issued and
          the dialog restarts from the beginning.

ALL       configures KL memory in the normal (forward) direction  with
          as  much memory as possible.  KLINIT then prints the logical
          memory map  and  the  dialog  continues  with  the  LOAD  KL
          BOOTSTRAP question.

REVERSE   configures memory under dialog control;  however, the memory
          configuration  is  reversed.   Before  the  next question is
          asked, KLINIT examines memory and prints a  physical  memory
          map.    This  feature  has  been  included  for  maintenance
          purposes.

FORCE     appears ONLY in systems  in  which  KLINIT  can  detect  the
          presence of a KW-20 MOS Master Oscillator.  The FORCE memory
          configuration option allows the  operator  to  force  KLINIT
          into  a  Double-Bit-Error (DBE) scan of the MF-20 MOS memory
          controllers.  This enables  KLINIT  to  attempt  to  recover
          "lost"   MF-20  blocks.   The  scan  requires  approximately
          twenty-five seconds for each 256K of memory to be scanned.

YES       configures  memory  under  dialog  control,  in  the  normal
          (forward)  direction.   Before  the  next question is asked,
          KLINIT examines memory and prints out a physical memory map.

NO        does not configure  memory  at  all.   The  previous  memory
          configuration  remains,  and  the  dialog continues with the
          LOAD KL BOOTSTRAP question.


                                      NOTE

              The forward/reverse configuration indicator is saved
              in  the  KL.CFG  file  to  allow  restoration of the
              reverse configuration over reloads.  If  the  KL.CFG
              file does not exist, the default is normal (forward)
              configuration.



KLI -- CONFIGURE INTERNAL CORE MEMORY [ALL,YES,NO]?

ALL       configures all internal core memory.  The  dialog  continues
          with   the  INTERNAL  CORE  MEMORY  INTERLEAVE  UPPER  LIMIT
          question.

YES       configures internal core memory under dialog control.

NO        deletes all internal core memory.  The dialog continues with
          questions on other types of memory, if any.  See Figure 5-3.
KLINIT                                                       Page 5-10


KLI -- MODULES/BLOCKS WITHIN CONTROLLER n [ALL,NONE,SPECIFY]?


                                 NOTE

               This  question  is  repeated  for   each
               controller.    In  each  iteration,  the
               number  n  is  the  current   controller
               number.


ALL       configures all the memory modules for controller n.

NONE      deletes all the memory modules for controller n.

SPECIFY   configures the modules  specified.   DO  NOT  TYPE  SPECIFY!
          Valid  module  numbers  are  0 through 3 and the entries are
          separated by commas.  For example, to  configure  modules  0
          and 1, type the following:

               KLI>0,1<CR>

KLI -- INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?

4         allows up to 4-way interleaving.

2         allows up to 2-way interleaving.

1         allows no interleaving

The dialog continues with questions on other types of memory, if  any.
(See  Figure 5-3.)  If  none, KLINIT prints the logical memory map and
the dialog continues with the LOAD KL BOOTSTRAP question.

KLI -- CONFIGURE EXTERNAL CORE MEMORY [YES,NO]?

YES       allows you to set the bus-mode for external memory.

NO        deletes all external core memory.  The dialog continues with
          questions  on  other  types  of memory, if any.  (See Figure
          5-3.)

KLI -- EXTERNAL CORE MEMORY BUS-MODE [OPTIMAL,1,2,4]?

OPTIMAL   sets the bus-mode for optimal performance.

1         sets the bus-mode to 1.

2         sets the bus-mode to 2.

4         sets the bus-mode to 4.

The dialog continues with questions on other types of memory, if  any.
(See  Figure 5-3.)  If  none, KLINIT prints the logical memory map and
the dialog continues with the LOAD KL BOOTSTRAP question.

KLI -- CONFIGURE MOS MEMORY [ALL,YES,NO]?

ALL       configures all MOS memory.  The dialog  continues  with  the
          printing of the logical memory map and the LOAD KL BOOTSTRAP
          question.

YES       configures MOS memory under dialog control.
KLINIT                                                       Page 5-11


NO        deletes all MOS  memory.   The  dialog  continues  with  the
          printing of the logical memory map and the LOAD KL BOOTSTRAP
          question.

KLI -- MODULES/BLOCKS WITHIN CONTROLLER n [ALL,NONE,SPECIFY]?


                                 NOTE

               This question is repeated as many  times
               as   there  are  controllers.   In  each
               iteration,  the   n   is   the   current
               controller number.


ALL       configures all memory blocks for controller n.

NONE      deletes all memory blocks for controller n.

SPECIFY   configures the blocks specified.  DO NOT TYPE SPECIFY!  Type
          a  list  of  block numbers (0 through 13 octal) separated by
          commas.  For example, to configure blocks 0, 1, 2, 7, 10 and
          11 reply with:

               KLI>0,1,2,7,10,11<CR>

KLI -- LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?

FILE      notifies KLINIT to  load  the  bootstrap  specified  in  the
          KL.CFG  file.  If no KL.CFG file exists, KLINIT will use the
          default bootstrap.

YES       notifies KLINIT to load the default bootstrap.

NO        notifies KLINIT not to load a bootstrap.

FILENAME  notifies KLINIT to load the specified file as the bootstrap.

KLI -- WRITE CONFIGURATION FILE [YES,NO]?

YES       notifies KLINIT to write a new KL.CFG  file  containing  the
          current configuration and load parameters.

NO        notifies KLINIT not to change the existing KL.CFG file.

At this point if a bootstrap was requested, the bootstrap  program  is
loaded  into  the  KL  and  started.   If  the  answer  to the LOAD KL
BOOTSTRAP question was NO, the following question is asked:

KLI -- EXIT [YES,RESTART]?

YES       exits KLINIT after optionally writing a new KL.CFG file (see
          previous question).

RESTART   restarts the dialog with the ENTER DIALOG question.
KLINIT                                                       Page 5-12

































































                  Figure 5-3 KLINIT Operator Dialog
KLINIT                                                       Page 5-13

































































              Figure 5-3 KLINIT Operator Dialog (Cont.)
KLINIT                                                       Page 5-14

































































              Figure 5-3 KLINIT Operator Dialog (Cont.)
KLINIT                                                       Page 5-15

































































              Figure 5-3 KLINIT Operator Dialog (Cont.)
KLINIT                                                       Page 5-16


5.3  KLINIT MESSAGES

KLINIT issues  four  classes  of  messages:   informational,  warning,
dialog error, and system error messages.  These messages are listed in
the following sections according to class.  



5.3.1  Informational Messages

KLINIT prints a hardware environment message for  each  invocation  of
the  program.   If  KLINIT  is  activated  using  the  ENABLE and DISK
switches, the environment  report  appears  immediately  after  KLINIT
prints  its  heading and version number.  If KLINIT is activated using
the ENABLE and SW/REGISTER switches and if the question KLI  --  ENTER
DIALOG  [NO,YES,EXIT,BOOT]?   is answered with YES or NO, the hardware
environment report follows immediately.  If this question is  answered
with EXIT or BOOT, the hardware environment does not appear.

The hardware environment report contains the following information:

     o    The KL processor serial number

     o    The KL processor model type

     o    The power line frequency

     o    The hardware options available on the system

The serial number is the serial number of the KL processor.  The model
type  can be either A or B.  The power line frequency can be either 50
or 60 Hz.  The hardware options can include the following:

     o    MOS Master Oscillator

     o    Extended Addressing

     o    Internal Channels

     o    Cache

Example

     KLI -- VERSION VB12-10 RUNNING
     KLI -- KL10 S/N:  2136., MODEL B, 60 HERTZ
     KLI -- KL10 HARDWARE ENVIRONMENT
             MOS MASTER OSCILLATOR
             EXTENDED ADDRESSING
             INTERNAL CHANNELS
             CACHE



                                 NOTE

               The hardware environment report  is  not
               displayed  during  automatic  reloads or
               during Keep-Alive-Cease processing.


KLINIT also prints  informational  messages  to  indicate  the  normal
completion  of  a  KLINIT  function.   The message text is preceded by
"KLI --".
KLINIT                                                       Page 5-17


The informational messages include:

KLI -- ALL CACHES ENABLED

       All four of the KL processor caches have been enabled.

KLI -- BOOTSTRAP LOADED AND STARTED

       A KL bootstrap program has  been  loaded  into  KL  memory  and
       started.   Any  messages  that follow will be a function of the
       particular bootstrap program being used.

KLI -- CACHES DISABLED

       All cache memory has been disabled.

KLI -- CACHES n,n... ENABLED

       The specified caches have been enabled.

KLI -- CONFIGURATION FILE WRITTEN

       The KL.CFG file has been updated with a new cache and/or memory
       configuration.   This  message  is issued whenever you set up a
       nondefault  configuration  or  if  the  KL.CFG  file  did   not
       previously exist.

KLI -- KL RESTARTED

       The KL processor has been restarted following a  power  failure
       or a hardware or software crash.

KLI -- MICROCODE VERSION xxx LOADED

       The KL microcode, version xxx, has  been  loaded  into  the  KL
       system  from  the  appropriate  microcode file on the front-end
       bootstrap device.

KLI -- MICROCODE VERSION xxx VERIFIED

       The KL microcode, version xxx, currently residing in the system
       has  been  compared  correctly with the code in the appropriate
       microcode file on the front-end bootstrap device.



5.3.2  Warning Messages

Warning messages inform the operator of some unusual condition.  After
the  message  is printed, the KLINIT dialog continues.  These messages
are preceded by "KLI -- % ".

The warning messages include:


KLI -- % EXTERNAL CORE MEMORY IS OFFLINE

       KLINIT found  that  a  DMA20  external  memory  controller  was
       offline.  

       SYSTEM ACTION:

       KLINIT attempts to configure the system without the  controller
       in question.
KLINIT                                                       Page 5-18


KLI -- % EXTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE

       The external memory resources found by KLINIT do not match  the
       KL.CFG  file.   The  KL.CFG  file  contains more resources than
       KLINIT can find on the current system.  This  usually  means  a
       controller has dropped off-line.

       SYSTEM ACTION:

       KLINIT attempts to configure the memory it can find in the  way
       closest to that specified in the KL.CFG file.


KLI -- % INTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE

       The internal memory resources found by KLINIT do not match  the
       KL.CFG  file.   The  KL.CFG  file  contains more resources than
       KLINIT can find on the current system.  This  usually  means  a
       controller has dropped off-line.

       SYSTEM ACTION:

       KLINIT attempts to configure the memory it can find in the  way
       closest to that specified in the KL.CFG file.


KLI -- % MOS MEMORY IS ALREADY CONFIGURED

       KLINIT found that the MOS memory was  already  configured.   It
       will  not attempt to reconfigure MOS memory unless specifically
       told to do so.

       SYSTEM ACTION:

       KLINIT will proceed with the initialization.


KLI -- % MOS MEMORY RESOURCES DO NOT MATCH FILE

       The MOS memory resources found  by  KLINIT  do  not  match  the
       KL.CFG  file.   The  KL.CFG  file  contains more resources than
       KLINIT can find on the current system.  This  usually  means  a
       controller  has  dropped  off-line or some MOS blocks have been
       deallocated by TGHA.

       SYSTEM ACTION:

       KLINIT attempts to configure the memory it can find in the  way
       closest to that specified in the KL.CFG file.


KLI -- % NO FILE - ALL CACHE BEING CONFIGURED

       The default to the RECONFIGURE CACHE  question  was  taken  and
       KLINIT could not find the KL.CFG file in the directory.

       SYSTEM ACTION:

       KLINIT enables all caches.
KLINIT                                                       Page 5-19


KLI -- % NO FILE - ALL MEMORY BEING CONFIGURED

       The default to the CONFIGURE KL MEMORY question was  taken  and
       KLINIT could not find the KL.CFG file in the directory.

       SYSTEM ACTION:

       KLINIT  configures  all   available   memory   and   sets   the
       interleaving  at  the highest level consistent with the setting
       of the interleave switches on the memory units.


KLI -- % NO FILE - LOADING BOOTSTRAP

       KLINIT could not find the KL.CFG file or  could  not  find  the
       bootstrap record in the KL.CFG file.  

       SYSTEM ACTION:

       KLINIT loads the default bootstrap.


KLI -- % PHYSICAL MEMORY  CONFIGURATION  ALTERED  -  DUMP  OR  RESTART
       SUPPRESSED 

       During an automatic reload,  KLINIT  found  that  the  physical
       configuration  of  the  system does not match the configuration
       described in the KL.CFG file.

       SYSTEM ACTION:

       KLINIT suppresses the dump or restart, and proceeds  to  reload
       the KL monitor.



5.3.3  Dialog Error Messages

Dialog error messages indicate that your answer to the current  KLINIT
question is unacceptable.  The message text is preceded by "KLI -- ".

The system action for dialog error messages is to repeat the  question
and the prompt.

Currently, the only dialog error message is:


KLI -- COMMAND SYNTAX ERROR

       Your reply is not one of the acceptable answers as specified in
       the question.

       OPERATOR ACTION:

       Reply with one of the acceptable answers, correctly spelled, or
       use carriage return to take the default answer.
KLINIT                                                       Page 5-20


5.3.4  System Error Messages

System error messages  indicate  conditions  in  which  KLINIT  cannot
continue.    These  conditions  can  be  brought  about  by  software,
hardware, or  environmental  failures.   Sometimes  a  retry  will  be
successful;   other times you may require the assistance of your Field
Service Representative of Software Support Specialist.  For any system
error,  it  is  very important to save all console log data and memory
dump listings;  this material is of prime importance  when  attempting
to  determine  the  cause  of  the  error.   System error messages are
preceded by "KLI -- ? ".

Unless noted  otherwise,  the  system  action  for  all  system  error
messages  is  to  restart  the  KLINIT  dialog  and repeat the prompt.
Whenever a file is specified in a  message  text,  the  file  will  be
identified in the following format.

     "dev:filename.ext;ver"

The system messages include:

KLI -- ? BOOTSTRAP LOAD FAILED

       A software or hardware error occurred while  the  KL  bootstrap
       program  was  being  loaded.   (See  accompanying  messages for
       additional information.)

       OPERATOR ACTION:

       Reload the bootstrap program by replying:

            KLI>BOOT

       If   the   trouble   persists,   call   your   Field    Service
       Representative.

KLI -- ? C-RAM DIFFERS AT xxxxxx
KLI -- BAD  xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xx
KLI -- GOOD xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xx
KLI -- XOR  xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xx

       During the microcode verify operation, the  contents  of  octal
       location  xxxxxx  in  the  KL  Control  RAM  did  not match the
       corresponding code in  the  appropriate  microcode  file.   The
       actual  contents  of  the location are printed, followed by the
       expected contents, and  the  last  line  is  the  result  of  a
       bit-by-bit  exclusive  or  (XOR)  of  the  actual  and expected
       values.

       OPERATOR ACTION:

       Reload the KL microcode and reverify it by means of the  KLINIT
       dialog.   If  the  trouble  persists,  call  your Field Service
       Representative.

KLI -- ? CACHE ENABLE FAILED

       Most likely a hardware error  has  occurred  while  KLINIT  was
       trying  to  configure  the  cache  memory.   (See  accompanying
       messages for additional information.)
KLINIT                                                       Page 5-21


       OPERATOR ACTION:

       Retry the operation;  if the trouble persists, call your  Field
       Service  Representative.   You can also temporarily reconfigure
       with no cache memory.

KLI -- ? CANNOT FIND [5,5] DIRECTORY

       KLINIT cannot locate  the  PDP-11  system  file  directory;   a
       software error may have overlaid it.

       OPERATOR ACTION:

       Reload the system;  if the trouble persists, call your Software
       Support Specialist.

KLI -- ? CANNOT FIND HALT LOOP

       KLINIT tried to start the  microcode,  but  it  failed  to  run
       properly.

       OPERATOR ACTION:

       Reload the microcode;  if the trouble persists, call your Field
       Service Representative.

KLI -- ? CANNOT GET DEVICES

       KLINIT cannot open a system device for communications.  This is
       probably a software error in RSX-20F.

       OPERATOR ACTION:

       Reload the system;  if the trouble persists, call your Software
       Support Specialist.

KLI -- ? CANNOT RUN KLINIT WHILE KL IS IN PRIMARY PROTOCOL

       An attempt was made to run the  KLINIT  program  while  the  KL
       processor was running.  This condition can arise only if KLINIT
       is loaded by means of the PARSER command language instruction:

            PAR>RUN KLINIT

       OPERATOR ACTION:

       If the intent was  to  rerun  KLINIT,  follow  the  appropriate
       procedures  to  shut  down TOPS-10 or TOPS-20;  then reload the
       system and enter the KLINIT program.   If  TOPS-10  or  TOPS-20
       does not shut down properly, set the console mode to PROGRAMMER
       and reload KLINIT.

KLI -- ? CANNOT START KL

       A hardware or software failure has  occurred  while  trying  to
       restart  from  a  power  failure  or system crash during memory
       determination.   (See  accompanying  messages  for   additional
       information.)

       OPERATOR ACTION:

       Reload the microcode and retry the operation.  If  the  trouble
       persists, call your Field Service Representative.
KLINIT                                                       Page 5-22


KLI -- ? CAN'T DETERMINE KL10 HARDWARE ENVIRONMENT

       This message  will  be  immediately  followed  by  one  of  the
       following  messages.   If  the  error  occurred  in  the KLINIT
       dialog, you will get

       KLI -- % PROCEED AT YOUR OWN RISK

       while if the error occurred during  an  automatic  reload,  you
       will get

       KLI -- % AUTOMATIC RELOAD ABORTED

       OPERATOR ACTION:

       Contact your Field Service Representative.


KLI -- ? CAN'T SUPPORT MOS MEMORY ON A MODEL "A" CPU

       KLINIT has conflicting information on the hardware available to
       it.

       OPERATOR ACTION:

       Contact your Field Service Representative.


KLI -- ? CLOCK ERROR STOP DURING KL RESTART

       The KL processor clock has stopped while KLINIT was  monitoring
       a restart operation.  (See accompanying messages for additional
       information.)

       OPERATOR ACTION:

       Retry loading the KL bootstrap and  monitor.   If  the  trouble
       persists, call your Software Support Specialist.


KLI -- ? CONFIGURATION FILE NOT CHANGED

       The KL.CFG configuration file cannot be updated because the old
       file  cannot  be  read, the new file cannot be written, or some
       other error  has  occurred.   (See  accompanying  messages  for
       additional information.)

       OPERATOR ACTION:

       Delete the old configuration file and retry the operation.   If
       the trouble persists, call your Software Support Specialist.

KLI -- ? D-RAM DIFFERS AT xxxxxx
KLI -- BAD  A:x B:x P:x J:xxxx A:x B:x P:x J:xxxx
KLI -- GOOD A:x B:x P:x J:xxxx A:x B:x P:x J:xxxx
KLI -- XOR  A:x B:x P:x J:xxxx A:x B:x P:x J:xxxx

       During the microcode verify operation, the  contents  of  octal
       location  xxxxxx  in  the  KL  Dispatch  RAM  did not match the
       corresponding code in  the  appropriate  microcode  file.   The
       actual contents of the locations are printed, the even location
       first, and the odd location next.  This line is followed by the
       expected  contents  of the two locations.  The last line is the
       result of a bit-by-bit exclusive or (XOR)  of  the  actual  and
       expected values.
KLINIT                                                       Page 5-23


       OPERATOR ACTION:

       Reload the KL microcode and reverify it by means of the  KLINIT
       dialog.   If  the  trouble  persists,  call  your Field Service
       Representative.

KLI -- ? DEPOSIT FAILED

       KLINIT could not store information into KL memory.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.

KLI -- ? DEVICE "device" FULL

       KLINIT cannot find room on the specified front-end load  device
       for an updated copy of the configuration file KL.CFG.

       OPERATOR ACTION:

       Exit from KLINIT and use a front-end system program such as PIP
       to delete some files and make room for the updated KL.CFG file.
       (Make sure that you  do  not  delete  any  files  that  contain
       RSX-20F  software.  You may wish to consult a system programmer
       or the system administrator to determine  which  files  can  be
       deleted.) Then reenter KLINIT and retry the operation.

KLI -- ? DF EXECUTE FAILED

       A  diagnostic  function  execute  failed   while   KLINIT   was
       initializing the KL processor.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.

KLI -- ? DF READ FAILED

       A diagnostic function read failed while KLINIT was initializing
       the KL processor.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.

KLI -- ? DF WRITE FAILED

       A  diagnostic  function   write   failed   while   KLINIT   was
       initializing the KL processor.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.

KLI -- ? DIRECTIVE ERROR -n ON FILE "filename"

       A system error occurred while KLINIT was trying to  access  the
       file  "filename."  The  "n"  is  an octal error code for use by
       software support.
KLINIT                                                       Page 5-24


       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Software Support Specialist.

KLI -- ? EXAMINE FAILED

       KLINIT could not examine contents of KL memory.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.


KLI -- ? FATAL MEMORY CONFIGURATION ERROR - CODE "xxx"

       KLINIT has encountered an  error  in  attempting  to  configure
       memory.  The type of error encountered is specified by the code
       xxx.  Most of these errors are hardware  problems  or  software
       bugs.   The  possible  codes  are  listed below, along with the
       corrective action that can be tried, if any exists.

       Code    Corrective Action

       3BB   No corrective action is possible.  This  error  code  was
             inserted as a debugging aid, and is not expected to occur
             in normal operation.  A CPU fault could  be  responsible.
             Run diagnostics on the CPU and call Field Service.

       ABS   No corrective action is possible.  The CPU  has  made  an
             error.  Run diagnostics on it and call Field Service.

       APL   Make sure the microcode is  loaded  and  retry.   If  the
             problem  recurs,  the  CPU  has most likely failed.  Call
             Field Service.

       B4M   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       BCM   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       BTL   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       CES   No  corrective  action  is  possible.   This  is   almost
             certainly a hardware fault.  Contact Field Service.
KLINIT                                                       Page 5-25


       Code    Corrective Action

       CFT   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       CTF   Set all MF20 controllers to software state 0  and  retry.
             If  the  problem  persists,  call  Field  Service.   This
             condition could not be  created  by  MF20  software.   It
             could  happen as a result of user setting of the function
             1 software state bits.

       DCB   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       EDE   Make sure the microcode is  loaded  and  retry.   If  the
             failure recurs, call Field Service.

       FOE   No corrective action is  possible.   Contact  a  Software
             Support Specialist.

       GOO   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       HOV   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       IEE   Make sure the microcode is  loaded  and  retry.   If  the
             failure recurs, call Field Service.

       LDE   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       MAB   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       MFE   No  corrective  action  is  possible.   This  halt  often
             indicates  a memory controller failure, especially if the
             hardware environment has not changed and  you  have  been
             able  to  boot  memory  in  the  past.  You may also have
             uncovered a software bug.  If Field Service  cannot  find
             the problem, contact a Software Support Specialist.

       MMR   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       MNA   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       NBS   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.
KLINIT                                                       Page 5-26


       Code    Corrective Action

       NHA   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       NMS   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       ODL   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       OO2   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       PDH   Make sure the microcode is  loaded  and  retry.   If  the
             failure recurs, call Field Service.

       SB4   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       SIH   No corrective action is possible.  This is most likely to
             be a hardware failure.  Contact Field Service.

       SNR   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       SS0   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       TMD   No  corrective  action  is  possible.   This  is  a  pure
             software bug.  Contact a Software Support Specialist.

       UMB   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.

       XOO   No  corrective  action  is  possible.   If  the  hardware
             environment  has  not  changed, and you have been able to
             boot memory successfully in  the  past,  the  problem  is
             likely to be in the hardware.  If, on the other hand, you
             have an odd hardware configuration,  you  may  have  come
             across  a  software  bug.   If Field Service is unable to
             find the problem, contact a Software Support Specialist.


KLI -- ? FILE "filename" NOT FOUND

       KLINIT cannot find BOOT.EXB, the appropriate microcode file, or
       the  alternate  KL  bootstrap file in the PDP-11 file directory
       [5,5] on SY0:.

       OPERATOR ACTION:

       Ensure that the file being requested resides on  the  front-end
       load device and retry the operation.
KLINIT                                                       Page 5-27


KLI -- ? I/O ERROR -n ON FILE "filename"

       An I/O error occurred while KLINIT was  trying  to  access  the
       file  "filename." The "n" is an RSX-11 octal error code for use
       by software support.  See Appendix A for a list of these  error
       codes and their meanings.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Software Support Specialist.


KLI -- ? ILLEGAL BUS-MODE

       You  specified  a  bus-mode  under  which  the  current   DMA20
       configuration cannot operate.

       OPERATOR ACTION:

       Retry the operation without the illegal bus-mode  setting.   If
       you  still  have  problems,  or if you believe that you did not
       specify an illegal  bus-mode,  contact  your  Software  Support
       specialist.


KLI -- ? ILLEGAL MF20 TIMING FILE FORMAT

       KLINIT found the MF20 timing  file,  but  it  was  not  in  the
       correct format.

       OPERATOR ACTION:

       Obtain a new copy of the timing file and retry  the  operation.
       The current MF20 timing file name is "BF16N1.A11".


KLI -- ? INPUT RECORD LENGTH ERROR

       An error occurred while KLINIT was trying to read  KL.CFG,  the
       appropriate  microcode  file,  or  the KL bootstrap file.  This
       error could be caused by software or hardware failure.

       OPERATOR ACTION:

       If possible, try other copies of the  files.   If  the  trouble
       persists,  call  your Software Support Specialist.  If the file
       in question is KL.CFG, you can get around the error by renaming
       or deleting the file.  KLINIT will then write a new KL.CFG file
       by default.

KLI -- ? INSUFFICIENT MEMORY FOR BOOTSTRAP

       KLINIT was unable to find enough memory in the  area  where  it
       wished  to  load  the bootstrap program.  (See any accompanying
       messages for additional information.) Memory selection switches
       on the memory units may be set in error.

       OPERATOR ACTION:

       Check memory selection switches on the memory units  and  retry
       the  operation.   If  trouble persists, call your Field Service
       Representative.
KLINIT                                                       Page 5-28


KLI -- ? KL HALT DURING RESTART

       The KL processor stopped on a HALT instruction while KLINIT was
       monitoring  a  restart operation.  (This message occurs only on
       TOPS-10 systems.)

       OPERATOR ACTION:

       Reboot and load the KL monitor;  if the trouble persists,  call
       your Software Support Specialist.

KLI -- ? MASTER RESET FAILED

       A MASTER RESET function to the KL failed.  This is  a  hardware
       error.

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.

KLI -- ? MEMORY CONFIGURATION FAILED

       A  hardware  or  software  error  occurred  while  KLINIT   was
       configuring  memory.  (See accompanying messages for additional
       information.)

       OPERATOR ACTION:

       Reload the system and retry  the  operation.   If  the  trouble
       persists, call your Field Service Representative.


KLI -- ? MF20 TIMING FILE CHECKSUM ERROR

       KLINIT got a checksum error while  accessing  the  MF20  timing
       file during memory configuration.  

       OPERATOR ACTION:

       Retry the operation.  If this still fails, obtain a new copy of
       the  timing  file  from the distribution media and retry again.
       The current MF20 timing file name is "BF16N1.A11".


KLI -- ? MF20 TIMING FILE READ ERROR

       KLINIT got a read error while accessing the MF20 timing file.

       OPERATOR ACTION:

       Retry the operation.  If you still get the read error, obtain a
       new copy of the timing file and retry.  The current MF20 timing
       file name is "BF16N1.A11".  If this does not solve the problem,
       contact your Software Support specialist.


KLI -- ? MICROCODE FIX FAILED

       KLINIT found more than five  hard  (irreparable)  errors  while
       trying to fix the microcode.
KLINIT                                                       Page 5-29


       OPERATOR ACTION:

       Retry loading the microcode;  if  the  trouble  persists,  call
       your Field Service Representative.  

KLI -- ? MICROCODE LOAD FAILED

       A hardware or software error occurred while KLINIT was  loading
       the  KL  microcode.   (See accompanying messages for additional
       information.)

       OPERATOR ACTION:

       Retry loading the microcode;  if  the  trouble  persists,  call
       your Field Service Representative.

KLI -- ? MICROCODE VERIFY FAILED

       The verification of the KL microcode discovered errors that are
       itemized in preceding error messages.

       OPERATOR ACTION:

       Reload the microcode and verify it.  If the  trouble  persists,
       call your Field Service Representative.

KLI -- ? NO MEMORY AT LOCATION ZERO

       When KLINIT was configuring memory  it  could  not  locate  any
       memory unit with address switches set at zero.

       OPERATOR ACTION:

       Check the memory units and ensure that one of the units has its
       address switches set at zero;  then retry loading.


KLI -- ? NO MF20 TIMING FILE

       KLINIT did not find an MF20 timing file.

       OPERATOR ACTION:

       Obtain a timing file from  the  release  media  and  retry  the
       operation.  The current MF20 timing file name is "BF16N1.A11".


KLI -- ? NONEXISTENT CONTROLLER

       KLINIT attempted to configure a controller and  found  that  it
       was not there.

       OPERATOR ACTION:

       Retry the operation;  if the problem persists, call your  Field
       Service Representative.

KLI -- ? NONEXISTENT MODULE/BLOCK

       KLINIT attempted to configure a module or block that  does  not
       exist in the controller.
KLINIT                                                       Page 5-30


       OPERATOR ACTION:

       Retry the operation;  if the problem persists, call your  Field
       Service Representative.

KLI -- ? OUTPUT RECORD LENGTH ERROR

       An error occurred while KLINIT was trying to write  an  updated
       configuration file, KL.CFG.

       OPERATOR ACTION:

       Retry the operation and if  the  problem  persists,  call  your
       Software Support Specialist.

KLI -- ? POWER-FAIL RESTART FAILED

       KLINIT could not restart the KL processor during  a  power-fail
       recovery.     (See    accompanying   message   for   additional
       information.)

       OPERATOR ACTION:

       Reload the system using one of the load switch procedures.   If
       the  system  still  will  not  come up, call your field service
       Representative.

KLI -- ? READ ERROR

       A  hardware  or  software  error  occurred  while  KLINIT   was
       accessing  KL.CFG,  the  appropriate  microcode file, or the KL
       bootstrap file.  (See any accompanying messages for  additional
       information.)

       OPERATOR ACTION:

       Retry the  operation;   if  the  trouble  persists,  call  your
       Software  Support  Specialist.   If  the  file  in  question is
       KL.CFG, you can get around the read operation  by  renaming  or
       deleting  the  file.   KLINIT  will  write a new KL.CFG file by
       default.  


KLI -- ? READ PC FAILED

       KLINIT could not read the KL's PC during memory configuration.

       OPERATOR ACTION:

       Try the operation again.   If  it  still  fails,  contact  your
       Software Support specialist.


KLI -- ? SYSTEM ERROR DURING KL RESTART

       A KLINIT software error occurred during a KL restart operation.
       (This message occurs on TOPS-10 systems only.)

       OPERATOR ACTION:

       Reload the system using one of the load switch procedures.   If
       you  still  have  problems  bringing  up  the system, call your
       Software Support Specialist.
KLINIT                                                       Page 5-31


KLI -- ? TIMEOUT DURING KL RESTART

       While  KLINIT  was  monitoring  a  KL  restart,  the  30-second
       allowable  time  limit  was  exceeded.  (This message occurs on
       TOPS-10 systems only.)

       OPERATOR ACTION:

       Try reloading the KL processor using the  dialog  default.   If
       you  still  cannot  bring  the  system  up,  call your Software
       Support Specialist.

KLI -- ? WRITE ERROR

       A hardware or software error occurred while KLINIT was  writing
       an  updated  copy  of the configuration file, KL.CFG.  (See any
       accompanying messages for additional information.)

       OPERATOR ACTION:

       Retry the write operation;  if the trouble persists, call  your
       Software Support Specialist.



5.4  REPORTS RELATING TO THE KLINIT DIALOG

KLINIT prints logical memory configuration maps  and  physical  memory
configuration  maps  for  external  memory (DMA20) and internal memory
(MA20, MB20, and MF20).  KLINIT also  prints  error  reports  whenever
failures  occur during microcode verification.  This section describes
the information contained in these maps and reports.



5.4.1  External Memory Maps

If you answer YES to the CONFIGURE KL MEMORY question  in  the  KLINIT
dialog,  KLINIT  prints  a physical memory configuration map, as shown
below:

MEMORY RESOURCES:
CONTROLLER ADDRESS  TYPE  MODULES/GROUPS
                          7 6 5 4 3 2 1 0

        4          DMA20  1024K   4 BUS MODE

EXTERNAL MEMORY RESPONSE
  ADDRESS   SIZE
 00000000  1024K

This map represents the physical memory allocation, where:

     CONTROLLER ADDRESS = memory controller number; this is always 
                               4 for a DMA20

     TYPE               = memory controller type

     MODULES/GROUPS     = memory storage module
KLINIT                                                       Page 5-32


Under EXTERNAL MEMORY RESPONSE, the total storage is  broken  down  by
contiguous blocks and their beginning addresses, where:

     ADDRESS            = beginning address of memory block

     SIZE               = size of the memory block

Whenever KLINIT configures KL memory, either by default or through the
dialog,  it  prints a logical memory configuration map on your console
terminal.  If you answer NO to the CONFIGURE KL MEMORY  question,  the
map is not printed.  The format of the map is as follows:

LOGICAL MEMORY CONFIGURATION.
  ADDRESS    SIZE   INT    TYPE  CONTROLLER
 00000000   1024K    4    DMA20   4

This map tells you how KL memory has been configured, where:

     ADDRESS            = KL memory address

     SIZE               = KL memory size in K

     INT                = KL memory interleave mode

     TYPE               = memory controller type

     CONTROLLER         = memory controller number



5.4.2  Internal Memory Maps

If you attempt to configure memory yourself using the  dialog,  KLINIT
prints  a  physical  memory  configuration map after you answer YES to
CONFIGURE KL MEMORY.  The map looks like the following example:

MEMORY RESOURCES:
CONTROLLER ADDRESS   TYPE  MODULES/GROUPS
                           7 6 5 4 3 2 1 0

        0            MA20  0 0 0 0 1 1 1 1
        1            MA20  0 0 0 0 1 1 1 1
        11           MF20  0 0 0 0 0 4 4 4

This map represents the physical memory allocation, where:

     CONTROLLER ADDRESS = memory controller number

     TYPE               = memory type

     MODULES/GROUPS     = memory storage module

Some of the rules that the memory configuration algorithm follows are:

     1.  2-way  or  4-way  interleaving  can  only  be  done   between
         controllers 0 and 1 or between controllers 2 and 3.

     2.  To use any memory,  module  0  of  some  controller  must  be
         available.
KLINIT                                                       Page 5-33


Whenever KLINIT configures KL memory, either by default or through the
dialog,  KLINIT  prints  a  logical  memory  configuration map on your
console terminal.  If  you  answer  NO  to  the  CONFIGURE  KL  MEMORY
question,  the  map  is  not  printed.   The  format  of the map is as
follows:

LOGICAL MEMORY CONFIGURATION.
  ADDRESS   SIZE   INT   TYPE  CONTROLLER
 00000000   128K    2    MA20   0 & 1
 00400000   768K    4    MF20   11

This map tells you how KL memory has been configured, where:

     ADDRESS            = KL memory address

     SIZE               = KL memory size in K

     INT                = KL memory interleave mode

     TYPE               = memory controller type

     CONTROLLER         = memory controller number



5.4.3  Microcode Verification Error Reports

Whenever you reply VERIFY or FIX to the RELOAD MICROCODE  question  in
the  KLINIT  dialog,  the contents of the control and dispatch storage
(CRAM and DRAM, respectively) are compared to the corresponding  files
on disk.  Whenever a mismatch is detected, an error report is typed on
the CTY.  The general format of the error report is:

     KLI -- ? x-RAM DIFFERS AT location
     KLI -- BAD  (contents of n-RAM)
     KLI -- GOOD (contents of disk file)
     KLI -- XOR  (bit positions that differ)

where:

     x         is C for control storage or D for dispatch storage

     location  is the RAM address of the error

The XOR line is the result of an exclusive OR  of  the  BAD  and  GOOD
lines and represents the bit positions that differed.



5.4.3.1  CRAM Error Report - The CRAM error  report  displays  the  86
bits  of  information  from  left  to  right for each CRAM location in
error.  Each line consists of six groups of octal  numbers.   Each  of
the  first  five groups represents a 16-bit quantity;  the sixth group
represents a six-bit quantity.  The bit correspondence is shown below.

     Group          Bit Positions

       1                 0-15
       2                16-31
       3                32-47
       4                48-63
       5                64-79
       6                80-85 (SPEC field)
KLINIT                                                       Page 5-34


The following is an example of a CRAM error report:

     KLI -- ? C-RAM DIFFERS AT 43
     KLI -- BAD  002556 012600 002000 002640 100002 10
     KLI -- GOOD 002575 012700 002000 002640 100002 10
     KLI -- XOR  000023 000100 000000 000000 000000 00



5.4.3.2  DRAM  Error  Report - The  DRAM  error  report  displays  the
contents  of  a  pair of DRAM locations as two sets of labeled fields.
The first set represents the even DRAM location  and  the  second  set
represents the following odd DRAM location.  Each set consists of four
fields, as shown below.

     Field         Size

       A           3 bits
       B           3 bits
       P           1 bit
       J          10 bits (See Note)


                                 NOTE

               Although  the  J  field  is  a  10   bit
               quantity,  bits  5 and 6 are always zero
               and bits 1 through 4 are common  to  the
               even  and odd locations.  Bits 7 through
               10 will vary by location.


The following is an example of a DRAM error report:

     KLI -- ? D-RAM DIFFERS AT 106
     KLI -- BAD  A:2 B:0 P:0 J:1002 A:2 B:0 P:0 J:1002
     KLI -- GOOD A:4 B:0 P:0 J:1412 A:2 B:0 P:1 J:1412
     KLI -- XOR  A:6 B:0 P:0 J:0410 A:0 B:0 P:1 J:0410

                 Contents of        Contents of
                 location 106       location 107



5.5  KLINIT DIALOG EXAMPLES

 1.  This example shows the output at your console terminal  when  you
     load the system using the DISK load switch.  KLINIT automatically
     takes the  default  values  without  asking  you  any  questions.
     However,  KLINIT  does  tell  you  that  the  RAMs (random access
     memories) have been loaded with the microcode.  KLINIT prints the
     logical  memory  map  and  then loads and starts the KL bootstrap
     program.

         RSX-20F VE13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VA12-12 RUNNING
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT 
                MOS MASTER OSCILLATOR
                EXTENDED ADDRESSING
                INTERNAL CHANNELS
                CACHE
KLINIT                                                       Page 5-35


         KLI -- MICROCODE VERSION 231 LOADED
         KLI -- ALL CACHES ENABLED
         KLI -- % MOS MEMORY IS ALREADY CONFIGURED

         LOGICAL MEMORY CONFIGURATION.
           ADDRESS SIZE  INT   TYPE CONTROLLER
          00000000 128K   4    MA20  0 & 1
          00400000 768K   4    MF20  11

         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED
         BOOTS V23(114)

         BTS>

 2.  This example shows the output at your console terminal  when  you
     load  the system using the switch register with switches 0, 1 and
     2 set.  The KLINIT dialog is entered only to load and  start  the
     KL  bootstrap.  This allows you to leave the microcode and memory
     configuration as they were.

         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>BOOT
         KLI -- ALL CACHES ENABLED
         KLI -- BOOTSTRAP LOADED AND STARTED

         BOOT>

 3.  This example shows the KLINIT dialog being used to reconfigure KL
     memory.  KLINIT prints both the physical memory configuration and
     the logical memory map.  These maps indicate that 128K of  memory
     is 2-way interleaved, and 768K is 4-way interleaved.

         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT
            MOS MASTER OSCILLATOR 
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE
         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>YES
         KLI -- MICROCODE VERSION 231 LOADED
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>ALL
         KLI -- ALL CACHES ENABLED
         KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
         KLI>YES
         MEMORY RESOURCES:
         CONTROLLER ADDRESS   TYPE  MODULES/GROUPS
                            7 6 5 4 3 2 1 0

                     0     MA20 0 0 0 0 1 1 1 1
                     1     MA20 0 0 0 0 1 1 1 1
                     11    MF20 0 0 0 0 0 4 4 4
KLINIT                                                       Page 5-36


         KLI -- CONFIGURE INTERNAL CORE MEMORY [ALL,YES,NO]?
         KLI>ALL
         KLI -- INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?
         KLI>2
         KLI -- CONFIGURE MOS MEMORY [ALL,YES,NO]?
         KLI>ALL

         LOGICAL MEMORY CONFIGURATION.
           ADDRESS  SIZE  INT  TYPE CONTROLLER
          00000000  128K   2   MA20  0 & 1
          00400000  768K   4   MF20  11

         KLI -- LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?
         KLI>YES
         KLI -- WRITE CONFIGURATION FILE [YES,NO]?
         KLI>YES
         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED

         BOOT>

 4.  This example shows the dialog being used to enable all caches and
     to reconfigure MB20 memory on a 1091 system.  Controllers 0 and 1
     are specified with modules  0,  1,  and  2  on  each  controller.
     KLINIT  prints  both  physical and logical memory maps.  The maps
     indicate that there is 256K of memory, 2-way interleaved.

         RSX-20F VE13-41 8:00 6-AUG-79

         [SY0: REDIRECTED TO DB0:]
         [DB0: MOUNTED]
         KLI -- VERSION VA12-12
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT
                     MOS MASTER OSCILLATOR
                     EXTENDED ADDRESSING
                     INTERNAL CHANNELS
                     CACHE
         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>NO
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>ALL
         KLI -- ALL CACHES ENABLED
         KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
         KLI>YES

         MEMORY RESOURCES:
         CONTROLLER ADDRESS       TYPE  MODULES/GROUPS
                                        7 6 5 4 3 2 1 0

                      0           MB20  0 0 0 0 1 1 1 1
                      1           MB20  0 0 0 0 1 1 1 1

         KLI -- CONFIGURE INTERNAL CORE MEMORY [ALL,YES,NO]?
         KLI>YES
         KLI -- MODULES/BLOCKS WITHIN CONTROLLER 0 [ALL,NONE,SPECIFY]?
         KLI>0,1,2
         KLI -- MODULES/BLOCKS WITHIN CONTROLLER 1 [ALL,NONE,SPECIFY]?
         KLI>0,1,2
         KLI -- INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?
         KLI>2
KLINIT                                                       Page 5-37


         LOGICAL MEMORY CONFIGURATION.
           ADDRESS SIZE  INT   TYPE CONTROLLER
          00000000 256K   2    MB20  0 & 1

         KLI -- LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?
         KLI>YES
         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED
         BOOTS V23(114)

         BTS>

 5.  This example shows the console terminal output when the system is
     loaded  using  the  DECtape  load  switch.  KLINIT did not find a
     KL.CFG file on the DECtape (%NO FILE  messages);   therefore,  it
     configured  all cache and all available memory.  Note that KLINIT
     informs you whenever it writes a new KL.CFG  file;   it  does  so
     whenever  you  answer  ALL  or  YES  to  the  CONFIGURE KL MEMORY
     question or if no previous KL.CFG file exists.

         RSX-20F VA13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DT0:]
         [DT0:MOUNTED]
         KLI -- VERSION VA12-12 RUNNING
         KLI -- KL10 S/N: 1026., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE

         KLI -- MICROCODE VERSION 231 LOADED
         KLI -- % NO FILE - ALL CACHE BEING CONFIGURED
         KLI -- ALL CACHES ENABLED
         KLI -- % NO FILE - ALL MEMORY BEING CONFIGURED

         LOGICAL MEMORY CONFIGURATION.
           ADDRESS  SIZE INT    TYPE CONTROLLER
          00000000 1024K  4    DMA20  4

         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED
         BOOTS V23(114)

         BTS>

 6.  This example shows that the specified bootstrap  file  XXBOOT.EXB
     was  not  found.   Therefore, after the fatal error messages, the
     KLINIT dialog restarts.

         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT 
            MOS MASTER OSCILLATOR
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE
KLINIT                                                       Page 5-38


         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>NO
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>NO
         KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
         KLI>NO
         KLI -- LOAD KL BOOTSTRAP [YES,NO,FILENAME]?
         KLI>XXBOOT
         KLI -- WRITE CONFIGURATION FILE [YES,NO]?
         KLI>YES
         KLI -- ALL CACHES ENABLED
         KLI -- ? FILE "SY0:XXBOOT.EXB;0" NOT FOUND
         KLI -- ? BOOTSTRAP LOAD FAILED
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>

 7.  This example shows that  a  <CR>  defaults  to  the  first  reply
     listed.   (NO  to  ENTER DIALOG) In this case the default signals
     KLINIT to bypass  any  further  dialog  and  assume  the  default
     answers to all the remaining questions.  

         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>   (carriage return was pressed here)
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT 
            MOS MASTER OSCILLATOR
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE

         KLI -- MICROCODE VERSION 231 LOADED
         KLI -- ALL CACHES ENABLED
         KLI -- % MOS MEMORY IS ALREADY CONFIGURED

         LOGICAL MEMORY CONFIGURATION.
           ADDRESS SIZE  INT   TYPE CONTROLLER
          00000000 128K   2    MA20  0 & 1
          00400000 768K   4    MF20  11

         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED

         BOOT>

 8.  This example shows the dialog first being used to load and verify
     the  microcode.  Then it shows the cache memory being configured.
     The TOPS-10 monitor is to be loaded from a magnetic tape  so  the
     program  BOOTM  must  be  loaded in place of the default program,
     BOOTS.  BOOTM  is  contained  in  the  file  MTBOOT.EXB.   KLINIT
     accepts the file name, appends the default file type of .EXB, and
     loads and starts the magnetic tape bootstrap program.

         RSX-20F VA13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VA12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
KLINIT                                                       Page 5-39


         KLI -- KL10 S/N: 1026., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE

         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>YES
         KLI -- MICROCODE VERSION 231 LOADED
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>BACK
         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>VERIFY
         KLI -- MICROCODE VERSION 231 VERIFIED
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>YES

         KLI -- ENABLE WHICH CACHES [ALL,NONE,0-3]?
         KLI>0,1,3
         KLI -- CACHES 0,1,3 ENABLED
         KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
         KLI>YES

         MEMORY RESOURCES:
         CONTROLLER ADDRESS        TYPE MODULES/GROUPS
                                        7 6 5 4 3 2 1 0

                      4           DMA20  1024K   4 BUS MODE

         KLI -- CONFIGURE EXTERNAL CORE MEMORY [YES,NO]?
         KLI>YES
         KLI -- EXTERNAL CORE MEMORY BUS-MODE [OPTIMAL,1,2,4]?
         KLI>4
         LOGICAL MEMORY CONFIGURATION.
           ADDRESS SIZE  INT    TYPE CONTROLLER
          00000000 256K   4    DMA20  4

         KLI -- LOAD KL BOOTSTRAP [YES,NO,FILENAME]?
         KLI>MTBOOT
         KLI -- WRITE CONFIGURATION FILE [YES,NO]?
         KLI>YES
         KLI -- CONFIGURATION FILE WRITTEN
         KLI -- BOOTSTRAP LOADED AND STARTED
         BOOTM V5(25)
         BTM>

 9.  This example shows  that  an  error  occurred  in  verifying  the
     existing  microcode.   Because  the  dialog  is restarted after a
     fatal error, the solution you should try is answering YES to  the
     RELOAD MICROCODE question the next time.

         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT 
            MOS MASTER OSCILLATOR
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE
KLINIT                                                       Page 5-40


         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>VERIFY
         KLI -- ? C-RAM DIFFERS AT 1
         KLI -- BAD  002556 012600 002000 002640 100002 10
         KLI -- GOOD 002575 012700 002000 002640 100002 10
         KLI -- XOR  000023 000100 000000 000000 000000 00
         KLI -- ? MICROCODE VERIFY FAILED
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>

10.  This example shows ESCape being used  during  the  reply  to  the
     RELOAD  MICROCODE  question  in  order to restart the dialog.  It
     also shows unacceptable answers causing questions to be repeated.
     Finally,  a  CTRL/Z  causes  the  dialog  to  exit to the console
     processor command language (the PARSER).


         RSX-20F VB13-41 8:00 6-AUG-79

         [SY0:REDIRECTED TO DB0:]
         [DB0:MOUNTED]
         KLI -- VERSION VB12-12 RUNNING
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- KL10 S/N: 2136., MODEL B, 60 HERTZ
         KLI -- KL10 HARDWARE ENVIRONMENT 
            MOS MASTER OSCILLATOR
            EXTENDED ADDRESSING
            INTERNAL CHANNELS
            CACHE

         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>VER<ESC>
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YNOT
         KLI -- COMMAND SYNTAX ERROR
         KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
         KLI>YES
         KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
         KLI>NO
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>MAYBE
         KLI -- COMMAND SYNTAX ERROR
         KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
         KLI>NO
         KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
         KLI>NO
         KLI -- LOAD KL BOOTSTRAP [YES,NO,FILENAME]?
         KLI>^Z











                              CHAPTER 6

                          RSX-20F UTILITIES



RSX-20F is designed to run with a minimum amount of human interaction.
However,  occasions arise when some flexibility is needed, for example
when the front-end file system must be used or a failing  KL  must  be
diagnosed.   RSX-20F provides a set of utility programs that gives the
operator, system programmer,  or  Field  Service  Representative  this
needed flexibility.

Since RSX-20F was derived from the RSX-11M operating system,  many  of
the  RSX-11M  utilities  were adapted to run on RSX-20F.  This chapter
describes the following RSX-20F utilities:

     COP  -   Copies the contents of one floppy disk on to another
              floppy disk.

     DMO  -   Dismounts a device.

     INI  -   Initializes a volume.

     MOU  -   Mounts a device.

     PIP  -   Manipulates files.  It is used to copy, rename, 
              append, and delete files.

     RED  -   Redirects I/O requests from one device to another.

     SAV  -   Saves the system task image.

     UFD  -   Builds a User File Directory (UFD).

     ZAP  -   Patches task images.



6.1  COP UTILITY


6.1.1  Function

The COP utility copies and verifies the contents of one floppy disk to
another  floppy  disk,  error-checks a single floppy disk, or zeroes a
floppy disk.  The COP utility is frequently used to make backup copies
of  the  installation  floppies.   To  use  the  COP utility, type the
following:

     CTRL/\ (control backslash)

     PAR> MCR COP

     COP>
RSX-20F UTILITIES                                             Page 6-2


6.1.2  Format

The format of the COP command line is as follows:

     COP>DXn:=DXm:/switch

The following switches can be used with COP:

     /BL:n,m        Copies starting at (extended) block n,m until  the
                    last  block  on the device.  If COP is interrupted
                    (by a CTRL/C for example), it will print  out  the
                    last block copied.

     /CP            Copies the contents of one floppy to another.

     /HE            Prints a list of the available switches.

     /RD            Reads the device and checks for errors.

     /VF            Verifies that First Device = Second Device.

     /ZE            Writes zeros onto a device (deleting all files).



6.1.3  Examples

The following command copies the contents of the floppy disk  in  DX1:
to the floppy disk in DX0:.


     COP>DX0:=DX1:

The following command zeroes  the  floppy  in  DX0:;   all  files  are
deleted.


     COP>DX0:/ZE

The following command reads the floppy in DX0:  and checks for errors.


     COP>DX0:/RD

The following command copies the contents of the floppy in DX0:   onto
the floppy in DX1:  and verifies the copy.


     COP>DX1:=DX0:/VF

The following command prints the format of the COP  command  line  and
lists the available switches.


     COP>/HE
     COP>DEST-DEV:=SRC-DEV:/SW-- SWITCHES: /BL:N,M /CP /HE /RD /VF /ZE
RSX-20F UTILITIES                                             Page 6-3


6.1.4  Error Messages

COP -- *DIAG* -- ABORTED BY ^C AT BLOCK xxx,xxxxxx

       COP was interrupted by a CTRL/C at block number xxx,xxxxxx.


COP -- *DIAG* -- I/O ERROR ON Dxx AT BLOCK xxx,xxxxxx

       An I/O error was detected on  the  specified  device  at  block
       number xxx,xxxxxx.


COP -- *DIAG* -- VERIFY ERROR AT BLOCK xxx,xxxxxx

       An error was  detected  during  verification  at  block  number
       xxx,xxxxxx.


COP -- *FATAL* -- CONFLICTING SWITCHES

       A /CP or /VF was used with a /RE or /ZE.


COP -- *FATAL* -- DEVICE Dxx NOT IN SYSTEM

       The device Dxx specified in the command string is  not  in  the
       system or is off-line.


COP -- *FATAL* -- DEVICE Dxx IS WRITE LOCKED

       The user does not have access to device Dxx.


COP -- *FATAL* -- DESTINATION DEVICE SPECIFIED FOR /RD

       You specified a destination device with the /RD  switch.   This
       is an illegal combination of commands.


COP -- *FATAL* -- FATAL I/O ERROR xxx ON Dxx AT BLOCK xxx,xxxxxx

       An I/O error xxx (see Appendix A) has been detected  on  device
       Dxx at block number xxx,xxxxxx.


COP -- *FATAL* -- ILLEGAL SWITCH /xx

       The switch /xx is not a legal COP switch.


COP -- *FATAL* -- NO DESTINATION DEVICE SPECIFIED FOR /CP  OR  /VF  OR
       /ZE

       This message is self-explanatory.


COP -- *FATAL* -- NO SOURCE DEVICE SPECIFIED FOR /CP OR /VF OR /RD

       This message is self-explanatory.
RSX-20F UTILITIES                                             Page 6-4


COP -- *FATAL* -- SOURCE DEVICE SPECIFIED FOR /ZE

       You specified a source device with the /ZE switch.  This is  an
       illegal combination of commands.


COP -- *FATAL* -- SYNTAX ERROR:  xxxxx...

       A syntax error was detected in  the  command  string  xxxxxx...
       Perhaps the switch was not preceded by a slash (/) or the input
       string was too long, or the block number was not separated from
       the switch by a colon (:).



6.2  INI UTILITY


6.2.1  Function

The INI utility produces a Files-11 volume.  The  utility  initializes
the volume (destroys all existing files), writes a dummy bootstrap and
a home block, and builds the  directory  structure.   INI  must  first
perform the following steps:

     1.  Read the TOPS-20 home block (if dual-ported RP04/RP06)

     2.  Process bad blocks

     3.  Allocate space for system files

     4.  Write out the storage bit map file

     5.  Mark the bit map for  TOPS-20  file  system  (if  dual-ported
         RP04/RP06)

     6.  Build the boot and home blocks

     7.  Write the index and file headers

     8.  Write the Master File Directory (MFD)

To initiate the INI utility, type the following:

     CTRL/\ (control backslash)

     PAR>MCR INI

     INI>



6.2.2  Format


     INI>dev:/switch /switch ....

where:

     dev:                is  the  device   of   the   volume   to   be
                         initialized.
RSX-20F UTILITIES                                             Page 6-5


The INI utility accepts a string of switches.  A  hyphen  (-)  can  be
used  as  a  line  terminator  to extend the INI command line when the
selected switches cause the command line to  exceed  the  buffer  size
that  has  been  specified  for  the entering terminal.  Any number of
continuous lines is permitted,  but  the  total  command  line  cannot
exceed  512  characters.  Switches can be used with the INI utility to
modify the home parameters and the INI execution.

The following switch can be used to modify INI execution.

     /FULL               Declares that the volume being initialized is
                         only  to  be used as a Files-11 structure (no
                         TOPS-10/TOPS-20 files allowed).

The following switch can be used to modify the home block parameters.

     /INDX=index-file-position

                         The INDX  switch  specifies  the  index  file
                         logical  block  number.   This  switch can be
                         used  to  force  the  Master  File  Directory
                         (MFD),   the  index  file,  and  the  storage
                         allocation  file   to   a   specific   volume
                         location, usually for minimizing access time.
                         Four possibilities are available.

                         BEG       Places  the  index  file   at   the
                                   beginning of the volume.

                         MID       Places the index file at the middle
                                   of the volume.  This option must be
                                   used for DECtape.

                         END       Places the index file at the end of
                                   the volume.

                         BLK:nnn   Places  the  index  file   at   the
                                   specified block number.

                         Default:  /INDX=BEG


                                NOTES

               The INI utility does not  indicate  when
               the  initialization process is complete.
               Wait  10  seconds  after   issuing   the
               command,  then type control backslash to
               return to the PARSER.

               Any error which  occurs  while  you  are
               using  the  INI  utility  causes an exit
               from the program.  The INI utility  must
               then be reentered from the PARSER.
RSX-20F UTILITIES                                             Page 6-6


6.2.3  Examples

The following command sets the location of  the  index  block  in  the
middle of the volume.


     INI>DB0:/INDX:MID

The following command declares the structure to be entirely Files-11.


     INI>DB0:/FULL




6.2.4  Error Messages

INI -- ALLOCATION FOR SYS FILE EXCEEDS VOLUME LIMIT

       The system is  unable  to  allocate  a  system  file  from  the
       specified  block  because of intermediate bad blocks or the end
       of the volume.


INI -- BAD BLOCK FILE FULL

       The disk has more than 102 bad regions on it.


INI -- BAD BLOCK HEADER I/O ERROR

       INI detected an error while  writing  out  the  bad-block  file
       header.


INI -- BLOCKS EXCEED VOLUME LIMIT

       The specified block or blocks exceeded the physical size of the
       volume.


INI -- BOOT BLOCK WRITE ERROR

       INI detected an error while writing out the volume boot block.


INI -- CHECKING DDnn

       This  is  not  an  error  message.   An  automatic  bad   block
       specification was proceeding, using the bad block file provided
       by the Bad Block Locator utility program.


INI -- CHECKPOINT FILE HEADER I/O ERROR

       An error was  detected  in  writing  out  the  checkpoint  file
       header.


INI -- COMMAND I/O ERROR

       INI encountered an I/O error while attempting  to  execute  the
       command.
RSX-20F UTILITIES                                             Page 6-7


INI -- COMMAND TOO LONG

       The command, including continuation lines, exceeded the maximum
       length of 512 characters.


INI -- DATA ERROR

       The command specified a bad block number or  contiguous  region
       that is too large.


INI -- DEVICE NOT IN SYSTEM

       INI was unable to find the device on which it was  supposed  to
       act.


INI -- DEVICE NOT READY

       The device on which INI expects to operate is not in the  ready
       state.


INI -- DEVICE WRITE-LOCKED

       INI attempted to operate on  a  device  and  found  the  device
       write-locked.   INI could therefore do nothing with the device.


INI -- DUPLICATE BLOCK(S) FOUND

       A block that was defined as bad  is  being  defined  as  bad  a
       second time.


INI -- FILE CORRUPT - DATA IGNORED

       Although automatic bad block recognition was selected, the  bad
       block  data  on  the disk was not in the correct format and was
       ignored.


INI -- HANDLER NOT RESIDENT

       You should never get this message.  If it appears, contact your
       Software Support Specialist;  you may have corrupted software.


INI -- HOME BLOCK ALLOCATE WRITE ERROR

       INI detected an error while overwriting a bad home block area.


INI -- HOME BLOCK WRITE ERROR

       INI detected an error while overwriting a bad home block area.


INI -- ILLEGAL KEYWORD

       The command string contained an illegal keyword.
RSX-20F UTILITIES                                             Page 6-8


INI -- ILLEGAL UIC

       You should never get this message.  If it appears, contact your
       Software Support Specialist;  you may have corrupted software.


INI -- INDEX FILE BITMAP I/O ERROR

       INI encountered an I/O error while attempting to read the index
       file bitmap.


INI -- INDEX FILE HEADER I/O ERROR

       INI encountered an I/O error while attempting to read the index
       file header.


INI -- MFD FILE HEADER I/O ERROR

       INI encountered an I/O error while attempting to read  the  MFD
       file header.


INI -- MFD WRITE ERROR

       INI encountered an I/O error while making an entry in the MFD.


INI -- NO BAD BLOCK DATA FOUND

       INI is unable to read the bad block information from  the  last
       track of the disk.


INI -- RSX-20F FILE SYSTEM ALLOCATED LESS THAN 256.  BLOCKS

       INI allocated less than 256 blocks of space to  the  front  end
       file system.  


INI -- RSX-20F FILE SYSTEM OUTSIDE OF VOLUME RANGE

       When INI went to the home block to find out where the front-end
       file  system  is  located,  it was given an address that is not
       within the bounds of the volume in question.  In  other  words,
       INI could not find the front-end file system.


INI -- STORAGE BITMAP FILE HEADER I/O ERROR

       INI got an I/O error while attempting to read the  file  header
       for the storage bitmap.


INI -- STORAGE BITMAP I/O ERROR

       INI got an I/O error while reading the storage bitmap.


INI -- SYNTAX ERROR

       There was a syntax error in the command string to INI.
RSX-20F UTILITIES                                             Page 6-9


INI -- TOPS HOME BLOCK I/O ERROR

       INI received an I/O error while trying to read  the  TOPS  home
       block.


INI -- TOPS HOME BLOCK NOT FOUND

       INI was unable to find the TOPS copy of the home block.


INI -- WRONG PACK - NO RSX-20F FILE SYSTEM ALLOCATED

       INI was not able to find  any  front-end  file  system  on  the
       specified pack.



6.3  MOU AND DMO


6.3.1  Function

The MOU and DMO utilities  give  information  to  RSX-20F  that  makes
available  a  device  to  another user utility or takes away a device.
RSX-20F then allocates or deallocates buffer space  and  Logical  Unit
Number (LUN) information as required.

The MOU utility creates the Volume Control Block  (VCB)  and  declares
that  the  volume  is logically on-line for access by the file system.
The VCB is allocated in the dynamic memory and controls access to  the
volume.

No switches are available to either the MOU or DMO utility.  The  only
devices available that can be mounted are as follows:

     DB0: disk drive 0 (RP04/06)
     .
     .
     .
     DBn: disk drive n (RP04/06)

     DX0: floppy drive 0
     DX1: floppy drive 1
     DT0: DECtape drive 0
     DT1: DECtape drive 1

     FE0: pseudodevice FE0: to talk to the KL
     .
     .
     .
     FEn: pseudodevice FEn: to talk to the KL

To initiate the MOU utility, type the following:

     CTRL/\ (control backslash)

     PAR>MOU

     MOU>
RSX-20F UTILITIES                                            Page 6-10


6.3.2  Format

     MOU>dev:

where:

     dev:      is the device on which the volume  is  to  be  mounted.
               Only  devices  that have an Ancillary Control Processor
               can be mounted.  Devices which meet this criterion  are
               rigid disk, floppy disk, DECtape, and the FE:  device.

The DMO utility declares that  the  volume  or  communication  channel
specified  is  logically  off-line.  After a DMO operation, the device
cannot be accessed by the associated Ancillary Control  Processor.   A
request  is  placed  in  the  file  system  queue to delete the Volume
Control Block, and the volume  is  marked  for  dismount  so  that  no
additional  files  can  be  accessed  on  the  volume.  The command is
completed when the VCB is deleted;  the VCB deletion  does  not  occur
until  all  accessed  files  on  the volume have been deaccessed.  The
system  indicates  that  the  process  is  completed  by  issuing  the
following message:

     dev:  DISMOUNT COMPLETE

A delay can occur between the issuance of the command and the printing
of this message if a number of I/O requests are pending or a number of
files are accessed on the volume.

Format

     DMO>dev:

where:

     dev:      The device that holds the volume to be dismounted.



6.3.3  Examples

The following command mounts the volume on device DK1:.


     MOU>DK1:


The following command dismounts the volume on device DK1:.


     DMO>DK1:


The following command deletes the volume control block (VCB) for DK1:.


     DMO>DK1:
RSX-20F UTILITIES                                            Page 6-11


6.3.4  Error Messages

The following section lists the error messages that can  arise  during
the  execution  of  MOU  and  DMO  command  strings.   Since  they are
presented in alphabetic order, the messages that come  only  from  DMO
are listed first, followed by those that come only from MOU.  Finally,
there are a few messages that can come from either utility.  These are
listed  with the string "xxx" substituted for one of the strings "DMO"
or "MOU".  


DMO -- DEVICE CANNOT BE DISMOUNTED

       The device dismount command could not  be  executed.   DMO  was
       unable  to  determine the specific reason for the problem.  You
       should never get this message from DMO;   if  you  do,  contact
       your Software Support Specialist.


DMO -- DEVICE NOT MOUNTED

       The specified device is not mounted.


DMO -- DISMOUNT ERROR xx

       The attempt to dismount a device failed because  an  I/O  error
       was  received.   See  Appendix  A  for  a list of the I/O error
       codes.  


MOU -- DEVICE ALREADY MOUNTED

       The specified device is already mounted.


MOU -- MOUNT ERROR xx

       The attempt to mount a device failed because an I/O  error  was
       received.  See Appendix A for a list of the I/O error codes.  


MOU -- NO ACP FOR DEVICE

       The task specified as ACP or the default ACP is  not  installed
       in the system.


xxx -- ACP REQUEST ERROR

       The ACP for the specified device could not be removed.  


xxx -- DEVICE NOT IN SYSTEM

       The device specified in the command to MOU or DMO was not found
       to be in the system resources.


xxx -- SYNTAX ERROR

       The command you typed contained a error in syntax.
RSX-20F UTILITIES                                            Page 6-12


6.4  PIP - PERIPHERAL INTERCHANGE PROGRAM


6.4.1  Function

The Peripheral Interchange Program (PIP) is an RSX-20F utility for the
manipulation of files.  PIP performs the following major functions:

     o    Copying files from one device or area to another

     o    Deleting files

     o    Renaming files

     o    Listing file directories

     o    Concatenating or appending files



6.4.2  Initiating PIP

PIP can be initiated by typing the following:

     CTRL/\ (Control Backslash)

     PAR>MCR PIP

     PIP>



6.4.3  PIP Command String Format

The general PIP command string is:

  PIP>outfile=infile1[,infile2,infile3,...infileN][/switch][/subswitch]

where:

     outfile        The   output   file   specifier   in   the    form
                    device:[UIC]filename.filetype;version.    If   the
                    output filename, file type, and  version  are  the
                    null  set or *.*,*, the input filename, file type,
                    and version are preserved.  If  any  part  of  the
                    output  file  specifier  (filename,  file type, or
                    version) is entered, wildcards cannot be used  for
                    the remaining file specifiers.

     infile         The   input   file   specifier   in    the    form
                    device:[UIC]filename.file  type;version.   If  the
                    filename, file type, and version  are  null,  then
                    *.*;* is the default.

     switch         Any one of the switches that can be entered.

     subswitch      Any one of the subswitches  that  can  be  entered
                    immediately after a switch.
RSX-20F UTILITIES                                            Page 6-13


6.4.4  PIP Switches And Subswitches

A switch consists of a slash (/) followed by  a  two-character  switch
name  and  optionally  followed by a subswitch name separated from the
switch by a slash.   The  subswitch  can  have  arguments,  which  are
separated from the subswitch by a colon (:).

Switches are global;  that is, they  can  be  specified  once  for  an
entire list of file specifiers.  Subswitches are local;  that is, they
apply only to the file specifier that immediately precedes them.


                                 NOTE

               If a subswitch is applied to  the  first
               file  specifier  in a collection of file
               specifiers, and no  command  switch  has
               been  specified,  PIP  assumes  that the
               command associated with the subswitch is
               the  one requested.  This switch is then
               applied to the entire collection.


PIP switches and their functions are listed below.



     Switch         Name         Function


     /AP            APPEND       Adds files to the end of an 
                                 existing file.

     No Switch      COPY         Copies a file.

     /DE            DELETE       Deletes one or more files.

     /FR            FREE         Prints out available space on 
                                 specified volume.

     /LI            LIST         Lists a directory file.

     /ME            MERGE        Concatenates two or more files.

     /PU            PURGE        Deletes obsolete version(s) of a 
                                 file.

     /RE            RENAME       Changes the name of a file.


APPEND Switch (/AP)

     Function

     The /AP switch opens an  existing  file  and  appends  the  input
     file(s) to the end of it.

     Format

          PIP>outfile=infile[ [,infile2,...,infileN]/AP
RSX-20F UTILITIES                                            Page 6-14


     Examples

     The following command opens FILE.DAT;1 on DK1:  and  appends  the
     contents of files TEST.DAT;2, FILE2.TXT;3, and PRACT.DAT;1 to it.

          PIP>DK1:FILE1.DAT;1=TEST.DAT;2,FILE2.TXT;3,PRECT.DAT;1/AP


COPY (no switch)

     Function

     The COPY switch is used to create a copy of a file on the same or
     another  device.   COPY  is  the PIP default switch when only one
     output file specifier and one input file specifier are  contained
     in a command line.

     Format

          PIP>outfile=infile


                                   NOTE

         If the output filename, file type, and version are either
         null or *.*;*, the input filename, file type, and version
         are preserved.


     The following subswitch can be used with the COPY switch:

          /NV            New Version - This switch allows the user  to
                         force  the  output version number of the file
                         being copied  to  be  one  greater  than  the
                         greatest  version  of the file already in the
                         output directory.

     Examples

     The following command copies TEST.DAT;1  on  DK2:   to  DK1:   as
     SAMP.DAT;1.

          PIP>DK1:SAMP.DAT;1=DK2:TEST.DAT;1

     The following command copies all versions of all  files  of  type
     .DAT from DK0:  to DK1:.

          PIP>DK1:=DK0:*.DAT;*


DELETE Switch (/DE)

     Function

     The /DE switch allows the user to delete files from a directory.

     Format

          PIP>infile1[, infile2,...infileN]/DE
RSX-20F UTILITIES                                            Page 6-15


                                   NOTES


         1.  A version number must always be  specified  with  the
             /DE switch.

         2.  A version number of -1 can  be  used  to  delete  the
             oldest  version of a file.  An explicit version of ;0
             or ;  can be used to delete the most  recent  version
             of a file.



     Examples

     The following command deletes version one of the file TEST.DAT in
     the default directory on the default device.

          PIP>TEST.DAT;1/DE

     The following command deletes all files of type DAT or  TMP  from
     the default directory on the default device.

          PIP>*.DAT;*,*.TMP;*/DE


FREE Switch (/FR)

     The /FR switch allows the user to print the available space on  a
     specific device.

     Format

          PIP>dev:/FR

     The output from the /FR switch is shown below.

          dev:  HAS nnnn.  BLOCKS FREE, nnnn BLOCKS USED OUT OF nnnn.

     Example

          PIP>DK0:/FR
          DK0: HAS 21081.  BLOCKS FREE, 150717 BLOCKS USED OUT OF 
           171798.


LIST Switch (/LI)

     Function

     The /LI switch allows the user to list one or  more  directories.
     PIP  also  provides  the following three alternate mode switches,
     which allow the user to specify different directory formats.

          /BR
          /FU
          /TB
RSX-20F UTILITIES                                            Page 6-16


     /LI lists the following information:

          Filename.file type;version

          Number of blocks used (decimal)

          File code:
             null = noncontiguous
             C = contiguous
             L = locked

          Creation date and time

     Example

          PIP>DB1:/LI

          DIRECTORY DB1:[5,5]
          25-JUL-79 10:50

          BAD.TSK;7 9.      C  19-JUL-79 10:58
          BOO.TSK;7 19.     C  19-JUL-79 10:58
          EBOOT.EXB;15      36.    20-JUN-79 09:17
          DMP.TSK;7 47.     C  19-JUL-79 15:02
          KLDISC.TSK;7      5. C  19-JUL-79 15:02
          EDDT.EXB;1        52.    13-JUN-79 14:46
          MTBOOT.EXB;1      35.    19-JUN-79 07:47
          KLA213.MCB;213    36.    12-JUL-79 10:22
          MOU.TSK;6 5.      C  29-JUN-79 15:02

                   TOTAL OF 244. BLOCKS IN 9. FILES

     /BR displays the following brief form of the directory
     listing:

          Filename. file type; version

     Example

          PIP>DB1:/BR

          DIRECTORY DB1:[5,5]

          PARSER.TSK;1
          KLE.TSK;5
          BAD.TSK;7
          BOO.TSK;7
          EBOOT.EXB;15
          KL213.MCB;213
          MAC.TSK;7
          DMP.TSK;7
          KLRING.TSK;6

     /FU displays the fill directory listing containing the  following
     information:

          Filename.  file type;  version

          File identification number in the format (file number, file
          sequence number)

          Number of blocks used/allocated (decimal)
RSX-20F UTILITIES                                            Page 6-17


          File code
             null = noncontiguous
             C = contiguous
             L = locked

          Creation date and time

          Owner UIC and file protection in the format:
             [group, member]
             [system, owner, group, world]

     These protection fields can contain the values R,W,E,D,

     where:

             R = read access permitted
             W = write access permitted
             E = extend privilege
             D = delete privilege permitted

           Date and time of the last update plus the number of 
           revisions.

           Summary line containing the following:

             Number of blocks used

             Number of blocks allocated

             Number of files printed

     Example

     (If you have a 132-column terminal, the complete  information  on
     each file will be printed on one line.)

          PIP>DB1:/FU

          DIRECTORY DB1:[5,5]
          25-JUL-79 10:53

          BAD.TSK;7 (7,17) 9./9. C  19-JUL-79 10:58
            [5,5]    [RWED,RWED,RWE,R]
          BOO.TSK;7 (10,33) 19./19. C  19-JUL-79 10:58
            [5,5]    [RWED,RWED,RWE,R]
          EBOOT.EXB;15 (15,24) 36./36.    20-JUN-79 09:17
            [5,5]    [RWED,RWED,RWE,R]
          RED.TSK;7 (36,1021) 6./6. C  19-JUL-79 10:58
            [5,5]    [RWED,RWED,RWE,R]     19-JUL-79 11:04(5.)
          KLI.TSK;5 (40,20) 64./64. C  29-JUN-79 15:02
            [5,5]    [RWED,RWED,RWE,R]     12-JUL-79 10:20(74.)
          SLP.TSK;7 (45,121) 41./41. C  19-JUL-79 10:58
            [5,5]    [RWED,RWED,RWE,R]

     /TB displays only the summary line in the following format:

     TOTAL OF nnnn./mmmm.  BLOCKS IN xxxx.  FILES

     where:

          nnnn = blocks used

          mmmm = blocks allocated

          xxxx = number of files
RSX-20F UTILITIES                                            Page 6-18


     Example 

          PIP>DB1:/TB

          TOTAL OF 2789.  BLOCKS IN 85.  FILES


MERGE Switch (/ME)

     Function

     The /ME switch is used to create a new  file  from  two  or  more
     existing files.  If an explicit output file specifier is used and
     more than one input file is named without an appended switch, the
     /ME switch becomes the default switch.

     Format

          PIP>outfile = infile1, infile2,...infileN[/ME]

     Example

     The following command concatenates version 1 of the file TEST.DAT
     and  version  2  of  NEW.DAT  from  DK2:   and generates the file
     SAMP.DAT on DK1:.

          PIP>DK1:SAMP.DAT=DK2:TEST.DAT;1,NEW.DAT;2/ME


PURGE Switch (/PU)

     The /PU switch allows you to delete obsolete versions of a file.

     Format

          PIP>infile1[,infile2,...,infileN]/PU 

     The /PU switch provides you with a convenient way to  delete  old
     versions  of  files.   The  /PU switch deletes all but the latest
     version of a file.

     Example

     Before issuing the /PU  switch  the  following  files  are  in  a
     directory.

               TEST.DAT;1,TEST.DAT;2,TEST.DAT;5

     Then the following command and switch are issued:

               PIP>TEST.DAT/PU

     After  PIP  has  completed  the  purging  action,  the  directory
     contains the following file.

               TEST.DAT;5
RSX-20F UTILITIES                                            Page 6-19


RENAME Switch (/RE)

     Function

     The /RE switch allows you to change the  name  of  a  file.   The
     subswitch  /NV  allows  you  to  force  the version number of the
     renamed file to be one greater than the latest version number  of
     the previously existing file.

     Format

          PIP>outfile = infile/RE[/NV]

     Example

          PIP>TEST.DAT;1=TRIAL.DAT;5/RE

     File TRIAL.DAT;5 is renamed TEST.DAT;1.


                                   NOTE

         Renaming files across devices is not  allowed.   However,
         renaming   across  directories  on  the  same  device  is
         allowed.





6.4.5  PIP Error Messages

PIP -- ALLOCATION FAILURE -- NO CONTIGUOUS SPACE

       The  contiguous  space  available  on  the  output  volume   is
       insufficient for the file being copied.


PIP -- ALLOCATION FAILURE ON OUTPUT FILE

       Space available on the output volume is  insufficient  for  the
       file being copied.


PIP -- ALLOCATION FAILURE - NO SPACE AVAILABLE

       Space available on the output volume is  insufficient  for  the
       file being copied.


PIP -- BAD USE OF WILD CARDS IN DESTINATION FILE NAME

       The user specified a wildcard "*" for an output filename  where
       the use of a wildcard is explicitly disallowed.


PIP -- CANNOT FIND DIRECTORY FILE

       You specified a UFD  that  does  not  exist  on  the  specified
       volume.
RSX-20F UTILITIES                                            Page 6-20


PIP -- CANNOT FIND FILE(S)

       The file(s) specified in the  command  was  not  found  in  the
       specified directory.


PIP -- CANNOT RENAME FROM ONE DEVICE TO ANOTHER

       You attempted to rename a file across devices.


PIP -- CLOSE FAILURE ON INPUT FILE

       The input file cannot be properly closed.  The file  is  locked
       to indicate possible corruption.


PIP -- CLOSE FAILURE ON OUTPUT FILE

       The output file cannot be properly closed.  The file is  locked
       to indicate possible corruption.


PIP -- COMMAND SYNTAX ERROR

       You entered a command that  does  not  conform  to  the  syntax
       rules.


PIP -- DEVICE NOT MOUNTED

       The specified device is not mounted.


PIP -- DIRECTORY WRITE PROTECTED

       PIP cannot  remove  an  entry  from  a  directory  because  the
       directory   is   write-protected  or  because  of  a  privilege
       violation.


PIP -- ERROR FROM PARSE

       The specified directory file does not exist.


PIP -- FAILED TO ATTACH OUTPUT DEVICE

       An attempt to attach a record-oriented  output  device  failed.
       This  is  usually  caused  by  the device being off-line or not
       being resident.


PIP -- FAILED TO DETACH OUTPUT DEVICE

       An attempt to detach a record-oriented device failed.


PIP -- FAILED TO DELETE FILE

       You attempted to delete a protected file.
RSX-20F UTILITIES                                            Page 6-21


PIP -- FAILED TO ENTER NEW FILE NAME

       You specified a file that already exists in the directory file,
       or  you do not have the necessary privileges to make entries in
       the specified directory file.


PIP -- FAILED TO FIND FILE(S)

       The file(s) specified in the command line was not found in  the
       specified directory.


PIP -- FAILED TO GET TIME PARAMETERS

       An internal system failure occurred while  PIP  was  trying  to
       obtain the current date and time.


PIP -- FAILED TO OPEN STORAGE BITMAP FILE

       PIP cannot read the specified volume's storage bit map, usually
       because of a privilege violation.


PIP -- FAILED TO READ ATTRIBUTES

       Your volume is corrupted or  you  do  not  have  the  necessary
       privileges to access the file.


PIP -- FAILED TO REMOVE DIRECTORY ENTRY

       PIP cannot remove an entry from a directory because  the  entry
       is write-protected, or a privilege violation was detected.


PIP -- FILE IS LOST

       PIP removed a file from its directory, failed to delete it, and
       failed to restore the directory entry.


PIP -- FAILED TO WRITE ATTRIBUTES

       Your volume is corrupted or  you  do  not  have  the  necessary
       privileges to write the file attributes.


PIP -- ILLEGAL COMMAND

       You entered a command not recognized by PIP.


PIP -- ILLEGAL SWITCH

       You specified an illegal PIP switch or used a legal  switch  in
       an illegal manner.


PIP -- ILLEGAL "*" COPY TO SAME DEVICE AND DIRECTORY

       You attempted to copy all versions of  a  file  into  the  same
       directory  that is being scanned for input files.  This results
       in an infinite number of copies of the same file.
RSX-20F UTILITIES                                            Page 6-22


PIP -- ILLEGAL USE OF WILD CARD VERSION

       The use of a wildcard version number in the attempted operation
       results in inconsistent or unpredictable output.


PIP -- I/O ERROR ON INPUT FILE

       or


PIP -- I/O ERROR ON OUTPUT FILE

       One of the following conditions exist:

       o    The device is off-line.

       o    The device is not mounted.

       o    The hardware failed.

       o    The volume is full (output only).

       o    The input file is corrupted.


PIP -- EXPLICIT OUTPUT FILENAME REQUIRED

       You failed to specify the output filename.


PIP -- NO DIRECTORY DEVICE

       You issued a directory-oriented command to a device  that  does
       not have directories.


PIP -- NOT ENOUGH BUFFER SPACE AVAILABLE

       PIP has insufficient I/O buffer space to perform the  requested
       command.


PIP -- NO SUCH FILE(S)

       The file(s) specified in the command are not in the  designated
       directory.


PIP -- ONLY [*,*] IS LEGAL AS DESTINATION UIC

       You specified a UIC other than [*,*] as the output file UIC for
       a copy.
RSX-20F UTILITIES                                            Page 6-23


PIP -- OPEN FAILURE ON INPUT FILE

       or


PIP -- OPEN FAILURE ON OUTPUT FILE

       The specified file cannot be opened.  On EOF one or more of the
       following conditions can exist:

       o    The file is protected against access.

       o    A problem exists on the physical device.

       o    The volume is not mounted.

       o    The specified file directory does not exist.

       o    The named file does not exist in the specified directory.


PIP -- OUTPUT FILE ALREADY EXISTS - NOT SUPERSEDED

       An output file of the same  name,  type,  and  version  as  the
       specified file already exists.


PIP -- TOO MANY COMMAND SWITCHES - AMBIGUOUS

       You specified too many switches or conflicting switches.


PIP -- VERSION MUST BE EXPLICIT OR "*"

       The version number of the  specified  file  must  be  expressed
       explicitly or as a wildcard.



6.5  RED


6.5.1  Function

The RED utility allows the  operator  to  redirect  all  I/O  requests
previously  directed  to  one  system device to another system device.
The utility does not affect any I/O requests already in the I/O queue.

To initiate the RED utility, type the following:

     CTRL/\ (Control backslash)

     PAR>MCR RED

     RED>
RSX-20F UTILITIES                                            Page 6-24


6.5.2  Format

     RED>nud:=SY:

where:

     nud       the new device to which subsequent requests are  to  be
               redirected.

     SY        the  system  device  from  which  requests  have   been
               directed.



6.5.3  Examples

The following command redirects all I/O requests for SY:  to DB1:.

     RED>DB1:=SY:



6.5.4  Error Messages

RED -- DEVICE NOT KNOWN TO SYSTEM

       An attempt was made to redirect a device that does not exist in
       the device tables.


RED -- F11ACP NOT FOUND ON SYSTEM
       SYSTEM MUST BE RELOADED

       RED could not find the Files-11 ACP on the new  system  device.
       This situation forces the front end to crash.


RED -- PRIMARY PROTOCOL RUNNING

       You attempted to  redirect  the  system  device  while  primary
       protocol was running.  This is not allowed.


RED -- SYNTAX ERROR

       The command string contained a syntax error.



6.6  SAV


6.6.1  Function

The SAV utility writes into a task image file the image of an  RSX-20F
system that has been resident in main memory.  The utility effectively
saves the image so that a hardware bootstrap or the BOOT  command  can
later  be  used to reload and restart the system.  The saved system is
written into the file from  which  it  was  originally  booted.   This
utility  provides  a  way to build development systems that have tasks
already installed, and thus eliminates the need  for  repetitive  task
installation following each system bootstrap.
RSX-20F UTILITIES                                            Page 6-25


The SAV utility removes any installed tasks that were not loaded  from
LB: and  verifies  that the system is inactive by making the following
checks:

   o    No tasks have outstanding I/O.

   o    No devices are mounted.

   o    No checkpoint files are active.

   o    Error logging has been turned off.

An error is reported if any of these checks fail.

All RSX-20F system images reside on  a  file  structure  volume  as  a
special  format  of  task  image.   This special image is a task image
without a task header.

A system can either be booted by using the hardware bootstrap,  or  by
using  the  BOOT  command.  A system saved on one controller cannot be
booted from another controller.

When a user installs  a  task,  the  system  stores  the  task's  file
identification  in the task header.  When a system is saved, it places
the file identification rather than the files's logical  block  number
in  the  task  control block.  When the system is rebooted, it reopens
the task file and stores the new logical block number of the  task  in
the task control block.  If a task has been deleted, the system cannot
open the task file when the system is  rebooted.   In  this  case  the
system  automatically removes the task's control block from the system
task directory.

A saved  system  does  not  retain  the  physical  disk  addresses  of
installed tasks.  However, the task control block entries contain task
file identifications, rather than logical block numbers after a system
save.  Thus, the system can function normally when it is rebooted.

When the bootstrap block is written, the physical  disk-block  address
of  the system-image file is stored with it.  However, the file can be
deleted.  If  file  system  activity  occurs,  the  blocks  previously
allocated  to  the system image can be reallocated to another file.  A
subsequent bootstrap that uses the boot block can cause random data to
be loaded.

Since SAV is active when the memory-resident system image is copied to
disk,  SAV  appears  in  this image.  In fact, SAV is the program that
starts up the saved system after a disk boot.



6.6.2  Format

     SAV> [/switch1/switch2.../switchN]

where:

     switch    is one of the following:

     /DM:dev   causes the specified device to be dismounted  when  the
               save  file  has been written.  This switch does not see
               wide use.
RSX-20F UTILITIES                                            Page 6-26


     /EX       causes SAV to exit after writing the save  file.   This
               switch is the default condition.

     /MO:dev   tells SAV that the specified  device  must  be  mounted
               before  the save file is written.  This switch does not
               see wide use.

     /RH       indicates that SAV should read the home block  to  find
               the  front-end file system.  This switch is the default
               condition.  

     /WB       indicates that a boot  block  pointing  to  the  system
               image  is  to be written out to the system device.  The
               new boot block points to the file that is saved by  the
               execution  of this command.  Thus, on the next hardware
               bootstrap, this saved file  will  be  loaded.   If  the
               command  omits  the  /WB  switch,  the  file previously
               pointed to by the boot block remains in  effect;   that
               is, the file is not overwritten.

     /WS       causes SAV to write a save file.  This  switch  is  the
               default condition.



6.6.3  Example

     SAV>

The current status of the system is saved on the system disk  (because
/WS is the default switch).  System changes made by the RED utility or
another utility are also saved with the system image that is  resident
in main memory.



6.6.4  Error Messages

SAV -- *DIAG* -- CANNOT FIND SECOND DX:

       In attempting to boot the system from  floppy  disks  you  must
       have  both floppies mounted.  SAV was unable to find the second
       floppy disk it expected.


SAV -- *DIAG* -- DBn:  NOT IN PROGRAMMABLE (A/B) MODE

       SAV attempted to access disk DBn:  and found that it was not in
       the correct mode.  


SAV -- *DIAG* -- DEVICE ALREADY MOUNTED

       You have used the /MO switch in the command string to  SAV  and
       the device you requested is already mounted.


SAV -- *DIAG* -- dev NOT READY

       SAV attempted to use the specified device and found that it was
       not ready.
RSX-20F UTILITIES                                            Page 6-27


SAV -- *DIAG* -- KLINIK LINE ACTIVE IN REMOTE MODE

       SAV discovered an active KLINIK line.   You  may  receive  this
       message  when  the  KLINIK  line  was  actually  in REMOTE mode
       previous to the system load.  You may also receive it when  the
       KLINIK  parameters  were not saved due to some condition at the
       time of the crash.  In this case, SAV resets the KLINIK line to
       REMOTE  mode  by default, since it has no way to know what mode
       the KLINIK line was in without the parameters.


SAV -- *DIAG* -- KLINIK LINE ACTIVE IN USER MODE

       SAV discovered an active KLINIK line during the  initialization
       procedure.   SAV checked for saved KLINIK parameters, and found
       that the KLINIK line had been in USER mode before the crash.


SAV -- *DIAG* -- KLINIK LINE CONNECTED TO SYSTEM CONSOLE

       SAV found an active KLINIK line while bringing up  the  system.
       Either  the KLINIK line was in REMOTE mode when the system went
       down, or the KLINIK parameters were lost during the  crash  and
       SAV  has  restored  the  KLINIK line to REMOTE mode by default.
       REMOTE mode means that the KLINIK line user has the  use  of  a
       remote  CTY  (see  Appendix  D for more information on KLINIK).
       This message will immediately follow the KLINIK LINE ACTIVE  IN
       REMOTE MODE message.


SAV -- *DIAG* -- MOUNT dev ERROR nn

       SAV got an I/O error when attempting  to  mount  the  specified
       device.  See Appendix A for a list of the I/O error codes.


SAV -- *DIAG* -- NO TOPS FILE SYSTEM ON dev

       SAV could not find the file system owned by the KL's  operating
       system on the specified boot device.


SAV -- *DIAG* -- TOPS HOM BLOCK CONSISTENCY ERROR OR DBn:

       The two home blocks which are read and compared by SAV are  not
       consistent with each other.


SAV -- *DIAG* -- TOPS HOM BLOCK READ ERROR nn ON DBm:

       SAV got a read error while attempting to read and  compare  the
       home blocks.  See Appendix A for a list of the I/O error codes.


SAV -- *FATAL* -- ACP FOR dev1 NOT ON dev2

       You have used the /DM switch, and SAV was not able to find  the
       ACP it expected for device dev1 on device dev2.


SAV -- *FATAL* -- CREATE SAVE FILE (5,5) ERROR xx

       SAV attempted to create a system image file and received an I/O
       error.  See Appendix A for a list of I/O error codes.
RSX-20F UTILITIES                                            Page 6-28


SAV -- *FATAL* -- dev CANNOT BE DISMOUNTED

       You gave SAV the /DM switch and SAV was unable to dismount  the
       specified device.


SAV -- *FATAL* -- dev DISMOUNT ERROR xx

       SAV got an I/O error while attempting to dismount the specified
       device.  See Appendix A for a list of I/O error codes.  


SAV -- *FATAL* -- DEVICE dev NOT IN SYSTEM

       The specified device does not  exist  as  part  of  the  system
       resources.  


SAV -- *FATAL* -- DTE-20 #n NOT AT PRIORITY LEVEL 6

       SAV accessed DTE-20 #n and found that it was not at the correct
       priority level.  All DTE-20's should be at level 6.


SAV -- *FATAL* -- DTE-20 PROTOCOL RUNNING

       Some type of DTE-20 protocol is running.  SAV cannot run  while
       protocol of any type is in force.


SAV -- *FATAL* -- ILLEGAL DEVICE dev

       SAV does not recognize the device identifier.


SAV -- *FATAL* -- ILLEGAL MODIFIER /xx

       SAV discovered an illegal switch value:  /xx.


SAV -- *FATAL* -- KLI TASK REQUEST ERROR nn

       There was an I/O error on the request for KLINIT to  run.   See
       Appendix A for a list of the I/O error codes.


SAV -- *FATAL* -- MOUNT ERROR

       You specified the /MO switch in the SAV command string and  SAV
       was unable to mount the specified device.


SAV -- *FATAL* -- NO DTE-20

       SAV could not find the DTE-20 it expected.


SAV -- *FATAL* -- PROTOCOLS NOT RUNNING

       SAV expected to find one of the  protocols  running,  but  none
       were  there.   No  KLINIK parameters can be passed to the KL if
       there is no protocol running.
RSX-20F UTILITIES                                            Page 6-29


SAV -- *FATAL* -- SAVE FILE (5,5) NOT CONTIGUOUS

       SAV was unable to find enough contiguous  space  to  write  the
       requested save file.


SAV -- *FATAL* -- SYNTAX ERROR xx

       SAV discovered a syntax error in your  command  string,  namely
       xx.


SAV -- *FATAL* -- WRITE ERROR

       While  you  were  trying  to  boot  from  the  save  file,  SAV
       discovered that the save file was not written correctly.  



6.7  USER FILE DIRECTORY


6.7.1  Function

The UFD utility creates a User File Directory on a Files-11 volume and
enters  its name into the Master File Directory.  Before the User File
Directory can be defined, the volume must  be  mounted  with  the  MOU
utility  and  initialized  with  the INI utility.  Once the volume has
been mounted and initialized, User File Directories can  be  added  at
any time.



6.7.2  Format

     UFD>dev:[group,member][/switch][/switch]

where:

     dev:                The device containing the volume on which the
                         UFD being created will reside.

                         Default:  none;  must be specified.

     [group,member]      The owning UIC for the UFD.  The brackets are
                         required syntax.

     switch              The UFD utility accepts the following switch.

     /ALL                The /ALL switch allocates space for  the  UFD
                         and takes as an argument the number of blocks
                         to allocate.

                         Default:  /ALL:32



6.7.3  Examples

     PAR>MCR UFD
     UFD>DB2:[10,10]/ALL:900
RSX-20F UTILITIES                                            Page 6-30


6.7.4  Error Messages


UFD -- CAN'T READ MCR COMMAND BUFFER

       This message indicates  that  UFD  was  unable  to  parse  your
       command string.  


UFD -- DEVICE NOT IN SYSTEM

       UFD was unable to find the specified device on the system.

UFD -- DIRECTORY ALREADY EXISTS

       The requested UFD already exists on the volume.


UFD -- FAILED TO CREATE DIRECTORY

       No space exists on the volume, or an I/O error occurred.


UFD -- FAILED TO ENTER IN MFD

       No space exists in the MFD or on the volume, or  an  I/O  error
       occurred on the volume.


UFD -- NOT FILES-11 DEVICE

       The device specified for the UFD was not a Files-11 device, and
       therefore could not support a UFD.


UFD -- SYNTAX ERROR

       UFD found a syntax error in your command string.


UFD -- VOLUME NOT MOUNTED

       The volume was not mounted prior to the attempt to  create  the
       UFD.


UFD -- WRITE ATTRIBUTES FAILURE

       UFD encountered an error while writing the attributes of either
       the MFD or the newly created UFD.



6.8  ZAP
RSX-20F UTILITIES                                            Page 6-31


6.8.1  Function

The ZAP utility allows you to examine files on a Files-11  volume  and
to  patch  task  images  and  data files in an interactive environment
without reassembling the files.

ZAP provides the following features:

   o    Command line switches that allow access to specific words  and
        bytes  in  a  file, modify locations in a task image, list the
        disk block and address boundaries for each overlay segment  in
        a task image, and open a file in read-only mode.

   o    A set of internal registers  that  includes  eight  relocation
        registers.

   o    Single character commands  that,  in  combination  with  other
        command  line  elements,  display, open, close, and manipulate
        the values in task images and data files.


                                NOTES

               The results of ZAP are  permanent.   The
               most convenient way to use ZAP is with a
               hard-copy terminal.  Hard copy  provides
               a  record  of  the changes made with ZAP
               commands.

               Although  using  the  ZAP   utility   is
               relatively    uncomplicated,    patching
               locations into the task  image  requires
               that   you  know  how  to  use  the  map
               generated by the task builder along with
               the   listings  generated  by  MACRO-11.
               These  maps  and  listings  provide  the
               information   needed   to   access   the
               locations to be changed.





6.8.2  Invoking And Terminating ZAP

The method for invoking ZAP is as follows:

     CTRL/\ (control backslash)
     PAR>MCR ZAP

     ZAP>filespec[/sw...] <cr>
      command line

To exit from ZAP, type either of the following:

     X

     or

     CTRL/Z
RSX-20F UTILITIES                                            Page 6-32


6.8.3  ZAP Switches

ZAP switches set the mode in which ZAP  operates:   task  image  mode,
absolute  mode,  or  read-only mode.  For example, you can select task
image mode by omitting the /AB switch.  The  three  ZAP  switches  are
presented below.

     /AB       Processes the addresses  entered  in  the  ZAP  command
               lines  as  absolute  byte  addresses  within  the  file
               RSX20F.SYS (not within the  program!).   You  must  add
               2000 (octal) to the absolute address inside the code to
               compensate for the header information at the top of the
               file.

               If /AB is not specified, addresses in ZAP command lines
               refer  to  addresses  in a task image file, as shown in
               the task-builder task image map for the file.

     /LI       Displays the starting disk block and address boundaries
               for  each  overlay segment in the file in the following
               form:

                    ssssss:  aaaaaa-bbbbbb

               where:

                    ssssss:   specifies the starting block in octal

                    aaaaaa    specifies the lower address boundary  in
                              octal

                    bbbbbb    specifies the upper address boundary  in
                              octal

     /RO       Opens a file in read-only mode.  When /RO is specified,
               ZAP functions that change the contents of locations can
               be executed but the changes are  not  permanent.   When
               ZAP  exits,  the original values in the task image file
               are restored.



6.8.4  Addressing Locations in a Task Image

To make addressing a task image  more  convenient,  ZAP  provides  two
modes  of  addressing  a  task  image and a set of internal relocation
registers.  The two modes of addressing are  absolute  mode  and  task
mode.  These two modes aid in the figuring of relocation biases.

When MACRO-11 generates a relocatable object module, the base  address
of  each  program  section  in  the module is 000000.  In the assembly
listing, all locations in the program section are  shown  relative  to
this base address.

The task builder links program sections to other program  sections  by
mapping  the  relative  addresses  applied  by  the  assembler  to the
physical addresses in memory (for unmapped  systems),  or  to  virtual
memory locations (for mapped systems).

Many values within the resulting task image are biased by  a  constant
whose  value is the absolute base address of the program section after
it has been relocated.  This bias is called the  relocation  bias  for
the program section.
RSX-20F UTILITIES                                            Page 6-33


ZAP's eight relocation registers, 0R through 7R, are generally set  to
the relocation biases of the modules that will be examined.  Thus, you
can reference a location in a module by the same relative address that
appears  in  the  MACRO-11 listing.  ZAP provides two addressing modes
that simplify the calculation of relocation biases.



6.8.4.1  ZAP Addressing Modes: Absolute And Task Image - ZAP  provides
two  modes of addressing locations in a task image:  absolute mode and
task image mode.

To use ZAP in absolute mode,  enter  the  /AB  switch  with  the  file
specifier when ZAP is invoked.

In absolute mode, ZAP interprets the first address in the  file  being
changed  as  segment  1, location 000000.  All other addresses entered
are interpreted using this address as  a  base  location.   This  mode
allows  access  to  all  the  bytes in a file as well as the label and
header blocks of the task image.  However, to modify a task  image  in
absolute  mode,  the  layout  of the task image on disk must be known.
Generally, this is practical only for task image files  that  are  not
overlaid.  In absolute mode the task header is 2000 bytes.  Therefore,
to access location 0 of a  nonoverlaid  task  in  absolute  mode  open
address 2000.

In task image mode, ZAP uses the  block  number  and  relative  offset
listed  in  the  task  builder's  memory  allocation  map  to  address
locations.  This mode is useful  for  changing  locations  in  a  file
constructed  of  overlay  segments  because  the  task builder and ZAP
perform the calculations necessary to relate the task's disk structure
to its run-time memory structure.

The task builder adds blocks that contain system  information  to  the
beginning of the task image file.  The memory allocation map generated
by the task builder gives the starting block and byte  offset  of  the
file to be changed.

Task image mode is the default mode for ZAP.  You may also put ZAP  in
task  image  mode  by entering the /LI switch to display block/segment
information.  This puts ZAP in task image mode after  the  information
is displayed.

Locations in a file can be examined in either absolute  mode  or  task
image  mode  by using the /RO switch.  This switch allows locations to
be opened and the contents temporarily changed.  When ZAP  exits,  the
original file remains intact.



6.8.4.2  Addressing Locations In Task Image Mode - In task image mode,
ZAP  uses  the block number and byte offset listed in the task builder
memory allocations map and addresses that MACRO-11 prints in an object
module  listing  to  access a location in a task image.  The following
excerpts from a MACRO-11 listing and a task  image  memory  allocation
map  generated  by  the task builder show how to use ZAP in task image
mode.
RSX-20F UTILITIES                                            Page 6-34


The following lines represent assembled instructions from  a  MACRO-11
source listing:

     71 000574  032767  000000G 000000G    BIT  #FE.MUP,$FMASK
     72 000602  001002                     BNE  2$
     73 000604  000167  000406             JMP  30$
     74 000610  061700  000000G        2$  MOV  $TKTCB,RO
     75 000614  016000  000000G            MOV  T.UCB(RO),RO
     76 000620  010067  177534             MOV  RO,UCB

The following excerpt from the  task  builder  memory  allocation  map
gives  the  information  needed to address locations in the task image
file as they appear in the above MACRO-11 listing:

     R/W MEM   LIMITS: 120000 123023 003024 01556.
     DISK BLK  LIMITS: 000002 000005 000004 00004.

     MEMORY ALLOCATION SYNOPSIS:

     SECTION
     . BLK.:(RW,I,LCL,REL,CON0  120232 002546 01382.
                                120232 002244 01188.

     (TITLE: MYFILE, IDENT: 01, FILE: MCR.OLD;1)

                                122476 000064 00052.
     $$RESL:(RE,I,LCL,REL,CON)  123000 000024 00020.

     (TITLE: FMTDV, IDNET: 01, FILE: MCR.OLB;1)

With the information in the memory allocation map above, the user  can
determine  the  block  number and byte offset for the beginning of the
file to be changed.  The disk-block-limits line lists block 2  as  the
block  where  the  file  begins.  The memory allocation synopsis lists
byte offset 120232 as the beginning of the file  MYFILE.   To  address
location  574  in the MACRO-11 listing in the task image mode, specify
the command:

     002:120232+574/<cr>

ZAP responds by opening the location and displaying its contents:

     002:121026/032767



6.8.5  The ZAP Command Line

ZAP commands allow you to examine and modify the contents of locations
in  a  task  image  file.   Command lines comprise combinations of the
following elements:

   o    Commands

   o    Internal registers

   o    Arithmetic operators

   o    Command line element separators

   o    The current location symbol

   o    Addresses of location in storage
RSX-20F UTILITIES                                            Page 6-35


These command elements can be combined  with  each  other  to  perform
multiple  functions.   The functions of a given command line depend on
the positional relationship of one command line element to  the  rest.
In  other  words, the function specified on a ZAP command line depends
on both the elements specified and on the form in which those elements
are specified.

ZAP commands take effect only after  a  carriage  return  is  pressed.
Corrections to the command line can be made prior to a carriage return
by using the delete key.   The  line  currently  being  typed  can  be
deleted using the CTRL/U.

ZAP commands are grouped into three categories as follows:

   o    Open/close location commands

   o    General purpose commands

   o    Carriage return command



6.8.5.1  Open/Close Location Commands - Open/close  location  commands
are  nonalphanumeric  ASCII  characters that direct ZAP to perform two
general types of operations as follows:

   o    Open a location, display its contents, and store the  contents
        in the quantity register.

   o    Close  the  open  location  after  optionally  modifying   the
        contents and open another location as specified by a command.

                            ZAP Open/Close Commands 

          /         Open a location, display its  contents  in  octal,
                    and  store  the  contents  of  the location in the
                    quantity register (Q).  If the location is odd, it
                    is opened as a byte.

          "         Open a  location,  display  the  contents  of  the
                    location  as  two  ASCII characters, and store the
                    contents of the location in the quantity  register
                    (Q).  

          %         Open a  location,  display  the  contents  of  the
                    location   in   RADIX-50  format,  and  store  the
                    contents of the location in the quantity  register
                    (Q).

          \         Open a location as a byte, display the contents of
                    the  location  in octal, and store the contents of
                    the location in the quantity register (Q).

          '         Open a location, display the contents as one ASCII
                    character,  and store the contents of the location
                    in the quantity register (Q).

          -         Close the currently open location as modified, use
                    the contents of the location as an offset from the
                    current location value, and open that location.

          @         Close the currently open location as modified, use
                    the  contents  of  the  location  as  an  absolute
                    address, and open that location.
RSX-20F UTILITIES                                            Page 6-36


          >         Close the currently  open  location  as  modified,
                    interpret  the  low-order  byte of the location as
                    the relative branch offset, and  open  the  target
                    location of the branch.

          <         Close the currently  open  location  as  modified,
                    return  to the location from which the last series
                    of _, @, or > commands began, and  open  the  next
                    sequential location.



6.8.5.2  General Purpose Commands - ZAP provides six  single-character
general-purpose  commands.   Some  can  be entered on the command line
with no other parameters;  others must  be  entered  with  parameters.
The following table summarizes the commands and their functions.

          X         Exit from ZAP;  return to MCR.  

          K         Compute  the  offset  between  the  value  of  the
                    nearest   (less   than  or  equal  to)  relocation
                    register and the currently open location,  display
                    the  offset  value,  and  store it in the quantity
                    register.

          O         Display the jump and branch displacements from the
                    current locations to a target location.  

          =         Display in octal the value of  the  expression  to
                    the left of the equal sign.  

          R         Set the value of a relocation register.  



6.8.5.3  Using The Carriage Return  - The carriage return  causes  ZAP
to  close  the  current location as modified.  Two sequential carriage
returns open the next sequential location in the file.



6.8.5.4  ZAP Internal Registers - ZAP  internal  registers  are  fixed
storage  locations that are used as registers.  The internal registers
contain values set by ZAP and the user to make  it  easier  to  modify
locations  in  a  task  image.   ZAP  provides  the following internal
registers:

     0R - 7R        Relocation registers 0 through 7.  These registers
                    can  be  loaded  with  the base address of modules
                    relocated by the task  builder.   They  provide  a
                    convenient  means  for  indexing  into a module to
                    change the contents of locations in the modules.

     C              The  constant  register.   Set  this  register  to
                    contain  a 16 bit value, which can be specified as
                    an expression.  

     F              The format register.  This register  controls  the
                    format  of the displayed address.  If the value of
                    the F register is 0, ZAP  displays  the  addresses
                    relative to the largest value of any of relocation
RSX-20F UTILITIES                                            Page 6-37


                    register whose value is less than or equal to  the
                    address  to  be  displayed.  If the value of the F
                    register is nonzero,  ZAP  displays  addresses  in
                    absolute format.  Zero is the initial value of the
                    F register.

     Q              The quantity register.  The value in the  quantity
                    register  is  set by ZAP to contain the last value
                    displayed on the terminal.

To access the contents of a register, specify a dollar sign ($) before
the register when you enter a command, as shown below:  

     $C/

This example directs ZAP to  display  the  contents  of  the  constant
register.



6.8.5.5  ZAP Arithmetic Operators - The   arithmetic   operators   are
single-character  command-line  elements  that  define  an  arithmetic
operation in the command-line expression.  In general,  ZAP  evaluates
such  expressions as addresses.  ZAP provides the following arithmetic
operators:

     +         Add a value to another value.

     -         Subtract a value from another value.

     *         Multiply a value by 50 (octal) and add  it  to  another
               value.  Used to form a RADIX-50 string.

                    A*B means A x 50 (base 8) + B.

These operators are used in expressions on  the  command  lines.   For
example,  rather  than  adding by hand all the displacements listed in
the task builder memory allocation map, the following  notation  could
be used.

     002:120000+170/

This method for calculating such a displacement  is  faster  and  more
accurate than calculating it by hand.



6.8.5.6  ZAP Command Line Element Separators - ZAP provides separators
to   delimit   one   command  line-element  from  another.   Different
separators are required for the type of ZAP  command  being  executed.
ZAP uses the following separators:

     ,         Separate  a  relocation  register  specification   from
               another command line element.

     ;         Separate  an  address   from   an   internal   register
               specification.   (used  in  expressions that are values
               for relocation registers)

     :         Separate a block number base value from an offset  into
               the  block.  (used in most references to locations in a
               file)
RSX-20F UTILITIES                                            Page 6-38


6.8.5.7  The Current Location Symbol - In expressions that evaluate to
an  address  on  a  ZAP command line, a period (.) represents the last
open location.



6.8.5.8  Formats For Specifying Locations In ZAP Command Lines - There
are  three  formats  for  specifying  locations in a ZAP command line.
Each provides a means of indexing into the task image  file,  but  the
methods of indexing differ.  The three formats are:

     o    Byte offset format

     o    Block number/byte offset format

     o    Relocation register, byte offset format

Byte Offset Format

The byte offset format specifies a location in the task image file  as
follows:

     location

If  ZAP  is  being  used  in  absolute  mode,  ZAP   interprets   this
specification  as  a byte offset from block 1, location 00000.  If ZAP
is being used in task image mode, ZAP interprets this specification as
a byte offset from block 0, location 000000.

This format is useful only when ZAP is being used  in  absolute  mode.
For example, the following ZAP command opens absolute location 664:

     664/


Block Number/Byte Offset Format

Block number/byte offset format allows you to specify  a  byte  offset
from a specific block.  Enter this format as follows:

     blocknum:byteoffset

This form for addressing locations can be used regardless  of  whether
/AB has been used with the ZAP file specification.

The task builder prints a map that gives information  on  the  overlay
segments.  For example:

 R/W MEM   LIMITS:  120000 123023 033024 01556.
 DISK BLK  LIMITS:  000002 000005 000004 00004.

 MEMORY ALLOCATION SYNOPSIS:

 SECTION                                         TITLE  INDENT  FILE

 .BLK.:(RW,I,LCL,REL,CON)  120232 002546 01382.
                            120232 002244 01188. MYFILE  01  MCR.OLB;1
 122476 000064 00052.                            FMTDV   01  MCR.OLB;1
 $$RESL:(RW,I,LCL,REL,CON)  123000 000024 00020.

In task image mode, ZAP allows you to enter the block number and  byte
offset  displayed  in the task builder memory allocation map.  In this
case, the disk-block-limits line shows MYFILE beginning  on  block  2;
the  memory  allocation  synopsis  shows  that MYFILE has an offset of
120232.
RSX-20F UTILITIES                                            Page 6-39


Relocation Register, Byte Offset Format

This format allows you to load a relocation register with the value of
a  location  to be used as a relocation bias.  This mode of addressing
locations in a task image is as follows:

     relocreg,byteoffset

Specify relocreg in the  form  nR,  where  n  is  the  number  of  the
relocation register.  Byte offset can then be addressed from the value
loaded in the relocation register as follows:

     2:12032;3R     Set the value of relocation register 3.
     3,574/         Open the location  574  bytes  offset  from  block
                    (segment) 3, location 12032.



6.8.6  Using ZAP Open/Close Commands

This section explains how to use ZAP open/close commands.  It contains
information  on  how  to  open  locations in a task image file, modify
those locations, and close the locations.



6.8.6.1  Opening Locations In A Task Image File - Any of the five  ZAP
commands  (/, ", %, \, or ') can open a location in a task image file.
Once the location is open, its contents can be changed.

The value ZAP displays depends on the format in which  the  value  was
stored.  For example, the word value 001002 takes the following binary
form:

     00000010000010

If the location is opened in byte format, the value contained in  both
locations is 002.

Once a location is opened in a given format, ZAP continues to  display
any  subsequently  opened locations in that format until the format is
changed by  entering  another  special-character  open  command.   For
example,  if  the  percent  (%)  command  is  used,  the  contents are
displayed in RADIX-50 format.  If  consecutive  carriage  returns  are
entered, consecutive locations will be in RADIX-50 format.



6.8.6.2  Changing The Contents Of A Location - When  a   location   is
opened  using a special-character command, the contents can be changed
by entering the new value and a carriage return.   The  example  below
shows  how  to  open  a  location,  change the location, and close the
location.

     002:120000/ 000000       Display the contents of a word location.

      44444                   Change the contents of the  location  by
                              entering  a  value (44444) and close the
                              location by a carriage return.

     /                        Display the new contents of the location
                              by  entering  a slash (/) and a carriage
                              return.

     002:120000/ 44444        
RSX-20F UTILITIES                                            Page 6-40


When ZAP displays the contents of the opened location, the  format  in
which  the  value  is  displayed  is  indicated by the special command
character immediately following the address portion of  the  location.
In  this example the slash (/) indicates that word locations are being
opened and the contents displayed in octal.



6.8.6.3  Closing Task Image Locations - There     are     five     ZAP
special-character  commands  for  closing  a location in a task image.
The carriage return also closes a location.   All  of  the  ZAP  close
commands perform the following three functions:

     o    Close the current location.

     o    Direct ZAP  to  another  location  (such  as  the  preceding
          location or a location referenced by the current location).

     o    Open the new location.

The examples below show how these commands work.

Close a Location -- Open the Preceding Location

The circumflex (^) command is used to close the current  location,  to
direct ZAP to the preceding location, and to open that location.

     002:120100/
     002:120100/ 000000

     002:120102/ 000111

     002:120104/ 000222

     002:120106/ 000333
     ^

     002:120104/ 000222

The carriage return is used to close the first  three  open  locations
and open the next location.  The circumflex (^) closes location 120106
and directs ZAP to open the preceding location, 120104.

Close a Location -- Open a Location at an  Offset  from  the  Location
Counter

The underscore (_) command is used as follows:

     o    Closes the current location

     o    Directs ZAP to use the contents of this just-closed location
          as an offset

     o    Adds this offset to the next sequential location

     o    Opens that location
RSX-20F UTILITIES                                            Page 6-41


The following example illustrates the use of the underscore command:

     002:120100/
     002:120100/ 000000

     002:120102/ 000121

     002:120104/ 000222

     002:120106/ 000022
     _
     002:120132/ 234102

The first locations are closed by carriage returns.   Location  120106
is  closed  using the underscore command, which directs ZAP to use the
contents of the just-closed location (22) as an  offset  to  the  next
sequential location (120110), and to open that location (120132).

Close a Location -- Open a Location  Offset  from  the  Value  of  the
Just-Closed Location

The @ command is used to close a location, to direct ZAP  to  use  the
contents  of  the  just-closed  location  as the absolute address of a
location,  and  to  open  that  location.    The   following   example
illustrates the use of the @ command:

     002:120100/
     002:120100/ 005000

     002:120102/ 005301

     002:120104/ 120114
     @
     002:120114/ 124104

The first locations are closed using the  carriage  return.   Location
120104  is  closed  using  the @ command, which directs ZAP to use the
value in that location (120114) as the absolute address  of  the  next
location to open, and to open that location (8120114).

Close a Location -- Open the Target Location of a Branch

The greater-than (>) command is used to close the current location, to
direct  ZAP to use the low-order byte of the just closed location as a
branch offset to the  next  sequential  location,  and  to  open  that
location.  The example below illustrates the use of the > command:

     002:120100/
     002:120100/ 005000

     002:120100/ 005301

     002:120104/ 001020
     >
     002:120146/ 052712

The first locations are closed using the  carriage  return.   Location
120104  is  closed  using the > command.  ZAP takes the low-order byte
(020) of this just-closed location and uses it as a branch  offset  to
the  next  sequential  location,  and  opens that location.  Since the
low-order byte refers to a word and the machine  is  byte-addressable,
the  offset  value  (020)  is  multiplied  by  2 and added to the next
sequential address (120106).  This yields  the  new  address  (120146)
that ZAP then opens.
RSX-20F UTILITIES                                            Page 6-42


Close a Location -- Open the Location  Where  the  Current  Series  of
Commands Began

The less-than (<) command is  used  to  close  the  current  location,
direct ZAP to the next sequential location from the location where the
series of _, @, or > commands was  first  issued,  and  to  open  that
location.  The example below illustrates the use of the < command.

     002:120002/LI
     002:120002/000212

     002:120004/000002
     >
     002:120012/004001
     >
     002:120016/120412
     <
     002:120006/140236

The < command closes location (120016), returns to the location  where
the  sequence  of  >  commands  began  (120004),  and  opens  the next
sequential location (120006).



6.8.7  Using Zap General Purpose Commands

This section describes the functions of the three ZAP general  purpose
commands K, O, and =.

6.8.7.1 The K Command:  Compute Offset and Store It  in  the  Quantity
Register - The  K  command  is  used to compute the offset between the
value of the nearest (less than or equal to) relocation  register  and
the currently open location, to display the offset value, and to store
it in the quantity register.

K can be entered in the following formats:

     K         Computes the displacement in bytes from the address  of
               the  last open location and the value of the relocation
               register whose contents are closest to  but  less  than
               the value of that address.

     nK        Calculates the displacement in bytes from the last open
               location and relocation register n.

     a;nK      Calculates  the  displacement  between  address  a  and
               relocation register n.

The following example illustrates the use of the K command:

       2:1172,0R
       2:1232;1R
       2:1202/
     002:000020/000111
       K
      =0,000010
       0,100;1K
      01,000040
RSX-20F UTILITIES                                            Page 6-43


6.8.7.2 The O Command:  Display Branch and Jump Displacement from  the
Current  Location - The  O  command  is used to display the branch and
jump displacements from the current location to a target location.   A
branch   displacement   is  the  low-order  eight  bits  of  a  branch
instruction which, when executed, would branch to the target location.
A  jump  displacement  is the offset between the open location and the
target location.  This displacement is used in the second  word  of  a
jump  instruction  when  such an instruction uses relative addressing.
The O command can be entered in the following formats:

     aO        Displays the jump and  branch  displacements  from  the
               current location to the target of the branch.

     a;KO      Displays  the  jump  and  branch   displacements   from
               location a to target location K.

The following example illustrates the use of the O command:

      2:1172;0R
      0,101
     002:000010/000005
      O,200
      00006>000003
      O,30;2:12020
      177756>17777767



6.8.7.1  The = Command: Display The Value Of An Expression - The equal
sign  (=)  command  is  used  to  display  (in  octal) the value of an
expression to the left of the equal sign.

The format for specifying the equal sign command is as follows:

     expression=

The following example illustrates the use of the equal sign command:

      2:30/
     002:000030/000000
      .+177756=
     000006



6.8.8   ZAP Error Messages

ZAP -- ADDRESS NOT WITHIN SEGMENT

       The address  specified  was  not  within  the  overlay  segment
       specified.


ZAP -- CANNOT BE USED IN BYTE MODE

       The commands @, #, and > cannot be used when a location is open
       as a byte.
RSX-20F UTILITIES                                            Page 6-44


ZAP -- ERROR IN FILE SPECIFICATION

       The file specification was entered incorrectly.


ZAP -- ERROR ON COMMAND INPUT

       An I/O error occurred while a command  was  being  read;   this
       could be a hardware error.


ZAP -- I/O ERROR ON TASK IMAGE FILE

       An I/O error occurred while reading  or  writing  to  the  file
       being modified;  this could be a hardware error.


ZAP -- NO OPEN LOCATION

       An attempt was made to modify data in a closed location.


ZAP -- NO SUCH INTERNAL REGISTER

       The character  following  the  dollar  sign  was  not  a  valid
       specification for an internal register.


ZAP -- NO SUCH RELOCATION REGISTER

       An invalid number for a relocation register was specified.


ZAP -- NO SUCH SEGMENT

       The starting disk block was not the start of any segment in the
       task image.


ZAP -- NOT A TASK IMAGE OR NO TASK HEADER

       An error  occurred  during  the  construction  of  the  segment
       description  tables.  The problem could be that the file is not
       a task image, /AB was not  specified,  or  the  task  image  is
       defective.


ZAP -- NOT IMPLEMENTED

       The command entered is recognized but not implemented by ZAP.


ZAP -- OPEN IMAGE FAILURE FOR TASK IMAGE FILE

       The file to be modified could not be opened.  Possibly the file
       does  not exist, the file is locked, the device is not mounted,
       or the file is protected from write access.
RSX-20F UTILITIES                                            Page 6-45


ZAP -- SEGMENT TABLE OVERFLOW

       ZAP does not have enough room in its partition to  construct  a
       segment table.


ZAP -- TOO MANY ARGUMENTS

       More arguments were entered on a command line than are allowed.


ZAP -- UNRECOGNIZED COMMAND

       ZAP did not recognize the command as entered.











                              CHAPTER 7

                           RSX-20F MONITOR



Before examining the internals of the RSX-20F monitor, let  us  recall
the functions of an operating system.  These functions are:

     o    To provide service to the I/O devices in the form of  device
          drivers

     o    To control the scheduling of the  device  drivers  via  some
          monitor call and queue mechanism

     o    To control the scheduling of tasks

     o    To provide common routines that any program can use

With these functions in mind, we will proceed to discuss the structure
of the RSX-20F operating system.  This chapter will detail the RSX-20F
Executive.  It will then describe RSX-20F tasks and the scheduling  of
these  tasks,  along  with  the  actions  performed  by  system traps.
Finally, the terminal service routines will be presented.



7.1  RSX-20F EXECUTIVE

RSX-20F differs from TOPS-10 and TOPS-20 in that it is not a paging or
swapping  system.   All  of the RSX-20F Executive is in memory all the
time.  RSX-20F also differs from TOPS-10 and TOPS-20 in that  it  uses
the  same location in memory all the time, instead of bringing in only
part of the monitor and  placing  it  wherever  space  can  be  found.
RSX-20F  does use overlays, but overlays are handled by the individual
tasks, rather than by the Executive.  The only tasks that use overlays
are  tasks such as the PARSER or KLINIT that are too large to fit into
the GEN partition.
RSX-20F MONITOR                                               Page 7-2


The components of the RSX-20F Executive are shown in Figure 7-1.   The
location  .EXEND  always points to the bottom of Lower Core, while the
location .EXEND+2 points to the bottom of the Free Pool.   Using  this
information  you  can  find the boundaries of the Executive.  The file
RSX20F.MAP contains a current map of  the  Executive  along  with  the
correct addresses at which to find selected portions of it.


  +-----------------------------------------------------+ 0000
  !              LC - Lower Core                        !
  ! Contains all vectors to handle interrupts and traps !
  !-----------------------------------------------------!
  !             SCH - The Scheduler                     !
  !   Handles trap instructions and scheduling of tasks !
  !-----------------------------------------------------!
  !       BOOT - The Boot Protocol Handler              !
  !   Handles communications with the KL when RSX-20F   !
  !             is booting the KL                       !
  !-----------------------------------------------------!
  !             PF - Power Fail                         !
  !     Contains code to handle power-fail conditions   !
  !-----------------------------------------------------!
  !       DMDTE - DTE Directive Service                 !
  !    Handles all directives concerned with the DTE    !
  !-----------------------------------------------------!
  !       DMASS - Assign LUN Directive                  !
  !     Assigns system Logical Unit Numbers (LUNs)      !
  !               to devices                            !
  !-----------------------------------------------------!
  !     DMGLI - LUN Information Directive               !
  !        Gives information about the                  !
  !     Logical Unit Numbers that have been assigned    !
  !-----------------------------------------------------!
  !        DMGTP - Get Time Parameters                  !
  !        Gets information about time                  !
  !-----------------------------------------------------!
  !       DMSED - Significant Event Directive           !
  !       Handles the setting and clearing of           !
  !           significant event flags                   !
  !-----------------------------------------------------!
  !         DMMKT - Mark Time Directive                 !
  !  Contains code to mark time or to keep a program in !
  !   a wait condition until a significant event occurs !
  !-----------------------------------------------------!
  !        DMCMT - Cancel Mark Time Directive           !
  !    Contains code to cancel a mark time condition    !
  !-----------------------------------------------------!
  !      DMSUS - Suspend and Resume Directives          !
  !    Suspends or resumes execution of issuing task    !
  !-----------------------------------------------------!
  !             DMEXT - Exit Directive                  !
  !       Terminates execution of issuing task          !
  !-----------------------------------------------------!
  !             DMQIO - QIO directive                   !
  !      Places an I/O request for a device into        !
  !             the queue for that device               !
  !-----------------------------------------------------!
  !        DMSAR - Send and Receive Directives          !
  !     Sends data to and receives data from a task     !
  !-----------------------------------------------------!


                    Figure 7-1  RSX-20F Executive
RSX-20F MONITOR                                               Page 7-3


  !-----------------------------------------------------!
  !          DMSDV - Specify SST Table Directive        !
  !     Records synchronous system trap entry points    !
  !           (for debugging purposes only)             !
  !-----------------------------------------------------!
  !        DMAST - Specify AST Service Directive        !
  !    Records the service routine to be executed on a  !
  !             power fail for a device                 !
  !-----------------------------------------------------!
  !           DMREQ - Run a Task Directive              !
  !         Makes a task active and runnable            !
  !-----------------------------------------------------!
  !       DMGPP - Get Task Parameters Directive         !
  !     Gets information about a task and puts it       !
  !      into a 16-word block for a task to read        !
  !-----------------------------------------------------!
  !     DMGMP - Get Partition Parameters Directive      !
  !     Gets information about a partition and puts it  !
  !     into a 16-word block for a task to read         !
  !-----------------------------------------------------!
  !        RUN - Clock Tick Recognition Service         !
  !        Checks time dependent flags at each          !
  !                 clock interrupt                     !
  !-----------------------------------------------------!
  !                     QPRDTE                          !
  !      DTE-20 device driver and queued protocol       !
  !-----------------------------------------------------!
  !                     TTYDRR                          !
  !             Terminal device driver                  !
  !-----------------------------------------------------!
  !                     SCOMM                           !
  !           RSX-20F Executive Data Base               !
  !-----------------------------------------------------!
  !                     ARITH                           !
  !         Miscellaneous arithmetic functions          !
  !             (multiply, divide, etc)                 !
  !-----------------------------------------------------!
  !                     DBDRV                           !
  !           Dual-ported disk device driver            !
  !-----------------------------------------------------!
  !             DTDRV           DXDRV                   !
  ! DECtape device driver (or) Floppy disk device driver!
  !           (TOPS-10)       (TOPS-20)                 !
  !-----------------------------------------------------!
  !                     FEDRV                           !
  !             Pseudo FE: device driver                !
  !-----------------------------------------------------!
  !                     LPDRV                           !
  !           Line-printer device driver                !
  !-----------------------------------------------------!
  !                     CRDRV                           !
  !           Card-reader device driver                 !
  !-----------------------------------------------------!       
  !                     INSTAL                          !
  !        Task that installs a task into the           !
  !                 GEN partition                       !
  !-----------------------------------------------------!


                Figure 7-1  RSX-20F Executive (Cont.)
RSX-20F MONITOR                                               Page 7-4


  !-----------------------------------------------------! 70000
  !                     .FREPL                          !
  !                    Free pool                        ! 75777
  !-----------------------------------------------------! 76000
  !                     .BGBUF                          !
  !                   Big buffer                        ! 77777
  !-----------------------------------------------------! 100000
  !                       GEN                           !
  !                 General partition                   ! 145377
  !-----------------------------------------------------! 145000
  !                     F11TPD                          !
  !                  Files-11 area                      ! 157777
  !-----------------------------------------------------! 160000
  !                     I/O Page                        !
  !                 I/O address area                    ! 177777
  +-----------------------------------------------------+
  
                 Figure 7-1 RSX-20F Executive (Cont.)


The bulk of the RSX-20F Executive is taken up by the directive service
routines  and  the  device drivers.  The scheduler is small and not as
involved as the scheduler in TOPS-20  or  TOPS-10  because  there  are
fewer  tasks  to  schedule  and  they  run  quickly.   (Scheduling  is
discussed in Section 7.2.) A representation of the  entire  memory  is
shown  in Figure 7-2.  The RSX-20F Executive takes up memory locations
000000 to 070000.  The addresses below 070000 are not fixed;   consult
the  file  RSX20F.MAP  to find the actual addresses for the version of
RSX-20F you have.  Addresses above 070000 are fixed as pictured above.
The area labeled .FREPL is a Free Pool of space for general use by the
Executive.  The TTY thread lists, task  information,  and  LPT  thread
lists  are  stored in the Free Pool.  The area labeled .BGBUF is a big
buffer used to store LPT RAM data or task information when a  task  is
being  installed.   The  GEN  partition  is  where the RSX-20F utility
programs are executed.  It is sometimes referred to as the user  area.
The  F11TPD  partition  is  a  system  partition and usually hosts the
Files-11 Ancillary Control Processor (F11ACP).  Other tasks that  also
use  this  partition  are SETSPD, KLRING, KLDISC, and MIDNIT.  The I/O
page (also referred to as the external page) resides in  upper  memory
and contains the input and output device registers.

With the aid of the Task  Builder  map  for  RSX-20F  and  the  PDP-11
Peripherals  Handbook  it is possible to determine the contents of any
location in memory.  This data can be useful  when  using  the  switch
registers  to look at a crashed system.  Not only are the locations of
the hardware registers known but also many key software locations  can
be examined.
RSX-20F MONITOR                                               Page 7-5


                +-----------------------------+ 177776
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                !           I/O PAGE          !
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                !-----------------------------! 160000
                !                             !
                !            F11TPD           !
                !                             !
                !-----------------------------! 145400
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                !        GEN PARTITION        !
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                !-----------------------------! 100000
                !            .BGBUF           !
                !-----------------------------! 076000
                !            .FREPL           !
                !-----------------------------! 070000
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                !         RSX-20F EXEC        !
                !                             !
                !                             !
                !                             !
                !                             !
                !                             !
                +-----------------------------+ 000000


                  Figure 7-2  RSX-20F Memory Layout
RSX-20F MONITOR                                               Page 7-6


7.2  TASKS AND SCHEDULING

The tasks that run in the front end are either  part  of  the  RSX-20F
Executive  or  are  utility programs.  Executive tasks are resident in
memory while the utilities are brought in from auxiliaries storage  as
needed.  The following parts of the Executive are considered tasks and
must be scheduled:

     DTEDRV       DTE device driver
     FEDRV        FE device driver
     DBDRV        RP04 device driver
     DXDRV        Floppy disk device driver
     DTDRV        DECtape driver
     TTYDRV       Terminal device driver
     LPTDRV       LPT device driver
     CDRDRV       Card-reader device driver
     F11ACP       Files-11 Ancillary Control Processor
     QPRDTE       Queued Protocol
     INSTAL       Installs task into GEN partition
     <optional>   Task chosen to run in GEN partition
     NULL         Null task

Notice that it is a task (INSTAL) that installs the task  in  the  GEN
partition.  The Executive has a system partition for its own use.  

F11ACP stands for Files-11 Ancillary Control Processor.  An  Ancillary
Control Processor (ACP) is a privileged task that extends the function
of the Executive.  F11ACP  receives  and  processes  file-related  I/O
requests on behalf of the Executive.

RSX-20F keeps several lists about tasks so  that  it  knows  what  the
tasks  are  doing.   The  System Task Directory (STD) is a list of all
tasks installed into the system.  Each task on the list has a  15-word
block (referred to as an STD node) that contains the information shown
in Figure 7-3.
RSX-20F MONITOR                                               Page 7-7


+-------------------------------------------------------+
!                       Task Name                       !  0 S.TN
!                 (6 char in RADIX-50)                  !
!-------------------------------------------------------!
!            Default Task Partition Address             !  4 S.TD
!-------------------------------------------------------!
!                      Flags Word                       !  6 S.FW
!-------------------------------------------------------!
!   System Disk Indicator   !     Default Priority      ! 10 S.DI/S.DP
!-------------------------------------------------------!
!         1/64th of Base Address of Load Image          ! 12 S.BA
!-------------------------------------------------------!
!                  Size of Load Image                   ! 14 S.LZ
!-------------------------------------------------------!
!                   Maximum Task Size                   ! 16 S.TZ
!-------------------------------------------------------!
!                  Initial PC of Task                   ! 20 S.PC
!-------------------------------------------------------!
!             Initial Stack Pointer of Task             ! 22 S.SP
!-------------------------------------------------------!
!        Send and Request Queue Forward Pointer         ! 24 S.RF
!-------------------------------------------------------!
!        Send and Request Queue Backward Pointer        ! 26 S.RB
!-------------------------------------------------------!
!               SST Vector Table Address                ! 30 S.SS
!-------------------------------------------------------!
!             Load Image First Block Number             ! 32 S.DL
!                        (32 bits)                      !
+-------------------------------------------------------+


Task Flags (Bytes 6 and 7)

----------

SF.TA==000001   Bit  0 - Set when task is active
SF.FX==000002   Bit  1 - Set when task is fixed in memory
SF.EX==000004   Bit  2 - Set when task to be removed on exit
SF.IR==040000   Bit 14 - Set when install is requested
SF.ST==100000   Bit 15 - Set when task is system task


             Figure 7-3  System Task Directory (STD) Node


The 15-word blocks in the STD are pointed to by entries in  the  table
at  location .STDTB.  This table has an entry for every installed task
in the system.

RSX-20F keeps another list of those tasks wanting to run.   This  list
is called the Active Task List (ATL).  The ATL is a doubly linked list
of nodes (entries) for active tasks that  have  memory  allocated  for
their  execution.  The list is in priority order.  Tasks with an entry
in the ATL are either in memory or are being loaded  into  memory.   A
node,  in  RSX-20F,  is a block of data that concerns a task.  "Doubly
linked" means that each node is linked to both the previous  node  and
the  following  node.   The  ATL nodes have the format shown in Figure
7-4.
RSX-20F MONITOR                                               Page 7-8


+-------------------------------------------------------+
!                    Forward Pointer                    !  0
!-------------------------------------------------------!
!                   Backward Pointer                    !  2
!-------------------------------------------------------!
! SP of running task when this task is not current task !  4 A.SP
!-------------------------------------------------------!
!        The task's run partition (TPD address)         !  6 A.PD
!-------------------------------------------------------!
!         (null)            !   Task's Run Priority     ! 10     /A.RP
!-------------------------------------------------------!
!         1/64th of real address of load image          ! 12 A.HA
!-------------------------------------------------------!
!      Task Flags byte      !        Task Status        ! 14 A.FB/A.TS
!-------------------------------------------------------!
!       System Task Directory (STD) entry address       ! 16 A.TD
!-------------------------------------------------------!
!            Task's Significant Event Flags             ! 20 A.EF
!                      (32 bits)                        !
!-------------------------------------------------------!
!               Task's Event Flags Masks                ! 24 A.FM
!                      (64 bits)                        ! 
!                                                       ! 
!-------------------------------------------------------!
!              Power Fail AST Trap Address              ! 34 A.PF
+-------------------------------------------------------+


Status Bits (Byte 14)

-----------

TS.LRQ==02     Bit 1 - Task load request queued
TS.TKN==04     Bit 2 - Task waiting for termination notice
TS.LRF==06     Task load request failed
TS.RUN==10     Task is running
TS.SUS==12     Task is suspended
TS.WF0==14     Task is waiting for an event 1-14
TS.WF1==16     Task is waiting for an event 17-32
TS.WF2==20     Task is waiting for an event 33-48
TS.WF3==22     Task is waiting for an event 49-64
TS.WF4==24     Task is waiting for an event flag 1-64
TS.EXT==26     Task exited


Flag Bits (Byte 15)

---------

AF.PP==200     Bit 7 set when task is primary protocol task


               Figure 7-4  Active Task List (ATL) Node


When you are looking at dumps of RSX-20F, you can find the location of
the ATL node of the current task by examining the location .CRTSK.

Installing a task into the GEN partition consists of reading  it  into
memory  from  the  system file area, putting the task into the STD and
ATL, and setting the appropriate flags.  The STD and ATL  entries  are
located in the Executive Data Base.
RSX-20F MONITOR                                               Page 7-9


One of the tasks in the Active Task List is the Null Task.   The  Null
Task  is  the  task  that runs when no other task wants to run (a very
quiet system) or no other task can run (tasks are blocked waiting  for
pending I/O).

Scheduling for all tasks is by a priority  system.   When  a  task  is
installed  it  has a priority that is reflected in its position in the
ATL.  The task with the highest priority goes first in the  list,  the
next  highest  goes  second, and so on.  Scheduling occurs when a task
has declared itself waiting for some significant event  to  occur,  or
when  a directive service routine exits.  Two separate entry points to
the ATL scan routine provide for these  two  situations.   Control  is
passed to the first, ASXE1, when a significant event is declared.  The
ATL is scanned from the  beginning  to  the  end  to  find  the  first
runnable  job.   Control  is  passed to the second entry point, ASXE2,
when a directive service routine exits.  In this case,  one  of  three
things can happen:

     o    Control  can  be  returned  to  the  task  that  issued  the
          directive.

     o    The ATL can be scanned for the next runnable task  beginning
          with the task that issued the directive down the ATL through
          the lower priority tasks.

     o    The ATL can be scanned from the beginning.



7.3  SYSTEM TRAPS

A trap is a CPU-initiated interrupt that  is  automatically  generated
when  a  predetermined condition is detected.  Two vector locations in
low memory are dedicated for each trap  type.   The  vector  locations
contain  the  PC  and  PS for the trap service routine.  When the trap
occurs, the current PC and PS are put on the stack and the contents of
two vector locations are loaded as the new PC and PS.  Traps can occur
as the result of the following conditions:

     Location       Trap

        004         CPU errors
        010         Illegal and reserved instructions
        014         BPT
        020         IOT
        024         Power Fail
        030         EMT
        034         TRAP
        114         MPE

Traps can be either asynchronous or synchronous.  An asynchronous trap
occurs as the result of an external event such as the completion of an
I/O request.  In this case, the task  will  be  doing  other  work  or
waiting for the I/O to be done.  A synchronous trap occurs immediately
upon the issue of the instruction that causes the trap.
RSX-20F MONITOR                                              Page 7-10


The PDP-11 instruction set contains several  instructions  that  cause
traps.   The  EMT instruction, generally reserved for system software,
causes a trap to an emulator routine.  This  instruction  is  used  by
RSX-20F   to   perform  directives.   Whenever  a  directive  must  be
performed, the necessary information is loaded into the registers  and
an  EMT  is  issued.  The EMT instruction traps to a routine that will
decide which directive is to be performed.  A TRAP instruction is like
the  EMT  instruction  except that it is used by user tasks.  The only
difference between TRAP and EMT is a different vector  location.   IOT
is used by RSX-20F for error reporting.  When RSX-20F detects an error
that is  considered  serious  enough  to  crash  the  system,  an  IOT
instruction is issued.

Power fail conditions cause  an  automatic  trap  independent  of  the
software operations mentioned above.

There are  two  places  in  RSX-20F  where  traps  are  handled.   The
following events cause a trap to location COMTRP:

     o    IOT instruction

     o    TRAP instruction

     o    BPT (break point trap)

     o    Trap to 10 (illegal instruction)

     o    Trap to 4 (device or memory timeout)

     o    Illegal Interrupts

     o    Parity Error

COMTRP has to sort out the type of error it gets.  If  possible,  only
the  offending task will be terminated.  If COMTRP concludes that this
error is serious enough to crash the system, the COMTRP routine issues
a  .CRASH  macro  itself.   This  causes control to come right back to
COMTRP.  COMTRP sees that it was an IOT instruction that occurred  and
dispatches  to  IOTTRP.   During  this  process,  the  COMTRP  routine
performs the following functions:

     1.  Tries to restore the user task that had the problem

     2.  Issues an IOT error instruction

     3.  Dispatches to the IOT handling routine

When  it  is  called,  the  IOTTRP  routine  performs  the   following
functions:

     1.  Sets up the emergency stack pointer

     2.  Sets up the emergency message pointer

     3.  Saves the registers

     4.  Saves the crash code

     5.  Saves the parity-error data

     6.  Prints the 11-Halt message on the CTY (and KLINIK)
RSX-20F MONITOR                                              Page 7-11


     7.  Requests the KL to reload the PDP-11 via the DTE20 

     8.  Rings the KL doorbell

     9.  Loops through the previous step until the PDP-11 is reloaded

The routine to handle EMT instructions  is  comparable  in  a  way  to
JSYS's under TOPS-20.  Since the PDP-11 is a smaller system, it cannot
have one instruction for every directive it wants to run.   Therefore,
what  is  handled by hardware on the KL is handled by a combination of
hardware and software on the PDP-11.  The KL handles  the  instruction
by  dispatching  to the right routine.  The PDP-11 issues the trap and
then the software checks the stored argument to decide  which  routine
is to be called.



7.4  TERMINAL SERVICE ROUTINES

RSX-20F handles terminals that access the system over dial-up lines in
a  different manner from local lines.  The signals and algorithms used
in determining line speeds and maintaining a stable link are described
in the following section.

When RSX-20F receives a character from a terminal, it must determine a
number  of  things about the character before deciding what to do with
the character.  For example,  the  character  would  probably  have  a
special  meaning  if it came from the CTY.  It could also be a special
character used in the buffering of data by both the terminal  and  the
computer system.  The algorithm that RSX-20F uses to decide what to do
with an input  character  is  described  in  Section  7.4.2,  Terminal
Handling.



7.4.1  Modem Handling

This  section  describes  the  RSX-20F  algorithms  for  dealing  with
terminals  that  are  accessing the system by way of dial-up lines and
modems.  A few concepts are made clear before the  actual  description
is  offered.   The  second  part  describes  the  line service that is
provided when an event on a  dial-up  line  requires  some  action  by
RSX-20F.  The third part, closely related to the second, describes the
modem timeout routine, which keeps track of how long a given line  has
been in a certain state.



7.4.1.1  Modem Handling Concepts - In order for computer manufacturers
and  modem manufacturers to manufacture components that work with each
other, the industry must have a set  of  standards.   The  conventions
used  for modem handling allow modems of various makes to be connected
to computers of various makes.  You are cautioned, however,  that  the
conventions  do  not  make it possible to connect every modem to every
computer.  Each computer system has its own method of handling modems.
The  modem's  "strapping  options"  must  be  set  up to deal with the
computer system's modem-handling techniques to establish a clean link.
Attempts  to  hook  up a nonstandard modem without taking into account
the system's modem-handling techniques can cause significant  problems
for the computer system.
RSX-20F MONITOR                                              Page 7-12


     
     
                                                 Data        
                                                 lines
                                                   |   
                    +--------+   Phone  +-------+  | _+------+
       +--------+   |        |   line   |       |   / |      |
       | Remote |___| Remote |___/  /___| Local |__/  |Front |
       |terminal|   | Modem  |  /  /    | Modem |  \  | End  |
       +--------+   |        |          |       |   \_|      |
                    +--------+          +-------+  |  +------+
                                                   | 
                                              Modem control
                                                 lines  
     
                  Figure 7-5 Modem-Handling Hardware


The DTR (Data Terminal Ready) signal is  used  by  the  host  computer
system  to  answer the phone ring.  (Refer to Figure 7-5 for a diagram
showing the interactions caused by the use of  the  various  signals.)
DTR  allows  the  modem to answer the phone.  At this point, if all is
going well, the remote modem returns a carrier pulse.  The local modem
receives  this  pulse,  and  the modem control asserts to the computer
system that carrier is on.  Finally, the computer  system  raises  RTS
(Request  to  Send),  which allows the local modem to give data to the
system.

A "carrier transition" is a change in the state of the carrier signal.
This  change  in  state  may be in either direction, from on to off or
from off to on.  The term "transition on" refers to  the  change  from
carrier off to carrier on, and the term "transition off" signifies the
change in the other direction.



7.4.1.2  Terminal Driver Routine - This  section  will  describe   the
sequence of events that takes place when RSX-20F receives an interrupt
requesting some type of modem handling on a certain line.  Figure  7-6
depicts  the  logic flow of the algorithm used by RSX-20F to deal with
dial-up lines.  The code that provides this service  is  the  terminal
driver routine, called $DMINT.  This routine is called every second to
perform regular terminal-handling functions.
RSX-20F MONITOR                                              Page 7-13

































































                  Figure 7-6 Modem Control Algorithm
RSX-20F MONITOR                                              Page 7-14


When a remote user dials up  the  local  computer  system,  the  modem
raises  the  Ring  Indicate  signal  (RI)  which causes the DM-11BB to
generate an interrupt  requesting  line  service.   When  $DMINT,  the
terminal  service  routine,  receives  the interrupt, it must find out
what type of service is being requested, because the interrupt is  not
specific  about  this.   Therefore,  when  the  interrupt is received,
$DMINT checks to see if the interrupt is a phone  ring  or  a  carrier
transition.

If the interrupt is a  phone  ring,  $DMINT  raises  the  DTR  signal,
telling  the  local  modem to answer the phone.  Then the Carrier Wait
flag is set, showing that this line is in the process of  establishing
a  clean  link.   $DMINT  next raises the RTS signal, conditioning the
local modem for transmission.  $DMINT sets the Ring in  Progress  flag
and, finally, tells the KL to detach any job currently on this line to
prevent dialing into another user's  job.   Having  set  the  relevant
flags  and  raised  the  correct signals, the terminal service routine
dismisses the interrupt.

If the interrupt is a carrier transition, the terminal service routine
first determines whether the transition was to the ON state or the OFF
state.  A transition to the OFF state  means  that  carrier  has  been
lost,  at  least  for a moment.  The loss of carrier may mean that the
user has hung up the phone, or it may mean that the modem  was  merely
bumped  and the signal was lost for a short time.  To determine if the
user has hung up, $DMINT sets the Carrier Wait flag, which  says  that
the  line  is  waiting  for  a clean carrier signal to be established.
Then the routine dismisses the interrupt.   The  modem  timeout  code,
upon  seeing the Carrier Wait flag, tests the state of carrier, and if
the signal has returned, the timeout code returns the line  to  normal
operation.   (See Section 7.4.1.3 for further information on the modem
timeout code.)

If, on the other hand, the interrupt is caused by a carrier transition
to  the ON state, $DMINT first clears the Carrier Wait flag.  Then the
routine checks to see if the line in question was previously connected
to  the  computer  system.   If so, the interrupt is dismissed.  These
actions prevent a bouncy carrier  signal  (one  that  comes  and  goes
frequently) from detaching the user's job.

If $DMINT finds that the line for which it received an  interrupt  was
not  previously connected to the system, it will determine if the line
needs to be checked for the correct baud rate (a software flag is  set
if  the  line  is waiting to be checked).  If the line does need to be
auto-bauded, $DMINT sets  the  Auto-baud  Wait  flag  (which  will  be
noticed by $DHINP, the character input routine - see Section 7.4.2 for
an explanation of $DHINP).  The routine then dismisses the interrupt.

If the line does not need to be auto-bauded, $DMINT assumes  that  the
transition  to the ON state is the result of the local modem receiving
the carrier signal for the first time.  This assumption  is  warranted
because the line has already been checked to see if it is connected to
the system before this point in the algorithm  is  reached.   At  this
point,  $DMINT  notifies  the KL that a new line has been connected to
the system.  The KL then sends the system banner to that line, and the
connection  is  complete.   The  terminal  service  routine  therefore
dismisses the interrupt.
RSX-20F MONITOR                                              Page 7-15


7.4.1.3  Modem Timeout Routine - This  section  describes  the   modem
timeout  routine,  which is labeled .DMTMO.  Refer to Figure 7-7 for a
flowchart of the algorithm.

































                  Figure 7-7 Modem Timeout Algorithm
RSX-20F MONITOR                                              Page 7-16


Every twenty-two seconds, TTYDRR calls the modem timeout  code,  which
is  in routine .DMTMO.  .DMTMO determines whether the line in question
has been hung up or simply has a bouncy carrier signal.  To  do  this,
.DMTMO  checks  all  the lines that are currently active.  If it finds
any lines in carrier wait (that is, if the Carrier Wait  flag  is  set
for  any  of  the  lines), it checks to see if the line was in carrier
wait the last time .DMTMO was called.  It does this by looking at  the
Ring  in Progress (RIP) flag.  If the flag is clear, the line has been
in carrier wait since the last time .DMTMO  checked  it.   This  means
that,  for  at  least  twenty-two seconds, the line has not had a good
carrier signal.  Therefore, .DMTMO hangs up the line and  proceeds  to
check  the  next  line.   If the RIP flag is set, .DMTMO clears it, so
that the next time through the timeout code, the line will be hung  up
if  it  is still waiting.  Then .DMTMO proceeds to the next line to be
checked.



7.4.2  Terminal Handling

This section describes the $DHINP  routine  and  the  $DHOUT  routine,
which  deal  with  input  from  and  output to terminals, respectively
(whether the terminals are remote or local).  $DHINP is  comprised  of
two  routines:   the  character input routine and the terminal timeout
routine.  These will be presented separately,  while  $DHOUT  will  be
described as a unit.



7.4.2.1  Character Input Routine - The following flowchart depicts the
algorithm  used  by  RSX-20F  to  determine  what  to  do  with  input
characters.  
RSX-20F MONITOR                                              Page 7-17

































































                 Figure 7-8 Character Input Algorithm
RSX-20F MONITOR                                              Page 7-18
























































             Figure 7-8 Character Input Algorithm (Cont.)


When a DH-11 communications interface causes an interrupt,  the  first
action the $DHINP routine performs is to check the line in question to
see if it is in the Auto-baud Wait state.  If the Auto-baud Wait  flag
is  on,  $DHINP  attempts  to  set  the  line  speed.  It does this by
checking the character it  has  received  against  patterns  for  both
CTRL/C and carriage return at all available baud rates.  If a match is
found,  $DHINP  sends  a  message  to  the  KL  informing  it  of  the
RSX-20F MONITOR                                              Page 7-19


connection,  and  turns  off  the  Auto-baud  Wait  flag.  Then $DHINP
dismisses  the  character.   If  there  is  no  match,  $DHINP  simply
dismisses the character without affecting the Auto-baud Wait flag.

If the line in question is not in Auto-baud Wait,  $DHINP  checks  the
character  to  see  if  there  is  a  framing error.  Since each input
character is "framed" by  a  mark  before  and  two  marks  after  the
character, any character that is missing one or more framing marks can
immediately be identified as garbage.   Such  garbage  may  simply  be
noise  on  the  line,  or  it  may  be  a  character that was not sent
properly.  In any case, the front end cannot be expected to understand
its  meaning, because the front end cannot determine what character it
is.  However, to avoid completely shutting down  a  line  that  has  a
little  noise  on  it,  $DHINP does not act on framing errors until it
gets four errors in a row.  $DHINP keeps track of how many  errors  it
has  received,  and upon getting the fourth error in a row it sets the
line speed to zero, effectively shutting off  input  from  that  line.
$DHINP  also creates a SYSERR entry that notes the line number and the
problem on that line.

If $DHINP gets a character cleanly (without a framing error) it  first
clears the count of framing errors in a row.  $DHINP next looks to see
if the character came from the CTY.  If the character was typed on the
CTY,  $DHINP checks for a CTRL/\, the PARSER-calling character.  Since
the PARSER is completely under the control of  RSX-20F,  there  is  no
need  to pass the CTRL/\ to the KL.  $DHINP therefore issues a call to
the RSX-20F user interface.

If the character is not meant for the PDP-11 to handle, the KL must be
the  intended  recipient.   In  this  case, $DHINP checks the state of
protocol between the processors to determine the  next  action  to  be
taken.   If secondary protocol is running (which should only happen at
boot time), the character is sent on to the KL, which should know  how
to  handle  characters  at that time.  If secondary protocol is not in
force, $DHINP checks the line to see if it is in Carrier Wait.  If the
line is in Carrier Wait, $DHINP assumes that the character is noise on
the line and drops it.  Otherwise, $DHINP checks for  protocol  pause,
the  state  between  secondary  and  primary protocol.  If this is the
current state of protocol, $DHINP will  attempt  to  store  the  input
character  in its own buffer until primary protocol is initiated.  Too
many of these characters can, however, overflow  the  buffer,  causing
RSX-20F to crash.

Finally, if primary protocol is currently in force, $DHINP checks  the
character  to  see if it is an XOFF character.  XOFF is the only input
character to which RSX-20F reacts.  The XOFF  character  requests  the
front  end  to  stop  sending  data temporarily because the requesting
device's buffer is full.  The timing of XOFF processing  is  therefore
critical, because any data sent by the front end after an XOFF will be
lost.   Thus,  $DHINP  checks  for  an  XOFF  before  dispatching  the
character to the KL.  If the character is indeed an XOFF, $DHINP calls
the XOFF processing code, thereby ending $DHINP's  responsibility  for
the  character.  If the character is not an XOFF, $DHINP simply passes
the character, whatever it is, to the KL.
RSX-20F MONITOR                                              Page 7-20


7.4.2.2  Terminal Timeout Routine - This   section    describes    the
terminal  timeout  routine,  which is labeled .DHTMO.  Refer to Figure
7-9 for a flowchart of the algorithm used by .DHTMO.


                                 NOTE

               The .DHTMO routine deals only with  user
               terminals.  Therefore, this section does
               not describe how the CTY is handled.
RSX-20F MONITOR                                              Page 7-21

































































                Figure 7-9 Terminal Timeout Algorithm
RSX-20F MONITOR                                              Page 7-22















































            Figure 7-9 Terminal Timeout Algorithm (Cont.)


Every ten seconds, the terminal service  routine  calls  the  terminal
timeout routine, .DHTMO.  .DHTMO is also called at startup time and on
a power-fail restart.  The only difference in the performance  of  the
routine  is  in  the  manner  of  exit used.  When .DHTMO is called at
startup time, it does not  know  how  many  communications  interfaces
exist  on  the  system.   Therefore, .DHTMO attempts to go through its
initialization procedures for each of the sixteen possible interfaces.
When  it  attempts  to  initialize an interface that does not actually
exist, a trap occurs  to  the  exit  routine.   This  procedure  works
because  .DHTMO  checks,  upon  being  called, to see if it is startup
time.  If .DHTMO was called at startup time it sets up the trap vector
to  point  to  the  exit  routine.   If, on the other hand, .DHTMO was
called at some time other than startup, its internal table  will  have
recorded  the  actual  number  of  interfaces  in  use by that system.
.DHTMO therefore does not attempt to do anything  with  a  nonexistent
interface.   Instead, the exit code is reached in the normal course of
execution.
RSX-20F MONITOR                                              Page 7-23


Once .DHTMO knows whether  it  is  startup  time  and  has  taken  the
appropriate  action, the routine will clear the reset flag.  This flag
allows  .DHTMO  to  keep  track  of  the   hardware   state   of   the
communications interfaces.  .DHTMO then gets the UNIBUS address of the
DH-11 communications interface and chooses which  line  it  wishes  to
check.

At this point in the startup-time execution of .DHTMO, it may  attempt
to reference a nonexistent DH-11.  If this happens, a trap to the exit
code occurs.  If this is  not  startup  time,  the  actual  number  of
DH-11's  connected  to  the system is already known to .DHTMO.  If the
routine has scanned all existing DH-11's,  it  proceeds  to  the  exit
code.   The  exit  code  counts  the  actual  number of terminal lines
connected to the system and records it, and makes sure that the actual
number  of  DH-11's  is  also  recorded (so that the routine will exit
normally rather than by trapping).  Control is then  returned  to  the
calling routine.

Assuming that .DHTMO has not  finished  processing  all  the  system's
lines,  it  proceeds  next  to  check  for a variety of hardware error
conditions.  If any hardware errors have  occurred,  .DHTMO  logs  the
error  in  the  SYSERR  file and performs a master clear on the DH-11.
.DHTMO then sets the reset flag to  show  that  this  DH-11  has  been
cleared.  If the call to .DHTMO came at startup time, .DHTMO next sets
up the software state of the line.  If it is  not  startup  time,  the
software  state  of the line has already been set and does not require
further attention.

If it is startup time, or if the DH-11 has been reset,  .DHTMO's  next
action  is  to set the line speed.  This is also done if, instead of a
hardware error, .DHTMO finds that it needs to restart  a  line.   This
occurs  when,  for  instance,  a line has had four consecutive framing
errors (see Section 7.4.2.1 for  a  description  of  framing  errors).
When  this  happens,  the  $DHINP routine sets the line speed to zero.
.DHTMO finds this line, sees that the line is marked to be  reenabled,
and  resets it to the correct speed.  .DHTMO also clears the Auto-baud
Wait flag.

At this point, .DHTMO will check to see if it is dealing with a remote
line.   If it is, it proceeds to check the DM-11BB status by obtaining
the DM-11BB address (as it obtained the DH-11 address) and  specifying
the  line  number.   .DHTMO  then enables data-set interrupts (so that
data on the line generates an interrupt) and checks to see if the  RTS
signal  has  been  raised.   If  so,  it  enables the line and enables
hardware interrupts.  If  not,  .DHTMO  simply  enables  the  hardware
interrupts.

This series of checks is run on each line.  When .DHTMO completes  the
checks for one line, it checks to see if it is finished with the DH-11
to which the  line  is  connected.   If  not,  .DHTMO  increments  its
line-number  counter and proceeds to check the next line on the DH-11.
If .DHTMO is finished with the DH-11, it checks to see  if  the  DH-11
was  reset  (by  checking  the  reset  flag).  If the DH-11 was reset,
.DHTMO hardware enables the DH-11 and increments  the  DH-11  counter.
If  it  was not reset, .DHTMO simply increments the DH-11 counter.  In
either case, .DHTMO returns to clear the reset flag, and  proceeds  to
check the rest of the DH-11's.



7.4.2.3  Character Output Routine - The  following  chart  shows   the
algorithm RSX-20F uses to process output to terminals.
RSX-20F MONITOR                                              Page 7-24

































































                Figure 7-10 Character Output Algorithm
RSX-20F MONITOR                                              Page 7-25

































































            Figure 7-10 Character Output Algorithm (Cont.)
RSX-20F MONITOR                                              Page 7-26


























            Figure 7-10 Character Output Algorithm (Cont.)


RSX-20F allows output to the terminals to take place independently  of
any  intervention by the front end.  The DH-11's are capable of taking
the address of the data to be sent and a line number to which to  send
it,  and  putting  the  data out to that line, without any prodding by
RSX-20F.   When  output  to  a  line  is  finished,  an  interrupt  is
generated.   Since  the  interrupt  may  be  generated by a variety of
conditions other than a DH-11 finishing output,  RSX-20F  must  decide
what type of interrupt occurred and determine what to do about it.

To determine the  condition  that  generated  the  interrupt,  RSX-20F
examines  each  line  connected  to  the  DH-11, starting with line 0.
Having chosen the line to be examined, the $DHOUT  routine  checks  to
see  if  an  output  interrupt  was  expected  from  this line.  If no
interrupt was expected, the line was not considered to be active  when
the  interrupt  was  generated.  Receiving an interrupt on an inactive
line is not necessarily  an  error  condition,  but  $DHOUT  will  not
attempt  to  deal  with the interrupt.  If all lines on the DH-11 have
been checked, the interrupt is dismissed.  If there are still lines to
be checked on this DH-11, $DHOUT returns to check them.

If an output interrupt was expected  from  the  line  being  examined,
$DHOUT  checks to see if the current line generated the interrupt.  If
it did, the line has  just  completed  its  output.   If  not,  $DHOUT
returns  to check for other lines in this DH-11, with the same results
as in the preceding paragraph.

If the current line has completed output, $DHOUT  first  sees  if  the
terminal  concerned  is the CTY.  If it is, $DHOUT must decide whether
the output was PDP-11 I/O  or  KL  I/O.   PDP-11  I/O  is  handled  by
RSX-20F's  I/O  routines,  which  $DHOUT  calls.  KL I/O, on the other
hand, must be handled by $DHOUT.

Assuming that the output is from the KL, the STTYDN routine  looks  to
see  if there is a Send-All in progress.  (The term Send-All refers to
data that is sent to all active lines that have not refused it.) If  a
Send-All  is in progress, the interrupt was sent to notify $DHOUT that
this line finished the Send-All transmission.  In  this  case,  $DHOUT
RSX-20F MONITOR                                              Page 7-27


counts  the  Send-All  done for this line by decrementing the Send-All
line counter.  The Send-All is done for the entire system, as  far  as
the  software  is  concerned,  when  the  count goes to zero.  If this
counter ever goes negative, RSX-20F crashes, because it  has  received
an  interrupt when it has no reason to expect one.  This can be due to
either a hardware or a software error.

If no Send-All is in progress, the interrupt was sent to notify $DHOUT
that  the  line in question has completed the transmission of a normal
output packet.  Therefore, $DHOUT checks to see if  the  output  queue
for  the  line  is  empty.   If so, all the data for the line has been
sent.  If not, $DHOUT computes the  remaining  bytes  in  the  current
packet.    Should  it  find  that  the  packet  has  been  transmitted
completely, $DHOUT deallocates the packet's node (so  as  to  keep  as
much free space available as possible).

$DHOUT next checks to see if there is  a  Send-All  pending  for  this
line.   The  routine that does this check is called STNXT.  (Note that
it is possible for a Send-All to have just finished  and  produced  an
interrupt, and to have another Send-All waiting to be transmitted.) If
a  Send-All  is  waiting,  STNXT  asks  if  the  line  is  suppressing
Send-Alls.   If not, STNXT starts the Send-All transmission, and calls
.DHSTO (for an description of .DHSTO see below).

If the line is suppressing Send-Alls, the next check STNXT performs is
to  see  if  the output queue for this line is empty.  If the queue is
empty, $DHOUT sends the acknowledge signal ($DHOUT "acks" the line) to
show  that  all  data  waiting  has  been  transmitted.   $DHOUT  then
dismisses the interrupt and returns to choose a new line to check.  If
the  queue  is  not  empty,  $DHOUT checks if the line is XOFF'd.  The
terminal sends an XOFF signal if its input buffer is full and  it  has
no  more  space  to  store  characters.  If the line is XOFF'd, $DHOUT
proceeds to choose another line  to  check.   If  it  is  not  XOFF'd,
control is passed to .DHSTO.

.DHSTO is a simple routine that starts the transmission  of  the  next
packet  of  data, and flags the line as one that will be generating an
output interrupt sometime in the future.  This is  the  flag  that  is
checked immediately after choosing a new line.  Thus, when this packet
has finished transmitting, the interrupt generated can  be  recognized
because  this  line  expects an interrupt.  At this point, .DHSTO will
relinquish control to $DHOUT so that $DHOUT can choose another line to
be checked.  This completes the description of the $DHOUT algorithm.











                              CHAPTER 8

                       DTE HARDWARE OPERATION  



The DTE-20  (DTE  stands  for  Data  Ten-to-Eleven)  is  the  hardware
interface  between  the  KL  and the PDP-11 processors.  The DTE-20 is
used for many different  things  in  the  operation  of  the  computer
system,  since  it is the only (nondiagnostic) method of communication
between the KL and the front end.  All the  uses  of  the  DTE-20  are
extensions of its four basic hardware operations:

     o    Deposit/Examine

     o    TO-11 Transfer/TO-10 Transfer

     o    Doorbell Function

     o    Diagnostic Operations



8.1  DTE-20 COMMUNICATIONS REGION

The Communications Region is an area in KL memory that is readable  by
all  processors.   It  is  composed  of sequential areas, one for each
processor connected to  the  network.   Both  KL's  and  PDP-11's  are
represented, and each processor owns one area.  This owned area is the
only part of the Communications Region into which  the  processor  can
write.   There  is  an  exception  to this rule, however, to cover the
situation of Communications Region initialization.  In this case,  the
KL  processor  that  initializes  the Communications Region is allowed
access to the entire region.  When the region  has  been  initialized,
the  rules  for  access  to areas hold until the region is initialized
again.

There is a negative extension to the Communications Region called  the
header.   This  header allows each PDP-11 processor represented in the
Communications Region to  determine  its  protocol  processor  number,
because  each  PDP-11  has a space which it can examine in the header.
By examining the first word of its relocated examine space, the PDP-11
can  determine  its  protocol  processor number and thereby locate its
area in the Communications Region.  The PDP-11  also  knows  that  the
first  word  of  the  Communications Region itself is at location N+1,
where N is the PDP-11's protocol processor  number.   Thus,  when  the
PDP-11  wishes  to  communicate with another processor, the PDP-11 can
scan the areas in the Communications Region and find the  areas  owned
by any other processors.

Each processor has its own area in the Communications Region  that  is
made  up  of a number of sections.  A processor has one section in its
area for  itself,  and  one  for  each  processor  to  which  it  will
communicate.  Thus, each pair of processors that communicate with each
other uses four sections of the Communications Region, two in each  of
two different areas.  
DTE HARDWARE OPERATION                                        Page 8-2


The following figure illustrates the Communications Region.


               +------------------------------+
               | Headers for Other Processors | 
               --------------------------------
               |  Header Word for Processor 2 |
               --------------------------------
               |  Header Word for Processor 1 |
               --------------------------------
               |  Header Word for Processor 0 |
               --------------------------------
               |        PIDENT                | 0
               --------------------------------
               |        CMLNK                 | 1
               --------------------------------
               |                              | 2
               --------------------------------
               |                              | 3
               --------------------------------
               |                              | 4
               --------------------------------
               |        CMKAC                 | 5
               --------------------------------
               |                              | 6
               --------------------------------
               |        CMPIWD                | 7
               --------------------------------
               |        CMPGWD                | 10
               --------------------------------
               |        CMPDWD                | 11
               --------------------------------
               |        CMAPRW                | 12
               --------------------------------
               |        CMDAPR                | 13
               --------------------------------
               |                              | 14
               --------------------------------
               |                              | 15
               --------------------------------
               |                              | 16
               --------------------------------
               |                              | 17
               --------------------------------
               |        TOPID                 | 20
               --------------------------------
               |        CMPPT                 | 21
               --------------------------------
               |        STATUS                | 22
               --------------------------------
               |        CMQCT                 | 23
               --------------------------------
               |        CMRLF                 | 24
               --------------------------------
               |        CMKAK                 | 25
               --------------------------------
               |    Other Sections for "To"   |
               |        Processors            |
               --------------------------------
               |  Other Communications Areas  |
               +------------------------------+


                 Figure 8-1 KL Communications Region
DTE HARDWARE OPERATION                                        Page 8-3


The information contained in each word of the Communications Region is
described below.  


Processor Header Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \__________/ \_____________________/  | \______________
       Must be       Processor number      |                              
         zero                              |
                                         blank
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
     
        Relative address of this processor's area
     
     
This word is part of the  negative  extension  to  the  Communications
Region.  It specifies the location of the PDP-11's owned area by means
of an offset from word 0 of the Communications Region.


PIDENT Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
      |  \______/ \___/ \_______________/ \____________/ \__
      |   CMVER   blank       CPVER           CMNPR                       
      |
     CMTEN
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     _____/ \_____________________________________________/                        
     CMSIZ                    CMNAM
     
     
The PIDENT word provides information about the  owning  processor  and
its area.  The separate fields in PIDENT are described below.


CMTEN   This bit is one if this area belongs to a KL;   otherwise,  it
        is zero.

CMVER   This area contains the communications area version number.

CPVER   This area contains the protocol version number.

CMNPR   This area contains the number  of  processors  represented  in
        this area, including the owning processor.

CMSIZ   This area contains the size of the entire  owning  processor's
        area in eight-word blocks.

CMNAM   This area contains the name (serial number) of  the  processor
        that owns this area.
DTE HARDWARE OPERATION                                        Page 8-4


CMLNK Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                Pointer to next                                             
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                Communications area
     
     
The CMLNK word contains a pointer to  the  next  communications  area,
relative to word 0 of the entire Communications Region.  All the CMLNK
words in the entire Communications Region form a circular list.


CMKAC Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                Owning processor's                              
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                Keep-alive count
     
     
The CMKAC word contains the owning processor's Keep-Alive count.  This
word  is incremented periodically, and is also checked periodically to
make sure that  it  has  changed.   The  Keep-Alive  count  should  be
incremented  at  least  once a second by the owning processor, and the
monitoring processor should allow the count to remain unchanged for at
least six seconds before declaring the owning processor to be dead.


CMPIWD Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                CONI PI, Word                                              
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                CONI PI, Word (Cont.)
     
     
The CMPIWD word is the storage area provided for reading the  Priority
Interrupt  system conditions.  The CONI PI, instruction will place the
PI status information here.  (For more  information  on  the  Priority
Interrupt system see the DECsystem-10/DECSYSTEM-20 Processor Reference
Manual.)
DTE HARDWARE OPERATION                                        Page 8-5


CMPGWD Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                CONI PAG, Word                                         
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                CONI PAG, Word (Cont.)
     
     
The CMPGWD word is the storage area provided for  reading  the  system
status  of  the  Pager.   The  CONI  PAG,  instruction puts the status
information  here.   (For  more  information  on  the  Pager  see  the
DECsystem-10/DECSYSTEM-20 Processor Reference Manual.)


CMPDWD Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                    DATAI PAG Word
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                    DATAI PAG Word (Cont.)
     
     
The CMPDWD word is the storage area provided for reading  the  process
status  of  the  Pager.   The  DATAI  PAG, instruction puts the status
information  here.   (For  more  information  on  the  Pager  see  the
DECsystem-10/DECSYSTEM-20 Processor Reference Manual.)


CMAPRW Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                    CONI APR, Word                                             
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                    CONI APR, Word
     
     
The CMAPRW word is  the  storage  area  provided   for   reading   the
Arithmetic Processor flags.  The CONI APR, instruction puts the status
of the error and sweep flags  here.   (For  more  information  on  the
Arithmetic  Processor,  see  the  DECsystem-10/DECSYSTEM-20  Processor
Reference Manual.)
DTE HARDWARE OPERATION                                        Page 8-6


CMDAPR Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                    DATAI APR, Word
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                    DATAI APR, Word (Cont.)
     
     
The CMDAPR word is the storage area provided for reading  the  current
break  conditions  from  the  Arithmetic  Processor.   The  DATAI APR,
instruction puts the information here.  (For more information on break
conditions     and     the     Arithmetic     Processor,    see    the
DECsystem-10/DECSYSTEM-20 Processor Reference Manual.)


TOPID Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
       |  | \___/ \_____________________/ \____________/ \__
     CMPRO| CMDTN           blank                CMVRR
          |
        CMDTE
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     _____/ \_____________________________________________/
     CMSZ                       CMPNM
     
     
The TOPID word is the first location  in  each  "To"  processor  area.
This  word  contains information on the connections between the owning
processor and the "To" processor.


CMPRO   This bit is one if this block is used to  communicate  with  a
        KL.

CMDTE   This bit is one if a DTE-20  connection  exists  between  this
        "To" processor and the owning processor.  

CMDTN   If CMDTE is one, this area contains the number of  the  DTE-20
        that connects the two processors.

CMVRR   This area designates the version of protocol  in  use  between
        the two processors.

CMSZ    This area contains  the  size  of  this  block  in  eight-word
        blocks.

CMPNM   This area contains the processor number of the "To" processor.
DTE HARDWARE OPERATION                                        Page 8-7


CMPPT Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                Pointer to "To"
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                processor's owned area
     
     
The CMPPT word contains a pointer to the area  in  the  Communications
Region that is owned by the "To" processor.


STATUS Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
       |  |  |  | \________________________/  | \______/  |
     CMPWF|CMINI|           blank             |   blank   |
          |     |                             |           |
       CML11  CMTST                         CMQP        CMFWD
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
       |  | \_____________________/ \_____________________/
     CMIP |         CM0IC                    CM1IC
          |
        CMTOT
     
     
The STATUS word is intended to be the only word  a  processor  has  to
examine  when  it  receives  a  doorbell  interrupt.   The STATUS word
contains the following status bits and counters:


CMPWF   This bit is the power fail indicator.  The  PDP-11  sets  this
        bit  to one (in its own area) to notify the KL that the PDP-11
        has lost power.

CML11   This bit is one when the owning processor knows  that  it  has
        crashed  and  wishes  to be reloaded.  The reload happens when
        the owning processor  sets  CML11  (in  the  "To"  processor's
        section  of  the  owned  processor's  area) and rings the "To"
        processor's doorbell.  The "To" processor  then  examines  the
        STATUS  word,  sees CML11 set, and performs a reload operation
        for the owning processor.

CMINI   This bit is the initialization bit for MCB protocol only.  MCB
        protocol  applies  to  front  ends other than PDP-11's;  it is
        therefore not discussed further in this manual.
DTE HARDWARE OPERATION                                        Page 8-8


CMTST   This bit provides the PDP-11 with the ability to determine  if
        the  Deposit/Examine  operation that just finished was a valid
        operation.  This ability is useful when the examine protection
        word  of  the DTE-20 is zero, and PI 0 has been enabled, since
        in this situation any Examine done by the  PDP-11  appears  to
        succeed and returns a value of zero.  The CMTST bit provides a
        check on the operation because it is always guaranteed  to  be
        one.  If the PDP-11 finds this bit to be zero after an Examine
        or a Deposit, the PDP-11 leaves primary protocol.

CMQP    This bit is one if queued protocol is in  use.   This  bit  is
        originally  set  in  all  areas by the KL that initializes the
        Communications Region.

CMFWD   This bit is a flag, set by the sending processor  to  indicate
        that the transfer is to be done in full word mode.

CMIP    This bit is set if an indirect packet  is  being  transferred.
        The  bit  is  set  in  the  sending processor's section of the
        receiving processor's area.  If this bit is set by the sending
        processor,  it  should  not increment the queue count.  If the
        bit is set, the receiving processor reads it and realizes that
        the  doorbell  interrupt  it received signals the beginning of
        the transfer of the indirect portion of  an  indirect  message
        transfer.

CMTOT   This bit is set to one  by  the  receiving  processor  in  the
        sending processor's section of the receiving processor's area.
        The bit is set when the sending processor sets the CMIP bit or
        when  the  sender  increments  the queue count.  The receiving
        processor clears this bit when  it  gets  a  To-receiver  Done
        interrupt.   The  purpose  of  this procedure is to assure the
        sending processor that  the  receiver  has  not  lost  a  Done
        interrupt.

CM0IC   This area contains a wrap-around counter that  is  incremented
        in  the  PDP-11's  area each time a direct transfer request is
        initiated by the PDP-11.  The KL keeps the last value of CM0IC
        in the TO-11 section of its own area.  If the KL's saved value
        differs from the current copy in the  PDP-11's  area,  the  KL
        starts  a  TO-10  packet transfer.  The difference between the
        KL's copy and the copy the PDP-11 increments should be  either
        zero  or  one.   If  the  difference  is greater than one, the
        PDP-11 has tried to send a packet before the  previous  packet
        transfer was finished.  This count is not incremented when the
        PDP-11 sends a TO-10 indirect packet;  the CMIP bit is used to
        indicate doorbells for indirect packets.  This counter is also
        useful in the situation where a doorbell has  been  missed  by
        the  KL.   The  next  doorbell  causes  the  KL  to check this
        counter,  during  which  operation  it  discovers  the  missed
        doorbell because of the difference in the counter's value.

CM1IC   This counter has the same function for the  PDP-11  which  the
        CM0IC area performs for the KL.
DTE HARDWARE OPERATION                                        Page 8-9


CMQCT Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                             blank
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ________/ \__________________________________________/
                               Queue size
     
     
This word contains the number of  eight-bit  bytes  written  into  the
current  packet by the transmitting processor.  The packet can contain
more than one message;  this word does not  contain  a  count  of  the
number of messages, only of the number of bytes.


CMRLF Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                      Reload parameter for
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                        "To" processor 
     
     
This word contains a copy of the "To" processor's  reload  word.   The
copy  is  saved  by  the  owning  processor in case the "To" processor
crashes.


CMKAK Word:

     +-----------------------------------------------------+
     | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
     +-----------------------------------------------------+
     \______________________________________________________
                        Pointer to "To"
     
     +-----------------------------------------------------+
     |18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
     +-----------------------------------------------------+
     ______________________________________________________/
                     processor's owned area
     
     
This word contains the owning processor's copy of the "To" processor's
Keep-Alive  count  for  purposes  of  comparison with the continuously
updated copy kept by the "To" processor.
DTE HARDWARE OPERATION                                       Page 8-10


8.2  DTE REGISTERS

The DTE-20 has sixteen registers, which are used in various  types  of
transfer operations.  The following material lists the registers along
with their addresses, and offers an explanation  of  the  function  of
each  register.   The addresses shown are for DTE0;  DTE1, DTE2 and so
on, use the succeeding locations.  The precise location can be figured
by  adding  40*N  to  the  location  of  the register that you wish to
access, where N stands for the DTE-20 number.


               +------------------------------+
               |          DLYCNT              |774400
               --------------------------------
               |          DEXWD3              |774402 
               --------------------------------
               |          DEXWD2              |774404
               --------------------------------
               |          DEXWD1              |774406
               --------------------------------
               |          TENAD1              |774410
               --------------------------------
               |          TENAD2              |774412
               --------------------------------
               |          TO10BC              |774414*
               --------------------------------
               |          TO11BC              |774416
               --------------------------------
               |          TO10AD              |774420
               --------------------------------
               |          TO11AD              |774422
               --------------------------------
               |          TO10DT              |774424
               --------------------------------
               |          TO11DT              |774426
               --------------------------------
               |          DIAG1               |774430
               --------------------------------
               |          DIAG2               |774432
               --------------------------------
               |          STATUS              |774434*
               --------------------------------
               |          DIAG3               |774436
               +------------------------------+


                     Figure 8-2 DTE-20 Registers

The registers which have asterisks beside their addresses, TO10BC  and
STATUS,  are  the  only  two  registers  that  are  available  to both
processors.



8.2.1  DTE-20 Status Word

The most important of these registers  is  STATUS,  the  Status  Word.
This  register  is  the  only one read when the KL receives a doorbell
interrupt, so it must store a good deal of  information.   The  Status
Word  has  two  different  states:  one interpretation is valid if the
PDP-11 is writing into the Status Word, and another is  valid  if  the
PDP-11  is reading the register.  If you are examining the Status Word
after a crash in an attempt to tell why the crash occurred, you should
assume  that  the PDP-11 was reading the Status Word.  This is logical
DTE HARDWARE OPERATION                                       Page 8-11


because the write state lasts only as long as the hardware takes to do
the  physical  write,  which of course is a very short time.  Thus the
chances are that the Status Word was in a read state.

The following figure illustrates the form of the Status  Word  in  the
read state.

  +--------------------------------------------------------------+
  |15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
  +--------------------------------------------------------------+
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
   | Unused| RAMIS0| DXWRD1| TO10DB| EBSEL | BPARER| DEXDON| INTSON
   |       |       |       |       |       |       |       |
  TO10DN  TO10ER  TO11DB  MPE11  TO11DN  NULSTP    RM    TO11ER
  
  
             Figure 8-3 DTE-20 Status Word in Read State


The bits in the read version of the Status  Word  have  the  following
names and functions:


Bit     Symbol    Function

15      TO10DN    TO-10 NORMAL TERMINATION
                  If this bit is set, the TO-10  byte  count  went  to
                  zero or the PDP-11 program set the DON10S bit in the
                  write version of the status word.  TO10DN  will  not
                  be set if an error termination occurred.  See TO10ER
                  if you believe an error has occurred.

14                UNUSED

13      TO10ER    TO-10 ERROR TERMINATION
                  If this bit is set, one of a number  of  errors  has
                  occurred.   To determine which one, you must check a
                  number of different bits  in  different  words.   If
                  there  was  an NPR UNIBUS parity error, the NUPE bit
                  of the DIAG3 word will  be  set.   A  PDP-11  memory
                  parity  error  is  indicated by the MPE11 bit of the
                  Status Word being set.  The PDP-11 program may  have
                  set the error status bit in the write version of the
                  Status Word.   Or  there  may  have  been  a  UNIBUS
                  timeout,  in which case no bit will be set.  If this
                  bit (TO10ER) is set, TO10DN will not be set.

12      RAMIS0    RAM IS ZEROS
                  This bit is used in single-stepping the DTE-20,  and
                  has no meaning in other uses.  It is set if the data
                  read from a RAM location is all zeros.  This bit  is
                  provided for diagnostic purposes only.

11      TO11DB    KL REQUESTED PDP-11 INTERRUPT
                  When this bit is set, the KL processor has requested
                  a PDP-11 doorbell interrupt by means of a CONO DTEn,
                  TO11DB instruction.

10      DXWRD1    DEXWORD 1
                  This bit  is  provided  on  a  read  for  diagnostic
                  purposes  only,  and  has no meaning except when the
                  DTE-20 is being single-stepped.
DTE HARDWARE OPERATION                                       Page 8-12


09      MPE11     PDP-11 MEMORY PARITY ERROR
                  If this bit is set, the PDP-11 memory had  a  parity
                  error during a data fetch for a TO-10 byte transfer.
                  Parity errors can only be detected if the PDP-11 has
                  one of the MF11UP or MF11LP memory parity options.

08      TO10DB    PDP-11 REQUESTED KL INTERRUPT
                  When this bit is set, the PDP-11 has requested a  KL
                  doorbell  interrupt by writing the INT10S bit of the
                  write version of the Status Word, and the KL has not
                  yet cleared the bit.

07      TO11DN    TO-11 TRANSFER DONE
                  This bit is set when the  TO-11  byte  count  equals
                  zero,  when a transfer stops on a null character, or
                  when a PDP-11 program has set the error  status  bit
                  in the write version of the Status Word (DON11S).

06      EBSEL     BUFFER SELECT
                  This bit  is  provided  on  a  read  for  diagnostic
                  purposes  only,  and  has no meaning except when the
                  DTE-20 is being single-stepped.

05      NULSTP    NULL STOP
                  If this  bit  is  on,  the  TO-11  transfer  stopped
                  because  the  stop  bit was set (the stop bit is the
                  ZSTOP bit of the TO11BC register).

04      BPARER    EBUS PARITY ERROR
                  This bit is set if the DTE-20 detects an EBUS parity
                  error during a TO-11 DTE-20 byte transfer or examine
                  transfer.

03      RM        RESTRICTED MODE
                  If this bit  is  set,  the  attached  PDP-11  is  in
                  restricted   mode.   Otherwise,  the  PDP-11  is  in
                  privileged  mode.   The  value  of   this   bit   is
                  determined  by  the setting of the privileged switch
                  on the DTE-20.

02      DEXDON    DEPOSIT/EXAMINE DONE
                  This bit is set when the  last  deposit  or  examine
                  operation  is  finished.   No  interrupt occurs when
                  this operation finishes;  the PDP-11 must watch  for
                  this  bit  to  be set after every deposit or examine
                  operation.  The DTE-20 clears this  bit  whenever  a
                  deposit  or  examine  is started by writing into the
                  TENAD2 register.

01      TO11ER    TO-11 BYTE ERROR TERMINATION
                  If this bit is set, an error occurred during a TO-11
                  byte  transfer,  or the PDP-11 program set the error
                  bit ERR11S in the write version of the Status  Word.
                  The  TO11DN  bit  in  the read version is not set if
                  there is actually an error termination.

00      INTSON    INTERRUPTS ON
                  If this  bit  is  set,  the  DTE-20  is  enabled  to
                  generate PDP-11 BR requests.  If the bit is off, the
                  DTE-20 does not have this capability.  The  bit  can
                  be  set  by writing a one into bit 5 (INTRON) of the
                  read version of the  Status  Word,  and  cleared  by
                  writing a one into bit 3 (INTROF).
DTE HARDWARE OPERATION                                       Page 8-13


The following figure illustrates the form of the Status  Word  in  the
write state.

  +--------------------------------------------------------------+
  |15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
  +--------------------------------------------------------------+
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
   | DON10C| ERR10C| INT11C| INT10S| DON11C| EBUSPC| EBUSPS| ERR11C
   |       |       |       |       |       |       |       |
  DON10S  ERR10S  INT11S  PERCLR  DON11S  INTRON  INTROF  ERR11S
  
  
             Figure 8-4 DTE-20 Status Word in Write State


The bits in the write version of the Status Word  have  the  following
names and functions:  


Bit     Symbol    Function

15      DON10S    SET NORMAL TERMINATION STATUS
                  This bit on  a  write  is  provided  for  diagnostic
                  purposes  only.   Writing a one to this bit sets the
                  TO10DN bit in the read version of the  Status  Word.
                  Writing  a  one  does  not  terminate  a transfer in
                  progress.

14      DON10C    CLEAR NORMAL TERMINATION STATUS
                  Writing a one to this bit clears the TO10DN  bit  in
                  the read version of the Status Word.

13      ERR10S    SET ERROR TERMINATION STATUS
                  Writing a one to this bit sets the TO10ER bit in the
                  read version of the Status Word.

12      ERR10C    CLEAR ERROR TERMINATION STATUS
                  Writing a one to this bit clears the TO10ER  bit  in
                  the read version of the Status Word.

11      INT11S    SET PDP-11 INTERRUPT STATUS
                  Writing a one to this bit sets the TO11DB bit in the
                  read  version  of  the  Status  Word, resulting in a
                  doorbell interrupt to the PDP-11.

10      INT11C    CLEAR PDP-11 INTERRUPT STATUS
                  Writing a one to this bit clears the TO11DB  bit  in
                  the  read  version  of the Status Word.  This action
                  enables the next doorbell interrupt to be generated.

09      PERCLR    CLEAR PARITY ERROR
                  Writing a one to this bit clears the  PDP-11  memory
                  parity error flag, the MPE11 bit in the read version
                  of the Status Word.

08      INT10S    SET KL INTERRUPT STATUS
                  Writing a one to this bit sets the  TO10DB  bit  and
                  does  a  CONI  [TO10DB].  This results in a vectored
                  interrupt to location 104+B*N in the KL EPT.
DTE HARDWARE OPERATION                                       Page 8-14


07      DON11S    SET TO-11 TERMINATION STATUS
                  Writing a one to this  bit  sets  the  TO-11  normal
                  termination  flag,  which  is  the TO11DN bit in the
                  read version of the Status  Word.   This  bit  on  a
                  write  operation is provided for diagnostic purposes
                  only, since writing a one here does not terminate  a
                  transfer already in progress.

06      DON11C    CLEAR TO-11 TERMINATION STATUS
                  Writing a one to this bit clears  the  TO-11  normal
                  termination status flag, TO11DN.

05      INTRON    INTERRUPTS ON
                  Writing a one to this  bit  enables  the  DTE-20  to
                  generate PDP-11 BR requests.  Writing into this bit,
                  whether  a  zero  or  a  one,  does  not  clear  any
                  interrupts  that  are waiting.  The DTE-20 interrupt
                  capability can be disabled by writing a one into bit
                  3,  INTROF.   The  current  setting of the interrupt
                  capability can be checked by reading bit 0, INTSON.

04      EBUSPC    CLEAR EBUS PARITY ERROR 
                  Writing a one to this bit  clears  the  EBUS  parity
                  error  flag,  BPARER,  which  is  bit  4 in the read
                  version of the Status Word.  

03      INTROF    INTERRUPTS OFF
                  Writing a  one  to  this  bit  disables  the  DTE-20
                  interrupt  capability.   Writing  a one or a zero to
                  this bit does not  clear  any  interrupts  that  are
                  waiting.

02      EBUSPS    SET EBUS PARITY ERROR
                  Writing a one to this bit sets the EBUS parity error
                  flag,  BPARER,  bit  4  in  the  read version of the
                  Status Word.

01      ERR11S    SET TO-11 ERROR TERMINATION STATUS
                  Writing a one to  this  bit  sets  the  TO-11  error
                  termination  flag,  which  is  bit 1, TO11ER, in the
                  read version of the Status  Word.   This  bit  on  a
                  write  is  provided  for  diagnostic  purposes only.
                  Writing a one  does  not  terminate  a  transfer  in
                  progress.  

00      ERR11C    CLEAR TO-11 ERROR TERMINATION STATUS
                  Writing a one to this bit  clears  the  TO-11  error
                  termination flag, TO11ER.



8.2.2  Diagnostic Words

The three diagnostic words are used  to  communicate  by  way  of  the
diagnostic  bus,  which is electronically isolated from the other EBUS
communications.  This means of  communication  is  not  normally  used
except  for  diagnostic  checks, or when other means have broken down.
For example, the PARSER can on occasion use the diagnostic bus, and of
course the diagnostic programs use it when necessary.
DTE HARDWARE OPERATION                                       Page 8-15


Diagnostic Word 1 has the following form when being written:  


Bit     Symbol    Function

15-09   DS00-DS06 These bits specify the  diagnostic  selection  code.
                  (For the meanings of these bits see the read form of
                  Diagnostic Word 1.) If DS00 and DS01 are both  zero,
                  write  functions  can  be  done  while the system is
                  running without being in diagnostic mode.  Thus  the
                  PDP-11  can  sample  KL  status  without  danger  of
                  corrupting data on the EBUS.  

08      DEX       This bit must be zero.

07      DFUNC     Setting this bit to a one causes the KL processor to
                  stop  sending  basic  status  information  on the DS
                  lines.  This allows a loop-back test to be performed
                  on the DS lines.  If any of the DS lines are set (by
                  the DTE-20) the result is an "or" of the bits set in
                  the DTE-20 and the KL status.

06                This bit must be zero.

05      D1011     Setting this bit to a one sets the DTE-20  to  10/11
                  diagnostic  mode.  This mode is used to diagnose the
                  DTE-20 itself.

04      PULSE     Writing a one to this bit generates a  single  clock
                  cycle  if 10/11 diagnostic mode is set (that is, the
                  D1011 bit is on).

03      DIKL10    Writing a one to  this  bit  puts  the  DTE-20  into
                  diagnostic  data  transfer  mode  if  the  DTE-20 is
                  privileged.  Any subsequent  examines  and  deposits
                  become  diagnostic functions instead of accessing KL
                  memory.  Writing a zero  to  this  bit  returns  the
                  DTE-20 to normal data transfer mode.  All subsequent
                  examines and deposits refer to KL memory.

02      DSEND     Setting this bit to a  one  causes  the  data  in  a
                  diagnostic bus transfer to be sent (TO-10).  Setting
                  the bit to a zero causes the  data  to  be  received
                  (TO-11).

01                Unused

00      DCOMST    If this bit is set to a  one  while  the  DTE-20  is
                  switched   to  privileged,  the  effect  is  to  set
                  diagnostic command start.  Setting the bit to a zero
                  clears diagnostic command start.

Diagnostic Word 1 has the following form when being read:


Bit     Symbol    Function

15-12   DS00-DS03 Unused

11      DS04      If this bit is a one,  the  KL  internal  clock  has
                  frozen  because  of  one  of  the following hardware
                  malfunctions:  CRAM, DRAM, fast memory parity error,
                  or field service test condition.
DTE HARDWARE OPERATION                                       Page 8-16


10      DS05      If this bit is  a  one,  the  KL  is  running.   The
                  microcode    checks   this   flag   between   PDP-10
                  instructions, and enters the halt loop if  the  flag
                  is  off.   This  flag is under control of the PDP-11
                  using  two  diagnostic  functions.   The  KL  cannot
                  affect it.

09      DS06      This bit is set to one when the microcode enters the
                  halt  loop  and is cleared when the microcode leaves
                  the halt loop.

08      DEX       If this bit is set, the  interface  major  state  is
                  deposit or examine.

07      TO10      If this bit is set, the interface major state  is  a
                  TO-10 transfer.

06      TO11      If this bit is set, the interface major state  is  a
                  TO-11 transfer.

05      D1011     If this bit  is  a  one,  the  DTE-20  is  in  10/11
                  diagnostic mode, that is, it diagnoses itself.

04      VEC04     This bit is set to vector interrupt address bit 4.  

03-01             Unused or zero.

00      DCOMST    If this bit is  set,  a  diagnostic  command  is  in
                  progress.

Diagnostic Words 2 and 3 have very similar forms in the read  and  the
write  state;   thus,  the two states are illustrated together, rather
than separately as with Diagnostic Word 1.

Diagnostic Word 2 has the following form when being read or written:


Bit     Symbol    Function

15                RAM FILE MIXER (RFM) ADDRESS BIT 0 
        RFMAD0    Read:  This bit  is  set  to  the  contents  of  RFM
                  address bit 0.
        RFMAD0    Write:  This bit must be zero.

14                RFM ADDRESS BIT 1
        RFMAD1    Read:  This bit  is  set  to  the  contents  of  RFM
                  address bit 1.  
        EDONES    Write:  If a one is written to this  bit,  the  EBUS
                  done  status is set.  If a zero is written here, the
                  EBUS done status is cleared.

13                RFM ADDRESS BIT 2
        RFMAD2    Read:  This bit  is  set  to  the  contents  of  RFM
                  address bit 2.
        RFMAD2    Write:  This bit must be zero.

12                RFM ADDRESS BIT 3
        RFMAD3    Read:  This bit  is  set  to  the  contents  of  RFM
                  address bit 3.  
        RFMAD3    Write:  This bit must be zero.

11-07             Unused
                  Read:  These bits are always zeros.
                  Write:  These bits must be zeros.
DTE HARDWARE OPERATION                                       Page 8-17


06                DTE-20 RESET
        DRESET    Read:  This bit is zero.
        DRESET    Write:  If a one is written to this bit, the  DTE-20
                  is reset.

05                Unused
                  Read:  This bit is zero.
                  Write:  This bit must be zero.

04-01             
                  Read:  These bits are zero.
                  Write:  Loads  04,  03,  02,  01  into  minor  state
                  counter 8, 4, 12, 1 for diagnostic use only.  During
                  normal operation this bit must be zero.

00                Unused

Diagnostic Word 3 has the following form when being read or written:


Bit     Symbol    Function

15      SWSLLT    SWAP SELECT LEFT
                  Read:  CNT1[N] SWAP DEL LT
                  Write:  This bit must be zero.

14      DPS4[N]   PARITY (1) H
                  Read:  If this bit is set, the DPS4 [N] parity  flop
                  is on.  This bit is for diagnostic use only.
                  Write:  This bit must be zero.

13-08             CAPTURED UNIBUS PARITY ERROR INFORMATION
                  Read:  When a UNIBUS parity error is  detected,  Ann
                  means  UNIBUS  register  address  bit, and Dnn means
                  UNIBUS data bit.

                              UNIBUS Data Bits

                  INITIAL     D15 D14 D13 D12 D11 A00
                  1st Shift   D10 D09 D08 D07 D06 A00
                  2nd Shift   D05 D04 D03 D02 D01 A00
                  3rd Shift   D00 A04 A03 A02 A01 A00
                  4th Shift   D15 D14 D13 D12 D11 A00

                  Write:  This bit must be zero.

07-06             Unused 
                  Read:  This bit is zero.
                  Write:  This bit must be zero.

05      SCD       SHIFT CAPTURED DATA
                  Read:  This bit is zero.
                  Write:  Writing a one to this  bit  shifts  captured
                  data  so  that  the  next read of DIAG3 changes bits
                  13-08.

04                DATO UNIBUS PARITY ERROR
        DUPE      Read:  If this bit is a one, a  DATO  UNIBUS  parity
                  error has been detected by the DTE-20.
        CDD       Write:  Writing a one to this bit  clears  the  DUPE
                  and DURE error flags.
DTE HARDWARE OPERATION                                       Page 8-18


03      WEP       WRITE EVEN (BAD) PARITY
                  Read:  This bit specifies the  read  status  of  the
                  write even UNIBUS parity flip-flop.
                  Write:  Writing a one to this bit causes the  DTE-20
                  to   generate   even  (bad)  parity  on  all  UNIBUS
                  transfers that have parity.  Writing a zero to  this
                  bit  makes  the DTE-20 generate odd (good) parity on
                  all subsequent transfers that have parity.  This bit
                  is  provided  for  diagnostic  purposes to check the
                  parity network.

02      DURE      DATO UNIBUS RECEIVE ERROR
                  Read:  If this bit is set, a UNIBUS  receiver  error
                  has occurred.  
                  Write:  This bit must be zero.

01                NPR UNIBUS PARITY ERROR
        NUPE      Read:  If this bit is a one, a UNIBUS  parity  error
                  has occurred on an NPR (byte) transfer.
        CNUPE     Write:  Writing a one to this bit  clears  the  NUPE
                  flag.

00      TO10BM    TO-10 BYTE TRANSFER MODE
                  Read:  This bit is zero.
                  Write:  Writing a one to this bit causes TO-10  byte
                  transfers  to  be  done  in  byte  mode  from PDP-11
                  memory.  Writing  a  zero  to  the  bit  causes  the
                  transfers to be in word mode.



8.2.3  DTE-20 Data Transfer Registers

The remaining twelve  DTE-20  registers  are  used  in  data  transfer
operations.   This  section  briefly describes the function of each of
these registers, and illustrates their format.


                             TO11DT

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+
 \      In Byte Mode:          / \      In Byte Mode:         /
  \     Data from KL          /   \     Data from KL         /
   \    bits 28-35 or        /     \    bits 20-27 or       /
        20-27                           28-35

        In Word Mode:                   In Word Mode:
        Data from KL                    Data from KL
        bits 20-27                      bits 28-35


TO11DT    This register contains the last  byte  or  word  transferred
          across the DTE-20 to the PDP-11.  Since it is not clear from
          the data in this register which bits  of  the  KL  word  are
          represented,  the  following  method  is used to resolve the
          ambiguity.  If the address in TO11AD is even, the left  byte
          of  TO11DT  will  contain bits 28-35;  if TO11AD is odd, the
          left byte of TO11DT will contain bits 20-27.  The right byte
          will  contain  the complementary set of bits.  This register
          makes  it  possible  to  identify   the   last   data   that
          successfully transferred across the DTE-20.
DTE HARDWARE OPERATION                                       Page 8-19


                             TO10DT

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+
 \                             / \                            /
  \                           /   \                          /  
        In Byte Mode:                   Data for KL
        All 0's                         bits 28-35

        In Word Mode:
        Data for KL
        bits 20-27


TO10DT    This register contains the remainder of the data sent to the
          KL  during  a  TOKL10  byte transfer.  Its use is similar to
          that of TO11DT.


                             TO11AD

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+

                Byte address in PDP-11  memory
                where next byte received will
                be stored


TO11AD    This register is used by the PDP-11 during  byte  transfers.
          TO11AD  contains  the  address  of the area in PDP-11 memory
          where the data from the KL is to  be  written.   The  DTE-20
          keeps  this  register  updated  with  the  currently correct
          address as the TO-11 byte transfer progresses.


                             TO10AD

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+

                Byte address in PDP-11  memory
                from which  next  byte  to  be
                transferred is to be taken


TO10AD    This register  is  also  used  by  the  PDP-11  during  byte
          transfer  operations.   TO10AD  contains  the address of the
          area in PDP-11 memory  where  the  data  to  be  transferred
          resides.  
DTE HARDWARE OPERATION                                       Page 8-20


                             TO11BC

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+
  |   |   |  |   \      bits 11-00    Negative Byte Count     /
  |   |   |  0    \__________________________________________/
  |   |   |
  |   |   |________  1 = Set byte mode in DTE-20
  |   |              0 = Set word mode in DTE-20
  |   |
  |   |____________  1 = Stop transfer on null character from
  |                      EBOX after storing in PDP-11 memory; 
  |                      do not increment TO11AD
  |
  |________________  1 = Interrupt both processors on normal 
                         termination (ignored on error 
                         termination)
                     0 = Interrupt PDP-11 only on normal
                         termination (ignored on error 
                         termination)


TO11BC    When the PDP-11 loads this register (the TO-11  byte  count)
          with  the  number  of  bytes  to  be transferred, the DTE-20
          begins the TO-11 transfer operation.  


                             TO10BC

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+
  |   |   |  |   \      bits 11-00    Negative Byte Count     /
  |   0   0  0    \__________________________________________/
  |   
  |
  |________  1 = Interrupt both processors at completion 
                 of current TO-10 transfer
             0 = Interrupt KL only at completion of current
                 TO-10 transfer


TO10BC    When the KL loads this register  the  DTE-20  initiates  the
          TO-10  transfer.   The PDP-11 never writes to this register.
          The register is set by the KL by means of writing  into  its
          EPT.  The count may not include everything the PDP-11 wishes
          to send (in the case of a "scatter write").


                             DLYCNT

+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|
+--------------------------------------------------------------+
 \     / \   Negative Delay Count - number of 500 nanosecond  /
  \   /   \   units of delay between each byte of byte       /
   \_/         transfer in either direction                 /
    |
    |_________  High order UNIBUS address bits (TO-11 and
                TO-10 transfers must be in same 32K memory 
                bank)
DTE HARDWARE OPERATION                                       Page 8-21


DLYCNT    Since the DTE-20 is clocked  from  the  EBUS  clock  module,
          which  runs  at  a  different  rate from the PDP-11 clock, a
          compromise in timing must be effected in order  to  transfer
          data  over  the  DTE-20.   Therefore,  the  PDP-11 sets this
          register to notify the DTE-20 of the speed at which to carry
          out  byte  transfer  operations.   The register contains the
          number of 500 nanosecond units of  delay  that  should  come
          between two consecutive byte transfers.


                             DEXWD1-3

+--------------------------------------------------------------+
|               KL Data bits 20-35                             |DEXWD3
+--------------------------------------------------------------+
|               KL Data bits 4-19                              |DEXWD2
+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|DEXWD1
+--------------------------------------------------------------+
 \                                             / \  KL Data   /
  \               Must be zero                /   \ bits 0-3 /    
   \_________________________________________/     \________/


DEXWD1-3  During a  deposit  or  examine  operation,  the  data  being
          deposited  or  examined  appear  in  these  three registers.
          However, DEXWD1 must always contain zeros in the  high-order
          bits.


                             TENAD1-2


   Address space   --   0 = EPT                     
      |                 1 = Executive virtual       
      |                 4 = Physical
      |                  
      |
      |    1 = Deposit                                            
      |    0 = Examine                                       
      |      |
      |      |      ___________  1 = Protection and relocation off
    _____    |     /             0 = Protection and relocation on  
   /     \   |    /    ___________     ______________________
  /       \  |   /    /    All    \   /     High order KL    \ 
 /         \ |   |   /    zeros    \ /     address (13-19)    \
+--------------------------------------------------------------+
|15 |14 |13 |12 |11 |10 |09 |08 |07 |06 |05 |04 |03 |02 |01 |00|TENAD1
+--------------------------------------------------------------+
|               Low order KL address (20-35)                   |TENAD2
+--------------------------------------------------------------+


TENAD1-2  The PDP-11 uses these two registers in examine  and  deposit
          operations  to  specify  the  KL  address.   When the PDP-11
          writes TENAD2 the deposit/examine  operation  is  initiated;
          thus,  all necessary data must be written to DEXWD1-3 before
          TENAD2 is written.
DTE HARDWARE OPERATION                                       Page 8-22


8.3  USING THE DTE-20 REGISTERS

Each of  the  four  DTE-20  operations  (Deposit/Examine,  TO-10/TO-11
transfers,  Doorbell  functions,  and  Diagnostic  operations)  has  a
preliminary phase where control information and/or data is loaded into
the  DTE  registers.   This is always done before the interface begins
any  operation.   The  following  sections  describe,   operation   by
operation,  the  information  and  data  that  must be loaded into the
registers.



8.3.1  Deposit And Examine

For the Deposit operation, the following information is always  loaded
into the indicated registers in the RAM by the PDP-11 processor:

        Register        Data Loaded

        DEXWD3          Data Word 3
        DEXWD2          Data Word 2
        DEXWD1          Data Word 1
        TENAD1          Address Word 1
        TENAD2          Address Word 2

For an Examine operation, the KL address is  loaded  into  TENAD1  and
TENAD2.   The  result of the Examine is put into DEXWD1 and DEXWD2.  A
Deposit operation loads the contents of the three data words into  the
KL  address  specified by the address words.  Bit 12 of Address Word 1
(TENAD1) specifies whether the operation is to be Examine or  Deposit.
If bit 12 is set (=1), the operation is a Deposit;  if bit 12 is clear
(=0), the operation is an Examine.  For a privileged  front  end,  the
protection bit (bit 11 of TENAD1) can be set to one by the software to
perform an unprotected Deposit or Examine.  For  unprotected  Deposits
and  Examines, the address space field (bits 15-13) specifies the type
of address.  Currently, three types of address space can be specified:

        Bits 15-13      Space addressed

        0               Executive Process Table
        1               Executive Virtual Address Space
        4               Physical Address Space

When Address Word 2 is loaded, the operation begins.



8.3.2  Transfer Operations

The TO-10 and TO-11 transfer  operations  pass  variable  length  data
between  the  two processors.  The sender of the data must specify the
address of the source string.  The KL controls the address  either  to
or from the KL via byte pointers in the Executive Process Table (EPT).
The PDP-11 controls  the  address  to  or  from  the  PDP-11  via  two
locations in the DTE (one word for each direction of transfer).  It is
the responsibility of the receiver to  control  scatter  writes.   The
PDP-11  specifies the transfer rate (via the delay count) and the type
of transfer.  Bit 13 in the TO-11 Byte Count word controls whether the
DTE  is  in  byte  mode or word mode (1=byte mode, 0=word mode).  Byte
mode transfers 8-bit bytes while word mode moves 16-bit bytes.
DTE HARDWARE OPERATION                                       Page 8-23


When transferring string data from the KL to the PDP-11, the following
DTE registers must be loaded by the PDP-11:

        Register        Data Loaded

        DLYCNT          Delay Count
        TO11BC          TO-11 Byte Count
        TO11AD          TO-11 PDP-11 Memory Address

The TO-11 Byte Count register holds a negative number  whose  absolute
value  is equal to the number of bytes to be transfered.  As each byte
is transferred, this register is incremented by one.   When  the  byte
count  reaches zero, the transfer is over.  A special provision in the
byte count word allows for scatter writes.  This provision allows  the
receiver  of  data  (and  only  the  receiver)  the  option  of  being
interrupted before the transfer is complete.  At this  point,  another
transfer can be started (without reloading all of the parameters) just
by changing the address.  The transfer in progress continues from  the
new   address.    On  termination  of  the  transfer,  the  PDP-11  is
interrupted.  The KL can be interrupted also if this is desired.

The TO-11 Delay Count word is used to force the DTE  to  pause  before
starting  each  transfer,  thus eliminating bursts of interrupts.  The
register is loaded with some  negative  number  that  is  subsequently
incremented  by the DTE clock.  The transfer cannot start until Bit 13
equals zero.  During transfers, TO11DT is used as a  temporary  buffer
for the data until it is sent to PDP-11 memory via the NPR facility.

The TO-10 transfer process is very similar to the TO-11 process.   The
PDP-11 loads the following registers:

        Register        Data loaded

        DLYCNT          TO-10 Delay Count
        TO10AD          TO-10 PDP-11 Address

The KL loads the following register:

        TO10BC          TO-10 Byte Count

The transfer starts when the TO10BC register is  loaded.   The  TO10DT
register  is  used in the same manner as TO11DT;  that is, TO11DT is a
temporary buffer used in conjunction with the delay count.  The KL  is
interrupted when the transfer is finished.



8.3.3  Doorbell Function

The doorbell function allows the KL to interrupt each PDP-11 connected
to  it  by  a  DTE-20,  and  vice  versa.   The doorbell consists of a
programmable interrupt and a status bit.  In order for the  PDP-11  to
interrupt  the  KL, the PDP-11 sets the Request-10 interrupt flip-flop
(bit 8 in the DTE Status Word).  When this  bit  is  set,  the  DTE-20
generates  an  interrupt  in  the KL with a status bit set in the CONI
word (bit 26 in TO10DB) to indicate that the PDP-11 CPU has programmed
an interrupt of the KL.

This procedure works in a reversed but identical  manner  for  the  KL
interrupting  the  PDP-11.   The  KL  sets the Request-11 interrupt by
doing a CONO to the DTE-20.  The PDP-11 discovers the  cause  for  the
interrupt  by  looking  at  TO11DB  (bit  11  in the DTE status word).
Communication is then performed by loading one or more  words  in  the
Communications  Region of KL memory.  The Deposit and Examine features
are used by the PDP-11 to gain access to these words.
DTE HARDWARE OPERATION                                       Page 8-24


8.3.4  Diagnostic Functions

The PDP-11 front end  can  diagnose  problems  in  the  KL  using  the
diagnostic  functions  of  the  DTE-20.   The diagnostic functions are
performed over an electronically insulated portion of the  EBUS  known
as  the  diagnostic bus.  This bus contains Diagnostic Select lines to
tell the KL what diagnostic function the front end wishes to  perform.
The  bus  also  has  lines  to  carry  data that helps the KL hardware
interpret the Diagnostic Select lines.

To perform the diagnostic functions, set the bits  in  register  DIAG1
that  correspond  to  the  code  for the function you wish to perform.
When you set bit 0 (DCOMST) in DIAG1, the function code is sent to the
KL.   When  the DCOMST bit is zero, the DTE-20 has sent the diagnostic
function to the KL.  Bit 2 of DIAG1  (DSEND)  has  no  effect  on  the
transfer  of  the  function  code;   DSEND  deals with diagnostic data
transfer only.  Diagnostic data transfer takes place only when  bit  3
(DIKL10) is set to one.



8.4  PROTOCOLS

The protocol used between the KL and the PDP-11 front end is a tightly
coupled  communications  protocol  designed  for  use  in exactly this
environment.   Two  sub-protocols  are  included  in  this   protocol:
Secondary Protocol and Primary Protocol.



8.4.1  Secondary Protocol

Secondary Protocol  uses  only  the  Deposit/Examine  feature  of  the
DTE-20.   This  protocol  is  only  used in special situations such as
booting the KL, or in emergencies where normal communications with the
KL  are  not  available.  The code to support Secondary Protocol is in
module BOOT of RSX-20F.  

Only the privileged PDP-11  can  run  Secondary  Protocol  because  it
requires  privileged Deposits and Examines.  Secondary Protocol is not
a real protocol because the two  processors  do  not  cooperate.   The
PDP-11 decides what it wants to do and does all the work.



8.4.2  Primary Protocol

Primary Protocol is the main protocol used for communications and uses
the  Deposit/Examine,  Byte  Transfer,  and  Doorbell  features of the
DTE-20.  The switch to Primary Protocol is made just  before  the  [PS
MOUNTED] message appears at the CTY.

Primary Protocol is a queued protocol because the DTE-20  is  used  by
several  tasks.   Multiple  tasks  cannot be allowed to use the DTE-20
whenever they desire or confusion would result.  Therefore, tasks that
want to use the DTE must line up in a queue and wait their turn.
DTE HARDWARE OPERATION                                       Page 8-25


8.5  QUEUED PROTOCOL

The  queued  protocol  driver  is   responsible   for   many   things:
controlling  the  exchange  of  data  between  the  KL and the PDP-11,
scheduling the transmission of information  packets  sent  across  the
DTE, and interfacing between the KL and the PDP-11 device drivers that
must communicate with it (terminals, line printers and card  readers).
The  queued  protocol  driver places output data in the thread packets
for terminals and line printers.   The  queued  protocol  driver  also
takes  data from card readers and terminals, bundles them into packets
and sends them off to the  KL.   When  device  status  information  is
needed,  it is the queued protocol driver that gathers the information
for those devices that must report to the KL.

The following list includes all the functions of the  queued  protocol
driver.   Each  function  is listed along with its associated function
code, which is used by both the KL and the front end to recognize  the
type of request just received.


   Code   Function

   1    Unused

   2    Unused

   3    String Data
           This function is the general data-transferring mechanism of
           the protocol.

   4    Line/Character Data
           This function allows the protocol to handle data  transfers
           for  several  lines with a single function, which cuts down
           on overhead by reducing the number of messages transferred.

   5    Return Device Status
           This function requests the status of the  device  from  the
           other processor.

   6    Set Device Status
           This function requests the device status to be set  to  the
           specified values.

   7    Here is Device Status
           This function is the response to function 5 (Request Device
           Status).  

   10   Unused

   11   Return Time of Day
           This function is used to determine  the  other  processor's
           current system date and time.

   12   Here is Time of Day
           This function is the response to function 11  (Return  Time
           of Day).  

   13   Flush Output Device Queue
           This function provides the ability to deal with  CTRL/O  by
           flushing  all  output  waiting  for output to the specified
           device.  

   14   Send All
           This function causes a specified string to be typed on  all
           TTY-type devices connected to the front end.
DTE HARDWARE OPERATION                                       Page 8-26


   Code   Function

   15   Unused

   16   Device Hang-up
           This function causes the PDP-11 to hang  up  the  specified
           dataset line.  

   17   Acknowledge Device Done
           This function is used to notify the other processor that  a
           data transfer operation has been completed.  The passing of
           this signal allows the buffer space that was taken up  with
           the data just transferred to be freed.

   20   X-OFF (TTY only)
           This function is used to  produce  the  effect  of  CTRL/S.
           This  causes  the data transfer in progress to be suspended
           until further notice (the notice will be in the form  of  a
           CTRL/Q).

   21   X-ON (TTY only)
           This function is used to  produce  the  effect  of  CTRL/Q.
           This causes the data transfer currently suspended (if there
           is one) to be continued.

   22   Set TTY Speed
           This function is used to inform the other processor of  the
           speed  of  a  given  TTY line.  The front end will use this
           information to set the line speed.  The KL  will  need  the
           information when the KL has been reloaded and is reentering
           Primary Protocol.

   23   Set Line Allocation
           This function sets the maximum amount of data that a device
           can accept between acks.

   24   PDP-11 Reboot Word
           This function provides the KL  with  the  settings  of  the
           PDP-11 switch register.

   25   Acknowledge All
           This function is used to restart a data transfer operation.
           The KL, for example, may use it when the KL has temporarily
           left Primary Protocol.

   26   Start/Stop Line
           This  function  is  used  to  enable  and   disable   input
           processing for the line specified.

   27   Enable/Disable Remotes
           This function is used  to  enable  and  disable  the  modem
           control;   when the current state is enabled, the telephone
           may be answered by the front end.

   30   Load Line Printer RAM
           This function is used by the KL to  notify  the  front  end
           that  the  line printer RAM needs reloading.  The front end
           will, upon receipt of this message,  proceed  to  load  the
           RAM.

   31   Load Line Printer VFU
           This function is used by the KL to  notify  the  front  end
           that  the  line  printer  VFU  needs  to be reloaded.  Upon
           receipt of this message, the front end will load the RAM.
DTE HARDWARE OPERATION                                       Page 8-27


   Code   Function

   32   Suppress Send-All
           This function is used to suppress the system messages for a
           specified  line.   It  is  the  equivalent  of  the TOPS-20
           command REFUSE SYSTEM-MESSAGES.

   33   Send KLINIK Parameters 
           This function is used to notify the  other  processor  that
           the KLINIK parameters are about to be sent.  

   34   Enable/Disable Local X-OFF
           This function is used to allow (or disallow) the front  end
           to  process the X-OFF character itself, rather than waiting
           for the KL to process the character

When two processors communicate, they require an area  that  both  can
access to exchange information.  This area is in KL memory because the
KL can not access PDP-11 memory via the  DTE.   The  area  where  this
common data is stored is the Communications Region.

Recall that the first part of the region is a header area.   Following
this,  each  processor  that  is  connected  to  the  KL  has  its own
communications area.  A minimal configuration has  two  communications
areas,  one  for  the KL and one for the PDP-11 front end.  If another
PDP-11 is attached  for  data  communications,  there  will  be  three
communications  areas.   Each  communications  area has one section of
data about itself and one or more sections for the other processors it
is connected to.

The KL and the PDP-11 also use the Executive Process  Table  (EPT)  to
communicate.   The  EPT  occupies a page in KL memory in which several
words are reserved for DTE communications.  The location of the EPT is
always known because a hardware register points to it.

The EPT stores the KL addresses for byte-transfer operations and tells
the  PDP-11  where  in  KL  memory  it  may  Deposit and Examine.  The
relocation and protection words are set once by the  KL.   The  PDP-11
reads  these  words,  and stores them so that it will not have to read
them again.  All PDP-11 Deposits and Examines of KL memory are checked
by the hardware using the relocation and protection words.  



8.6  DIRECT AND INDIRECT TRANSFERS

Two separate packet-transfer operations are used by  the  KL  and  the
PDP-11  to  exchange messages across the DTE-20.  One is called direct
transfer and the other is called indirect  transfer.   The  difference
between  the  two  is  largely  a  matter of the size of the packet of
information to be transmitted.  Direct  transfers  are  used  to  send
relatively  small,  fixed-length packets where the data is included in
the  packet.   Indirect   transfers   are   used   to   send   longer,
variable-length  packets  where  the data is separate from the packet.
Both operations use Deposit/Examines and byte transfers.
DTE HARDWARE OPERATION                                       Page 8-28


8.6.1  Direct Packets

Direct packets are identified by a 0 in bit 15  of  the  second  word.
The  packet shown in Figure 8-5 is the largest size direct packet that
can be sent across the DTE.  Direct packets can be as short as 5 words
and  as  long  as  10  words.   The first four words of the packet are
called the header for the packet.


      +-------------------------------------+
      |      Count of bytes in packet       |    0
      |-------------------------------------|
      |0|         Function code             |    2
      |-------------------------------------|
      |           Device code               |    4
      |-------------------------------------|
      |           Spare (null)              |    6
      |-------------------------------------|
      |              Data                   |   10
      |-------------------------------------|
      |              Data                   |   12
      |-------------------------------------|
      |              Data                   |   14
      |-------------------------------------|
      |              Data                   |   16
      |-------------------------------------|
      |              Data                   |   20
      |-------------------------------------|
      |              Data                   |   22
      +-------------------------------------+


           Figure 8-5  Direct Packet



8.6.2  Indirect Packets

Indirect packets can handle more information than direct  packets  and
can  be  written  in  noncontiguous areas of memory.  The data that is
sent is not a part of,  nor  necessarily  contiguous  to,  the  packet
header   itself.   The  indirect  packet,  shown  in  Figure  8-6,  is
identified by a one in bit 15 of the Function word.  The  size  is  12
bytes and the last two words provide the size and location of the data
to  be  transmitted  across  the  DTE.   This  header  information  is
transmitted as a direct packet.
DTE HARDWARE OPERATION                                       Page 8-29


      +-------------------------------------+
      |      Count of bytes in packet       |    0
      |             (12 bytes)              |  
      |-------------------------------------|
      |1|         Function code             |    2
      |-------------------------------------|
      |           Device code               |    4
      |-------------------------------------|
      |           spare (null)              |    6
      |-------------------------------------|
      |      Count of bytes in data         |   10
      +-------------------------------------+
      |          Pointer to data   *        |   12
      +----------------------------|--------+
                                   |
                                   +-------------+
                                                 |
                                                 |
      +-------------------------------------+<---+
      |                                     |
      |                                     |
      |                                     |
      |                                     |
      |              Data                   |
      |                                     |
      |                                     |
      |                                     |
      |                                     |
      |                                     |
      +-------------------------------------+


           Figure 8-6  Indirect Packet and Data





8.7  DATA STRUCTURE OF PACKETS

The information that is sent from the PDP-11 to the KL via the DTE  is
stored  in  dynamically allocated buffers.  The buffers are located in
the Free Pool area of PDP-11 memory.  Each packet to be sent is stored
in  a  buffer area called a node.  Each node has two words of overhead
referred to as the node header.  The first word in each node  contains
a  pointer  to the next node in the list;  the other word contains the
size of the buffer.  The remainder of the information  is  the  actual
packet that will be sent.

The TO-10 queue is a singly-linked linear list that is  maintained  by
the  use  of pointers.  The location TO10Q points to the first node in
the queue.  The TO-10 queue operates in a first in, first out  manner.
Location TO10Q+2 contains a pointer to the last node in the collection
of nodes.  This pointer is used by the RSX-20F  system  when  it  adds
nodes to the list.

The TO-11 queue handles the data received from  the  KL.   This  queue
uses  space  from  the Free Pool area of PDP-11 memory to form buffers
for nodes, much as the TO-10 queue.  The TO-11 queue uses the nodes in
the same way as the TO-10 queue, except that a count of nodes replaces
the pointer to the last node.











                              CHAPTER 9

                     ERROR DETECTION AND LOGGING



9.1  THE KEEP ALIVE COUNT

The KL and the PDP-11 watch each other to make  sure  that  the  other
does  not  crash.   The  mechanism  they use is called the "Keep-Alive
Count." The Keep-Alive Count for each  processor  is  a  word  in  the
Communications  Region  of  KL  memory.   Both  processors  have clock
interrupts regularly.  During the servicing of those clock interrupts,
the  processors  increment  their  own Keep-Alive Counts and check the
other processor's Keep-Alive Count.  If  the  count  has  not  changed
after  a  certain number of interrupts, then that processor is assumed
to be hung or crashed and must be reloaded.   If  the  KL  goes  down,
RSX-20F  requests  the TKTN task to run.  TKTN shuts down the protocol
and schedules the KLERR task.

The front end must go through  the  DTE-20  in  order  to  update  and
examine  the  Keep-Alive Counts, because both copies of the Keep-Alive
Count are located in the Communications Region of KL memory.  The KL's
Keep-Alive  Count is kept in CMKAC, the sixth word in the KL's area of
the Communications Region.  The PDP-11's Keep Alive Count is stored in
the sixth word of the PDP-11's area of the Communications Region.



9.2  KLERR TASK

When the front end notices that  the  KL  has  not  responded  by  the
Keep-Alive  Count mechanism, KLERR checks the status of the Retry flag
(see the SET RETRY command in Section 4.4 for more  information).   If
the  Retry  flag  is  not  set, KLERR checks the setting of the Reload
flag.  If the Reload flag is set, KLERR reloads the KL.  If the Reload
flag  is  not  set,  the front end ignores the fact that the KL is not
running and continues its processing.

If, on the other hand, the Retry flag is set, the front end will  give
the  KL  a  chance  to save its context (if possible) by executing the
instruction at location 71, which transfers control to  a  KL  routine
that  attempts  to save the context information.  When the context has
been saved, KLERR will determine whether to reload the KL depending on
the  state  of  the Reload flag.  (It is usual for the KL to request a
reload during the execution of the context-saving subroutine.)
ERROR DETECTION AND LOGGING                                   Page 9-2


KLERR has several important functions.  When it realizes that  the  KL
has  not  responded, KLERR tries to read as much information as it can
from registers in  the  KL  by  performing  function  reads  over  the
diagnostic  portion  of  the  EBUS.   KLERR  stores the information it
retrieves in the KLERRO.SNP file in the front-end file  system.   When
KLERR  has  completed  its function, TKTN schedules the KLINIT task to
restart the KL.

The decision to run KLERR is usually automatic and not  controlled  by
the  operator.   However, the operator can force KLERR to run by using
the PARSER command:

     PAR>MCR KLE



9.3  ERROR LOGGING

There are two types of errors for which KLERR logs some information on
the CTY.  One type is printed for KL errors and describes the state of
the KL, as well as it could be determined by the front end.  The other
type  is  printed  for  PDP-11  errors.  Each type is described in the
sections below.



9.3.1  KL Error Logging

KLERR provides the operator with some very  useful  information  about
the  state  of  the KL upon execution.  Included in the KLERR printout
are:

     o    Contents of the DTE-20 registers

     o    EBUS parity information

     o    Fast memory parity information

     o    Some textual information on the state  of  the  KL  and  the
          DTE-20

The following examples show the compact format of  the  KLERR  output.
The  first  example  shows  the  KLERR  output from a Keep-Alive-Cease
error.  The second example shows what KLERR can tell  you  about  Fast
Memory  in  the event of an FM parity error.  Refer to Section 8.2 for
descriptions of the functions of the various DTE-20 registers.
ERROR DETECTION AND LOGGING                                   Page 9-3


Example 9-1

     KEEP ALIVE CEASED
     KLERR -- VERSION V03-00 RUNNING

     DLYCNT: 000000
     DEXWD3: 000447
     DEXWD2: 000000
     DEXWD1: 000000
        KL10 DATA=000000,,000447
     TENAD1: 000000  TENAD2: 000007
        ADDRESS SPACE=EPT
        OPERATION=EXAMINE
        PROTECTION-RELOCATION IS ON
        KL10 ADDRESS=7
     TO10BC: 010000  TO11BC: 130000
     TO10AD: 066652  TO11AD: 066075
     TO10DT: 000000  TO11DT: 000012
     DIAG1 : 002400
        KL IN RUN MODE
        MAJOR STATE IS DEPOSIT-EXAMINE
     DIAG2 : 040000
     STATUS: 012104
        RAM IS ZEROS
        DEX WORD 1
        E BUFFER SELECT
        DEPOSIT-EXAMINE DONE
     DIAG3 : 000000

     KLERR -- KL NOT IN HALT LOOP
     KLERR -- KL ERROR OTHER THAN CLOCK ERROR STOP
     KLERR -- KL VMA: 000000 420237    PC: 000000 420237
     KLERR -- PI STATE: ON  , PI ON: 177 , PI HLD: 100 , PI GEN: 000
     KLERR -- EXIT FROM KLERR
ERROR DETECTION AND LOGGING                                   Page 9-4


Example 9-2

     KLERR -- VERSION V03-00 RUNNING

     DLYCNT: 000000
     DEXWD3: 060626
     DEXWD2: 000000
     DEXWD1: 000001
        KL10 DATA=040000,,060626
     TENAD1: 000000  TENAD2: 000007
        ADDRESS SPACE=EPT
        OPERATION=EXAMINE
        PROTECTION-RELOCATION IS ON
        KL10 ADDRESS=7
     TO10BC: 010000  TO11BC: 130000
     TO10AD: 066452  TO11AD: 066512
     TO10DT: 000000  TO11DT: 050000
     DIAG1 : 006400
        KL CLOCK ERROR STOP
        KL IN RUN MODE
        MAJOR STATE IS DEPOSIT-EXAMINE
     DIAG2 : 050000
     STATUS: 002100
        DEX WORD 1
        E BUFFER SELECT
     DIAG3 : 00000

     KLERR -- KL NOT IN HALT LOOP
     KLERR -- CLOCK ERROR STOP
     KLERR -- KL VMA: 000000 000441    PC: 000000 000253
     KLERR -- PI STATE: ON  , PI ON: 177 , PI HLD: 000 , PI GEN: 000
     KLERR -- FM PARITY ERROR-(BLOCK:ADDR/DATA) 1:5/ 252525,,252525
         FM SWEEP -- 1:12/ 252525,,252525
         FM SWEEP -- 1:11/ 252525,,252525
         FM SWEEP -- 1:5/ 252525,,252525
     KLERR -- EXIT FROM KLERR
ERROR DETECTION AND LOGGING                                   Page 9-5


9.3.2  PDP-11 Error Logging

Upon encountering a serious PDP-11 error,  the  front  end  stops  and
waits for the KL to reload it.  Before the front end dies, however, it
prints the following message on the CTY:

     11-HALT
     <code>

where <code> is a 3-character error code indicating why the front  end
crashed.  Refer to Appendix A for a list of RSX-20F stop codes.

Whenever RSX-20F discovers  a  condition  that  it  considers  serious
enough  to  cause  a  crash,  it  executes  an  IOT  instruction.  The
3-character crash code following the IOT is picked  up  by  the  crash
routine.  

For a disk-based PDP-11 operating system, the IOT instruction is  used
for  error reporting.  The instruction first executes a trap vector at
location 20.  From there it dispatches to COMTRP, then to IOTTRP which
halts  the  PDP-11,  trying  to  save  as  much  information  from the
registers as it can.

The IOT routine stores the crash code and  parity-error  registers  in
locations  0  to  3  of  PDP-11  memory.   This information is readily
available in a dump listing.  For example, an IOT instruction followed
by ASCIZ /DTB/ would result in the following:

     +---------------------+
     !     T    !     D    ! 0
     !---------------------!
     ! Par.Error!     B    ! 2
     +---------------------+

When looking at the source listings of RSX-20F, you will notice that a
macro is used instead of the IOT instruction.  The macro is .CRASH and
expands to the IOT plus ASCIZ crash code as stated above.
ERROR DETECTION AND LOGGING                                   Page 9-6


9.3.3  KLERRO.SNP FILE

KLERRO.SNP is the output file  from  the  KLERR  task.   The  file  is
written  in  the front-end file area on the dual-ported RP04/06.  When
KLERRO.SNP  is  in  this  area,  it  is   in   Files-11   format   and
TOPS-10/TOPS-20  cannot  access the data.  The KLXFER task is required
to transfer the data into the TOPS-10/TOPS-20 file area.

The bulk of the information  in  KLERRO.SNP  comes  from  storing  the
contents  of  the  diagnostic  DTE-20  registers  after  execution  of
function reads.  Every possible function read  is  performed  (100  to
177)  octal).   In addition, version number, checksum, and the time of
day are stored.  Refer to Figure 9-1 for the format of the  KLERRO.SNP
file.




+-------------------------------------------------------+
!       KLERR file type (version _#)                    !#0
!-------------------------------------------------------!
!       Record length in words                          !#2
!-------------------------------------------------------!
!       Time of day                                     !#4
!-------------------------------------------------------!
!       Reserved for future use (currently zero)        !24
!-------------------------------------------------------!
!       Reserved for future use (currently zero)        !26
!-------------------------------------------------------!
!       Reserved for future use (currently zero)        !30
!-------------------------------------------------------!
!       Reserved for future use (currently zero)        !32
!-------------------------------------------------------!
!       Reserved for future use (currently zero)        !42
!-------------------------------------------------------!
!       Error Code                                      !46
!-------------------------------------------------------!
!       DTE Diagnostic Word 1                           !50
!-------------------------------------------------------!
!       DTE Diagnostic Word 2                           !52
!-------------------------------------------------------!
!       DTE Status Word                                 !54
!-------------------------------------------------------!
!       DTE Diagnostic Word 3                           !56
!-------------------------------------------------------!
!                                                       !60
!       This block contains the information obtained    !
!       by executing every possible diagnostic function !
!       read.  The function reads vary from 100 to 177  !
!       (octal).  After each function read, the three   !
!       diagnostic registers are stored here.           !
!-------------------------------------------------------!
!       KLERR RAD50 Error (if any)                      !660
!-------------------------------------------------------!
!                                                       !662
!       Reserved for future expansion                   !
!-------------------------------------------------------!
!       Checksum for above words                        !676
+-------------------------------------------------------+


                 Figure 9-1  KLERRO.SNP File Contents
ERROR DETECTION AND LOGGING                                   Page 9-7


9.3.4  KLERR MESSAGES

KLERR is designed to run automatically without operator  intervention.
However,  KLERR  does  print  some messages on the console that can be
useful in diagnosing a system  problem.   A  list  of  possible  error
messages and their causes follows.

Argument Out of Range

     The number that was to be loaded into the  burst  count  register
     was greater than the maximum number allowable.

KL CRAM Address Error

     The CRAM address that was to be read is not a valid CRAM address.

Can't Clear KL Clock

     The attempt to clear the KL clock failed.

Can't Clear KL Run Flop

     An attempt to clear the Run Flop failed.

KL Clock Error Stop

     A check of diagnostic register 1 reveals that there is  an  error
     in the KL Clock.

Can't Find KL Halt Loop

     The microcode would not go into its halt loop even when  told  to
     do so.

Can't Sync KL Clock

     The function execute to synchronize the KL clock failed.

Can't Set KL Run Flop

     KLERR was unable to set the Run flop.

DTE-20 Not Privileged, No KL Operations are Legal

     This DTE is not the  privileged  DTE  that  is  allowed  complete
     access  to  the  KL.   The privilege switch on the outside of the
     cabinet of the DECSYSTEM-20 should be checked.

DTE-20 Status Failure

     An attempt to read or write the DTE status register failed.

Run and Halt Loop Both On

     The KL thinks that the microcode is currently in  the  halt  loop
     and also running normally, both at the same time.

EBOX Clock Timeout

     The EBOX clock timed out during an attempt to simulate  the  EBOX
     clock via MBOX clocks.
ERROR DETECTION AND LOGGING                                   Page 9-8


EBUS Parity Error

     Parity errors have been detected on the EBUS.

Function Read Failed

     A Function Read operation failed.

Function Write Failed

     A Function Write operation failed.

Function Execute Failed

     A Function Execute operation failed.

Illegal Function Code

     The code in the argument of the Function Read, Function Write, or
     Function Execute command does not match existing values.

Internal Programming Error

     A problem exists in the system software.

Examine Deposit Mode Illegal

     The arguments for a Deposit or Examine of the KL were not set  up
     correctly.

Odd Function Code

     The number of the Function  Read,  Function  Write,  or  Function
     Execute does not match existing values.

Unmatched Error Code

     The error code reported does not match any on the list  of  known
     errors.

KL in Halt Loop

     The PDP-11 put the KL into the halt loop.

KL not in Halt Loop

     The PDP-11 could not put the KL into the halt loop.

Version V03-02 Running

     This banner is printed when KLERR starts to run.

Directory File Not Found

     KLERR could not find the directory file into which the error file
     would be placed.

KLERRO.SNP File Creation Failed

     Creation of the error file failed.
ERROR DETECTION AND LOGGING                                   Page 9-9


Unable to Enter KLERRO.SNP into Directory

     An error occurred when  the  file  name  was  inserted  into  the
     directory file.

Unable to Extend KLERRO.SNP file

     KLERR was denied access when it tried to append to KLERRO.SNP.

UNABLE TO WRITE KLERRO.SNP file

     An error occurred when KLERR was writing the KLERRO.SNP file.



9.4  KLXFER

KLXFER is not run immediately after KLERR or KLINIT.   The  front  end
must wait until TOPS-10/TOPS-20 has been loaded and is running so that
it can transfer the KLERRO.SNP file.  KLXFER  runs  after  the  SETSPD
task  in  the  front  end runs.  SETSPD runs when the KL has just been
reloaded and wants information about line speeds from the  front  end.
This  SETSPD  is  not  to  be  confused  with  the SETSPD that runs on
TOPS-10/TOPS-20.  The last thing that SETSPD does is to make a request
for  KLXFER to run.  KLXFER transfers the error file, if it exists, to
TOPS-10/TOPS-20 via the DTE-20.  TOPS-10 or TOPS-20 then  appends  the
information  to ERROR.SYS, the master error file.  Finally, KLERRO.SNP
is deleted from the front-end file area.











                              CHAPTER 10

                           ERROR DEBUGGING



When the front end crashes, the bootstrap ROM passes a  dump  file  to
the  KL  (assuming  the  KL  is  running at the time).  A good deal of
information can be extracted from this file, given  the  right  tools.
This  chapter  explains  what  data you can get from a dump file using
FEDDT.  Since FEDDT runs only on TOPS-20, this chapter is  essentially
useful  only  to  those  users  who  have  access to a machine running
TOPS-20.  (Do not take this  to  mean  that  TOPS-10  front-end  dumps
cannot be read.  They simply cannot be read with any symbolic debugger
currently available to users of TOPS-10.)

The first section of  the  chapter  describes  FEDDT.   Once  you  are
familiar  with FEDDT, you can proceed to examine locations in the dump
file and attempt to determine the cause of the crash.   Although  much
of  the  data  in  a  dump  file  is rather obscure, several locations
contain data that is almost always  useful  in  this  attempt.   These
locations  are identified, and the meaning of the data they contain is
related.  Finally, a complete list of all the information in the Front
End Status Block is presented.



10.1  USING FEDDT

FEDDT is a tool for symbolic debugging of dumps  taken  of  front  end
crashes.   FEDDT  runs  only  on  TOPS-20.  (Unfortunately, no TOPS-10
analog currently exists.) FEDDT can  also  be  used  for  symbolically
depositing  and examining data in the physical front-end memory, using
the DTE-20 and the Primary Protocol  deposit  and  examine  functions.
FEDDT  can  type  PDP-11 addresses as instructions, numbers in a given
radix, or bytes of a given size.  It has the capability for  accepting
user  defined  symbols,  either  read  from a .MAP or .CRF listing, or
defined at the terminal.  In addition, FEDDT  has  an  initial  symbol
table of all PDP-11/40 instructions.

FEDDT reads a binary dump file of PDP-11  core.   This  file  normally
comes  across  the DTE-20 under control of the PDP-11's bootstrap ROM,
and  TOPS-10/TOPS-20  writes  the  file   into   its   own   area   as
<SYSTEM>0DUMP11.BIN.  This implies that the KL must be running for the
front end to produce a dump file.  You need not transfer the dump file
to  some other directory to save it, because the directory PS:<SYSTEM>
has an infinite generation-retention  count;   therefore,  the  system
will  never  delete  old  copies of files in this directory without an
explicit command.  FEDDT reads the file upon receiving an $Y (ESC-Y or
Alt-mode-Y) command.  FEDDT has the ability to write selected portions
of this file in ASCII to any  device  (with  a  $$D  command),  or  to
compare  selected portions of this file with any other file, and write
the result in ASCII to any device (with a $$X command).
ERROR DEBUGGING                                              Page 10-2


In the following example, the user loads the RSX-20F symbol  file  and
saves a copy of FEDDT that includes the symbols.  This allows the user
to start FEDDT later with the  symbols  already  loaded.   Lower  case
letters denote information typed by the user.

Example:

@feddt
[FEDDT]                                 ;This is the program prompt 
$$y                                     ;Escape Escape Y
SYMBOL FILE:  exec.map                  ;Name of file
READ 291 SYMBOLS                        ;Done
                                        ;At this point,
                                        ;RSX20F symbols
                                        ;have been read
^C                                      ;Back to the exec
@save fesym                             ;Save symbols copy
@reenter                                ;Back into FEDDT
$y                                      ;Escape Y
INPUT FILE:  <system>0dump11.bin        ;Read latest crash
CORE SIZE IS 28K                        ;Size of dump
                        .               ;User performs task
                        .               
                        .
                        .


The following is a brief description  of  the  commands  available  in
FEDDT.   In  examples,  the  expression [value] indicates an arbitrary
PDP-11 number (square brackets are not part of the command).

Command     Effect

TAB       Causes the current  location  to  be  closed.   The  current
          location  is  then  set  to  the  current value, and the new
          location is opened, as with a slash command.

LF        Examines the next location.

CR        Closes the current location.

CTRL-U    Same as rubout.

SPACE     Ends the current expression, and  adds  it  to  the  current
          value.

!         Ends the current expression, and sets the current  value  to
          the  logical  OR  of  the  current  value  and  the  current
          expression.

_         (Underscore) Ends  the  current  expression,  and  sets  the
          current  value  to  the logical AND of the current value and
          the current expression.

^         Ends the current expression, and sets the current  value  to
          the  logical  XOR  of  the  current  value  and  the current
          expression.

*         Ends the  current  expression,  and  multiplies  it  by  the
          current value.

+         Ends the current expression, and  adds  it  to  the  current
          value.  
ERROR DEBUGGING                                              Page 10-3


Command     Effect

-         Ends the current  expression,  and  subtracts  it  from  the
          current value.

.         Contains the value of the current location.

/         Makes the current location the current value, opens it,  and
          prints the contents.

:         Following an  ASCII  string  of  six  or  fewer  characters,
          defines  the  ASCII  string as a symbol whose value is to be
          made the current value.

=         Ends the current expression, and types its value as a number
          in the current radix.

\         Ends the current expression, and examines  its  value  as  a
          symbolic expression.  The location counter is not changed.

RUBOUT    Aborts the current expression.


ALT-MODE Commands


Command     Effect

$A        Sets address mode.

$B        Sets byte mode.

$C        Sets constant mode.

$D        Dumps PDP-11 memory to output device.  The correct format is
          [start-address]<[end  address]>$D.  Asks for the output file
          specification.

$I        Sets output mode to EBCDIC text.

$K        Suppresses the previous symbol typed either by the  user  or
          by FEDDT.

$M        Sets the mask word for searches.

$N        Searches memory for words which, when ANDed  with  the  mask
          word,  are  not  equal to the word specified.  The format is
          [start-address]<[end-address]>[word]$N.

$P        Enables relocation on symbol table readin.  A  number  typed
          before  the  escape  is added to every relocatable symbol to
          determine its actual value.

$R        Sets radix (values can be 2 through 16).

$S        Sets output mode to symbolic.

$T        Sets output mode to bytes.  The byte size  is  specified  by
          the number that precedes the escape (or Alt-mode).

$W        Searches memory for words which, when ANDed  with  the  mask
          word,  equal  the word requested.  The format is the same as
          that for the $N command.
ERROR DEBUGGING                                              Page 10-4


Command     Effect

$X        Compares selected portions of memory with the  file  already
          selected  with  the  $$X  command  (see  below  for  the $$X
          command).  The command requests an output filename.

$Y        Reads in a  binary  dump  file.   Requests  the  input  file
          description.   This command resets the job starting address,
          so that FEDDT can be saved with a  dump  read  in  and  then
          restarted.

$$A       Sets address mode permanently.

$$B       Sets byte mode permanently.

$$C       Sets constant mode permanently.

$$K       Complements the Suppress All Symbols switch.

$$O       Opens physical PDP-11 core.

$$P       Clears the relocation allowed flag.

$$R       Sets the radix permanently.

$$S       Sets symbolic mode permanently.

$$T       Sets byte mode permanently.

$$X       Reads another binary file, compares it with the present one,
          and writes the differences to a specified file.  The correct
          format is:  [low-limit]<[high-limit]>$$X.

$$Y       Reads a symbol table file.  If the extension of the file  is
          .MAP,  it  is assumed to be a map file produced by LNKX11 or
          PDP-11 TKB.  Otherwise, it is assumed to be a  CREF  listing
          produced by MACY11.



10.2  INTERPRETING AN RSX-20F DUMP

The  RSX-20F   dump   file,   <SYSTEM>0DUMP11.BIN,   contains   useful
information  for  those  investigating  a  front-end  crash.  Users of
TOPS-20 can read this file with the symbolic debugger  FEDDT.   (There
are, unfortunately, no tools for users of TOPS-10 that can be used for
this purpose, at least at the  present  time.)  By  examining  various
locations  in  the  dump file, and comparing them with expected values
and with other locations, you can often determine  why  the  front-end
crash occurred.

However, crashes occur for innumerable reasons and in  many  different
environments.   Thus, it is not possible to give a simple formula that
will take the dump file as input and give as output the answer to  the
question "Why did the front end crash?".  You must examine all aspects
of the situation, many of them not symbolized in the dump  file.   For
example, some installations have had problems that, when investigated,
were found to be caused by poor wiring schema - lines connecting vital
pieces  of  hardware  were  longer than they should have been, and the
noise on the line confused all concerned.  This problem is just one of
many  that  could cause RSX-20F to crash without having anything to do
with the software itself.  It emphasizes the fact that all aspects  of
the environment must be considered in attempting to determine the root
of the problem.
ERROR DEBUGGING                                              Page 10-5


The following points should be kept in mind while  you  examine  crash
dumps from RSX-20F.

     1.  If the problem was severe, random  locations  in  memory  may
         have been erased or overwritten.

     2.  Not all situations that are seen by humans as problems result
         in  RSX-20F crashing.  Therefore, RSX-20F may not produce the
         dump you need to determine the problem.

     3.  Because PDP-11 stacks use autodecrement mode, the stack grows
         toward lower core, not higher.

     4.  The PDP-11 low-order byte is the  right-hand  byte,  not  the
         left-hand one.

     5.  Many times hardware problems masquerade as software problems.
         Something that seems to have been caused by software is often
         found to be a subtle manifestation of a hardware difficulty.




10.2.1  Useful Data in Dump Files

Although every crash is different from every other,  if  only  because
the environment is different, there are some data that you will always
wish to have before attempting to  fix  blame  for  the  crash.   This
includes such data as the crash code, the task that was running at the
time of the crash, and the last  instruction  to  execute  before  the
crash.  This section explains how to obtain this useful data.

When you examine a dump file, you should first find out what the crash
code  was.   The crash code is a three-letter code that identifies the
type of error RSX-20F detected when it crashed.  The code is always at
locations  0  and 2 in the dump file.  If no readable code is in these
locations, RSX-20F did not have control over the  crash;   the  PDP-11
may  have  been  halted with the HALT switch, or there may have been a
Keep-Alive-Cease error, for example.

At this point you may wish to make sure that the  version  of  RSX-20F
you  are  using  is consistent with the version of the symbol file you
loaded into FEDDT.  You can verify  this  by  checking  the  locations
.VERNO,  .VERNO+2,  .VERNO+4,  and  .VERNO+6.  These locations contain
data of the form Vxyy-zz, where x is either A for 1080/1090's,  E  for
1091's,  or  B  for  TOPS-20,  and  yy and zz are the version and edit
numbers, respectively.

You can find out what task was running at the time  of  the  crash  by
examining  the  location .CRTSK.  This location points to the ATL node
of the current task.  When you have opened .CRTSK,  you  can  use  the
<TAB>  command  in  FEDDT to open the location to which .CRTSK points.
The response from FEDDT includes a symbolic address that is the symbol
used internally by RSX-20F to name a task.

You can determine the last instruction to execute before the crash  by
examining  the  location  SPSAV.  This location contains a copy of the
stack pointer at the time of  the  crash.   Since  the  PS  (Processor
Status  word)  and PC (Program Counter) are stored on the stack at the
time of a crash, you can find out what instruction the PC pointed  to.
(Of  course, the last instruction to execute would be the one previous
to that pointed to by the stacked PC.) Once you have opened SPSAV, you
can  use  the  <TAB>  command to open the address pointed to by SPSAV.
This address will be the top word in the stack.  If SPSAV is zero, the
ERROR DEBUGGING                                              Page 10-6


crash  was  caused  by a Keep-Alive-Cease.  If it is not zero, and the
crash code is not a T04, FTA, RES, BPT, or DTD, the top three words on
the stack will be R5, the PC, and the PS, in that order.  If the crash
code is a T04, FTA, RES, BPT or  DTD,  and  SPSAV  is  not  zero,  the
fourth,  fifth,  and  sixth  words  will  be  R5,  the PC, and the PS,
respectively.  Subtracting two from the address contained  in  the  PC
gives  you  the  address  of the last instruction to execute.  You can
also find other PS's and PC's further down the stack that  were  saved
earlier.   These  data can help you determine the environment prior to
the crash;  you must be careful, however, in using the  data,  because
random  data  can sometimes look similar to a saved copy of the PS and
PC.

You may wish to examine the PDP-11 registers and the DTE-20 registers.
The  PDP-11 registers are stored in locations 40 through 56 (R0 at 40,
R7 at 56).  Since R6 (at location 54) is the hardware  stack  pointer,
it  points  at  the  top of the stack at all times.  Note that R7 will
almost always contain the same address, because it is pointing to  ROM
code.  The DTE-20 registers are stored in locations 130 through 156.

One of the most frequent reasons for RSX-20F crashing is the  lack  of
sufficient  buffer  space.  This will cause crashes of the BO2/BO3/BF1
type.  RSX-20F uses three areas for storage:  the Free Pool,  the  Big
Buffer,  and  the  Node  Pool.   The  Free  Pool runs out of space the
fastest because it is used the most frequently (it  holds  TTY  thread
lists  and LPT thread lists).  When looking at any of these areas, the
questions you should try to answer are:

     1.  How much space is left in the buffer?

     2.  How fragmented is the space that is left?

     3.  Are all the pointers pointing to the correct places?

     4.  Is the count of free space an accurate representation of  the
         state of the buffer?

The initial pointers to each of these areas follows.

Free Pool      .FREPL is the  pointer  to  the  first  free  chunk  of
               storage space.
               .FREPL+2 is the tally of the free  space  remaining  in
               this area.  

Big Buffer     .BGBUF is the  pointer  to  the  first  free  chunk  of
               storage space.
               .BGBUF+2 is the tally of the free  space  remaining  in
               this area.  

Node Pool      .POLLH is the pointer to the first  free  node  in  the
               doubly-linked queue.
               .POLLH+2 is the pointer to the last node in the queue.

The queues, both TO-10 and TO-11, can yield some hints on the cause of
the  crash,  especially  in  cases  such as buffer overflows where the
queues may have used up all the buffer space.  The TO-10 queue pointer
(TO10Q)  points  to  itself when the TO-10 queue is empty, whereas the
TO-11 queue pointer (TO11Q) contains  zero  if  the  queue  is  empty.
Thus,  in  order  to  examine  the  entire  TO-10  queue, you open the
location TO10Q and use the <TAB> command until  the  contents  of  the
location  you  open  is TO10Q.  To examine the entire TO-11 queue, you
open the location TO11Q and use the <TAB> command until  the  contents
of the location you open is zero.
ERROR DEBUGGING                                              Page 10-7


10.2.2  Sample Dump Analysis

In the following dump analysis, a sample RSX-20F dump is  examined  to
determine  what  caused  the  crash.   The  dump  has been produced by
aggravating a known RSX-20F weakness, which is the lack of free space.
A  privileged  program doing repeated Send-alls can easily fill up all
the available space and cause buffer overflows, because  the  Send-all
message must be put into the thread list of every active terminal.

The sample analysis below assumes that a copy of FEDDT (called  FESYM)
has been saved with the symbol file already loaded into it.  The first
thing to do after starting the FESYM program is to determine the crash
code.

@FESYM
$Y
INPUT FILE:     PS:<SYSTEM>0DUMP11.BIN
CORE SIZE IS 28K

$T      0/      BO
2/      2<0>

The stopcode is BO2, buffer overflow, which is produced by the  DTE-20
device driver when it cannot find Free Pool space for a TO-11 indirect
transfer.  Since we know this much about the cause of the crash, there
is  no  reason  to  find  out  the  task  that was running or the last
instruction executed.  Therefore, the next step in the  dump  analysis
is to examine the Free Pool.

$$A
.FREPL/ 65664
.FREPL+2/       QI.VER  =300
.FREPL/ 65664
65664/  70674
70674/  72234
72234/  72474
72474/  73034
73034/  75074
75074/  0
65664/  70674
65666/  PATSIZ  =40
70676/  PATSIZ  =40
72236/  PATSIZ  =40
72476/  PATSIZ  =40
73036/  PATSIZ  =40
75076/  PATSIZ  =40

Thus we can see that the Free Pool has only 300 remaining bytes in six
sections, each section being forty bytes long (or 20 words).  Indirect
transfers need more contiguous space than is  available  in  the  Free
Pool.  Since we now know that the Free Pool has run out of space while
the system was attempting to do an indirect transfer, we  can  surmise
that  the  indirect transfer may well have been a Send-all (especially
since we know that Send-alls can create problems for RSX-20F).   Thus,
we  proceed  to  examine  the  Send-all  buffers.  The location .SNDLP
points to the Send-all buffer in use,  .SNDBF  is  the  Send-all  ring
buffer  pointer,  .SNDCN is the terminal count for a pending Send-all,
and .CRSND is the pointer to the current Send-all node.  

.SNDLP/ DR.03   =3
.SNDBF/ 66574   .SNDBF+2/       66774
.SNDBF+4/       67074   .SNDBF+6/       0
.SNDCN/ DR.03   =3      .SNDCN+2/       DR.03   =3
.SNDCN+4/       DR.03   =3      .SNDCN+6/       0
.CRSND/ 0
ERROR DEBUGGING                                              Page 10-8


As we can tell from the  three  words  of  nonzero  data  at  location
.SNDBF,  there  are  three  ring buffers in use, which is the maximum.
.SNDCN (and the following locations) tell us that three terminals have
yet  to  empty  the  buffers.   The  queued protocol task is therefore
unable to accept further Send-all  messages  from  the  KL.   Thus,  a
logical next step would be to check the state of the TO-11 queue.

TO11Q/  67274
67274/  67374
67374/  67474
67474/  67574
67574/  67674
67674/  67774
67774/  70074
70074/  70174
70174/  70274
70274/  70374
70374/  70474
70474/  70734
70734/  66274
66274/  70574
70574/  71034
71034/  71134
71134/  71234
71234/  71334
71334/  66474
66474/  71434
71434/  71534
71534/  71634
71634/  71734
71734/  72034
72034/  66674
66674/  72274
72274/  72134
72134/  72534
72534/  72634
72634/  65464
65464/  73074
73074/  72734
72734/  73174
73174/  73274
73274/  72374
72374/  73374
73374/  73474
73474/  73574
73574/  73674
73674/  73774
73774/  74074
74074/  74174
74174/  74274
74274/  74374
74374/  74474
74474/  74574
74574/  65564
65564/  74674
74674/  66374
ERROR DEBUGGING                                              Page 10-9


66374/  75134
75134/  75234
75234/  75474
75474/  75574
75574/  74774
74774/  75674
75674/  0
TO10Q/  TO10Q

The TO-11 queue is quite full (since all the Free Pool space is  being
used for this queue).  The TO-10 queue is empty.  

We know that the Send-all service waits for a significant  event  when
it has filled the ring buffer.  While the Send-all service waited, the
Free Pool ran out of space.  However, the line  printer  and  terminal
thread  lists  may  be  contributing  to  the problem if they are also
taking space from the Free Pool.  Therefore, it would  probably  be  a
good idea to check the state of these thread lists.

LPTBL/  AF.PP   =200
LPTBL+2/        175400
LPTBL+4/        0
DHTBL/  0
DHTBL+2/        160020
DHTBL+4/        TTYSP+161
DHTBL+6/        TT.SND
DHTBL+10/       0
DHTBL+12/       160020
DHTBL+14/       TTYSP+161
DHTBL+16/       TT.SND
DHTBL+20/       0
DHTBL+22/       160020
DHTBL+24/       TTYSP+161
DHTBL+26/       TT.SND
DHTBL+30/       0
DHTBL+32/       160020
DHTBL+34/       TTYSP+161
DHTBL+36/       TT.SND
DHTBL+40/       0
DHTBL+42/       160020
DHTBL+44/       TTYSP+161
DHTBL+46/       TT.SND
DHTBL+50/       0
DHTBL+52/       160020
DHTBL+54/       TTYSP+161
DHTBL+56/       TT.SND
DHTBL+60/       0
DHTBL+62/       160020
DHTBL+64/       TTYSP+161
DHTBL+66/       TT.SND
DHTBL+70/       0
DHTBL+72/       160020
DHTBL+74/       TTYSP+161
DHTBL+76/       TT.SND
        Etc. 
         .
         .
         .
ERROR DEBUGGING                                             Page 10-10


All the terminals and line printers have empty  thread  lists.   Thus,
the  Send-all service alone must be the cause of the crash.  The final
step is to read the actual Send-all messages.

.SNDBF/ 66574
66574/  0
66576/  CH.FOR  =100
66600/  66606   $$6T    ./      <206>M3<0><377>3
66606/  THIS I
66614/  S A DA
66622/  TA COL
66630/  LECTIO
66636/  N TEST
66644/  .  PLE
66652/  ASE BE
66660/   PATIE
66666/  NT.<0><17><0>   66774/  <0><0>@<0><6>N
67002/  3<0><377>3TH
67010/  IS IS
67016/  A DATA
67024/   COLLE
67032/  CTION
67040/  TEST.
67046/   PLEAS
67054/  E BE P
67062/  ATIENT
67070/  .<0>D<15>\N
67076/  @<0>FN3<0>      67074/  \N@<0>FN
67102/  3<0><377>3TH
67110/  IS IS
67116/  A DATA
67124/   COLLE
67132/  CTION
67140/  TEST.
67146/   PLEAS
67154/  E BE P
67162/  ATIENT

The message that caused the crash when sent to all users was "This  is
a data collection test.  Please be patient".



10.2.3  Front End Status Block

The  Front  End  Status  Block  contains  all  the  data  and   status
information  used  by  the Executive while operating.  Thus, the block
brings together most of the information you need to determine what the
data  in  a crash dump file means.  The following is a list of all the
information contained in the Front End Status Block.
ERROR DEBUGGING                                             Page 10-11


 Address Size   Name     Use


  001000  2    .FESTB  Length of FE Status Block in words

  001002  4    .EXEND  Limits of front end
                         word 1- base address of Executive
                         word 2- high address of Executive

  001006  2    .CRTSK  Pointer to ATL node of current task

  001010  4    .COMEF  Global common event flags (flags 33-64)
                         word 2- flags 49 to 64
                           bit 10- (EF.CRI)Comm Region is invalid
                           bit 11- (EF.PFR)powerfail restart in 
                             progress
                           bit 12- (EF.RKP)KLINIK parameters received
                           bit 13- (EF.PR2)secondary protocol running
                           bit 14- (EF.PR1)primary protocol running
                           bit 15- (EF.CTC)Control-C bit

  001014  2    .BERFG  Significant event flag
                         bit 0- (EV.BE)sig event to be recognized
                         bit 1- (EV.AS)power fail is required
                         bit 7- (EV.PF)power down has occurred

  001016  2    .BEWFL  Significant event wait flag
                         bit 0- (EV.BE)sig event to be recognized
                         bit 1- (EV.AS)power fail is required
                         bit 7- (EV.PF)power down has occurred

  001020  2    SPSAV   Save area for stack pointer during crash

  001022  4    PARSAV  Save area for parity registers when parity
                        error occurs

  001026  2    .PFAIL  Indicates power fail in progress if nonzero

  001030  2    .PFIOW  Power fail recovery flag, set during power up

  001032  2    PWRXSP  Buffer for stack pointer during power up

  001034  2    CROBAR  Power-up crobar timer, power up attempts=6

  001036  12   .VERNO  RSX-20F ASCII version number

  001050  2    .CKASS  Clock AST address for current task 

  001052  2    .PFASS  Power fail AST address for current task

  001054  40   

  001114  2    .MSIZE  Memory size in 64 byte blocks (1600)

  001116  2    EMTSTK  SP saved during EMT execution
ERROR DEBUGGING                                             Page 10-12


 Address Size   Name     Use


  001120  2    TRPSAV  Saved PS during EMT/trap execution

  001122  1    .NOERR  Don't recognize KL errors if nonzero

  001123  1    .NOHLT  Don't recognize KL halts if nonzero

  001124  2    .TKTN   TKTN required if nonzero, checked by null task

  001126  2    .KLITK  KLI requested, read by TKTN
                         bit 0- (KS.TSP)KL halted
                         bit 1- (KS.CES)clock error stop
                         bit 2- (KS.EPE)EBOX parity error
                         bit 3- (KS.DEX)deposit/examine error
                         bit 4- (KS.CST)Keep-Alive stopped
                         bit 5- (KS.TRR)KL requests re-boot
                         bit 6- (KS.PFT)power fail restart
                         bit 7- (KS.PTO)protocol timeout

  001130  2    .KLIWD  KLI word to determine boot parameters
                         bit 0- (KL.LRM)load rams
                         bit 1- (KL.CFM)configure memory
                         bit 2- (KL.LVB)load VBOOT
                         bit 3- (KL.VBN)VBOOT start at START+1
                         bit 4- (KL.VBD)dump monitor
                         bit 5- (KL.BPF)start at loc 70 (power fail)
                         bit 6- (KL.LCA)load cache
                         bit 7- (KL.BSC)start at loc 407 (system
                           crash)
                         bit 8- (KL.CFL)if 0, configure from file
                         bit 9- (KL.KAC)Keep-alive ceased error
                         bit 10- (KL.DEF)operator reboot from switches

  001132  2    .TICKS  Unrecognized clock tick counter

  001134  2    .CLKSW  Clock overflow switch

  001136  2    .DATE   Front-end date valid flag

  001140  2    .YEAR   Decimal year (1979)

  001142  1    .DAY    Day of month

  001143  1    .MON    Month of year

  001144  1    .DST    Daylight-savings-time flag

  001145  1    .DOW    Day-of-week index

  001146  4    .BSM    Elapsed time in seconds since midnight

  001152  2    .TKPS   Clock rate in jiffies
ERROR DEBUGGING                                             Page 10-13


 Address Size   Name     Use


  001154  2    .BYUIC  System UIC ([5,5])

  001156  2    .BTPRM  Boot parameter from switch register
                         bit 0- (BP.BWR)switch register button pushed
                         bit 1-2- (BP.LD0,BP.LD1)boot options
                           0=auto deadstart entire system
                           1=deadstart RSX-20F only
                           2=reboot RSX-20F only
                           3=operator controlled start
                         bit 3-6- (BP.CSP)CTY speed if DH-11, 1=DL,
                           0=default
                         bit 7- (BP.RP4)load from RP04/RP06
                         bit 8-10- (BP.UNT)boot unit or DH-11 unit
                         bit 11-14- (BP.CLN)CTY line no.(within DH/DL)
                         bit 15- (BP.ERR)indefinite error load retry

  001160  2    .BTSCH  Character saved for secondary protocol

  001162  2    .ACKAL  Send acknowledge-all protocol message

  001164  2    .KLERW  KLI word for error reporting by SETSPD

  001166  2    .FEMOD  Front-end console mode flag for PARSER
                         1= (LG.OPR)operator
                         3= (LG.PRM)programmer
                         7= (LG.ALL)maintenance

  001170  2    .KLRLD  KL automatic reload flag

  001172  2    .KLFLG  Flag for PARSER to indicate state of KL
                         bit 6- (KF.CES)clock error stop
                         bit 7- (KF.CON)KL continuable
                         bit 8- (KF.KLO)instruction mode
                         bit 9- (KF.BRM)burst mode
                         bit 10- (KF.BPM)single pulse EBOX mode
                         bit 11- (KF.BMC)single pulse MBOX mode
                         bit 12- (KF.BIM)single instruction mode
                         bit 13- (KF.MRS)master reset flop set
                         bit 14- (KF.RUN)run flop on
                         bit 15- (KF.CLK)clock running
ERROR DEBUGGING                                             Page 10-14


                           KLINIK DATA BASE



 Address Size   Name     Use


  001174  2    .KLNPB  KLINIK parameter block length (26)

  001176  2    .KLNBC  Byte count for transfer (24)

  001200  2    .KLNFT  KLINIK enable start time

  001202  4    .KLNFD  KLINIK enable start date

  001206  2    .KLNTT  KLINIK enable end time

  001210  4    .KLNTD  KLINIK enable end date

  001214  2    .KLNMD  KLINIK console mode
                         byte 0- console mode
                           1= (LG.OPR)operator
                           3= (LG.PRM)programmer
                           7= (LG.ALL)maintenance
                         byte 1- status
                           0=disabled
                           1=remote
                           -1=user

  001216  6    .KLNPW  ASCII password for KLINIK

  001224  2    .KLNSW  KLINIK line status
                         byte 0- line use
                           0=disabled
                           1=remote
                           -1=user
                         byte 1- current status
                           1=clear KLINIK, recall PARSER
                           2=report carrier loss
                           3=disconnect, recall PARSER
                           4=disconnect and exit
ERROR DEBUGGING                                             Page 10-15


                      QUEUED PROTOCOL DATA BASE



 Address Size   Name     Use


  001226  2    COMBSE  Base of communication area

  001230  2    PRMEMN  My processor number

  001232  2    DEPOF   Deposit offset from examine

  001234  12   PROTBL  Processor identification table
                         word 1- (DTENM)DTE-20 address to access
                           this processor 
                         word 2- (EMYN)addr to read from proc 0
                         word 3- (DMYN)addr to write to proc 0
                         word 4- (EHSG)addr from general
                         word 5- (EHSM)addr from specific

  001246  2    .CRQZ   Size of current TO-10 buffer

  001250  2    .CPFN   Function in current TO-10 buffer

  001252  2    .CPDV   Device in current TO-10 buffer

  001254  2    .CRSZ   Size left in current TO-10 buffer

  001256  2    .CRPB   Pointer to open word in current TO-10 buffer

  001260  2    .CRHD   Head of current TO-10 queue

  001262  2    .CRSB   Pointer to current function/size in TO-10 
                       buffer

  001264  2    DTEMSK  DTE-20 device event flag mask

  001266  2    DTEADR  DTE-20 device indirect flag address

  001270  2    TO11NP  Pointer to current received node

  001272  2    TO11HD  Count of bytes in this queue

  001274  2    TO11FN  Current received TO-11 function code

  001276  2    TO11DV  Current received TO-11 device number

  001300  2    TO11SP  Space

  001302  2    TO11FW  First word of function

  001304  2    TO11GW  Guard word for DTE-20 (-1)

  001306  2    TO11QP  TO-11 queue entry count
ERROR DEBUGGING                                             Page 10-16


 Address Size   Name     Use


  001310  2    TO11AS  Address save

  001312  2    TO11BS  Byte count of TO-11 transfer saved

  001314  2    TO10SZ  Byte count of transfer

  001316  2    TO10AS  TO-10 transfer address saved

  001320  6    STSTT   TO-10 status

  001326  4    TO10Q   Listhead for TO-10 queue

  001332  2    EQSZ    TO-11 queue size

  001334  2    TO11Q   Head of TO-11 queue

  001336  6    STATI   Status/scratch word for deposit/examine

  001344  2    DEXST   DEX done timeout

  001346  2    DEXTM3  Deposit/examine word 3 for retry

  001350  2    DEXTM2  Deposit/examine word 2 for retry

  001352  2    DEXTM1  Deposit/examine word 1 for retry

  001354  2    .PRADR  Address of privileged offset table entry

  001356  2    .PRSTA  Address of privileged DTE-20 status (174434)

  001360  2    .PRDTE  Address of privileged DTE-20 (174400)

  001362  2    .PRDCT  Doorbell counter for KLINIT

  001364  1    .EPFFL  EBUS parity error snapshot interlock
                         1=snapshot exists
                         0=no snapshot exists

  001365  1    .EPEFL  EBUS parity error processing flag
                         0=retry succeeded
                         1=no EBUS parity error
                         -1=retry failed

  001366  2    .EBPEQ  Pointer to EBUS error snapshot queue

  001370  2    .PRPSE  Protocol pause flag
                         -1=pause state
                         0=no pause
ERROR DEBUGGING                                             Page 10-17


                         KEEP-ALIVE DATA BASE



 Address Size   Name     Use


  001372  6    KPAL0   Current KL Keep-alive value

  001400  2    OKPAL0  KL saved Keep-alive value

  001402  6    KPAL1   Current RSX20F Keep-alive value

  001410  2    .KPAC   Counter of Keep-alive for XCT 71
                         byte 0- Keep-alive counter
                         byte 1- XCT 71 counter

  001412  2    .KACFL  XCT 71 retry flag
ERROR DEBUGGING                                             Page 10-18


                        CORE MANAGER DATA BASE



 Address Size   Name     Use


  001414  4    .BGBUF  Big buffer space
                         word 1- pointer to first node in free space
                         word 2- current total size of space

  001420  4    .FREPL  Free pool list
                         word 1- address of first node in free pool
                         word 2- current total size of free pool

  001424  4    .POLLH  Pool header for ATL and send nodes
                         word 1- pointer to start of list
                         word 2- pointer to end of list

  001430  700  .POLST  Pool list (14 entries)
                         16 word entries
                           word 1- pointer to next block
                           word 2- pointer to previous block

  002330  40   .POLND  Pool end
                         16 word entry
                           word 1- pointer to next block
                           word 2- pointer to previous block
ERROR DEBUGGING                                             Page 10-19


                          CLOCK REQUEST LIST



 Address Size   Name     Use


  002370  204  .CLKBA  Clock list
                         6 word entries
                           word 1- (C.AT)ATL node address of requestor
                           word 2- (C.AS)AST trap address of requestor
                           word 3- (C.BD)schedule delta in ticks
                           word 4- (C.RS)reschedule delta in ticks
                           word 5- (C.FM)flag mask
                           word 6- (C.FA)flags word address

  002574  2    .CLKEA  End-of-clock-list guard word
ERROR DEBUGGING                                             Page 10-20


                      TERMINAL SERVICE DATA BASE



 Address Size   Name     Use


  002576  2    .INHDM  Inhibit/enable remote lines (0=enable)

  002600  2    .ABCNT  Count of auto-bauded lines

  002602  2    .ABFLG  Interlock flag for SETSPD

  002604  2    .SNDLP  Pointer to Send-all buffer in use

  002606  10   .SNDBF  Send-all ring buffer pointer

  002616  10   .SNDCN  Send-all TTY count for Send-all pending

  002626  2    .CRSND  Current Send-all node pointer

  002630  2    .BRKCH  Break character (control \)

  002632  2    .TTP11  TTY PDP-11 input in progress flag

  002634  2    .CTYPT  CTY line pointer

  002636  2    .KLNPT  KLINIK line pointer

  002640  2    $UNIT   DH-11 unit number if CTY

  002642  2    $BTMSK  Mask to start CTY if DH-11

  002644  2    DMTMP   Saved DM11/BB controller number

  002646  2    DHTMP   Saved DH-11 controller number

  002650  2    DLTMP   Saved DL11 controller number

  002652  2    DHSTSV  Saved DH-11 table pointer from PS

  002654  2    .TTELQ  Terminal error logging queue pointer

  002656  2    .TTELB  Temp buffer pointer for error logging

  002660  2    TMOCNT  Timeout counter
                         byte 0- terminal
                         byte 1- modem
ERROR DEBUGGING                                             Page 10-21


 Address Size   Name     Use


  002662  40   CTYSTS  CTY status block
                         word 1- (STATS)status word
                           bit 0- (FLBT)unprocessed fill count bit
                           bit 0-3- (FLCT)unprocessed fill count field
                           bit 4- (RUBP)rubout sequence in progress
                           bit 5- (CTLO)output disabled
                           bit 8- (EOLS)end of line seen
                           bit 9- (CRJT)CR just typed
                           bit 10- (CRTY)carriage control at EOL
                           bit 11- (LFBT)unprocessed LF add/sub bit
                           bit 11-14- (LFCT)unprocessed LF count field
                           bit 15- (MODE)terminal busy (1=output,
                             0=input)
                         word 2- (STRBF)current input buffer address
                         word 3-
                           byte 0- (RMBYT)remaining bytes in buffer
                           byte 1- (FNBYT)terminal byte
                         word 4- (CURBF)starting buffer address
                         word 5-
                           byte 0- (MECNT)multiecho byte count
                           byte 1- (FLBYT)fill byte
                         word 6- (MEBUF)multiecho buffer address
                         word 7- (MBUFR)dynamic multiecho buffer
                         word 8- (HORPS)horizontal position of 
                           carriage
                         word 9- (DHBUF)DH-11 character buffer if CTY 
                           is a DH-11

  002722  2    CNT     I/O packet size

  002724  2    BYCNT   I/O packet size

  002726  2    CRADR   Current I/O address

  002730  2    TTPKT   I/O packet address
ERROR DEBUGGING                                             Page 10-22


                      TERMINAL DRIVER DATA BASE



 Address Size   Name     Use


  002732  44   DMTBL   DM11/BB table
                         2 word entries (9 entries)
                           word 1- DM11/BB base address
                           word 2- pointer to DH-11 table entry

  002776  10   DLTBL   DL11/C table
                         4 word entry for each DL11/C line (1 entry)
                           word 1- (THRED)output thread word pointer
                           word 2- (TTYEXP)device base address
                           word 3- (STSW0)status word 0
                             DL11- input flag
                             DH-11 line speed
                               bit 6-9- (S0.ISP)input speed
                               bit 10-13- (S0.OSP)output speed
                               bit 14- (S0.CON)remote line connected
                               bit 15- (S0.ABR)autobaud report pending
                           word 4- (STSW1)status word 1
                             bit 0- (TT.OUT)TTY output flag
                             bit 1- (TT.CTY)console CTY
                             bit 2- (TT.CRW)waiting for carrier
                             bit 3- (TT.ABW)auto-baud wait
                             bit 4- (TT.XEN)XON/XOFF enabled
                             bit 5- (TT.ABL)auto-baud line
                             bit 6- (TT.RMT)remote line
                             bit 7- (TT.XOF)line is XOFF'd
                             bit 8- (TT.NSA)suppress send-alls
                             bit 9- (TT.BIP)send-all in progress
                             bit 10- (TT.RIP)remote in progress
                             bit 11-12- (TT.FEC)framing error count
                             bit 13- (TT.RSI)restart tty on timeout
                             bit 14- (TT.BNI)increment send-all index
                             bit 14-15- (TT.BND)index of next send-all

  003006  40   DLETBL  DL11/E table
                         4-word entry for each DL11/E line (4 entries)
                           see DLTBL (above) for structure

  003046  2000 DHTBL   DH-11 table
                         4-word entry for each DH-11 line (128 entries)
                           see DLTBL (above) for structure

  005046  4    TTYEND  End of table guard words (2 zeros)
ERROR DEBUGGING                                               Page 10-23


                        FLOPPY DRIVER DATA BASE

                             (TOPS-20 ONLY)



 Address Size   Name     Use


  005052  2    DXRTC   Error retry count (8)

  005054  2    DXCNT   Byte count of transfer

  005056  2    DXBUF   Address of buffer

  005060  14   DXVCB
                       word 1- logical or physical sector number
                       word 2- bytes to transfer on current sector
                       word 3- current function code
                       word 4- physical sector number(1-26.)
                       word 5- physical track number(0-77.)
                       word 6- status register after interrupt

  005074  2    DXUNIT  Current unit number

  005076  2    DXPKT   I/O packet address
ERROR DEBUGGING                                               Page 10-24


                        DECTAPE DRIVER DATA BASE

                             (TOPS-10 ONLY)



 Address Size   Name     Use


  005052  2    DTRTC   Error retry count and reset flag

  005054  2    DTRNA   Request node address

  005056  4    DTBUF   DECtape buffer

  005062  2    DTCNT   Buffer size

  005064  2    DTCW2

  005066  2    DTCW3

  005070  10           Pad to floppy driver size
ERROR DEBUGGING                                               Page 10-25


                         DISK DRIVER DATA BASE



 Address Size   Name     Use


  005100  2    RPRTC   Error retry count (8)

  005102  2    RPRNA   Address of request node

  005104  4    RPBUF   Address of buffer
                         word 1- high order of address
                         word 2- low order of address

  005110  2    RPCNT   Transfer size

  005112  2    RPUNIT  Current unit number

  005114  2    RPCW2
ERROR DEBUGGING                                               Page 10-26


                          FE DRIVER DATA BASE



 Address Size   Name     Use


  005116  10   FETBL   Table of FE device states
                         1 word per FE device (4)
                           bit 10- (FE.DET)more data 11 to 10 to be 
                             sent
                           bit 11- (FE.DTE)more data 10 to 11 expected
                           bit 13- (FE.BER)servicing 11 transfer 
                             request
                           bit 14- (FE.BTR)servicing 10 transfer 
                             request

  005126  2    NODADR  Current request node address

  005130  2    ADRSAV  Address saved

  005132  2    BYTESA  Byte count of transfer

  005134  4    STSWD   I/O status words

  005140  22   TO10PK  11 request to 10 packet address

  005162  2    DNBLK   Response to 10 request

  005164  6    DNFCN   Function

  005172  6    DNSTS   Status

  005200  40   BLKTT   Data buffer

  005240  2    .RPUNT  RP unit number

  005242  2    .FEACT  FE device available for DB access

  005244  4    .RPADR

  005250  4    .RPSIZ
ERROR DEBUGGING                                               Page 10-27


                         CD-11 DRIVER DATA BASE



 Address Size   Name     Use


  005254  2    CREVFG  Address of CR task's event flags

  005256  2    CRCEVF  Current event flags

  005260  2    CRHUNG  Count of times CR found hung

  005262  2    .CRPFL  Power fail flag for card reader

  005264  2    CRSTBH  Header word of status block

  005266  16   CRSTBK  Status return block to 10
                         word 1- 1st status word
                           bit 0- (DV.NXD)nonexistent device
                           bit 1- (DV.OFL)device off-line
                           bit 2- (DV.OIR)hardware error, opr required
                           bit 3- (DV.BCN)software error, ack required
                           bit 4- (DV.IOP)I/O in progress
                           bit 5- (DV.EOF)end-of-file encountered
                           bit 6- (DV.LOG)error logging required
                           bit 7- (DV.URE)unrecoverable error
                           bit 8- (DV.F11)error on From-11 request
                           bit 9- (DV.HNG)device hung
                         word 2- 2nd status word, device dependent
                           bit 0- (DD.RCK)read check
                           bit 1- (DD.PCK)pick check
                           bit 2- (DD.BCK)stack check
                           bit 3- (DD.HEM)hopper empty
                           bit 4- (DD.BFL)stacker full
                         word 3- control and status register
                         word 4- column count register
                         word 5- bus address register
                         word 6- data buffer register

  005304  2    CRBUFH  Header word of data buffer

  005306  240  CRBUFF  Data buffer from CD-11

  005546  2            Data buffer overrun area

  005550  2    CRTHD   Threaded list pointer

  005552  2    CREXP   Device external page address

  005554  2    CRSTS   Status bits
                         bit 8- (CR.NSF)not stacker full
                         bit 9- (CR.NXD)nonexistent CD-11
                         bit 10- (CR.RHN)reader hung during read
                         bit 11- (CR.ACK)acknowledge received
                         bit 12- (CR.IOD)I/O done
                         bit 13- (CR.IOP)I/O in progress
                         bit 14- (CR.BST)device status changed
                         bit 15- (CR.HNG)CR hung

  005556  2            Unused
ERROR DEBUGGING                                               Page 10-28


                         LP-20 DRIVER DATA BASE



 Address Size   Name     Use


  005560  2    LPUNIT  LP unit number from PS on interrupt

  005562  2    LPEVFG  Address of where to set event flags for LP task

  005564  2    LPCEVF  Current event flags

  005566  2    LPHUNG  Count of times LP was hung

  005570  2    .LPPFL  Power fail flag

  005572  2    LPSTBH  Header word of status block

  005574  30   LPSTBK  Status return block to 10
                         word 1- 1st status word
                           bit 0- (DV.NXD)nonexistent device
                           bit 1- (DV.OFL)device off-line
                           bit 2- (DV.OIR)hardware error, 
                             operator required
                           bit 3- (DV.BCN)software error, 
                             acknowledge signal required
                           bit 4- (DV.IOP)I/O in progress
                           bit 5- (DV.EOF)end-of-file encountered
                           bit 6- (DV.LOG)error logging required
                           bit 7- (DV.URE)unrecoverable error
                           bit 8- (DV.F11)error on From-11 request
                           bit 9- (DV.HNG)device hung
                         word 2- 2nd status word, device dependent
                           bit 0- (DD.PGZ)page counter passed zero
                           bit 1- (DD.CHI)character interrupt from RAM
                           bit 2- (DD.VFE)VFU error
                           bit 3- (DD.LER)error with VF/RAM file
                           bit 4- (DD.OVF)printer has optical VFU
                           bit 5- (DD.RME)RAM parity error
                         word 3-
                           byte 0- no.  of bytes of device dependent 
                             info (2.)
                           byte 1- no.  of bytes of device 
                             registers (16.)
                         word 4-
                           byte 0- accumulated checksum
                           byte 1- retry count
                         word 5- control and status register A
                         word 6- control and status register B
                         word 7- bus address register
                         word 8- byte count register(2's complement)
                         word 9- page counter register
                         word 10- RAM data register
                         word 11-
                           byte 0- character buffer register
                           byte 1- column count register
                         word 12-
                           byte 0- printer data register
                           byte 1- checksum register
ERROR DEBUGGING                                               Page 10-29


 Address Size   Name     Use


  005624  20   LPTBL   LP first device table
                         4 word entry for unit 0
                           word 1- (LPSTS)status bits
                             bit 0-1- (LP.UNT)unit number
                             bit 7- (LP.EOF)end-of-file encountered
                             bit 8- (LP.F10)From-10 request queued
                             bit 9- (LP.LIP)load VFU in progress
                             bit 10- (LP.CLR)clear RAM required
                             bit 11- (LP.WAT)LP waiting for response
                             bit 12- (LP.MCH)multicharacter printing
                             bit 13- (LP.PZI)page zero interrupt 
                               enabled
                             bit 14- (LP.BST)send status to KL 
                             bit 15- (LP.HNG)device hung
                           word 2- (LPCSA)external page address
                           word 3- (LPTHD)thread list pointer
                           word 4- (LPITH)current buffer pointer
                         4 word entry for unit 1

  005644  20   LPTBL2  LP second device table
                         4 word entry for unit 0
                           word 1- (LPMCB)multicharacter buffer
                           word 2- (LPCSM)accumulated checksum
                           word 3- (LPRTY)retry counter
                           word 4-
                         4 word entry for unit 1

  005664  20   LPTBL3  LP third device table
                         4 word entry for unit 0
                           word 1- (LPRMA)VFU data address
                           word 2- (LPRMZ)VFU data buffer size
                           word 3- (LPRMC)current pointer into VFU 
                           data
                           word 4-
                         4 word entry for unit 1

  005704  4    LPUTBL  Unit table pointer
                         word 1- unit 0 pointer in LPTBL
                         word 2- unit 1 pointer in LPTBL
ERROR DEBUGGING                                               Page 10-30


                         SYSTEM TASK DIRECTORY



 Address Size   Name     Use


  005710  2    .STDTA  Pointer to STD list

  005712  2    .STDTC  Maximum STD list size (18 entries)

  005714  2    .STDTZ  Current size of STD list

  005716  44   .STDTB  STD table
                         18 pointers to task's STD entries
                           word 1- card reader driver
                           word 2- DTE-20 driver
                           word 3- FE driver
                           word 4- floppy (TOPS-20), DECtape (TOPS-10)
                           word 5- F11ACP task
                           word 6- line printer driver
                           word 7- queued protocol task
                           word 8- disk driver
                           word 9- terminal driver
                           word 10- install task

  005762  40   STDDTE  DTE-20 driver STD entry
                         16 word task STD entry
                           word 1- (S.TN)task name (1st 3 chars)
                           word 2- task name (2nd 3 chars)
                           word 3- (S.TD)default task partition
                           word 4- (S.FW)flags word
                             bit 0- (SF.TA)task active
                             bit 1- (SF.FX)task fixed
                             bit 2- (SF.EX)task to be removed
                             bit 14- (SF.IR)install requested
                             bit 15- (SF.BT)system task
                           word 5-
                             byte 0- (S.DP)default priority
                             byte 1- (S.DI)system disk indicator
                           word 6- (S.BA)1/64th of base address
                           word 7- (S.LZ)size of load image
                           word 8- (S.TZ)max task size
                           word 9- (S.PC)initial PC
                           word 10- (S.BP)initial SP
                           word 11- (S.RF)send/request queue 
                             forward pointer
                           word 12- (S.RB)send/request queue 
                             backward pointer
                           word 13- (S.BS)SST vector table address
                           word 14- (S.DL)load image low disk address
                           word 15- load image high disk address
                           word 16- zero
ERROR DEBUGGING                                               Page 10-31


 Address Size   Name     Use


  006022  40   STDFED  FE driver STD entry
                         see STDDTE (above) for structure

  006062  40   STDDX   Floppy driver STD entry (TOPS-20) 
  006062  40   STDDTP  DECtape driver STD entry (TOPS-10) 
                         see STDDTE (above) for structure

  006122  40   STDF11  F11ACP STD entry
                         see STDDTE (above) for structure

  006162  40   STDRPT  RP device STD entry
                         see STDDTE (above) for structure

  006222  40   STDINS  Install STD entry
                         see STDDTE (above) for structure

  006262  40   STDLPT  LP driver STD entry
                         see STDDTE (above) for structure

  006322  40   STDCDR  CR driver STD entry
                         see STDDTE (above) for structure

  006362  40   STDTTY  TTY driver STD entry
                         see STDDTE (above) for structure

  006422  40   STDQPR  Queued protocol STD entry
                         see STDDTE (above) for structure
ERROR DEBUGGING                                               Page 10-32


                            ACTIVE TASK LIST



 Address Size   Name     Use


  006462  4    .ATLLH  ATL header
                         word 1- forward pointer (DTE-20)
                         word 2- backward pointer (null task)

  006466  40   DTETSK  DTE-20 task ATL entry
                         16 word ATL entry
                           word 1- forward linkage
                           word 2- backward linkage
                           word 3- (A.BP)SP of running task
                           word 4- (A.PD)run partition
                           word 5- (A.RP)run priority
                           word 6- (A.HA)1/64th of base address
                           word 7-
                             byte 0- (A.TS)task status
                               2= (TS.LRQ)load request queued
                               4= (TS.TKN)waiting for TKTN
                               6= (TS.LRF)load request failed
                               10= (TS.RUN)task running
                               12= (TS.BUS)task suspended
                               14= (TS.WF0)waiting for flag 1-16
                               16= (TS.WF1)waiting for flag 17-32
                               20= (TS.WF2)waiting for flag 33-48
                               22= (TS.WF3)waiting for flag 49-64
                               24= (TS.WF4)waiting for flag 1-64
                               26= (TS.EXT)task exited
                             byte 1- (A.FB)task flags byte
                               bit 7- (AF.PP)primary protocol task
                           word 8- (A.TD)STD entry address
                           word 9- (A.EF)task event flags 1-16
                           word 10- task event flags 17-32
                           word 11- (A.FM)task event flags mask 1-16
                           word 12- task event flags mask 17-32
                           word 13- task event flags mask 33-48
                           word 14- task event flags mask 49-64
                           word 15- (A.PF)power fail AST trap address
                           word 16- zero
ERROR DEBUGGING                                               Page 10-33


 Address Size   Name     Use


  006526  40   TTYTSK  TTY task ATL entry
                         see DTETSK (above) for structure

  006566  40   RPTSK   RP task ATL entry
                         see DTETSK (above) for structure

  006626  40   LPTSK   LP task ATL entry
                         see DTETSK (above) for structure

  006666  40   CDTSK   CD task ATL entry
                         see DTETSK (above) for structure

  006726  40   FETSK   FE task ATL entry (TOPS-20) 
  006726  40   DTTSK   DECtape task ATL entry (TOPS-10) 
                         see DTETSK (above) for structure

  006766  40   DXTSK   Floppy task ATL entry (TOPS-20) 
  006766  40   FETSK   FE task ATL entry (TOPS-10) 
                         see DTETSK (above) for structure

  007026  40   QPRTSK  Queued protocol task ATL entry
                         see DTETSK (above) for structure

  007066  40   NULTSK  Null task ATL entry
                         see DTETSK (above) for structure
ERROR DEBUGGING                                               Page 10-34


                        TASK PARTITION DIRECTORY



 Address Size   Name     Use


  007126  20   INSTPD  Install TPD entry
                         8 word TPD entry
                           word 1- (T.PN)partition name (1st 3 chars)
                           word 2- partition name (2nd 3 chars)
                           word 3- (T.BA)base address of partition
                           word 4- (T.PZ)size of partition
                           word 5- (T.FW)partition flags word
                             bit 1- (TF.OU)partition occupied
                           word 6- (T.HP)1/64th base addr of 1st hole
                           word 7- (T.RF)MRL forward linkage
                           word 8- (T.RB)MRL backward linkage

  007146  20   DTETPD  DTE-20 TPD entry
                         see INSTPD (above) for structure

  007166  20   FETPD   FE TPD entry
                         see INSTPD (above) for structure

  007206  20   TTYTPD  TTY TPD entry
                         see INSTPD (above) for structure

  007226  20   LPTPD   LP TPD entry
                         see INSTPD (above) for structure

  007246  20   CDRTPD  CR TPD entry
                         see INSTPD (above) for structure

  007266  20   QPRTPD  Queued protocol TPD entry
                         see INSTPD (above) for structure

  007306  20   DXTPD   Floppy TPD entry (TOPS-20) 
  007306  20   DTTPD   DECtape TPD entry (TOPS-10) 
                         see INSTPD (above) for structure

  007326  20   RPDTE   RP TPD entry
                         see INSTPD (above) for structure

  007346  20   F11TPD  F11ACP TPD entry
                         see INSTPD (above) for structure

  007366  20   GENTPD  GEN partition TPD entry
                         see INSTPD (above) for structure
ERROR DEBUGGING                                               Page 10-35


                         DEVICE QUEUE POINTERS



 Address Size   Name     Use


  007406  40   .DQPBA  CTY and DL11 queue
                         Entry for all terminals
                         Entry for DL11 lines
                         8 words per entry
                           word 1- address of device table list
                           word 2- size of entry in device table
                           word 3- address of device start routine
                           word 4- address of device stop routine
                           word 5- spare
                           word 6- address of acknowledge routine
                           word 7- spare
                           word 8- device count

  007446  20   .DQDH0  DH-11 queue
                         Entry for DH-11 lines

  007466  120  .DQDLS  Data line scanner queue
                         Entry for all terminals
                         Entry for line printer
                         Entry for card reader
                         Entry for clock
                         Entry for FE device
ERROR DEBUGGING                                               Page 10-36


                          LOGICAL UNIT TABLES



 Address Size   Name     Use


  007606  50   TTPEN   Terminal PUD entry
                         20 word entry
                           word 1- (U.DN)ASCII device name
                           word 2-
                             byte 0- (U.UN)unit number
                             byte 1- (U.FB)flags byte
                               bit 5- (UF.OFL)device off-line
                               bit 6- (UF.TL)recognizes load/record
                               bit 7- (UF.RH)handler resident
                           word 3- (U.C1)characteristics word
                             bit 0- (UC.REC)record-oriented device
                             bit 1- (UC.CCL)carriage control device
                             bit 2- (UC.TTY)TTY device
                             bit 3- (UC.DIR)directory device
                             bit 4- (UC.BDI)single directory device
                             bit 5- (UC.BQD)sequential device
                             bit 6- (UC.ETB)18-bit mode
                             bit 8- (UC.NB)intermediate buffered
                             bit 9- (UC.BWL)software write-locked
                             bit 10- (UC.ISP)input spooled
                             bit 11- (UC.0SP)output spooled
                             bit 12- (UC.PSE)pseudodevice
                             bit 13- (UC.COM)communications channel
                             bit 14- (UC.F11)Files-11 device
                             bit 15- (UC.MNT)mountable device
                           word 4- (U.C2)characteristics word
                             bit 0-(CH.LAB)labeled tape
                             bit 3-(CH.NDC)no control functions
                             bit 4-(CH.NAT)no attaching
                             bit 5-(CH.UNL)dismount pending
                             bit 6-(CH.FOR)foreign volume
                             bit 7-(CH.OFF)volume off-line
                           word 5- (U.C3)characteristics word
                           word 6- (U.C4)characteristics word
                           word 7- (U.AF)ATL node of task
                           word 8- (U.RP)redirect pointer
                           word 9- (U.HA)handler task ATL node
                           word 10- (U.RF)request forward linkage
                           word 11- (U.RB)request backward linkage
                           word 12- (U.VA)address of control block
                           word 13- (U.UI)owner UIC
                             byte 0- (U.PC)programmer code
                             byte 1- (U.GC)group code
                           word 14- (U.VP)volume protection word
                           word 15- (U.AR)access rights
                           word 16- (U.DACP)default ACP name
                           word 17- (U.ACP)STD address of ACP
                           word 18- (U.TF)terminal privilege word
                             bit 0- (UT.PR)terminal privileged
                             bit 1- (UT.BL)TTY slaved
                             bit 2- (UT.LG)TTY logged on
                           word 19- (U.LBH)high order no.  of blocks
                           word 20- (U.LBN)low order no.  of blocks
ERROR DEBUGGING                                               Page 10-37


 Address Size   Name     Use


  007656  50   RPPEN   1st disk PUD entry
                         see TTPEN (above) for structure

  007726  50   .RP1PE  2nd disk PUD entry
                         see TTPEN (above) for structure

  007776  50   .RP2PE  3rd disk PUD entry
                         see TTPEN (above) for structure

  010046  50   .RP3PE  4th disk PUD entry
                         see TTPEN (above) for structure

  010116  50   .RP4PE  5th disk PUD entry
                         see TTPEN (above) for structure

  010166  50   .RP5PE  6th disk PUD entry
                         see TTPEN (above) for structure

  010236  50   .RP6PE  7th disk PUD entry
                         see TTPEN (above) for structure

  010306  50   .RP7PE  8th disk PUD entry
                         see TTPEN (above) for structure

  010356  50   DX0PEN  1st floppy PUD entry (TOPS-20) 
  010356  50   DT0PEN  1st DECtape PUD entry (TOPS-10) 
                         see TTPEN (above) for structure

  010426  50   DX1PEN  2nd floppy PUD entry (TOPS-20) 
  010426  50   DT1PEN  2nd DECtape PUD entry (TOPS-10) 
                         see TTPEN (above) for structure

  010476  50   LP0PUD  Line printer PUD entry
                         see TTPEN (above) for structure

  010546  50   FE0PUD  FE PUD entry
                         see TTPEN (above) for structure

  010616  50   SY0PUD  System PUD entry
                         see TTPEN (above) for structure
ERROR DEBUGGING                                               Page 10-38


                            HARDWARE OPTIONS



 Address Size   Name     Use


  010666  2    .CPUSN  KL CPU serial number
                          0=not read
                         <1=cannot be read
                         >1=valid serial number

  010670  2    .HRDWR  Hardware options
                         bit 0- undefined
                         bit 1- MOS master oscillator
                         bit 2- extended addressing
                         bit 3- internal channels
                         bit 4- cache
                         bit 5- line frequency
                           0=60 hertz
                           1=50 hertz
ERROR DEBUGGING                                               Page 10-39


                            EMERGENCY STACK



 Address Size   Name     Use


  010672  106  INITLM  Once only initialization code

  011000  0    EMGSTK  Emergency stack base address
ERROR DEBUGGING                                               Page 10-40


The I/O page contains control and status registers for all the devices
that are attached to the PDP-11.  If RSX-20F realizes that it is about
to crash, it copies  the  I/O  page  into  the  GEN  partition.   This
overwrites  whatever  was  in the partition at the time, but it allows
the reader of a crash dump to have  easy  access  to  the  information
contained  in  the  I/O  page.   To  find  the address of a particular
register in a crash dump file, you subtract  60000  (octal)  from  the
address  of  the  register  in  the  I/O  page.   (Consult  the PDP-11
Processor  Handbook  or  the  PDP-11  Peripherals  Handbook  for  more
information  on  the  contents of these registers.) The following is a
list of the registers that are in the I/O page.


                             I/O PAGE DUMP



  Block    UNIBUS         Device
 Address  Address  Size    Name        Use


  100020   760020    20    DH-11     DH-11 terminal controller #1

  100040   760040    20    DH-11     DH-11 terminal controller #2

  100060   760060    20    DH-11     DH-11 terminal controller #3

  100100   760100    20    DH-11     DH-11 terminal controller #4

  100120   760120    20    DH-11     DH-11 terminal controller #5

  100140   760140    20    DH-11     DH-11 terminal controller #6

  100160   760160    20    DH-11     DH-11 terminal controller #7

  100200   760200    20    DH-11     DH-11 terminal controller #8

  110500   770500    10    DM11-BB   Modem controller #1

  110510   770510    10    DM11-BB   Modem controller #2

  110520   770520    10    DM11-BB   Modem controller #3

  110530   770530    10    DM11-BB   Modem controller #4

  113000   773000    1000  BM873-YH  Bootstrap ROM

  114400   774400    40    DTE-20    KL interface device

  115400   775400    20    LP20      Line printer #1 interface

  115420   775420    20    LP20      Line printer #2 interface
ERROR DEBUGGING                                               Page 10-41


 Block    UNIBUS          Device
 Address  Address  Size    Name        Use


  115610   775610    10    DL11-E    DL terminal interface #1

  115630   775630    10    DL11-E    DL terminal interface #2

  115640   775640    10    DL11-E    DL terminal interface #3

  115650   775650    10    DL11-E    DL terminal interface #4

  116700   776700    50    RH11      RP04/06 disk interface

  117160   777160    10    CD11      Card reader interface

  117170   777170    10    RX11      Floppy disk interface (TOPS-20) 

  117340   777340    20    TC11      DECtape interface (TOPS-10) 

  117540   777540    2     DL11-W    Line clock status register

  117560   777560    10    DL11      CTY interface

  117570   777570    2     SW        Switch register value

  117760   777760    2     PSW       Processor status word











                             APPENDIX A

               RSX-20F STOP CODES AND I/O ERROR CODES  



This appendix contains two lists  of  error  codes.   The  first  list
contains RSX-20F stop codes.  Associated with each code is the name of
the module that issued the stop  code,  a  short  explanation  of  the
error, and a possible cause of the error.  The second is a list of I/O
error codes that are produced by the device handlers and file  control
primitives.   These  error  codes  have  associated  messages that are
listed along with them;  however, due to the many different situations
in  which  these  errors  can  arise,  no  attempt is made to describe
recovery algorithms for these errors.

Code      Module    Meaning

BF1       QPRDTE    BUFFER FAILURE 1

                    Attempt to  obtain  buffer  space  for  the  TO-11
                    protocol header failed.

                    Possible Cause:

                    Buffer pool space has become exhausted  or  highly
                    fragmented.   R1  contains  the node (buffer) size
                    requested.  .FREPL points  to  the  list  of  free
                    nodes.  .FREPL+2 contains the number of free bytes
                    in the pool.  Nodes are  linked  together  in  the
                    forward  direction  through  the first word of the
                    node.  The second word of each node  contains  the
                    node size.

BO2       QPRDTE    BUFFER OVERFLOW 2

                    The PDP-11 was not able to obtain the buffer space
                    required to receive an indirect data transfer from
                    the KL.

                    Possible Cause:

                    Same as BF1 above.

BO1       TTYDRR    BUFFER OVERFLOW 1

                    The PDP-11 was not able to obtain the buffer space
                    necessary  to  transmit  TTY  characters to the KL
                    during protocol pause.

                    Possible Cause:

                    The  KL  did  not  resume  primary  protocol  soon
                    enough.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-2


BO3       SCOMM     BUFFER OVERFLOW 3

                    The PDP-11 was not able to obtain the buffer space
                    necessary for data it wanted to send to the KL.

                    Possible Cause:

                    Same as BF1 above.

CBR       PF        CROBAR ERROR

                    DTE-20 power has not returned after  a  power-fail
                    restart.    RSX-20F   allows   it  30  seconds  to
                    reappear.  

                    Possible Cause:

                    Malfunctioning hardware in the KL.

DTB       QPRDTE    TO-11 DTE TRANSFER FAILURE

                    A TO-11-done interrupt has occurred, but the TO-11
                    address  in  the DTE TO11AD register (register 22)
                    did not have the expected value.  Since TO11AD  is
                    incremented  for  each byte transferred, it should
                    point to the first word following the buffer  into
                    which the TO-11 data was written.

                    Possible Cause:

                    The PDP-11 received the wrong byte count or,  more
                    likely,   the  DTE  has  a  hardware  malfunction.
                    TO11BC contains the negative count  of  data  that
                    was actually transferred.  TO11AS contains address
                    of data node.  R1  contains  expected  termination
                    address   and   CR$DTB-2   contains   the   actual
                    termination address for transfer.

DTD       COMTRP    UNIBUS TIMEOUT

                    Reference to the DTE-20 caused a UNIBUS timeout.

                    Possible Cause:

                    Malfunction of the hardware in the KL.

DTF       QPRDTE    TO-10 DTE TRANSFER FAILURE

                    A TO-10-done interrupt has occurred but the  TO-10
                    address  in  the DTE TO10AD register (register 20)
                    did not have the  expected  value.   Since  TO10AD
                    gets  incremented  for  each  byte transferred, it
                    should point  to  the  first  word  following  the
                    packet that was sent to the KL.

                    Possible Cause:

                    The PDP-11 gave the KL the wrong  byte  count  or,
                    more  likely,  the DTE has a hardware malfunction.
                    TO10SZ contains  the  size  of  the  transfer  and
                    TO10AS    the   start   address.    The   expected
                    termination address is in R4.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-3


ETE       QPRDTE    TO-11 TRANSFER ERROR

                    A DTE interrupt occurred with the TO11ER  bit  set
                    in the DTE status register (register 34).

                    Possible Cause:

                    Hardware malfunction along the data  path  between
                    the  KL  and  PDP-11  (MBOX,  EBOX,  EBUS, DTE-20,
                    through to 11-memory).

FTA       LC        FILES-11 TASK ABORTED

                    A task occupying F11TPD partition has aborted  and
                    the  task  termination  notification  task  (TKTN)
                    cannot be started since it too runs in the  F11TPD
                    partition.

                    Possible Cause:

                    .TKTN may have aborted.  R5 and  .CRTSK  point  to
                    the  Active  Task  List  (ATL) node of the aborted
                    task.

IAS       SCH       UNKNOWN SIGNIFICANT EVENT

                    An unused bit in .SERFG has been set.

                    Possible Cause:

                    PDP-11 hardware malfunction or corrupted  software
                    in PDP-11.  .SERFG has the bit set.

ILF       QPRDTE    ILLEGAL PROTOCOL FUNCTION

                    The function  code  in  a  TO-11  protocol  header
                    specified  a  function  that  is outside the legal
                    range or that is currently unimplemented.

                    Possible Cause:

                    KL software is corrupted or  hardware  malfunction
                    along   data  path  between  KL  and  PDP-11.   R1
                    contains the function code times two.  R4 contains
                    the address of the protocol header.

ILQ       QPRDTE    ILLEGAL QUEUE COUNT

                    The KL and the PDP-11 disagree on  the  number  of
                    direct  transfers  that  have thus far taken place
                    from the KL to the PDP-11.  You should  take  into
                    account  that indirect headers are sent across the
                    DTE-20 as direct packets.

                    Possible Cause:

                    The PDP-11 is missing TO-11  doorbell  interrupts,
                    or  the software of either the KL or the PDP-11 is
                    corrupted.  STATI+0 to STATI+2  contain  the  KL's
                    TO-11  status  word as read by RSX-20F at the last
                    examine.  STATI+4 is the count the KL expects, and
                    TO10QC is the count the PDP-11 expects.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-4


LRF       SCH       LOAD REQUEST FAILURE

                    An attempt to load a nonresident  monitor  routine
                    into the F11TPD partition failed.

                    Possible Cause:

                    The Files-11 system is incomplete or damaged.

MPE       LC        MEMORY PARITY ERROR

                    A memory parity error has occurred in  the  PDP-11
                    (trap   to   location  114).   The  memory  status
                    registers are stored starting at location PARSAVE.
                    (See the PDP-11 Processor Handbook for details.)

PT1       QPRDTE    PROTOCOL BROKEN

                    An illegal protocol device number was specified in
                    TO-11 request.  The number was found to be greater
                    than the  maximum  allowed  device  number  .DQPSZ
                    (currently 10).

                    Possible Cause:

                    KL software is corrupted or  hardware  malfunction
                    along  the  data  path  between the KL and PDP-11.
                    The device number from the protocol header  is  in
                    TO11DV.

PT2       QPRDTE    PROTOCOL ERROR 2

                    An illegal protocol function was  specified  in  a
                    TO-11  request.   The  function  was  found  to be
                    greater than the allowed maximum BC.FNM (currently
                    34).

                    Possible Cause:

                    Same as PT1 above.  The  function  code  from  the
                    protocol header is in TO11FN.

PT3       QPRDTE    PROTOCOL ERROR 3

                    The PDP-11 has received a doorbell interrupt  from
                    the KL.  The indirect bit in the KL's TO-11 status
                    word indicates that an indirect transfer is to  be
                    initiated.   The  function  code, however, sent in
                    the last protocol header, does not  indicate  that
                    an  indirect  request  is  in  progress  (the most
                    significant bit of the function code was not set).

                    Possible Cause:

                    Same as PT1 above.  TO11FN contains  the  function
                    code  and STATI contains the TO-11 protocol status
                    word.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-5


PT4       QPRDTE    PROTOCOL ERROR 4

                    The KL wants to send a packet to the  PDP-11,  but
                    the  packet  size  is  greater  than  the  maximum
                    allowed size of 100.

                    Possible Cause:

                    Same as PT1 above.  The size is in EQSZ.

RED       RED       REDIRECT ERROR

                    A fatal error has occurred during an MCR  REDIRECT
                    command.   The  file control service is corrupted.
                    Call your Software Support Specialist.

RES       LC        RESERVED INSTRUCTION TRAP

                    This is  the  PDP-11  trap  to  location  10.   An
                    attempt was made to execute an illegal or reserved
                    instruction.  See the  PDP-11  Processor  Handbook
                    for further details.

                    Possible Cause:

                    PDP-11 software is corrupted or a PDP-11  hardware
                    malfunction occurred.

SAI       TTYDRR    SEND-ALL INTERRUPT

                    The  send-all  count  went  negative   at   output
                    interrupt level.

                    Possible Cause:

                    A race condition in the  software  or  a  hardware
                    malfunction.

SAQ       OPRDTE    SEND-ALL QUEUE

                    The  send-all  count  went  negative  during   the
                    queueing of the send-all message.

                    Possible Cause:

                    Corrupted PDP-11 software.

TBT       LC        T-BIT TRAP

                    This PDP-11 trap to location 14  occurs  when  the
                    BPT  instruction (not used by RSX-20F) is executed
                    or  when  the  T-bit  is  set.   (See  the  PDP-11
                    Processor Handbook for further details.)

                    Possible Cause:

                    Corrupted  PDP-11  software  or  PDP-11   hardware
                    malfunction.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-6


TET       QPRDTE    TO-10-TRANSFER ERROR

                    A DTE-20 interrupt has occurred with either TO10ER
                    (TO-10  error)  or MPE11 (PDP-11 parity error) bit
                    set in the DTE-20 status register ( register 34).

                    Possible Cause:

                    DTE-20 hardware error, PDP-11 memory parity error,
                    or   hardware  malfunction  along  the  data  path
                    between the PDP-11 and KL.

T04       LC        TRAP AT LOCATION 4

                    The PDP-11 traps to location 4  when  it  makes  a
                    word  reference  to  an  odd address or when a bus
                    timeout  occurs.   (See   the   PDP-11   Processor
                    Handbook for further details.)

                    Possible Cause:

                    PDP-11  software  is  corrupted,   or   a   PDP-11
                    peripheral  device  is  malfunctioning or has gone
                    away.

UIE       QPRDTE    UNIMPLEMENTED PROTOCOL FUNCTION

                    The KL uses bits 0-2 of its TO-11 status  word  in
                    the  communications region to inform the front end
                    of any disaster occurring in the KL.   These  bits
                    are  read  by  the front end on receipt of a TO-11
                    doorbell.  The currently implemented functions are
                    KL-RELOAD  REQUEST  and  KL POWER FAIL.  Any other
                    bits that are set cause this halt.

                    Possible Cause:

                    Corrupted KL software, a KL  hardware  malfunction
                    or  any  hardware  malfunction along the data path
                    between KL and PDP-11 could be the cause  of  this
                    error.
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-7


The following is a list of possible I/O error codes that  RSX-20F  can
produce.   Since  these  codes are returned by the device handlers and
file control primitives in RSX-20F, they are global in the sense  that
they  can come from any utility in the system.  That is, a code of -33
means the same thing when it comes from PIP  that  it  means  when  it
comes  from  SAV.  Because of the global nature of the error codes, it
is not possible to describe  the  exact  problem;   the  situation  is
different  with  different  utilities.   Therefore, the following list
does not attempt to explain the error code  other  than  to  list  the
message associated with it.

Note that there are two messages associated with the code -2.  This is
legitimate;   a  message  code  of  -2  is  produced  in  two types of
situations.


          Code      Message

          -1        Bad parameters 
          -2        Invalid function code
          -2        EBOX stopped
          -3        Device not ready
          -4        Parity error on device
          -5        Hardware option not present
          -6        Illegal user buffer
          -7        Device not attached
          -8        Device already attached
          -9        Device not attachable
          -10       End of file detected
          -11       End of volume detected
          -12       Write attempted to locked unit
          -13       Data overrun
          -14       Send/receive failure
          -15       Request terminated
          -16       Privilege violation
          -17       Sharable resource in use
          -18       Illegal overlay request
          -19       Odd byte count or virtual address
          -20       Logical block number too large
          -21       Invalid UDC module
          -22       UDC connect error
          -23       Caller's nodes exhausted
          -24       Device full
          -25       Index file full
          -26       No such file
          -27       Locked from write access
          -28       File header full
          -29       Accessed for write
          -30       File header checksum failure
          -31       Attribute control list format error
          -32       File processor device read error
          -33       File processor device write error
          -34       File already accessed on LUN
          -35       File ID, file number check
          -36       File ID, sequence number check
          -37       No file accessed on LUN
          -38       File was not properly closed
          -39       Open - no buffer space available for file
          -40       Illegal record size
          -41       File exceeds space allocated, no blocks
          -42       Illegal operation on file descriptor block
          -43       Bad record type
          -44       Illegal record access bits set
          -45       Illegal record attributes bits set
RSX-20F STOP CODES AND I/O ERROR CODES                         Page A-8


          -46       Illegal record number - too large
          -47       Multiple block read/write - not implemented
          -48       Rename - two different devices
          -49       Rename - new file name already in use
          -50       Bad directory file
          -51       Cannot rename old file system
          -52       Bad directory syntax
          -53       File already open
          -54       Bad file name
          -55       Bad device name
          -56       Bad block on device 
          -57       Enter duplicate entry in directory
          -58       Not enough stack space (FCS or FCP)
          -59       Fatal hardware error on device 
          -60       File ID was not specified 
          -61       Illegal sequential operation
          -62       End of tape detected
          -63       Bad version number
          -64       Bad file header
          -65       Device off-line
          -66       File expiration date not reached
          -67       Bad tape format
          -68       Not ANSI "D" format byte count











                             APPENDIX B

         FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F  



Normally the KL and the PDP-11 will transfer any data that needs to be
passed  between  them  without  any human intervention.  Occasionally,
though, you may want to move a file from the front-end area to an area
that  is  readable  by the KL.  This could happen if, for example, you
could not find a KL-readable copy  of  the  front-end  map  file,  and
wished  to transfer a copy from the front-end release media.  However,
since the file systems for the two processors  do  not  use  the  same
format,  the  transfer  must  include  a  reformatting  as  well.  The
software that allows you to reformat the file and transfer it from the
PDP-11's  area  to  the KL's area (or vice versa) is described in this
appendix.

A TOPS-10 program called RSXT10 is used to make TOPS-10 files readable
to  the  front-end file system.  A TOPS-20 program called RSXFMT has a
similar function.  The  programs  that  are  used  to  transfer  files
between  TOPS-10/TOPS-20  and  RSX-20F  are FE (under both TOPS-10 and
TOPS-20), and PIP (under RSX-20F).  All of these programs execute in a
normal   timesharing  environment,  but  some  may  be  restricted  to
privileged users.



B.1  REFORMATTING FILES

RSXT10 and RSXFMT, the reformatting programs,  are  available  to  all
users and do not require any special privileges to execute.

You can invoke RSXT10 by typing:

     .R RSXT10<CR>

RSXT10 responds with the prompt:

     RSXFMT>

You can invoke RSXFMT by typing:

     @RSXFMT<CR>

RSXFMT responds with the same prompt:

     RSXFMT>

At this point, you can give commands to the reformatting  program.   A
description of the available commands is presented in Section B.1.2.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-2


B.1.1  Restrictions

Files that are to  be  transferred  must  be  reformatted  on  the  KL
processor, regardless of which direction the transfer is to go.  Thus,
if you wish to transfer files from the front end to the KL,  you  must
do  the  transfer before the reformatting.  If, on the other hand, you
wish to transfer files from the KL to the front end, you must reformat
the files before the transfer.

Some features are  not  available  in  one  of  the  versions  of  the
software.   For  example, temporary files are not supported by RSXT10.
Nor can RSXT10 write to a log file when taking commands from a command
file.   RSXFMT, on the other hand, does not support MICRO-CODE or SAVE
modes.  Thus, you should check that the feature you  wish  to  use  is
supported by the version of the program that you can access.



B.1.2  RSXT10/RSXFMT Commands 

The following list describes the commands available to users of RSXT10
and  RSXFMT.  The parts of the commands enclosed in parentheses do not
appear in the dialog with  RSXT10;   they  are  part  of  the  TOPS-20
version  only.  The word NO in square brackets - [NO] - indicates that
the command can be negated by preceding the command with NO.

[NO] ADDRESS (WORDS EXIST IN IMAGE FILES)

     When you  are  converting  to  IMAGE-BINARY  files,  the  program
     ignores  the  first  two  bytes  of  each  record.   When you are
     converting from IMAGE-BINARY, the program inserts  two  bytes  of
     address  at  the  beginning  of  each  record.  The default is NO
     ADDRESS (WORDS EXIST IN IMAGE FILES).

CONVERT (FILE) <input-file-spec> (OUTPUT AS) <output-file-spec>

     This command converts the  specified  input  file  group  to  the
     output  file group, in the mode determined by the MODE command or
     the input file.  The default output  file  specification  is  the
     same  as  the  input  file  specification,  with the next highest
     generation number.

CRLF   (IN   ASCII   FILES   IS)    [DEFAULT,    IMBEDDED,    IMPLIED,
     CARRIAGE-RETURN-SINGLE-SPACE] 

     This command selects  whether  <CR><LF>  should  be  inserted  or
     removed  at  the  end  of  formatted  ASCII records.  RSXT10 also
     converts <CR><LF> to <CR><DC3> if you specify the  final  option.
     This  option  is  available  only to users of RSXT10.  If you are
     using RSXT10, the  default  for  .MAP  and  .DIR  file  types  is
     IMBEDDED,    whereas    the    default    for   .LST   files   is
     CARRIAGE-RETURN-SINGLE-SPACE.   Other  file  types   default   to
     IMPLIED.   If  you are using RSXFMT, the default for all files is
     DEFAULT.

EXIT (FROM RSXFMT)

     This command returns  control  to  the  TOPS-10  Monitor  or  the
     TOPS-20 Executive.

[NO] IGNORE (FILE FORMAT ERRORS)

     File format errors produce warning messages only if this  command
     has previously been issued.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-3


HELP (WITH RSXFMT)

     This command types this text.

INFORMATION (ABOUT) [ADDRESS, ALL, CRLF,  IGNORE,  MODE,  RECORD-SIZE,
     TEMPORARY]

     This  command  displays  the  settings  of  the  various   status
     commands.   INFORMATION  TEMPORARY  does  not  work under RSXT10,
     since temporary files are not supported by the TOPS-10 version of
     the reformatting program.

MODE (OF INPUT) <mode-type> (AND OUTPUT) <mode-type>

     This command selects input and output modes, where <mode-type> is
     one of the following:

     o    7-BIT-ASCII

     o    DOS-BINARY

     o    DEFAULT

     o    IMAGE-BINARY

     o    MICRO-CODE

     o    RSX-ASCII

     o    RSX-BINARY

     o    SAVE

     DEFAULT input mode is selected by the file  type  and  the  first
     word  of the current input file.  DEFAULT output mode is selected
     by a mapping from the  mode  of  the  current  input  file.   The
     MICRO-CODE  and  SAVE modes are available exclusively to users of
     RSXT10.

RECORD-SIZE (FOR IMAGE FILES IS) <decimal number>

     This command selects the record size for  files  being  converted
     from IMAGE-BINARY format.  Default is 256 bytes.

TAKE (COMMANDS FROM  FILE)  <command-file-spec>  (LOGGING  OUTPUT  ON)
     <log-file-spec>

     This command takes  RSXFMT  commands  from  the  specified  file.
     RSXT10 does not support the output to a log file.

[NO] TEMPORARY (OUTPUT FILES)

     If you specify TEMPORARY, all output files (see CONVERT  command)
     are  written  as  temporary  files.   You  might wish to use this
     command  if  you  want  to  maintain  a  copy  of  the  file   in
     TOPS-20-readable  format  after  the  file  is transferred to the
     front end.  This feature is not supported in RSXT10.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-4


B.2  TRANSFERRING FILES

The  act  of  transferring  files  is  logically  separate  from   the
reformatting  process,  since  the reformatting can occur at different
points depending on the direction of the transfer.  To accomplish  the
actual  transfer, the FE program must be running, the FE:  device must
be assigned, and the user must invoke several tasks with  the  PARSER.
These actions are discussed more fully in the following sections.



B.2.1  RUNNING FE

The FE program must be executed by a  privileged  user.   It  can  run
detached  if  this  is  desirable.  FE does not have any commands.  It
simply runs while the user transfers files.  

For users of TOPS-10, FE can be invoked and detached by either of  the
following two command sequences:

     .R FE<CR>
     ^C

     .CCONT

or

     .GET SYS:FE<CR>
     JOB SETUP
     .CSTART<CR>
     .DETACH<CR>

Users of TOPS-20 can invoke and detach FE by typing:

     @ENABLE (CAPABILITES)
     $FE<CR>
     ^C

     @DETACH (AND) CONTINUE

When running under TOPS-10,  FE  requires  access  to  the  UIC/[p,pn]
mapping  file: SYS:FEUIC.TXT.   Each invocation of FE causes this file
to be read.  FEUIC.TXT is an ASCII file that is created and maintained
with  standard TOPS-10 Text Editors (like TECO or SOS).  The format of
the UIC-to-PPN mapping descriptor is:

     [uic]=STR:[p,pn]

In this descriptor, [uic] must already exist  in  the  front-end  file
system.  STR:  must be a valid TOPS-10 structure name, and [p,pn] must
be a  valid  TOPS-10  directory.   The  default  for  STR:   is  DSK:.
FEUIC.TXT  can  contain  as  many  UIC to [p,pn] mappings as required.
Furthermore, these  mappings  can  be  internally  documented  by  the
insertion  of  comments,  which  must  begin  with  a  semicolon or an
exclamation mark.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-5


TOPS-20 uses a different approach to UIC/[p,pn] mapping.  When running
under  TOPS-20,  FE  does not look for any file containing the mapping
from directory to UIC.  Instead, FE contains its own algorithm to find
the UIC.  The algorithm it uses is the following:

UIC = [(340+(D/400)),(Dmod400)]

where D is the TOPS-20 directory number.  (The directory number can be
printed  in  response  to  an  INFORMATION (ABOUT) DIRECTORY command.)
Thus, if your TOPS-20 directory number is 164, your UIC would be

[(340+(164/400)),(164mod400)] = [340,164]

Since 164/400 is less than 1, the quantity is dropped.   164mod400  is
the quantity that remains after 164 is divided by 400 as many times as
will go evenly;  in this case, since 400 does not  go  into  164,  the
remainder is 164.



B.2.2  THE FE: DEVICE

The FE:  device exists under both TOPS-10/TOPS-20  and  RSX-20F.   The
FE:  device is often referred to as a pseudodevice because it is not a
physical device, but a logical one.  You can think of the FE:   device
as  the  other file system, regardless of which system - the KL or the
PDP-11 - you are presently using.  When you assign  and  use  the  FE:
device,  you  notify  the  two processors of the link between the file
systems.



B.2.3  RSX-20F TASKS

In order to transfer files between the  file  systems,  three  RSX-20F
tasks  must be invoked and released.  These tasks are MOU (MOUNT), PIP
(file transfer), and DMO (DMOUNT).  These RSX-20F  tasks  are  invoked
from  the  PARSER which, in turn, is invoked by typing a CTRL/\ at the
CTY.  (The CTRL/\ is not echoed on the terminal.) Type:

     CTRL/\

The system responds with the PARSER prompt:

     PAR>

The tasks themselves are invoked by the MCR command.  For example:

     PAR>MCR MOU<CR>

This command invokes the MOU (MOUNT) task.  All RSX-20F  tasks  prompt
by  typing  their  three-character task name and a right bracket.  All
RSX-20F tasks are released by typing a CTRL/Z.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-6


B.2.4  File Transfer Dialog

The following sequence of steps is used to transfer files both to  and
from the front-end file system:

     1.  Assign the FE:  device to your job at monitor level.  

     2.  Run (and detach) FE.

     3.  Use the MOUNT task to mount the RSX-20F FE:  device.

     4.  Use PIP to transfer the file(s).

     5.  Dismount the RSX-20F FE:  device using DMOUNT.

     6.  Go back to monitor level and stop FE.

     7.  Deassign the FE:  device from your job.

This  basic  sequence  is  used  for  all  file  transfers.   However,
reformatting  always  takes  place  on  the  KL,  regardless  of  what
operating system is running there, and regardless of  which  direction
the transfer is going.

To transfer files from TOPS-10/TOPS-20 to RSX-20F, invoke the  RSX-20F
PIP task and type the following command string:

     PIP>[uic]filename.ext=FE:[uic]filename.ext<CR>

To transfer files from RSX-20F to TOPS-10/TOPS-20, invoke the  RSX-20F
PIP task and type the following command string:

     PIP>FE:[uic]filename.ext=[uic]filename.ext<CR>

Refer to Section 6.4 for details on the RSX-20F utility, PIP.

The following example shows an operator copying the file TEST.TXT from
TOPS-20  to  RSX-20F.   The  copy  in  the  opposite  direction can be
effected by switching the file specifications to the opposite sides of
the equal sign.
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F            Page B-7


     @LOG OPERATOR (PASSWORD)
      Job 7 on TTY205 25-Jun-79 12:48:00
     @RSXFMT
     RSXFMT>CONVERT (FILE) TEST.RNO.2 (OUTPUT AS) TEST.TXT
     TEST.RNO.2 [7-BIT-ASCII] ==> TEST.TXT.1 [RSX-ASCII]
     RSXFMT>EXIT (FROM RSXFMT) 

     @ENABLE (CAPABILITIES)
     $ASSIGN FE0:
     $FE
     ^C
     $DETACH (AND) CONTINUE
     Detaching job #7

     PAR>MCR MOU
     MOU>FE:
     MOU -- MOUNT COMPLETE
     MOU>^Z

     PAR>MCR PIP

     PIP>TEST.TXT/LI
     PIP -- NO SUCH FILE(S)

     PIP>SY:TEST.TXT=FE:[340,5]TEST.TXT
     PIP>TEST.TXT/LI


     DIRECTORY DB0:[5,5]
     25-JUN-79 12:50

     TEST.TXT;1 1.      25-JUN-79 12:49

             TOTAL OF 1.  BLOCKS IN 1.  FILE



     PIP>^Z

     PAR>MCR DMO
     DMO>FE:
     DMO -- DISMOUNT COMPLETE
     DMO>^Z

      TOPS-20 BIG SYSTEM, T2 Monitor 4(3023)
     @ATT OPERATOR (JOB #) 7
     Password:
     ^C
     $INFORMATION (ABOUT) FILE-STATUS (OF JFN)
      Connected to PS:<OPERATOR>.  JFNS:
      4    TEST.TXT.2  Not opened Read, EOF
      3    FE0:        Read, Append, 0.(16)
      2    <SUBSYS>FE.EXE.2    Read, Execute
      1    <SYSTEM>EXEC.EXE.51         Read, Execute

     Devices assigned to/opened by this job: FE0, TTY205

     $CLOSE (JFN) 3,4
      4   TEST.TXT.2   [OK]
      3   FE0:   [OK]
     $DEASSIGN FE0:
     $LOGOUT











                             APPENDIX C

                           FRONT-END TASKS



The tasks that are listed here are those tasks that  exist  separately
from  the RSX-20F Executive.  These tasks reside in the front-end file
area from which they can be loaded into core and  executed  in  either
the GEN user partition or the F11TPD system partition.

F11ACP.TSK     Files-11 Ancillary Control Processor
               An Ancillary Control Processor (ACP) is an extension of
               the  monitor.  F11ACP handles the front-end disk files,
               and  performs  file  access,  management,  and  control
               functions.  F11ACP runs in the F11TPD partition.

PARSER.TSK     The Command Parser
               PARSER is the primary means of access to the  front-end
               programs.    It  also  controls  the  KLINIK  link  and
               provides KL diagnostic tools.  PARSER runs in  the  GEN
               partition.

KLE.TSK        KLERR
               KLERR processes KL  errors  using  the  diagnostic  DTE
               functions.   It takes a snapshot of KL error conditions
               and stores it as the file KLERRO.SNP in  the  front-end
               file  system.   It  then  calls  KLINIT  to restart the
               system.  KLERR runs in the GEN partition.

KLI.TSK        KLINIT
               KLINIT initializes the  KL  processor  by  loading  the
               microcode,  configuring  memory, configuring cache, and
               then loading and starting  the  KL  bootstrap  program.
               KLINIT runs in the GEN partition.

KLXFER.TSK     KLXFER
               KLXFER transfers  KLERRO.SNP  (the  snapshot  taken  by
               KLERR)  across the DTE to the KL, where it is placed in
               the ERROR.SYS file.  KLXFER runs in the GEN partition.

MOU.TSK        Mount a Device
               MOUNT makes a device known to F11ACP so that it can  be
               accessed  by  a  given  user.   MOUNT  runs  in the GEN
               partition.

PIP.TSK        Peripheral Interchange Program
               PIP  performs   general   file   transfers   and   some
               maintenance  functions  between  Files-11  devices  and
               other peripherals.  PIP runs in the GEN partition.

               TKTN.TSK Task Termination Program
               TKTN outputs task termination notification and provides
               for  the  orderly  termination  of front-end tasks.  It
               also acts as an interface  between  KLINIT  and  KLERR.
               TKTN runs in the GEN partition.
FRONT-END TASKS                                               Page C-2


COP.TSK        Copy from device to device
               COPY is a device copy utility that allows  verification
               of  the  physical  state  of the device.  COPY supports
               both floppy disks and DECtapes.  COPY runs in  the  GEN
               partition.

RED.TSK        Redirect the system device
               REDIRECT moves the front-end  system  device  from  one
               Files-11  device  to  another and informs the system of
               its new location.  REDIRECT runs in the GEN partition.

INI.TSK        Initialize volumes
               INI initializes Files-11  devices  to  be  recognizable
               Files-11  volumes  and  sets up Master Directory space,
               index, home block, and so forth.  INI runs in  the  GEN
               partition.

UFD.TSK        User File Directory
               UFD creates User File Directories on Files-11  volumes.
               User   File   Directories   are   used  to  store  file
               identifiers.  UFD runs in the GEN partition.

T20ACP.TSK     TOPS-20 Ancillary Control Processor
               T20ACP is the file handler for files to be  transferred
               to and from the KL's disk file area.  It interacts with
               the TOPS-10 and TOPS-20 device  FE:.   T20ACP  provides
               access  to  the  TOPS-10 and TOPS-20 disk file areas in
               terms compatible with Files-11 operations.  T20ACP runs
               in the GEN partition.

SAV.TSK        Save system image
               SAV creates a task-image file of  the  current  RSX-20F
               monitor and saves it in the Files-11 area.  SAV runs in
               the GEN partition.

DMO.TSK        Dismount a Device
               DMOUNT  declares  a  device  off-line  to  F11ACP   and
               therefore  inaccessible  to a user.  DMOUNT runs in the
               GEN partition.

SETSPD.TSK     Set Line Speeds
               SETSPD sets the line-speed table  in  the  KL  after  a
               restart.   It  also  sets the time in the KL processor.
               SETSPD.TSK is  a  front-end  task  and  is  not  to  be
               confused  with the TOPS-20 program, SETSPD.EXE.  SETSPD
               runs in the F11TPD partition.

KLRING.TSK     KLINIK Request
               KLRING checks  the  KLINIK  time  window  and  password
               whenever  the  KLINIK  line  rings.   If  the  time and
               security  checks  are  verified,  KLINIK  is   enabled.
               KLRING runs in the F11TPD partition.

KLDISC.TSK     KLINIK Disconnect
               KLDISC  performs  system  functions   associated   with
               disconnecting   the  KLINIK  line.   KLDISC  also  logs
               significant KLINIK events across the DTE  into  the  KL
               ERROR.SYS file.  KLDISC runs in the F11TPD partition.

MIDNIT.TSK     Update the clock
               Each time the clock passes midnight, MIDNIT updates the
               time  and  date  on  the  PDP-11.   Then,  if the KL is
               running, MIDNIT obtains the  KL's  time  and  date  and
               resets  its  own  to  match.  MIDNIT runs in the F11TPD
               partition.
FRONT-END TASKS                                               Page C-3


The following two tasks are KL programs that are distributed  as  part
of  the  front-end  software  and reside in the front-end file system.
These tasks are read into the PDP-11 by the KLINIT task and  deposited
over  the  DTE  into  KL  memory  where  they  perform  their specific
functions.

BOOTS.EXB      TOPS-10 Bootstrap Program
BOOT.EXB       TOPS-20 Bootstrap Program
               BOOTS and BOOT load the KL monitor  system  image  file
               into memory from rigid disk (BOOTS.EXB and BOOT.EXB are
               executable binary files).  

BOOTM.EXB      TOPS-10 Magtape Boot Program
MTBOOT.EXB     TOPS-20 Magtape Boot Program
               BOOTM and MTBOOT load the KL monitor system image  file
               into  memory from a magnetic tape (BOOTM and MTBOOT.EXB
               are executable binary files).











                             APPENDIX D

                        KLINIK ACCESS DIALOG  



The RSX-20F KLINIK link  allows  DIGITAL  Field  Service  or  Software
Support personnel at remote locations to access a KL-based computer as
a timesharing user or as a remote operator.  The computer may  or  may
not  be  up  for  timesharing,  but  the  front  end must have RSX-20F
running.  The link is controlled by the operator of the computer,  who
can  allow or disallow access, and can also terminate the KLINIK link.
If the KL  monitor  supports  error  logging,  the  RSX-20F  Executive
records   significant  events  and  errors  by  means  of  the  SYSERR
mechanism.

This appendix lists  the  events  that  are  logged  by  RSX-20F,  and
describes  the  KLINIK  access  parameters.   It  also  documents  the
commands used in the access dialog from the point of view of both  the
computer operator and the Field Service or Software Support person who
wishes to access a remote KL.



D.1  SIGNIFICANT KLINIK EVENTS

The KLINIK events that RSX-20F considers significant are logged in the
ERROR.SYS  file,  and can be read with SYSERR.  The significant events
are:

     o    Each occurrence of a  SET  KLINIK  command  (the  parameters
          given in the command are also saved)

     o    Each occurrence of a CLEAR KLINIK command

     o    Each occurrence of a DISCONNECT command or a DL11E hang-up

     o    Each occurrence of a successful LOGON (the mode selected  is
          also saved)

     o    Each occurrence of an  unsuccessful  LOGON  (the  number  of
          attempts is also saved)
KLINIK ACCESS DIALOG                                          Page D-2


D.2  KLINIK ACCESS PARAMETERS

The computer operator and the person who wishes to access the computer
from  a remote location must agree on certain parameters regarding the
time at which the link will take place and  the  type  of  access  the
remote user will have.  Specifically, they must agree on:

     o    Whether the remote user of the link wishes to have a  remote
          CTY or simply a timesharing terminal

     o    What password will allow  the  remote  user  access  to  the
          system, if the user has requested a remote CTY

     o    The date and time the remote user will dial  up  to  request
          access by way of the KLINIK link

     o    The highest console mode the remote user will be allowed 

Once this information has been verified, the  computer  operator  must
notify  RSX-20F  of  the arrangements by using the SET KLINIK command,
described in Section D.3.1.



D.2.1  Usage of the Remote Terminal

The remote user can access the  system  in  two  ways:   as  a  normal
timesharing  user, or as a remote operator.  If the remote terminal is
set up for timesharing, the remote user can deal with the system  just
as any other timesharing user;  thus, the KLINIK link could be used as
a special dial-up line.  Alternatively, the  remote  terminal  can  be
declared  to  be the system's CTY, thereby allowing the remote user to
access the system as if the user were present at the  local  CTY.   In
this  case,  both  the  remote  user  and the system operator have the
ability to enter commands to RSX-20F and to see all output.  In  fact,
it  is  possible  to  execute  PARSER commands that are entered by two
people typing alternate characters from the two consoles.

The system operator declares the usage of the remote terminal when the
PARSER  requests the usage mode in the dialog following the SET KLINIK
command.  The legal replies are REMOTE and USER;  no defaults exist.



D.2.2  Access Password for Remote CTY's

The system operator must declare  to  RSX-20F  that  the  remote  user
wishes to have a terminal of the agreed-upon type.  If the remote user
is to have a CTY, the operator must also give RSX-20F a password  that
the remote user must repeat to establish the KLINIK link.

The operator declares the password when the PARSER requests it in  the
dialog following the SET KLINIK command.  This password must be one to
six numeric or uppercase alphabetic characters  with  no  embedded  or
trailing blanks.



D.2.3  KLINIK Access Window

The date and time at which the remote user plans to establish the link
is  specified by the method of opening a window, that is, defining two
times between which the remote user can  access  the  computer.   This
window  has  no  effect  once the remote user has gained access to the
KLINIK ACCESS DIALOG                                          Page D-3


system;  the KLINIK link is not terminated when the end of the  window
is reached.  However, access to the system is not allowed unless it is
requested between the specified times.

The operator specifies the access window dates and times  in  response
to  the  PARSER's  prompt in the SET KLINIK dialog.  The access window
dates are specified in the following format:

  DD-MMM-YY
  DD-MMM-YYYY
  DD MMM YY
  DD MMM YYYYY

where DD is the day, MMM  is  the  alphabetic  representation  of  the
month,  and  YY or YYYY is the year.  The year can be specified either
by using the entire Gregorian year, or by  using  only  the  last  two
digits of the year number.  If only the last two digits are specified,
the PARSER assumes that the first two digits should be 19.

The access window times are specified in the following format:

  HHMM
  HH:MM

where HH is the hour in 24-hour format and MM is the minute.  HH  must
be in the range 00 to 24, and MM must be in the range 00 to 60.

The default condition for both dates and  times  can  be  accepted  by
replying  to the relevant prompts with a carriage return.  The default
date and time for the opening of the access  window  are  the  current
system  date and time.  The default date for the closing of the access
window is the current system date plus one day.  The default time  for
the  closing  of  the access window is the current system time.  It is
possible to specify the date on which the access window will open  and
still  allow  the time at which the window will open to default to the
current time of day.  It is also possible to allow the date to default
while specifying the time.  A similar situation exists for the closing
of the access window.



D.2.4  Console Mode of the Remote Terminal

If the remote terminal is  being  used  for  simple  timesharing,  the
security systems of the operating system are assumed to be in control.
However, when the remote user requests the use of a  remote  CTY,  the
computer  operator  must  maintain  the  security  of  the  system  by
declaring what type of access  the  remote  user  is  to  have.   (See
Section   4.3,   PARSER   Console  Modes,  for  a  discussion  of  the
capabilities of the various modes.)

The operator specifies the console mode of the remote terminal in  the
dialog  following  the  SET  KLINIK command.  The legal replies to the
PARSER's request for the console mode are MAINTENANCE, PROGRAMMER, and
OPERATOR.   There  are no default replies to this question.  The local
operator should make sure that sufficient capabilities are supplied to
the  remote  user  initially,  since it is not possible for either the
operator or the remote user to raise the console mode while the KLINIK
link is active.
KLINIK ACCESS DIALOG                                          Page D-4


D.3  OPERATOR DIALOG WITH KLINIK

The system operator, through dialog with the PARSER,  sets  parameters
for  establishing the KLINIK link, checks those parameters, terminates
the KLINIK link, and disconnects the remote modem.   The  dialog  that
the operator uses to accomplish these tasks is presented below.



D.3.1  Setting Access Parameters

The system operator must declare to RSX-20F that a remote user will be
accessing  the  system  before the remote user can actually attempt to
establish the link.  When the parameters discussed in Section D.1 have
been set using the SET KLINIK command, the remote user can dial up and
attempt to establish the KLINIK link, assuming that the user  does  so
during the agreed-upon time window.

You should use the following dialog to set the access parameters.  

     1.  Type CTRL/\ (Control-Backslash) to enter the PARSER.

     2.  When you receive the PARSER's prompt, enter  the  SET  KLINIK
         command to tell the PARSER you wish to set KLINIK parameters.

     3.  Answer the PARSER's prompt (KLINIK MODE:)  with  the  console
         mode  you  wish to allow the remote user:  REMOTE to give the
         user a remote CTY, or USER to make the remote terminal into a
         normal  timesharing  terminal.  If you respond with something
         other than  REMOTE  or  USER,  one  of  the  following  error
         messages appears:

           PAR -- [SET] NSK - NO SUCH KEYWORD "xxx"
           PAR -- [SET] ILC - ILLEGAL CHARACTER "c"

         where "xxx" and "c" are the offending keyword and  character,
         respectively.  

         After printing the relevant error message, the PARSER  aborts
         the SET KLINIK command.

     4.  If you answered the previous prompt with REMOTE  to  allow  a
         remote  CTY,  you must answer the PARSER's prompt (PASSWORD:)
         with the password that the remote user must give in order  to
         be  allowed  access to the computer.  If you do not provide a
         legal password,  you  receive  one  of  the  following  error
         messages.

         If you specified no password, you get:

           PAR -- [SET] NPI - NULL PASSWORD ILLEGAL

         If you typed more than six characters, you get:

           PAR -- [SET] PTL - PASSWORD TOO LONG

         If you included a character that was not an alphanumeric, you
         get:

           PAR -- [SET] IPC - ILLEGAL PASSWORD CHARACTER "c"

         where "c" is the offending character.  

         After printing the relevant error message, the PARSER  aborts
         the SET KLINIK command.
KLINIK ACCESS DIALOG                                          Page D-5


     5.  Answer the PARSER's access window prompts (ACCESS WINDOW OPEN
         DATE:,  ACCESS  WINDOW OPEN TIME:, ACCESS WINDOW CLOSE DATE:,
         ACCESS WINDOW CLOSE TIME:) with dates and times in the format
         explained above (in Section D.1.3).  

         If the PARSER cannot recognize the date  in  the  format  you
         have used, you receive one of the following error messages.

         If the day specified does not exist in the  month  specified,
         you get:

           PAR -- [SET] DOR - DATE OUT OF RANGE

         If the month you specified cannot be matched, you get:

           PAR -- [SET] NSK - NO SUCH KEYWORD "xxx"

         If the keyword you specified for the month is ambiguous,  you
         get:

           PAR -- [SET] AMB - AMBIGUOUS KEYWORD "xxx"

         In both  of  the  previous  cases,  "xxx"  is  the  offending
         keyword.

         If the year is not recognizable, you get:

           PAR -- [SET] YOR - YEAR OUT OF RANGE

         If the access window open or  close  date  is  prior  to  the
         current system date, you get:

           PAR -- [SET] DBT - DATE BEFORE TODAY

         If the access window open or close time does not  conform  to
         the required format, you get:

           PAR -- [SET] TOR - TIME OUT OF RANGE

         If the open or close time is not numeric, you get:

           PAR -- [SET] ITF - ILLEGAL TIME FORMAT

         Finally, when you have answered all four prompts (or  allowed
         the  default  condition  to hold), the PARSER checks that the
         opening date and time you specified are  before  the  closing
         date and time.  If this is not the case, you get:

           PAR -- [SET] KWE - KLINIK WINDOW ERROR

         If you made an error in typing a command, the  PARSER  aborts
         the SET KLINIK command when it finishes printing the relevant
         error message.

     6.  If you specified REMOTE  in  response  to  the  KLINIK  MODE:
         prompt,  you  must  now reply to the PARSER's prompt (HIGHEST
         CONSOLE MODE:) with the highest PARSER console mode you  wish
         to allow the remote user.  The legal replies are MAINTENANCE,
KLINIK ACCESS DIALOG                                          Page D-6


         PROGRAMMER, and OPERATOR.  There is no default reply to  this
         question.   (See  Section  4.3,  PARSER  Console Modes, for a
         discussion of the capabilities of the various modes.) If  the
         PARSER  does  not recognize the console mode you specify, you
         get the following error message:

           PAR -- [SET] NSK - NO SUCH KEYWORD "xxx"

         where "xxx" is the offending keyword.

         If you enter only  a  carriage  return  in  response  to  the
         prompt, you get:

           PAR -- [SET] MRA - MISSING REQUIRED ARGUMENT

         After printing the relevant error message, the PARSER  aborts
         the SET KLINIK command.

     7.  If you have specified all of the  parameters  correctly,  the
         PARSER  returns  to command level after displaying the KLINIK
         parameters in the following format:

           KLINIK [<state>]
           ACCESS WINDOW OPEN:  DD-MMM-YY HH:MM
           ACCESS WINDOW CLOSED:  DD-MMM-YY HH:MM
           KLINIK MODE:  [<mode>]

         where <state> can  be  ACTIVE,  INACTIVE,  or  DISABLED,  and
         <mode>  may be REMOTE or USER.  If the KLINIK MODE is REMOTE,
         one more line is displayed:

           HIGHEST CONSOLE MODE:  [<mode>] 

         where <mode> can be MAINTENANCE, PROGRAMMER, or OPERATOR.  

         The state of the KLINIK link is described by the first  line,
         which   tells  whether  the  link  is  ACTIVE,  INACTIVE,  or
         DISABLED.  ACTIVE means the KLINIK parameters have  been  set
         and  the  remote  user  is  currently  accessing  the system.
         INACTIVE means that the parameters have  been  set,  but  the
         remote   user   is  not  currently  accessing  the  computer.
         DISABLED means that the parameters have not been set.

The use of the SET KLINIK command  is  illustrated  by  the  following
example:  

  PAR>SET KLINIK
  KLINIK MODE:  REMOTE
  PASSWORD:  ASDF
  ACCESS WINDOW OPEN DATE:
  ACCESS WINDOW OPEN TIME:
  ACCESS WINDOW CLOSE DATE:
  ACCESS WINDOW CLOSE TIME:
  HIGHEST CONSOLE MODE:  OPERATOR 
   KLINIK INACTIVE
   ACCESS WINDOW OPEN:  18-JUNE-1979 13:04
   ACCESS WINDOW CLOSE:  19-JUNE-1979 13:04
   KLINIK MODE:  REMOTE
   HIGHEST CONSOLE MODE:  OPERATOR
  PAR>
KLINIK ACCESS DIALOG                                          Page D-7


D.3.2  Examining the Current KLINIK Parameters

The KLINIK parameters that are displayed at the end of the SET  KLINIK
dialog can be displayed at will by the use of the WHAT KLINIK command.
The format of the information is  exactly  the  same  as  the  display
following  the  SET KLINIK dialog when the KLINIK parameters have been
set.  In two cases, however, the format is different.  One is the time
when  no KLINIK parameters have been set.  In this case, the following
line (only) will be displayed in response to the WHAT KLINIK command:

   KLINIK DISABLED

The other exceptional case is when the KLINIK link is active  after  a
reboot  of  the  system  software.   (This situation is described more
fully in Section D.4.) In this case the response to  the  WHAT  KLINIK
command is in the form shown below:

   KLINIK ACTIVE FROM REBOOT
   KLINIK MODE:  REMOTE
   HIGHEST CONSOLE MODE:  MAINTENANCE

Normal use of the WHAT KLINIK command is illustrated by the  following
example:

  PAR>WHAT KLINIK
   KLINIK INACTIVE
   ACCESS WINDOW OPEN:  20-JUNE-1979 13:49
   ACCESS WINDOW CLOSED:  21-JUNE-1979 13:49
   KLINIK MODE:  REMOTE
   HIGHEST CONSOLE MODE:  MAINTENANCE
  PAR>



D.3.3  Terminating the KLINIK Link

The system operator can terminate the KLINIK link at any time  by  the
CLEAR  KLINIK  command.   The  CLEAR  KLINIK command clears the KLINIK
parameters, but does not hang up the modem.  If the remote user has  a
remote  CTY,  the user can also terminate the link by the same method.
In either case, the link is not completely cleared until the  operator
issues  the DISCONNECT command.  This command hangs up the modem, thus
ending the link.  Breaking up the termination into  two  commands  has
the  advantage  of  allowing  the link to be terminated (by use of the
DISCONNECT command) without clearing the parameters.  Thus, the remote
user  can  try  again to establish the link, but the operator does not
need to reenter the parameters.

When the operator issues the CLEAR KLINIK command during the time  the
link is in use, the following messages are printed on both terminals:

   KLINIK DISABLED

  KLD -- KLINIK ACCESS TERMINATED BY OPERATOR 

When the operator issues the DISCONNECT command, the following message
is printed on both terminals:

  KLD -- KLINIK LINE DISCONNECTED

This message signals the end of the link, since the modem is  hung  up
by the DISCONNECT command.

If the remote user tries again to gain access to the system before the
KLINIK ACCESS DIALOG                                          Page D-8IK LOGON TIMEOUT -
  KLR -- LOGON ABORTED

  KLD -- KLINIK LINE DISCONNECTED

At this time, RSX-20F hangs up the modem.  The remote user can dial up
and  try again to gain access to the system if the local operator does
not issue the CLEAR KLINIK command.

When you type the  correct  password,  RSX-20F  prints  the  following
message on the remote terminal:  

  KLINIK MODE:

In response, you must type either REMOTE or USER.  If you wish  to  be
connected  to  RSX-20F,  you  must  type REMOTE.  You then receive the
following notification from RSX-20F:  

  KLR -- KLINIK LINE CONNECTED TO RSX-20F 
  KLR -- CONSOLE MODE LIMIT:  [<mode>]

where <mode> can be MAINTENANCE, PROGRAMMER, or OPERATOR.  

You can login to the local system as a timesharing  user  even  though
the  KLINIK  MODE  was  declared by the operator to be REMOTE.  If you
wish to do this, simply reply to the KLINIK MODE:  prompt  with  USER.
If  you  do  this,  you  receive  the following message before RSX-20F
routes the line to the KL monitor:

  KLR -- KLINIK LINE CONNECTED TO TOPS-xx

where "xx" is either 10 or 20.  The next line printed  is  the  system
herald, just as a normal timesharing user would receive.
KLINIK ACCESS DIALOG                                         Page D-10


The following examples illustrate the dialog between RSX-20F  and  the
remote  user.   The  first  example  shows a remote user answering the
KLINIK MODE:  prompt with REMOTE to get  a  remote  CTY.   The  second
example shows how the same user could decide to login to the system as
a timesharing user.  

1.  KLR -- KLINIK RING - VALIDATING ACCESS

    PASSWORD:  [the password will not echo on the terminal]

    KLR -- INCORRECT PASSWORD 
    PASSWORD:  [this time it is correct]

    KLINIK MODE:  REMOTE

    KLR -- KLINIK LINE CONNECTED TO RSX-20F
    KLR -- CONSOLE MODE LIMIT:  [MAINTENANCE]

2.  KLR -- KLINIK RING - VALIDATING ACCESS

    PASSWORD:  [the password will not echo on the terminal]

    KLINIK MODE:  USER

    KLR -- KLINIK LINE CONNECTED TO TOPS-20

    SYSTEM 2116 THE BIG ORANGE, TOPS-20 MONITOR 4(3117)
    @



D.4.2  Logging In as a Timesharing User

If the local system operator has declared  the  usage  of  the  remote
terminal  to  be  USER,  the  link  is  routed to the KL monitor after
RSX-20F prints

  KLR -- KLINIK LINE CONNECTED TO TOPS-xx

where "xx" is either 10 or 20.  The next line printed  is  the  system
message  from the particular system, just as a normal timesharing user
would receive.  

The following example shows the messages printed when  a  remote  user
logs in to the system as a timesharing user.

Example D-6

KLR -- KLINIK LINE CONNECTED TO TOPS-20

SYSTEM 2116 THE BIG ORANGE, TOPS-20 MONITOR 3A(2013)
@
KLINIK ACCESS DIALOG                                         Page D-11


D.5  KLINIK INTEGRITY OVER A REBOOT

The computer system attempts to maintain the  integrity  of  a  KLINIK
link  over a reload of system software.  Both the KL processor and the
front-end processor are aware of the KLINIK link, and both  store  the
current  KLINIK  parameters.   This allows one processor to remind the
other of the current state of the KLINIK link should one  of  the  two
processors be reloaded.  If the link was set up to be REMOTE MODE, the
following messages are printed on both terminals:  

  SAV -- *DIAG* -- KLINIK LINE ACTIVE IN REMOTE MODE
  SAV -- *DIAG* -- KLINIK LINE CONNECTED TO SYSTEM CONSOLE

If the link was set up to be  USER  MODE,  the  following  message  is
printed on both terminals:

  SAV -- *DIAG* -- KLINIK LINE ACTIVE IN USER MODE

The KLINIK link is also maintained over a reload of the entire system.
That  is,  if  both  the  KL  and  the front end are reloaded, RSX-20F
detects the carrier signal when it comes up and realizes that a KLINIK
link  is in progress.  At this point, RSX-20F waits 45 seconds for the
KL to provide the correct KLINIK parameters.  Since in this  situation
there  is no way for the KL to know the original KLINIK parameters, it
is unable to supply the parameters.  Thus, when the 45-second wait  is
over,  RSX-20F sets up default parameters and continues the link.  The
parameters are set up for REMOTE MODE with the  highest  console  mode
being MAINTENANCE.  The messages printed are the same as those printed
on reloading only one of the processors.

In the event that the KL monitor has difficulty starting or restarting
the  Primary  or Secondary Protocols, the following message is printed
on the local console:

  SAV -- *FATAL* -- PROTOCOLS NOT RUNNING

This problem usually requires a  reload  of  the  TOPS-10  or  TOPS-20
system.











                             APPENDIX E

                       GETTING HELP ON RSX-20F



At times it becomes necessary for users of KL-based computers  to  get
help  on  some  aspect of RSX-20F.  There may be some problem with the
RSX-20F software, or the user may  have  some  hardware  problem  that
RSX-20F  detects  but  cannot  deal  with.   If  you  find  that  your
installation is having a problem of this sort and you wish to submit a
Software  Performance  Report  or  place  a  hot line call to Software
Services,  consult  this  appendix  before  calling  for  help.   This
appendix  will  provide  assistance  in making sure you supply all the
needed information to allow DIGITAL personnel to  determine  what  the
problem is.

The items you should include with an SPR, or have ready when you  make
a  hot line call, are listed below.  Providing this information to the
Software Support personnel speeds up the answering  of  your  question
and helps insure that you receive a complete and useful answer.

     1.  Dump File(s) - Include the dump file(s) that  were  taken  at
         the time of the problem.  The filename for every dump file is
         0DUMP11.BIN.  One of these files is generated for every crash
         of  RSX-20F,  as long as the KL is running when RSX-20F dies.
         You can also produce a dump manually, if the situation  calls
         for  it.   You  should  be  aware,  however,  that the manual
         production of a dump file defeats any attempt by  RSX-20F  to
         save   the  state  of  the  processor  as  RSX-20F  sees  it.
         Specifically, the stack pointer (SPSAV) will not contain  the
         address  of the next instruction to be executed.  If you feel
         that it would be helpful to produce a dump,  press  the  HALT
         switch  on  the  front  end, then raise it again immediately.
         Make sure that you record the circumstances of the crash  and
         correlate  the  particular  circumstances with the particular
         dump, especially if you are submitting  more  than  one  dump
         file.   Also,  if you have produced the dump file by hand, be
         sure to make that fact  known,  because  it  will  definitely
         influence the method of extracting information from the dump.

     2.  Console Log - Include the console log (or a copy of it)  from
         the  time  of  the  crash  (or  other problem).  The copy you
         include should cover any recent odd occurrences, as well as a
         running   commentary.    This   commentary   is   useful  for
         determining, not only the sequence of events, but the  timing
         of  the  events  as  well.   Thus,  if  you try one method of
         recovering from the problem, then think about the problem for
         half  an hour, then try another approach, make sure that your
         commentary notes the half-hour delay, since the delay  cannot
         be inferred from reading the console log itself.
GETTING HELP ON RSX-20F                                       Page E-2


     3.  SYSERR Entries - Include any SYSERR entries generated by  the
         problem.   You  can also include any entries generated around
         the time the problem occurred, since they may have a  bearing
         on the problem that you do not realize at the time.  

     4.  Description  of  Problem  -  Include  a  description  of  the
         problem.  Writing down exactly what seemed to be happening on
         the system, what signals told you a problem existed, and what
         attempts  you  made  to  recover from the problem, can save a
         good deal of time in getting your answer.   If  the  Software
         Support personnel do not have this information, they may have
         to try to get in touch with you to get  it,  thereby  slowing
         down the answer process.

     5.  Device Descriptions - Include a  description  of  any  device
         involved  in the problem.  It would be wise, also, to include
         a description of any nonstandard device that you have  hooked
         to  your  system,  since these are often the cause of unusual
         problems.











                             APPENDIX F

                         EIA PIN DEFINITIONS



The following table lists the pin definitions that are part of the EIA
standards.   DTE here refers not to the DTE-20 device, but to the Data
Terminal Equipment - in other words, the terminal.  DCE refers to Data
Communications Equipment - in other words, whatever hardware interface
you are using between the terminal and the host computer.


  Pin   Name   To  To   Function                       Circuit
               DTE DCE                             (CCITT)   (EIA)

  
  1     FD              Frame Ground                 101     (AA)
  2     TD          >   Transmitted Data             103     (BA)
  3     RD      <       Received Data                104     (BB)
  4     RTS         >   Request To Send              105     (CA)
  5     CTS     <       Clear To Send                106     (CB)
  6     DSR     <       Data Set Ready               107     (CC)
  7     SG              Signal Ground                102     (AB)
  8     DCD     <       Data Carrier Detect          109     (CF)
  9             <       Positive Dc Test Volt        
  10            <       Negitive Dc Test Voltage
  11                    Unassigned
  12    SDCD    <       Sec. Data Carrier Detect     122     (SCF)
  13    SCTS    <       Sec. Clear To Send           121     (SCB)
  14    STD         >   Sec. Transmitted Data        118     (SBA)
  15    TC      <       Transmitter Clock            114     (DB)
  16    SRD     <       Sec. Received Data           119     (SBB)
  17    RC      <       Receiver Clock               115     (DD)
  18                >   Receiver Dibit Clock
  19    SRTS        >   Sec. Request To Send         120     (SCA)
  20    DTR         >   Data Terminal Ready          108.2   (CD)
  21    SQ      <       Signal Quality Detect        110     (CG)
  22    RI      <       Ring Indicator               125     (CE)
  23                >   Data Rate Select             111/112 (CH/CI)
  24    (TC)        >   External Transmitter Clock   113     (DA)
  25                >   Busy













                             INDEX


$DHINP routine, 7-14, 7-16,        ABORT PARSER command, 4-6
    7-17, 7-18, 7-19               Absolute mode, 6-32
$DHOUT routine, 7-16, 7-23,          ZAP, 6-33
    7-24, 7-25, 7-26, 7-27         Access dialog,
$DMINT routine, 7-12, 7-13,          KLINIK, D-1
    7-14                           Access parameters,
                                     KLINIK, D-1, D-2
                                     setting KLINIK, D-4, D-5,
                                       D-6
.BGBUF location, 10-6,             Access password,
    10-18                            KLINIK, D-2, D-8
                                   Access window,
                                     KLINIK, D-2, D-3
                                   Access window password,
.CRASH macro, 7-10                   KLINIK, 10-14
.CRTSK location, 7-8, 10-5,        Access window start date,
    10-11                            KLINIK, 10-14
                                   Access window start time,
                                     KLINIK, 10-14
                                   Ack line, 7-27
.DHSTO routine, 7-27               Acknowledge signal, 7-27
.DHTMO routine, 7-20, 7-21,        Active Task List, 7-7, 7-9,
    7-22, 7-23                         10-32
.DMTMO routine, 7-15, 7-16         Address,
                                     relative, 6-32
                                   Address of Executive,
                                     base, 10-11
.FREPL location, 10-6                high, 10-11
                                   Addressing modes,
                                     ZAP, 6-33
                                   Allocation map,
.POLLH location, 10-6                memory, 6-34
                                   Ancillary Control Processor
                                       6-10, 7-6
                                   Appending files, 6-13
.STDTB table, 7-7                  APR, 8-5
                                   APR break conditions, 8-6
                                   APR flags in Communications Region, 8-5
                                   Area,
0DUMP11.BIN file, E-1, 10-1          pointer to next Communications Region,
    10-4                               8-4



                            Index-1


                             INDEX (CONT.)


Area in Communications             Base address of Executive,
    Region, 8-1                        10-11
Arithmetic expressions,            Basic DTE-20 operations,
  evaluation of, 4-3                   8-1
Arithmetic operators,              Baud rate determination,
  precedence of, 4-3                 automatic, 7-19
  ZAP, 6-34, 6-37                  .BGBUF location, 10-6,
Arithmetic Processor, 8-5              10-18
Asynchronous traps, 1-3,           Big Buffer, 7-4, 10-6
    7-9                            Big Buffer,
ATL, 7-7                             free space in, 10-6
ATL entry for CD task,             Bit definitions,
    10-33                            switch register, 5-5
ATL entry for DECtape task,        Bitmap file,
    10-33                            storage, 2-4
ATL entry for DTE-20 task,         BITMAP.SYS;1 file, 2-4
    10-32                          Block,
ATL entry for FE task,               starting disk, 6-32
    10-33                            virtual, 2-2
ATL entry for floppy disk            Volume Control, 6-9
    task, 10-33                    Block file,
ATL entry for LP task,               bad, 2-4
    10-33                          Block Number,
ATL entry for null task,             Virtual, 2-2
    10-33                          Block number/byte offset
ATL entry for queued protocol          format, 6-38
    task, 10-33                    Blocks,
ATL entry for RP task,               memory size in, 10-11
    10-33                          Boot parameter,
ATL entry for terminal task          switch register, 10-13
    10-33                          Boot program,
ATL node, 7-7, 7-8                   magnetic tape, C-3
ATL node of current task,          BOOT task, C-3
    7-8, 10-5                      BOOT.EXB,
ATL scan routine, 7-9                default bootstrap program
Auto-baud Wait flag, 7-14,             5-2
    7-18, 7-23                       TOPS-20 subdirectories with, 5-2
Auto-bauded lines,                 BOOT.EXB file, 5-1, 5-7
  count of, 10-20                  Booting the KL, 8-24
Auto-bauding, 7-19                 BOOTM program, 5-38
Automatic baud rate                BOOTM task, C-3
    determination, 7-19            BOOTS task, C-3
Automatic reload flag,             Bootstrap device, 5-7
    10-13                          Bootstrap device number,
Available space,                       5-5
  listing, 6-13, 6-15              Bootstrap program, C-3
                                     KL, 5-1
                                     loading, 5-2, 5-7
                                     starting, 5-2, 5-7
BACK KLINIT command, 5-7           Bootstrap program BOOT.EXB,
Bad block file, 2-4                  default, 5-2
BADBLK.SYS;1 file, 2-4             Bootstrapping errors, 5-5


                            Index-2


                             INDEX (CONT.)


BPARER DTE-20 bit, 8-12            Causing a doorbell
BR requests, 1-4                       interrupt, 8-13
  PDP-11, 8-12                     CD task,
Branch displacement, 6-36,           ATL entry for, 10-33
    6-43                           CD-11 current event flags,
Break conditions,                      10-27
  APR, 8-6                         CD-11 data buffer, 10-27
Buffer,                            CD-11 driver,
  Big, 7-4, 10-6                     STD entry for, 10-31
  CD-11 data, 10-27                CD-11 driver data base,
  free space in Big, 10-6              10-27
Buffer pointer,                    CD-11 I/O page address,
  Send-All, 10-20                      10-27
Buffer size,                       CD-11 status bits, 10-27
  TO-10, 10-15                     CDD DTE-20 bit, 8-17
Buffer space, 10-6                 Character input routine,
Buffer's current device,               7-14, 7-16, 7-17, 7-18,
  TO-10, 10-15                         7-19
Buffer's current function,         Character output routine,
  TO-10, 10-15                         7-16, 7-23, 7-24, 7-25,
Buffer-overflow crashes,               7-26, 7-27
    10-6                           Checking queues after a
Bus,                                   crash, 10-6
  diagnostic, 8-14                 Checksum,
Bus-mode,                            file header, 2-3
  setting external core            CLEAR CLOCK PARSER command,
    memory, 5-10                       4-6
Byte offset format, 6-38,          CLEAR CONSOLE PARSER
    6-39                               command, 4-4, 4-7
Byte transfer,                     CLEAR DATE PARSER command,
  error termination of,                4-7
    8-12                           CLEAR FS-STOP PARSER
Byte transfer mode, 8-22               command, 4-7
  setting, 8-18                    CLEAR INCREMENT PARSER
                                       command, 4-7
                                   CLEAR KLINIK command, D-7
                                   CLEAR KLINIK PARSER command
Cache memory,                          4-7
  configuring, 5-1, 5-2,           CLEAR MEMORY PARSER command
    5-8, 5-38                          4-8
  enabling, 5-1, 5-2, 5-8,         CLEAR NOT PARSER command,
    5-36                               4-8
Calls,                             CLEAR OFFSET PARSER command
  hot line, E-1                        4-8
Card reader data base,             CLEAR PARITY STOP PARSER
    10-27                              command, 4-8
Carrier transition, 7-12           CLEAR RELOAD PARSER command
Carrier transition                     4-8
    interrupt, 7-14                CLEAR REPEAT PARSER command
Carrier Wait flag, 7-14,               4-8
    7-16, 7-19



                            Index-3


                             INDEX (CONT.)


CLEAR RETRY PARSER command,        CMPRO bit,
    4-8                              Communications Region, 8-6
CLEAR TRACKS PARSER command        CMPWF bit,
    4-9                              Communications Region, 8-7
Clearing diagnostic command        CMQCT word,
    start, 8-15                      Communications Region, 8-9
Clock cycle,                       CMQP bit,
  generating a, 8-15                 Communications Region, 8-8
Clock request list, 10-19          CMSIZ bit,
CM0IC bit,                           Communications Region, 8-3
  Communications Region, 8-8       CMSZ bit,
CM1IC bit,                           Communications Region, 8-6
  Communications Region, 8-8       CMTEN bit,
CMAPRW word,                         Communications Region, 8-3
  Communications Region, 8-5       CMTOT bit,
CMDAPR word,                         Communications Region, 8-8
  Communications Region, 8-6       CMTST bit,
CMDTE bit,                           Communications Region, 8-8
  Communications Region, 8-6       CMVER bit,
CMDTN bit,                           Communications Region, 8-3
  Communications Region, 8-6       CMVRR bit,
CMFWD bit,                           Communications Region, 8-6
  Communications Region, 8-8       CNUPE DTE-20 bit, 8-18
CMINI bit,                         Communications area,
  Communications Region, 8-7         owning processor's, 8-3
CMIP bit,                          Communications Region,
  Communications Region, 8-8         APR flags in, 8-5
CMKAC DTE-20 word, 9-1             Communications Region area,
CMKAC word,                          pointer to next, 8-4
  Communications Region, 8-4       Communications Region CM0IC bit, 8-8
CMKAK word,                        Communications Region CM1IC bit, 8-8
  Communications Region, 8-9       Communications Region CMAPRW word, 8-5
CML11 bit,                         Communications Region CMDAPR word, 8-6
  Communications Region, 8-7       Communications Region CMDTE bit, 8-6
CMLNK word,                        Communications Region CMDTN bit, 8-6
  Communications Region, 8-4       Communications Region CMFWD bit, 8-8
CMLRF word,                        Communications Region CMINI bit, 8-7
  Communications Region, 8-9       Communications Region CMIP bit, 8-8
CMNAM bit,                         Communications Region CMKAC word, 8-4
  Communications Region, 8-3       Communications Region CMKAK word, 8-9
CMNPR bit,                         Communications Region CML11 bit, 8-7
  Communications Region, 8-3       Communications Region CMLNK word, 8-4
CMPDWD word,                       Communications Region CMLRF word, 8-9
  Communications Region, 8-5       Communications Region CMNAM bit, 8-3
CMPGWD word,                       Communications Region CMNPR bit, 8-3
  Communications Region, 8-5       Communications Region CMPDWD word, 8-5
CMPIWD word,                       Communications Region CMPGWD word, 8-5
  Communications Region, 8-4       Communications Region CMPIWD word, 8-4
CMPNM bit,                         Communications Region CMPNM bit, 8-6
  Communications Region, 8-6       Communications Region CMPPT word, 8-7
CMPPT word,                        Communications Region CMPRO bit, 8-6
  Communications Region, 8-7       Communications Region CMPWF bit, 8-7


                            Index-4


                             INDEX (CONT.)


Communications Region CMQCT word, 8-9                                 COMTRP routine, 7-10
Communications Region CMQP bit, 8-8                                   Configuration,
Communications Region CMSIZ bit, 8-3                                    reversing memory, 5-9
Communications Region CMSZ bit, 8-6                                   Configuration file, 5-1,
Communications Region CMTEN bit, 8-3                                      5-6, 5-9
Communications Region CMTOT bit, 8-8                                  Configuration file,
Communications Region CMTST bit, 8-8                                    writing, 5-11
Communications Region CMVER bit, 8-3                                  Configuration maps,
Communications Region CMVRR bit, 8-6                                    external memory, 5-31
Communications Region CPVER bit, 8-3                                    internal memory, 5-31,
Communications Region PIDENT word, 8-3                                    5-32
Communications Region Processor Header word,                            logical memory, 5-31,
    8-3                                5-32, 5-33
Communications Region protocol version                                  physical memory, 5-31
    number, 8-3                    Configuring cache memory,
Communications Region STATUS word, 8-7                                    5-1, 5-2, 5-8, 5-38
Communications Region TOPID word, 8-6                                 Configuring external core
Communications Region version number,                                     memory, 5-10
    8-3                            Configuring internal core
Command,                               memory, 5-9
  diagnostic, 8-16                 Configuring KL memory, 5-1,
Command lines,                         5-2, 5-9
  continuing PARSER, 4-2           Configuring MOS memory,
Command start,                         5-10
  clearing diagnostic, 8-15        Configuring specified
  setting diagnostic, 8-15             memory blocks, 5-11
Commands,                          Configuring specified
  RSXFMT, B-2                          memory modules, 5-10
  RSXT10, B-2                      Console mode,
Comments,                            KLINIK, 10-14
  PARSER, 4-2                        PARSER, 4-4
Common event flags,                Console mode flag, 10-13
  global, 10-11                    Console mode of remote
Communication,                         terminal, D-3
  device, 1-3                      Constant register,
Communications area,                 ZAP, 6-36
  PDP-11 owned, 8-3                Contents of memory
Communications interface,              locations,
  DH-11, 7-23                        finding, 7-4
Communications Region, 8-1,        CONTINUE PARSER command,
    8-2, 8-3, 8-4, 8-5, 8-6            4-9
    8-7, 8-8, 8-9, 8-27,           Continuing PARSER command
    9-1                                lines, 4-2
Communications Region,             Controlling TO-10 data
  area in, 8-1                         transfers, 8-20
  initializing, 8-1                Controlling TO-11 data
  KL, 9-1                              transfers, 8-20
Communications Region              COP task, C-2
    header, 8-1                    COP utility, 6-1
Communications Region                /BL, 6-2
    section, 8-1                     /CP, 6-2
COMTRP location, 9-5                 /HE, 6-2


                            Index-5


                             INDEX (CONT.)


COP utility (Cont.)                Creation date,
  /RD, 6-2                           file, 2-3
  /VF, 6-2                         Creation time,
  /ZE, 6-2                           file, 2-3
Copying a floppy disk, 6-1         .CRTSK location, 7-8, 10-5,
Copying files, 6-12, 6-13,             10-11
    6-14                           CSR's,
Core image file, 2-4                 device, 10-40
Core manager data base,            CTY,
    10-18                            redirecting the, 5-5
Core memory,                         remote, D-2, D-8, D-10
  configuring external,            CTY line speed, 10-13
    5-10                           CTY queue, 10-35
  configuring internal, 5-9        CTY status block, 10-21
Core memory bus-mode,              Current event flags,
  setting external, 5-10             CD-11, 10-27
CORIMG.SYS;1 file, 2-4               LP-20, 10-28
Count,                             Current interrupt status,
  file revision, 2-3                   8-14
  Keep-Alive, 8-4, 8-9, 9-1        Current task,
    10-17                            ATL node of, 7-8, 10-5
  Send-All terminal, 10-20         Current task pointer, 10-11
  TO-10 delay, 8-23                Cycle,
  TO-11 delay, 8-23                  generating a clock, 8-15
  TO-11 queue entry, 10-15
Count of auto-bauded lines,
    10-20
Counter,                           D1011 DTE-20 bit, 8-15,
  doorbell, 10-16                      8-16
  hardware program, 1-4            Data,
  timeout, 10-20                     transferring string, 8-23
CPU serial number,                 Data base,
  KL, 10-38                          card reader, 10-27
CPVER bit,                           CD-11 driver, 10-27
  Communications Region, 8-3         core manager, 10-18
CR task,                             DECtape driver, 10-24
  TPD entry for, 10-34               disk driver, 10-25
CRAM error report, 5-34              FE device driver, 10-26
CRAM malfunction, 8-15               floppy disk driver, 10-23
Crash,                               Keep-Alive, 10-17
  checking queues after a,           KLINIK, 10-14
    10-6                             LP-20 driver, 10-28
Crash codes,                         queued protocol, 10-15
  RSX-20F, 9-5, A-1, 10-5            terminal driver, 10-22
.CRASH macro, 7-10, 9-5              terminal service, 10-20
Crashed system,                    Data between processors,
  examining a, 7-4                   transferring, 8-8, 8-18,
Crashes,                               8-19, 8-20, 8-21, 8-22,
  buffer-overflow, 10-6                8-25, 8-27
  recovering from front-end        Data buffer,
    10-1                             CD-11, 10-27



                            Index-6


                             INDEX (CONT.)


Data in front-end memory,          Delay count,
  depositing, 10-1                   TO-10, 8-23
  examining, 10-1                    TO-11, 8-23
Data line scanner queue,           Deleting files, 6-12, 6-13,
    10-35                              6-14
Data packets,                      DEPOSIT AR PARSER command,
  transferring indirect,               4-9
    8-8                            Deposit DTE-20 operation,
Data structure of packets,             8-12
    8-29                           Deposit operation, 8-27
Data Terminal Ready signal,          DTE-20, 8-21, 8-22
    7-12                           DEPOSIT PARSER command, 4-9
Data transfer,                     Depositing data in
  direct, 8-27                         front-end memory, 10-1
  indirect, 8-27                   Deposits across DTE-20,
  TO-10, 8-16, 8-22, 8-23            memory, 8-1, 8-8
  TO-11, 8-16, 8-22                Determining the task that
Data transfer across DTE-20            crashed, 10-5
  TO-10, 8-1                       Device,
  TO-11, 8-1                         dismounting a, 6-9
Data transfer mode,                  Files-11, 6-10
  diagnostic, 8-15, 8-16             mounting a, 6-9
  normal, 8-15                       TO-10 buffer's current,
Data transfer rate, 8-21               10-15
Data transfers, 1-4                Device communication, 1-3
  controlling TO-10, 8-20          Device CSR's, 10-40
  controlling TO-11, 8-20          Device driver data base,
Date,                                FE, 10-26
  file creation, 2-3               Device drivers, 1-5, 7-4
  file expiration, 2-3             Device drivers,
  file revision, 2-3                 interfacing, 8-25
  PDP-11, C-2                      Device number,
Date flag,                           bootstrap, 5-5
  valid, 10-12                     Device priority levels, 1-3
Date storage area, 10-12           Device Queue Pointers,
DCOMST DTE-20 bit, 8-15,               10-35
    8-16                           Device status registers,
Debugger,                              10-40
  FEDDT symbolic, 10-1,            Device tables,
    10-2, 10-3, 10-4                 LP-20, 10-29
DECtape driver,                      physical unit, 10-36
  STD entry for, 10-31             DEX DTE-20 bit, 8-15, 8-16
DECtape driver data base,          DEXDON DTE-20 bit, 8-12
    10-24                          DEXWD1-2 DTE-20 registers,
DECtape load switches, 5-4             8-22
DECtape PUD entry, 10-37           DEXWD1-3 DTE-20 registers,
DECtape switch register,               8-21
    5-4                            DFUNC DTE-20 bit, 8-15
DECtape task,                      DH-11 communications
  ATL entry for, 10-33                 interface, 7-23
  TPD entry for, 10-34             DH-11 queue, 10-35
Default radix, 4-2                 DH-11 table, 10-22


                            Index-7


                             INDEX (CONT.)


$DHINP routine, 7-14, 7-16,        Dialog reports,
    7-17, 7-18, 7-19                 KLINIT, 5-31
$DHOUT routine, 7-16, 7-23,        Differences,
    7-24, 7-25, 7-26, 7-27           RSX-20F/RSX-11M, 1-7
.DHSTO routine, 7-27               DIKL10 DTE-20 bit, 8-15
.DHTMO routine, 7-21, 7-22,        Direct data transfer, 8-27
    7-23                           Direct packets, 8-28
Diagnostic bus, 8-14               Directive service routine,
Diagnostic command, 8-16               7-4, 7-9
Diagnostic command start,          Directives, 1-4, 1-7
  clearing, 8-15                   Directives,
  setting, 8-15                      performing, 7-10
Diagnostic data transfer           Directories,
    mode, 8-15, 8-16                 listing file, 6-12
Diagnostic mode,                   Directory,
  DTE-20, 8-15                       Master File, 2-4
Diagnostic operations,               System Task, 7-6, 10-30
  DTE-20, 8-1                        Task Partition, 10-34
Diagnostic registers,                User File, 1-7, 2-1, 6-29
  DTE-20, 9-6                      Directory file,
Diagnostic selection code,           Files-11, 2-3
    8-15                             listing a, 6-13, 6-15
Diagnostic Word 1,                 Directory file entry,
  DTE-20, 8-15, 8-17                 Files-11, 2-3
Diagnostic Word 2,                 Disabling PDP-11 interrupts
  DTE-20, 8-16                         8-14
Diagnostic Word 3,                 DISCONNECT PARSER command,
  DTE-20, 8-16                         4-10, D-7
Diagnostic words,                  Disk,
  DTE-20, 8-14                       copying a floppy, 6-1
Diagnostics,                       Disk block,
  KL hardware, 1-6                   starting, 6-32
Dialog,                            Disk driver, 1-7
  entering KLINIT, 5-6               STD entry for floppy,
  exiting KLINIT, 5-40                 10-31
  file transfer, B-6               Disk driver data base,
  KLINIK access, D-1                   10-25
  KLINIK operator, D-4               floppy, 10-23
  KLINIT operator, 5-6, 5-7        Disk load switches,
    5-8, 5-9, 5-10, 5-11,            floppy, 5-3
    5-12, 5-13, 5-14, 5-15         Disk PUD entry,
  remote user KLINIK, D-8            floppy, 10-37
  restarting KLINIT, 5-6,          Disk switch register,
    5-40                             floppy, 5-3
  terminating KLINIT, 5-6          Disk task,
Dialog error messages,               ATL entry for floppy,
  KLINIT, 5-16, 5-19                   10-33
Dialog examples,                     TPD entry for floppy,
  KLINIT, 5-34, 5-35, 5-36,            10-34
    5-37, 5-38, 5-39               Dismounting a device, 6-9
Dialog mode,                       Displacement,
  KLINIT, 5-2                        branch, 6-36, 6-43


                            Index-8


                             INDEX (CONT.)


Displacement (Cont.)               Driver data base (Cont.)
  jump, 6-36, 6-43                   FE device, 10-26
DL11 queue, 10-35                    floppy disk, 10-23
DL11/C table, 10-22                  LP-20, 10-28
DL11/E table, 10-22                  terminal, 10-22
DLYCNT DTE-20 register,            Driver routine,
    8-20, 8-21, 8-23                 terminal, 7-12, 7-13,
DM-11BB modem interface,               7-14
    7-23                           Drivers,
DM11/BB table, 10-22                 device, 1-5, 7-4
$DMINT routine, 7-12, 7-13,          interfacing device, 8-25
    7-14                           Driving the DTE-20, 1-7
DMO error messages, 6-11           DS00-DS03 DTE-20 bit, 8-15
DMO task, C-2                      DS00-DS06 DTE-20 bit, 8-15
DMO utility, 6-9, 6-10             DS04 DTE-20 bit, 8-15
.DMTMO routine, 7-15, 7-16,        DS05 DTE-20 bit, 8-16
    7-20                           DS06 DTE-20 bit, 8-16
DON10C DTE-20 bit, 8-13            DSEND DTE-20 bit, 8-15
DON10S DTE-20 bit, 8-13            DTE-20,
DON11C DTE-20 bit, 8-14              driving the, 1-7
DON11S DTE-20 bit, 8-14              memory deposits across,
Done interrupt, 8-8                    8-1, 8-8
Doorbell counter, 10-16              memory examines across,
Doorbell function, 8-23                8-1, 8-8
  DTE-20, 8-1                        privileged, 9-7, 10-16
Doorbell interrupt, 8-7,             single-stepping the, 8-11
    8-8, 8-10, 8-12                    8-12
Doorbell interrupt,                  TO-10 data transfer
  causing a, 8-13                      across, 8-1
DPS4[N] DTE-20 bit, 8-17             TO-11 data transfer
DRAM error report, 5-34                across, 8-1
DRAM malfunction, 8-15             DTE-20 bit,
DRESET DTE-20 bit, 8-17              BPARER, 8-12
Driver,                              CDD, 8-17
  disk, 1-7                          CNUPE, 8-18
  DTE-20, 1-7                        D1011, 8-15, 8-16
  STD entry for CD-11,               DCOMST, 8-15, 8-16
    10-31                            DEX, 8-15, 8-16
  STD entry for DECtape,             DEXDON, 8-12
    10-31                            DFUNC, 8-15
  STD entry for DTE-20,              DIKL10, 8-15
    10-30                            DON10C, 8-13
  STD entry for FE, 10-31            DON10S, 8-13
  STD entry for floppy disk          DON11C, 8-14
    10-31                            DON11S, 8-14
  STD entry for LP, 10-31            DPS4[N], 8-17
  STD entry for terminal,            DRESET, 8-17
    10-31                            DS00-DS03, 8-15
Driver data base,                    DS00-DS06, 8-15
  CD-11, 10-27                       DS04, 8-15
  DECtape, 10-24                     DS05, 8-16
  disk, 10-25                        DS06, 8-16


                            Index-9


                             INDEX (CONT.)


DTE-20 bit (Cont.)                 DTE-20 Diagnostic Word 1,
  DSEND, 8-15                          8-15, 8-17
  DUPE, 8-17                       DTE-20 Diagnostic Word 2,
  DURE, 8-18                           8-16
  DXWRD1, 8-11                     DTE-20 Diagnostic Word 3,
  EBSEL, 8-12                          8-16
  EBUSPC, 8-14                     DTE-20 diagnostic words,
  EBUSPS, 8-14                         8-14
  EDONES, 8-16                     DTE-20 doorbell function,
  ERR10C, 8-13                         8-1
  ERR10S, 8-13                     DTE-20 driver, 1-7
  ERR11C, 8-14                       STD entry for, 10-30
  ERR11S, 8-14                     DTE-20 examine operation,
  INT10S, 8-13                         8-12, 8-21, 8-22
  INT11C, 8-13                     DTE-20 hardware operations,
  INT11S, 8-13                         8-1
  INTROF, 8-14                     DTE-20 loop-back test, 8-15
  INTRON, 8-14                     DTE-20 mode,
  INTSON, 8-12                       privileged, 8-12
  MPE11, 8-12                        restricted, 8-12
  NULSTP, 8-12                     DTE-20 operation,
  NUPE, 8-18                         deposit, 8-12
  PERCLR, 8-13                     DTE-20 operations,
  PULSE, 8-15                        basic, 8-1
  RAMIS0, 8-11                     DTE-20 protocol, 8-24
  RFAMD0, 8-16                     DTE-20 register,
  RFMAD1, 8-16                       DLYCNT, 8-20, 8-21, 8-23
  RFMAD2, 8-16                       STATUS, 8-10
  RFMAD3, 8-16                       TO10AD, 8-19, 8-23
  RM, 8-12                           TO10BC, 8-10, 8-20, 8-23
  SCD, 8-17                          TO10DT, 8-18
  SWSLLT, 8-17                       TO11AD, 8-19, 8-23
  TO10, 8-16                         TO11BC, 8-20, 8-23
  TO10BM, 8-18                       TO11DT, 8-18
  TO10DB, 8-12                     DTE-20 registers, 8-10
  TO10DN, 8-11                       DEXWD1-2, 8-22
  TO10ER, 8-11                       DEXWD1-3, 8-21
  TO11, 8-16                         examining, 10-6
  TO11DB, 8-11                       locations of, 8-10
  TO11DN, 8-12                       TENAD1-2, 8-21, 8-22
  TO11ER, 8-12                       using the, 8-22
  VEC04, 8-16                      DTE-20 status word, 8-10
  WEP, 8-18                          read state of, 8-11, 8-12
DTE-20 deposit operation,            write state of, 8-13,
    8-21, 8-22                         8-14
DTE-20 diagnostic mode,            DTE-20 task,
    8-15                             ATL entry for, 10-32
DTE-20 diagnostic                    TPD entry for, 10-34
    operations, 8-1                DTE-20 word,
DTE-20 diagnostic registers          CMKAC, 9-1
    9-6                            DTR signal, 7-12, 7-14



                           Index-10


                             INDEX (CONT.)


Dump analysis,                     Error messages (Cont.)
  sample RSX-20F, 10-7,              MOU, 6-11
    10-8, 10-9, 10-10                PARSER, 4-4, 4-23
Dump file,                           PIP, 6-19, 6-20, 6-21,
  examining locations in a,            6-22, 6-23
    10-1                             RED, 6-24
  reading a front-end, 10-1          SAV, 6-26
Dump files,                          UFD, 6-30
  producing, E-1                     ZAP, 6-43, 6-44, 6-45
Dumps,                             Error termination of byte
  interpreting RSX-20F,                transfer, 8-12
    10-4, 10-5, 10-6, 10-7,        ERROR.SYS file, C-1, C-2,
    10-8, 10-9, 10-10                  D-1, E-2
DUPE DTE-20 bit, 8-17              Errors,
DURE DTE-20 bit, 8-18                bootstrapping, 5-5
DXWRD1 DTE-20 bit, 8-11            Evaluation of arithmetic
                                       expressions, 4-3
                                   Event,
                                     significant, 1-5, 1-7
EBSEL DTE-20 bit, 8-12             Event flags,
EBUS parity error, 8-12,             CD-11 current, 10-27
    10-16                            global common, 10-11
EBUSPC DTE-20 bit, 8-14              LP-20 current, 10-28
EBUSPS DTE-20 bit, 8-14              significant, 10-11
EDONES DTE-20 bit, 8-16            EXAMINE AB PARSER command,
EIA pin definitions, F-1               4-11
Emergency Stack, 10-39             EXAMINE AD PARSER command,
EMT instruction, 7-10                  4-11
Enabling cache memory, 5-1,        EXAMINE ADX PARSER command,
    5-2, 5-8, 5-36                     4-11
Enabling PDP-11 interrupts,        EXAMINE AR PARSER command,
    8-12, 8-14                         4-11
Enabling remote lines,             EXAMINE ARX PARSER command,
    10-20                              4-12
Entering KLINIT dialog, 5-6        EXAMINE BR PARSER command,
Entering KLINIT from PARSER            4-12
    5-6                            EXAMINE BRX PARSER command,
Entry count,                           4-12
  TO-11 queue, 10-15               EXAMINE CRADDR PARSER
EPT, 8-27                              command, 4-12
ERR10C DTE-20 bit, 8-13            EXAMINE CRLOC PARSER
ERR10S DTE-20 bit, 8-13                command, 4-12
ERR11C DTE-20 bit, 8-14            EXAMINE DRADDR PARSER
ERR11S DTE-20 bit, 8-14                command, 4-12
Error codes,                       EXAMINE DTE-20 PARSER
  RSX-20F I/O, A-1, A-7                command, 4-12
Error logging,                     EXAMINE EBUS PARSER command
  KL, 9-2                              4-12
  PDP-11, 9-5                      EXAMINE FE PARSER command,
  RSX-20F, 9-2                         4-13
Error messages,                    EXAMINE FLAGS PARSER
  DMO, 6-11                            command, 4-13


                           Index-11


                             INDEX (CONT.)


EXAMINE FM PARSER command,         Exiting PARSER, 4-1
    4-13                           Expiration date,
EXAMINE KL PARSER command,           file, 2-3
    4-10                           Expressions,
EXAMINE MQ PARSER command,           evaluation of arithmetic,
    4-13                               4-3
Examine operation, 8-27            Extension,
  DTE-20, 8-12, 8-21, 8-22           file, 2-3
EXAMINE PARSER command,            Extension header,
    4-10                             linkage to, 2-3
EXAMINE PC PARSER command,         Extension headers,
    4-10                             file, 2-3
EXAMINE PI PARSER command,         External core memory,
    4-13                             configuring, 5-10
EXAMINE REGISTERS PARSER           External core memory
    command, 4-13                      bus-mode,
EXAMINE SBR PARSER command,          setting, 5-10
    4-13                           External memory
EXAMINE SECTION PARSER                 configuration maps,
    command, 4-14                      5-31
EXAMINE VMA PARSER command,        External page, 1-3, 7-4,
    4-14                               10-40, 10-41
EXAMINE VMAH PARSER command        External page address,
    4-14                             CD-11, 10-27
Examines,
  verifying memory, 8-8
Examines across DTE-20,
  memory, 8-1, 8-8                 F11ACP, 7-4
Examining a crashed system,          STD entry for, 10-31
    7-4                            F11ACP task, C-1
Examining current KLINIK             TPD entry for, 10-34
    parameters, D-6, D-7           F11TPD partition, 1-5, 7-4
Examining data in front-end        Fail bit,
    memory, 10-1                     power, 8-7
Examining DTE-20 registers,        Fast Memory parity error,
    10-6                               8-15, 9-2, 9-4
Examining front-end memory,        FCS file structure, 2-4
    10-4                           FE device driver data base,
Examining locations in a               10-26
    dump file, 10-1                FE driver,
Examining PDP-11 registers,          STD entry for, 10-31
    10-6                           FE program, B-1, B-4
Executive,                         FE program,
  base address of, 10-11             running, B-4, B-5
  high address of, 10-11           FE PUD entry, 10-37
  RSX-20F, 7-1, 7-2, 7-3,          FE task,
    7-4                              ATL entry for, 10-33
Executive partition, 1-5             TPD entry for, 10-34
Executive Process Table,           FE: device, B-4, B-5, C-2
    8-27                           FEDDT,
Executive tasks, 7-6                 writing files with, 10-1
Exiting KLINIT dialog, 5-40


                           Index-12


                             INDEX (CONT.)


FEDDT commands, 10-2, 10-3,        Files between processors,
    10-4                             transferring, B-1
FEDDT modes,                       Files-11, 1-7, 2-1
  setting, 10-3, 10-4              Files-11 device, 6-10, C-2
FEDDT output modes,                Files-11 directory file,
  setting, 10-3, 10-4                  2-3
FEDDT symbolic debugger,           Files-11 directory file
    10-1, 10-2, 10-3, 10-4             entry, 2-3
FEDDT with symbols loaded,         Files-11 file, 2-2
  saving, 10-2                     Files-11 index file, 2-4
FEUIC.TXT file, B-4                Files-11 medium, 2-1
Field service test                 Files-11 partition, 1-5
    condition, 8-15                Files-11 tasks, 1-7
File,                              Files-11 volume, 2-1, C-2
  configuration, 5-6, 5-9          Finding contents of memory
  Files-11, 2-2                        locations, 7-4
  Files-11 index, 2-4              Finding last instruction
File Control Services, 2-4             executed, 10-5
File creation date, 2-3            Fixed-length records, 2-4
File creation time, 2-3            Floppy disk,
File Directory,                      copying a, 6-1
  Master, 2-4                        zeroing a, 6-2
  User, 1-7, 2-1, 6-29             Floppy disk driver,
File expiration date, 2-3            STD entry for, 10-31
File extension, 2-3                Floppy disk driver data
File extension headers, 2-3            base, 10-23
File header, 2-3                   Floppy disk load switches,
File header checksum, 2-3              5-3
File ID, 1-7, 2-2, 2-3             Floppy disk PUD entry,
File name, 2-3                         10-37
  primary, 2-3                     Floppy disk switch register
File number, 2-2                       5-3
File ownership code, 2-3           Floppy disk task,
File protection code, 2-3            ATL entry for, 10-33
File revision count, 2-3             TPD entry for, 10-34
File revision date, 2-3            Format of KLERRO.SNP file,
File revision time, 2-3                9-6
File sequence number, 2-2          Format register,
File structure,                      ZAP, 6-36
  FCS, 2-4                         Framing error, 7-19, 7-23
File system,                       FREAD PARSER command, 4-14
  front-end, 1-7                   Free Pool, 7-4, 10-6, 10-18
File transfer dialog, B-6          Free Pool,
File type, 2-3                       free space in, 10-6
File version number, 2-2,          Free space in Big Buffer,
    2-3                                10-6
Files,                             Free space in Free Pool,
  reformatting, B-1, B-2,              10-6
    B-3                            .FREPL location, 10-6
  transferring, B-4, B-5,          Front end,
    B-6, B-7, C-2                    privileged, 8-24



                           Index-13


                             INDEX (CONT.)


Front End Status Block,            Hardware operations,
    10-10                            DTE-20, 8-1
Front-end crashes,                 Hardware options available,
  recovering from, 10-1                10-38
Front-end dump file,               Hardware program counter,
  reading a, 10-1                      1-4
Front-end file system, 1-7         Hardware stack pointer, 1-4
Front-end function, 1-6            Head,
Front-end memory,                    TO-10 queue current,
  depositing data in, 10-1             10-15
  examining, 10-4                  Header,
  examining data in, 10-1            Communications Region,
Front-end tasks, C-1                   8-1
Function,                            file, 2-3
  front-end, 1-6                     linkage to extension, 2-3
  TO-10 buffer's current,          Header area, 2-3
    10-15                          Header checksum,
Functions of queued                  file, 2-3
    protocol driver, 8-25          Header word,
FWRITE PARSER command, 4-14          Communications Region Processor, 8-3
FXCT PARSER command, 4-14          Headers,
                                     file extension, 2-3
                                   Help facility,
                                     PARSER, 4-4
GEN partition, 1-5, 1-7,           Help on RSX-20F,
    4-1, 7-4                         getting, E-1
GEN partition,                     High address of Executive,
  installing tasks in, 7-8             10-11
  TPD entry for, 10-34             Hot line calls, E-1
General partition, 1-5
General PDP-11 registers,
    1-4
Generating a clock cycle,          I/O,
    8-15                             redirecting, 6-23
Generating parity, 8-18            I/O error codes,
Getting help on RSX-20F,             RSX-20F, A-1, A-7
    E-1                            I/O page, 1-3, 7-4, 10-40,
Global common event flags,             10-41
    10-11                          I/O page address,
                                     CD-11, 10-27
                                   I/O Page dump, 10-40
                                   I/O requests, 1-5
HALT PARSER command, 4-14          ID,
Halting the KL, 8-16                 file, 1-7, 2-2, 2-3
Handling,                          Ident area, 2-3
  trap, 7-10                       Identification table,
Hardware,                            processor, 10-15
  modem handling, 7-12             Ignoring KL errors, 10-12
Hardware diagnostics,              Ignoring KL halts, 10-12
  KL, 1-6                          Image file,
Hardware interface, 8-1              core, 2-4



                           Index-14


                             INDEX (CONT.)


Index file,                        Internal memor (Cont.)
  Files-11, 2-4                        5-31, 5-32
Indexed file,                      Internal registers,
  positioning in an, 6-5             ZAP, 6-34
INDEXF.SYS;1 file, 2-4             Interpreting RSX-20F dumps,
Indirect data packets,                 10-4, 10-5, 10-6, 10-7,
  transferring, 8-8                    10-8, 10-9, 10-10
Indirect data transfer,            Interrupt,
    8-27                             doorbell, 8-7
Indirect packets, 8-28             Interrupt priorities, 1-3
Informational messages,            Interrupt status,
  KLINIT, 5-16, 5-17                 current, 8-14
INI task, C-2                      Interrupt system,
INI utility, 6-4                     Priority, 8-4
  /FULL, 6-5                       Interrupts,
  /INDX, 6-5                         disabling PDP-11, 8-14
  /INF, 6-5                          enabling PDP-11, 8-12,
Initialization,                        8-14
  KL, 1-6                            vector, 1-3
INITIALIZE PARSER command,         INTROF DTE-20 bit, 8-14
    4-15                           INTRON DTE-20 bit, 8-14
Initializing a volume, 6-4         INTSON DTE-20 bit, 8-12
Initializing Communications        IOT instruction, 9-5
    Region, 8-1                    IOTTRP location, 9-5
Input routine,                     IOTTRP routine, 7-10
  character, 7-14, 7-16,
    7-17, 7-18, 7-19
Install task,
  TPD entry for, 10-34             JSYS's,
Installation,                        TOPS-20, 1-4
  task, 6-24                       Jump displacement, 6-36,
Installing tasks in GEN                6-43
    partition, 7-8                 JUMP PARSER command, 4-15
Instruction executed,
  finding last, 10-5
Instruction set,
  PDP-11, 1-4                      Keep-Alive count, 8-4, 8-9,
INT10S DTE-20 bit, 8-13                9-1, 10-17
INT11C DTE-20 bit, 8-13            Keep-Alive data base, 10-17
INT11S DTE-20 bit, 8-13            Keep-Alive-Cease error, 9-1
Interface,                             9-2, 10-5, 10-6
  DH-11 communications,            KL,
    7-23                             booting the, 8-24
  DM-11BB modem, 7-23                halting the, 8-16
Interfacing device drivers,          loading the, 5-1
    8-25                           KL bootstrap program, 5-1
Interleaving KL memory, 5-1        KL Communications Region,
    5-2, 5-10                          9-1
Internal core memory,              KL CPU serial number, 10-38
  configuring, 5-9                 KL error logging, 9-2
Internal memory                    KL errors,
    configuration maps,              ignoring, 10-12


                           Index-15


                             INDEX (CONT.)


KL halts,                          KLINIK events, D-1
  ignoring, 10-12                  KLINIK integrity over
KL hardware diagnostics,               reboot, D-11
    1-6                            KLINIK line status flag,
KL initialization, 1-6                 10-14
KL memory,                         KLINIK link, 4-7
  configuring, 5-1, 5-2,             terminating, D-7
    5-9                            KLINIK operator dialog, D-4
  interleaving, 5-1, 5-2,          KLINIK parameters,
    5-10                             examining current, D-6,
KL microcode,                          D-7
  loading, 5-1, 5-2, 5-7           KLINIK terminal,
  verifying, 5-2, 5-7, 5-39          remote, D-2
KL state flag, 10-13               KLINIT, 5-1
KL status,                           loading, 5-6
  sampling, 8-15                     starting, 5-6
KL.CFG file, 5-1, 5-8, 5-9,        KLINIT command,
    5-11, 5-27, 5-31                 BACK, 5-7
KL/PDP-11 interface, 8-1           KLINIT dialog,
KLA.MCB file, 5-1                    entering, 5-6
KLDISC task, C-2                     exiting, 5-40
KLE task, C-1                        restarting, 5-6, 5-40
KLERR,                               terminating, 5-6
  running, 9-1, 9-2                KLINIT dialog error
KLERR functions, 9-2                   messages, 5-16, 5-19
KLERR messages, 9-7                KLINIT dialog examples,
KLERR task, 9-1                        5-34, 5-35, 5-36, 5-37,
KLERRO.SNP file, 9-2, 9-6,             5-38, 5-39
    9-10, C-1                      KLINIT dialog mode, 5-2
KLERRO.SNP file,                   KLINIT dialog reports, 5-31
  format of, 9-6                   KLINIT from PARSER,
KLI task, C-1                        entering, 5-6
KLINIK, C-2                        KLINIT informational
KLINIK access dialog, D-1              messages, 5-16, 5-17
KLINIK access parameters,          KLINIT messages, 5-16
    D-1, D-2                       KLINIT operator dialog, 5-6
KLINIK access parameters,              5-7, 5-8, 5-9, 5-10,
  setting, D-4, D-5, D-6               5-11, 5-12, 5-13, 5-14,
KLINIK access password, D-2            5-15
    D-8                            KLINIT system error
KLINIK access window, D-2,             messages, 5-16, 5-20,
    D-3                                5-21, 5-22, 5-23, 5-24,
KLINIK access window                   5-25, 5-26, 5-27, 5-28,
    password, 10-14                    5-29, 5-30, 5-31
KLINIK access window start         KLINIT tracking capability,
    date, 10-14                        5-7
KLINIK access window start         KLINIT warning messages,
    time, 10-14                        5-16, 5-17, 5-18, 5-19
KLINIK console mode, 10-14         KLRING task, C-2
KLINIK data base, 10-14            KLX.MCB file, 5-1
KLINIK dialog,                     KLXFER,
  remote user, D-8                   running, 9-10


                           Index-16


                             INDEX (CONT.)


KLXFER task, 9-6, 9-10, C-1        LP driver,
Known files, 2-4                     STD entry for, 10-31
                                   LP PUD entry, 10-37
                                   LP task,
                                     ATL entry for, 10-33
Last instruction executed,           TPD entry for, 10-34
  finding, 10-5                    LP-20 current event flags,
Line speed,                            10-28
  CTY, 10-13                       LP-20 device tables, 10-29
Line speed table, C-2              LP-20 driver data base,
Line status flag,                      10-28
  KLINIK, 10-14                    LP-20 status block, 10-28
Linkage to extension header        LPT thread lists, 7-4
    2-3                            LPTBL location, 10-29
Listing a directory file,          LUN, 2-1
    6-13, 6-15
Listing available space,
    6-13, 6-15
Listing file directories,          Magnetic tape boot program,
    6-12                               C-3
Load switches,                     Maintenance mode, 4-4
  DECtape, 5-4                     Manager data base,
  floppy disk, 5-3                   core, 10-18
Loading a specified file,          Map area, 2-3
    5-11                           Map file,
Loading bootstrap program,           memory, 1-6
    5-2, 5-7                       Mapped system, 1-5
Loading KL microcode, 5-1,         Maps,
    5-2, 5-7                         external memory
Loading KLINIT, 5-6                    configuration, 5-31
Loading monitor from                 internal memory
    subdirectories, 5-2                configuration, 5-31,
Loading RSX-20F, 5-6                   5-32
Loading the KL, 5-1                  logical memory
Loading the system, 5-6                configuration, 5-31,
Locations in a dump file,              5-32, 5-33
  examining, 10-1                    physical memory
Locations of DTE-20                    configuration, 5-31
    registers, 8-10                Master File Directory, 2-4
Logging,                           MB20 memory,
  KL error, 9-2                      reconfiguring, 5-36
  PDP-11 error, 9-5                MCR PARSER command, 4-15
  RSX-20F error, 9-2               Medium,
Logical memory                       Files-11, 2-1
    configuration maps,            Memory,
    5-31, 5-32, 5-33                 configuring cache, 5-1,
Logical Unit Number, 2-1,              5-2, 5-8, 5-38
    6-9                              configuring external core
Logical Unit Tables, 10-36             5-10
Loop-back test,                      configuring internal core
  DTE-20, 8-15                         5-9



                           Index-17


                             INDEX (CONT.)


Memory (Cont.)                     Merging files, 6-13, 6-18
  configuring KL, 5-1, 5-2,        MF11LP memory parity option
    5-9                                8-12
  configuring MOS, 5-10            MF11UP memory parity option
  depositing data in                   8-12
    front-end, 10-1                MFD, 2-4
  enabling cache, 5-1, 5-2,        Microcode,
    5-8, 5-36                        loading KL, 5-1, 5-2, 5-7
  examining data in                  verifying KL, 5-2, 5-7,
    front-end, 10-1                    5-39
  examining front-end, 10-4        Microcode file, 5-1
  interleaving KL, 5-1, 5-2        Microcode verification
    5-10                               error reports, 5-33
  reconfiguring MB20, 5-36         MIDNIT task, C-2
Memory addresses,                  Mode,
  virtual, 1-5                       maintenance, 4-4
Memory allocation map, 6-34          operator, 4-4
Memory blocks,                       PARSER console, 4-4
  configuring specified,             privileged DTE-20, 8-12
    5-11                             programmer, 4-4
Memory bus-mode,                     restricted DTE-20, 8-12
  setting external core,             user, 4-4
    5-10                           Modem handling, 7-11
Memory configuration,              Modem handling concepts,
  reversing, 5-9                       7-11
Memory configuration maps,         Modem handling hardware,
  external, 5-31                       7-12
  internal, 5-31, 5-32             Modem handling routine,
  logical, 5-31, 5-32, 5-33            7-12, 7-13, 7-14
  physical, 5-31                   Modem interface,
Memory deposits across               DM-11BB, 7-23
    DTE-20, 8-1, 8-8               Modem strapping options,
Memory examines,                       7-11
  verifying, 8-8                   Modem timeout routine, 7-14
Memory examines across                 7-15, 7-16
    DTE-20, 8-1, 8-8               Monitor,
Memory layout,                       TOPS-10 default, 5-1
  RSX-20F, 7-5                       TOPS-20 default, 5-1
Memory locations,                  Monitor from subdirectories
  finding contents of, 7-4           loading, 5-2
Memory map file, 1-6               MOS memory,
Memory modules,                      configuring, 5-10
  configuring specified,           MOU error messages, 6-11
    5-10                           MOU task, C-1
Memory parity error,               MOU utility, 6-9, 6-10
  Fast, 8-15, 9-2, 9-4             Mounting a device, 6-9
  PDP-11, 8-11, 8-12, 8-13         MPE11 DTE-20 bit, 8-12
Memory parity option,              MTBOOT task, C-3
  MF11LP, 8-12                     MTBOOT.EXB file, 5-38
  MF11UP, 8-12
Memory size in blocks,
    10-11


                           Index-18


                             INDEX (CONT.)


Name,                              Owned communications area,
  file, 2-3                          PDP-11, 8-3
  owning processor's, 8-3          Ownership code,
  primary file, 2-3                  file, 2-3
Node Pool, 10-6                    Owning processor, 8-3
Nonprivileged tasks, 1-6           Owning processor's communications
Nonresident tasks, 1-6                 area, 8-3
Nonstandard devices, E-2           Owning processor's name,
Normal data transfer mode,             8-3
    8-15                           Owning processor's serial
NPR requests, 1-4                      number, 8-3
NPR UNIBUS parity error,
    8-11
Null task, 7-9
  ATL entry for, 10-33             Packet address, 10-21,
NULSTP DTE-20 bit, 8-12                10-23
Number,                            Packet size, 10-21
  processor, 10-15                 Packets,
NUPE DTE-20 bit, 8-18                data structure of, 8-29
                                     direct, 8-28
                                     indirect, 8-28
                                     transferring indirect
Obsolete files,                        data, 8-8
  purging, 6-13, 6-18              Page,
Offset, 4-3                          external, 1-3, 7-4, 10-40
  relative, 6-33                       10-41
Operation,                           I/O, 1-3, 10-40, 10-41
  deposit, 8-27                    Pager process status, 8-5
  deposit DTE-20, 8-12             Pager system status, 8-5
  DTE-20 deposit, 8-21,            Parity,
    8-22                             generating, 8-18
  DTE-20 examine, 8-12,            Parity error,
    8-21, 8-22                       EBUS, 8-12, 10-16
  examine, 8-27                      Fast Memory, 8-15, 9-2,
Operator dialog,                       9-4
  KLINIK, D-4                        NPR UNIBUS, 8-11
  KLINIT, 5-6, 5-7, 5-8,             PDP-11 memory, 8-11, 8-12
    5-9, 5-10, 5-11, 5-12,             8-13
    5-13, 5-14, 5-15                 UNIBUS, 8-17
Operator mode, 4-4                 Parity flip-flop,
Operators,                           UNIBUS, 8-18
  precedence of arithmetic,        Parity network,
    4-3                              testing, 8-18
Output modes,                      Parity option,
  setting FEDDT, 10-3, 10-4          MF11LP memory, 8-12
Output routine,                      MF11UP memory, 8-12
  character, 7-16, 7-23,           Parity registers save area,
    7-24, 7-25, 7-26, 7-27             10-11
Overlays, 1-5                      PARSER, 4-1
  RSX-20F, 7-1                       entering KLINIT from, 5-6
Owned area, 8-1                      exiting, 4-1



                           Index-19


                             INDEX (CONT.)


PARSER (Cont.)                     PARSER command (Cont.)
  starting, 4-1                      JUMP, 4-15
PARSER command,                      MCR, 4-15
  ABORT, 4-6                         QUIT, 4-15
  CLEAR CLOCK, 4-6                   REPEAT, 4-15
  CLEAR CONSOLE, 4-4, 4-7            RESET, 4-16
  CLEAR DATE, 4-7                    RESET ALL, 4-16
  CLEAR FS-STOP, 4-7                 RESET APR, 4-16
  CLEAR INCREMENT, 4-7               RESET DTE-20, 4-16
  CLEAR KLINIK, 4-7                  RESET ERROR, 4-16
  CLEAR MEMORY, 4-8                  RESET I/O, 4-17
  CLEAR NOT, 4-8                     RESET INITIALIZE, 4-16
  CLEAR OFFSET, 4-8                  RESET PAG, 4-17
  CLEAR PARITY STOP, 4-8             RESET PI, 4-17
  CLEAR RELOAD, 4-8                  RUN, 4-17
  CLEAR REPEAT, 4-8                  SET CLOCK, 4-17, 4-18
  CLEAR RETRY, 4-8                   SET CONSOLE, 4-4, 4-18
  CLEAR TRACKS, 4-9                  SET DATE, 4-18
  CONTINUE, 4-9                      SET FS-STOP, 4-19
  DEPOSIT, 4-9                       SET INCREMENT, 4-19
  DEPOSIT AR, 4-9                    SET KLINIK, 4-19
  DISCONNECT, 4-10, D-7              SET MEMORY, 4-19
  EXAMINE, 4-10                      SET NOT, 4-19
  EXAMINE AB, 4-11                   SET OFFSET, 4-20
  EXAMINE AD, 4-11                   SET PARITY-STOP, 4-20
  EXAMINE ADX, 4-11                  SET RELOAD, 4-20
  EXAMINE AR, 4-11                   SET REPEAT, 4-20
  EXAMINE ARX, 4-12                  SET RETRY, 4-20
  EXAMINE BR, 4-12                   SET TRACKS, 4-21
  EXAMINE BRX, 4-12                  SHUTDOWN, 4-21
  EXAMINE CRADDR, 4-12               START MICROCODE, 4-21
  EXAMINE CRLOC, 4-12                START TEN, 4-21
  EXAMINE DRADDR, 4-12               WHAT CLOCK, 4-21
  EXAMINE DTE-20, 4-12               WHAT CONSOLE, 4-4, 4-21
  EXAMINE EBUS, 4-12                 WHAT DATE, 4-21
  EXAMINE FE, 4-13                   WHAT INCREMENT, 4-22
  EXAMINE FLAGS, 4-13                WHAT KLINIK, 4-22
  EXAMINE FM, 4-13                   WHAT MEMORY, 4-22
  EXAMINE KL, 4-10                   WHAT OFFSET, 4-22
  EXAMINE MQ, 4-13                   WHAT PARITY-STOP, 4-22
  EXAMINE PC, 4-10                   WHAT RELOAD, 4-22
  EXAMINE PI, 4-13                   WHAT REPEAT, 4-23
  EXAMINE REGISTERS, 4-13            WHAT RETRY, 4-23
  EXAMINE SBR, 4-13                  WHAT TRACKS, 4-23
  EXAMINE SECTION, 4-14              WHAT VERSION, 4-23
  EXAMINE VMA, 4-14                  XCT, 4-23
  EXAMINE VMAH, 4-14                 ZERO, 4-23
  FREAD, 4-14                      PARSER command lines,
  FWRITE, 4-14                       continuing, 4-2
  FXCT, 4-14                       PARSER commands, 4-2, 4-6
  HALT, 4-14                       PARSER comments, 4-2
  INITIALIZE, 4-15                 PARSER console mode, 4-4


                           Index-20


                             INDEX (CONT.)


PARSER error messages, 4-4,        PIP switches, 6-13
    4-23                           PIP task, C-1
PARSER help facility, 4-4          PIP utility, 6-12
PARSER prompts, 4-1                  /FR, 6-15
PARSER task, C-1                     /AP, 6-13
Partition,                           /DE, 6-14
  Executive, 1-5                     /LI, 6-15
  F11TPD, 7-4                        /ME, 6-18
  GEN, 1-5, 7-4                      /PU, 6-18
  installing tasks in GEN,           /RE, 6-19
    7-8                            Pointer to next Communications Region
Partition Directory,                   area, 8-4
  Task, 10-34                      .POLLH location, 10-6
Password,                          Pool,
  KLINIK access window,              Free, 7-4, 10-6, 10-18
    10-14                            free space in Free, 10-6
Patching a task image, 6-30          Node, 10-6
PDP-11 BR requests, 8-12           Positioning in an indexed
PDP-11 date, C-2                       file, 6-5
PDP-11 error logging, 9-5          Power fail bit, 8-7
PDP-11 features, 1-2               Power fail recovery flag,
PDP-11 instruction set, 1-4            10-11
PDP-11 interrupts,                 Power fail trap, 7-10
  disabling, 8-14                  Power-fail restart, 7-22
  enabling, 8-12, 8-14             Processor Header word,
PDP-11 memory parity error,          Communications Region, 8-3
    8-11, 8-12, 8-13               Precedence of arithmetic
PDP-11 owned communications            operators, 4-3
    area, 8-3                      Primary file name, 2-3
PDP-11 registers,                  Primary protocol, 7-19,
  examining, 10-6                      8-24
  general, 1-4                     Primary protocol,
PDP-11 stacks, 1-4                   switching to, 8-24
PDP-11 time, C-2                   Primary Protocol functions,
PERCLR DTE-20 bit, 8-13                10-1
Performing directives, 7-10        Priorities,
Peripheral Interchange               interrupt, 1-3
    Program, 6-12                  Priority Interrupt system,
Phone ring interrupt, 7-14             8-4
Physical memory                    Priority levels,
    configuration maps,              device, 1-3
    5-31                           Privileged DTE-20, 9-7,
Physical unit device tables            10-16
    10-36                          Privileged DTE-20 mode,
PIDENT word,                           8-12
  Communications Region, 8-3       Privileged front end, 8-24
Pin definitions,                   Privileged tasks, 1-6
  EIA, F-1                         Process status,
PIP, B-1                             Pager, 8-5
PIP error messages, 6-19,          Processor,
    6-20, 6-21, 6-22, 6-23           Arithmetic, 8-5
PIP subswitches, 6-13                owning, 8-3


                           Index-21


                             INDEX (CONT.)


Processor identification           Protocol version number,
    table, 10-15                       8-6
Processor number, 8-6,               Communications Region, 8-3
    10-15                          PARSER command,
Processor number,                    SET CLOCK NORMAL, 4-17
  protocol, 8-1                    Protocol task,
Processor reload word, 8-9           ATL entry for queued,
Processor Status save area,            10-33
    10-12                            TPD entry for queued,
Processor's communications area,       10-34
  owning, 8-3                      PUD entry,
Processor's name,                    DECtape, 10-37
  owning, 8-3                        FE, 10-37
Processor's serial number,           floppy disk, 10-37
  owning, 8-3                        LP, 10-37
Processors,                          RP, 10-37
  transferring data between          system, 10-37
    8-8, 8-18, 8-19, 8-20,           terminal, 10-36
    8-21, 8-22, 8-25, 8-27         PUD tables, 10-36
  transferring files               PULSE DTE-20 bit, 8-15
    between, B-1                   Purging obsolete files,
Producing dump files, E-1              6-13, 6-18
Program counter,
  hardware, 1-4
Programmer mode, 4-4
Prompts,                           Quantity register,
  PARSER, 4-1                        ZAP, 6-37
Protection code,                   Queue,
  file, 2-3                          CTY, 10-35
Protocol,                            data line scanner, 10-35
  DTE-20, 8-24                       DH-11, 10-35
  primary, 7-19, 8-24                DL11, 10-35
  queued, 8-8, 8-24                  TO-10, 8-29, 10-16
  secondary, 7-19, 8-24              TO-11, 8-29, 10-16
  STD entry for queued,            Queue current head,
    10-31                            TO-10, 10-15
  switching to primary,            Queue entry count,
    8-24                             TO-11, 10-15
Protocol data base,                Queue pointer,
  queued, 10-15                      TO-10, 10-6
Protocol driver,                     TO-11, 10-6
  functions of queued, 8-25        Queue Pointers,
  queued, 8-25                       Device, 10-35
Protocol functions,                Queued protocol, 8-8, 8-24
  Primary, 10-1                    Queued protocol,
Protocol pause, 7-19                 STD entry for, 10-31
Protocol pause flag, 10-16         Queued protocol data base,
Protocol processor number,             10-15
    8-1                            Queued protocol driver,
Protocol task,                         8-25
  queued, 1-7                        functions of, 8-25



                           Index-22


                             INDEX (CONT.)


Queued protocol task, 1-7          Reload bit, 8-7
Queued protocol task,              Reload flag,
  ATL entry for, 10-33               automatic, 10-13
  TPD entry for, 10-34             Reload word,
Queues after a crash,                processor, 8-9
  checking, 10-6                   Relocation bias, 6-32, 6-39
QUIT PARSER command, 4-15          Relocation factor, 4-3
                                   Relocation register, 6-39
                                     ZAP, 6-33, 6-36
                                   Remote CTY, D-2, D-8, D-10
Radix,                             Remote KLINIK terminal, D-2
  default, 4-2                     Remote lines,
RAMIS0 DTE-20 bit, 8-11              enabling, 10-20
Rate,                              Remote terminal,
  data transfer, 8-21                console mode of, D-3
Read state of DTE-20 status        Remote user KLINIK dialog,
    word, 8-11, 8-12                   D-8
Read-only mode, 6-32               Remote user terminal, D-10
  ZAP, 6-32                        Renaming files, 6-12, 6-13,
Reading a front-end dump               6-19
    file, 10-1                     REPEAT PARSER command, 4-15
Reading RSX-20F symbol             Request list,
    files, 10-4                      clock, 10-19
Reboot,                            Request To Send signal,
  KLINIK integrity over,               7-12
    D-11                           RESET ALL PARSER command,
Receiver error,                        4-16
  UNIBUS, 8-18                     RESET APR PARSER command,
Reconfiguring MB20 memory,             4-16
    5-36                           RESET DTE-20 PARSER command
Records,                               4-16
  fixed-length, 2-4                RESET ERROR PARSER command,
  variable-length, 2-4                 4-16
Recovering from front-end          RESET I/O PARSER command,
    crashes, 10-1                      4-17
Recovery flag,                     RESET INITIALIZE PARSER
  power fail, 10-11                    command, 4-16
RED error messages, 6-24           RESET PAG PARSER command,
RED task, C-2                          4-17
RED utility, 6-23                  RESET PARSER command, 4-16
Redirecting I/O, 6-23              RESET PI PARSER command,
Redirecting the CTY, 5-5               4-17
Reformatting files, B-1,           Resident tasks, 1-6
    B-2, B-3                       Restart,
Registers,                           power-fail, 7-22
  examining DTE-20, 10-6           Restarting KLINIT dialog,
  examining PDP-11, 10-6               5-6, 5-40
  general PDP-11, 1-4              Restricted DTE-20 mode,
  using the DTE-20, 8-22               8-12
Relative address, 6-32             Retry flag, 9-1, 10-17
Relative offset, 6-33              Reversing memory
Relative volume number, 2-2            configuration, 5-9


                           Index-23


                             INDEX (CONT.)


Revision count,                    RSX-20F version number,
  file, 2-3                            10-11
Revision date,                     RSX-20F/RSX-11M differences
  file, 2-3                            1-7
Revision time,                     RSXFMT, B-1
  file, 2-3                        RSXFMT commands, B-2
RFAMD0 DTE-20 bit, 8-16            RSXT10, B-1
RFMAD1 DTE-20 bit, 8-16            RSXT10 commands, B-2
RFMAD2 DTE-20 bit, 8-16            RTS signal, 7-12, 7-14
RFMAD3 DTE-20 bit, 8-16            RUN PARSER command, 4-17
Ring In Progress flag, 7-14        Running FE program, B-4,
    7-16                               B-5
Ring interrupt,                    Running KLERR, 9-1, 9-2
  phone, 7-14                      Running KLXFER, 9-10
RIP flag, 7-14
RM DTE-20 bit, 8-12
RP PUD entry, 10-37
RP task,                           Sample RSX-20F dump
  ATL entry for, 10-33                 analysis, 10-7, 10-8,
  TPD entry for, 10-34                 10-9, 10-10
RSX-11D, 1-1                       Sampling KL status, 8-15
RSX-11M, 1-1, 1-4, 1-6             SAV error messages, 6-26
RSX-11M utility programs,          SAV task, C-2
    1-7                            SAV utility, 6-24
RSX-20F,                             /DM, 6-25
  getting help on, E-1               /EX, 6-26
  loading, 5-6                       /MO, 6-26
  starting, 5-6                      /RH, 6-26
RSX-20F crash codes, 9-5,            /WB, 6-26
    A-1, 10-5                        /WS, 6-26
RSX-20F dump analysis,             Saving a task image, 6-24
  sample, 10-7, 10-8, 10-9,        Saving FEDDT with symbols
    10-10                              loaded, 10-2
RSX-20F dumps,                     Scan routine,
  interpreting, 10-4, 10-5,          ATL, 7-9
    10-6, 10-7, 10-8, 10-9,        Scanner queue,
    10-10                            data line, 10-35
RSX-20F error logging, 9-2         Scatter writes, 8-22, 8-23,
RSX-20F Executive, 7-1, 7-2            8-28
    7-3, 7-4                       SCD DTE-20 bit, 8-17
RSX-20F I/O error codes,           Scheduler,
    A-1, A-7                         RSX-20F, 7-4
RSX-20F memory layout, 7-5         Scheduling,
RSX-20F overlays, 7-1                RSX-20F, 7-6
RSX-20F scheduler, 7-4               task, 1-5, 7-9
RSX-20F scheduling, 7-6            Secondary protocol, 7-19,
RSX-20F SPR's, E-1                     8-24
RSX-20F stop codes, 9-5,           Section,
    A-1, 10-5                        Communications Region,
RSX-20F symbol files,                  8-1
  reading, 10-4                    Selection code,
RSX-20F tasks, 7-6, C-1              diagnostic, 8-15


                           Index-24


                             INDEX (CONT.)


Send-All buffer pointer,           Setting FEDDT output modes,
    10-20                              10-3, 10-4
Send-All terminal count,           Setting KLINIK access
    10-20                              parameters, D-4, D-5,
Send-Alls, 7-27                        D-6
Sequence number,                   Setting word transfer mode,
  file, 2-2                            8-18
Serial number,                     SHUTDOWN PARSER command,
  KL CPU, 10-38                        4-21
  owning processor's, 8-3          Signal,
Service routine,                     acknowledge, 7-27
  terminal, 7-14                     Data Terminal Ready, 7-12
SET CLOCK NORMAL PARSER              DTR, 7-12, 7-14
    command, 4-17                    Request To Send, 7-12
SET CLOCK PARSER command,            RTS, 7-12, 7-14
    4-17, 4-18                     Significant event, 1-5, 1-7
SET CONSOLE PARSER command,        Significant event flags,
    4-4, 4-18                          10-11
SET DATE PARSER command,           Single-stepping the DTE-20,
    4-18                               8-11, 8-12
SET FS-STOP PARSER command,        Size,
    4-19                             TO-10 buffer, 10-15
SET INCREMENT PARSER               Snapshot file, C-1
    command, 4-19                  SNDLP location, 10-20
SET KLINIK command, D-4            Space,
SET KLINIK PARSER command,           buffer, 10-6
    4-19                           Space in Big Buffer,
SET MEMORY PARSER command,           free, 10-6
    4-19                           Space in Free Pool,
SET NOT PARSER command,              free, 10-6
    4-19                           Speed table,
SET OFFSET PARSER command,           line, C-2
    4-20                           SPR's,
SET PARITY-STOP PARSER               RSX-20F, E-1
    command, 4-20                  SPSAV location, 10-5, 10-11
SET RELOAD PARSER command,         Stack pointer,
    4-20                             hardware, 1-4
SET REPEAT PARSER command,         Stack pointer save area,
    4-20                               10-11
SET RETRY PARSER command,          Stacks,
    4-20                             PDP-11, 1-4
SET TRACKS PARSER command,         Start date,
    4-21                             KLINIK access window,
SETSPD task, C-2                       10-14
Setting byte transfer mode,        START MICROCODE PARSER
    8-18                               command, 4-21
Setting diagnostic command         START TEN PARSER command,
    start, 8-15                        4-21
Setting external core              Start time,
    memory bus-mode, 5-10            KLINIK access window,
Setting FEDDT modes, 10-3,             10-14
    10-4


                           Index-25


                             INDEX (CONT.)


Starting bootstrap program,        STD node, 7-6, 7-7
    5-2, 5-7                       STD table, 10-30
Starting disk block, 6-32          .STDTB table, 7-7
Starting KLINIT, 5-6               STNXT routine, 7-27
Starting PARSER, 4-1               Stop codes,
Starting RSX-20F, 5-6                RSX-20F, 9-5, A-1, 10-5
Startup time,                      Storage bitmap file, 2-4
  system, 7-22                     Strapping options,
State flag,                          modem, 7-11
  KL, 10-13                        String data,
Status,                              transferring, 8-23
  Pager process, 8-5               Structure of packets,
  Pager system, 8-5                  data, 8-29
  sampling KL, 8-15                STTYDN routine, 7-27
Status bits,                       Subdirectories,
  CD-11, 10-27                       loading monitor from, 5-2
Status block,                      Switch register,
  CTY, 10-21                         DECtape, 5-4
Status Block,                        floppy disk, 5-3
  Front End, 10-10                 Switch register bit
Status block,                          definitions, 5-5
  LP-20, 10-28                     Switch register boot
STATUS DTE-20 register,                parameter, 10-13
    8-10                           Switching to primary
Status registers,                      protocol, 8-24
  device, 10-40                    SWSLLT DTE-20 bit, 8-17
STATUS word,                       Symbol files,
  Communications Region, 8-7         reading RSX-20F, 10-4
Status word,                       Symbolic debugger,
  DTE-20, 8-10                       FEDDT, 10-1, 10-2, 10-3,
  read state of DTE-20,                10-4
    8-11, 8-12                     Symbols loaded,
  write state of DTE-20,             saving FEDDT with, 10-2
    8-13, 8-14                     Synchronous traps, 1-3, 7-9
STD, 7-6                           SYSERR program, 7-23, D-1,
STD entry for CD-11 driver,            E-2
    10-31                          System,
STD entry for DECtape                front-end file, 1-7
    driver, 10-31                    loading the, 5-1, 5-6
STD entry for DTE-20 driver          mapped, 1-5
    10-30                            unmapped, 1-5
STD entry for F11ACP, 10-31        System error messages,
STD entry for FE driver,             KLINIT, 5-16, 5-20, 5-21,
    10-31                              5-22, 5-23, 5-24, 5-25,
STD entry for floppy disk              5-26, 5-27, 5-28, 5-29,
    driver, 10-31                      5-30, 5-31
STD entry for LP driver,           System PUD entry, 10-37
    10-31                          System startup time, 7-22
STD entry for queued               System Task Directory, 7-6,
    protocol, 10-31                    10-30
STD entry for terminal             System traps, 7-9
    driver, 10-31


                           Index-26


                             INDEX (CONT.)


T20ACP task, C-2                   TENAD1-2 DTE-20 registers,
Tape boot program,                     8-21, 8-22
  magnetic, C-3                    Terminal,
Task,                                remote KLINIK, D-2
  ATL node of current, 7-8,        Terminal count,
    10-5                             Send-All, 10-20
  COP, C-2                         Terminal driver,
  F11ACP, C-1                        STD entry for, 10-31
  INI, C-2                         Terminal driver data base,
  KLE, C-1                             10-22
  KLERR, 9-1                       Terminal driver routine,
  KLI, C-1                             7-12, 7-13, 7-14
  KLXFER, 9-10, C-1                Terminal PUD entry, 10-36
  MOU, C-1                         Terminal service data base,
  null, 7-9                            10-20
  PARSER, C-1                      Terminal service routine,
  PIP, C-1                             7-14
  queued protocol, 1-7             Terminal service routines,
  RED, C-2                             7-11
  T20ACP, C-2                      Terminal task,
  TKTN, 9-1, C-1                     ATL entry for, 10-33
  UFD, C-2                           TPD entry for, 10-34
Task Builder, 1-6                  Terminal timeout routine,
Task Directory,                        7-20, 7-21, 7-22, 7-23
  System, 7-6, 10-30               Terminating KLINIK link,
Task image,                            D-7
  patching a, 6-30                 Terminating KLINIT dialog,
  saving a, 6-24                       5-6
Task image file, 1-6               Termination of byte
Task image mode, 6-32                  transfer,
  ZAP, 6-33                          error, 8-12
Task information, 7-4              Test condition,
Task installation, 6-24              field service, 8-15
Task List,                         Testing parity network,
  Active, 7-7, 7-9, 10-32              8-18
Task Partition Directory,          Thread lists,
    10-34                            LPT, 7-4
Task pointer,                        TTY, 7-4
  current, 10-11                   Time,
Task scheduling, 1-5, 7-9            file creation, 2-3
Task that crashed,                   file revision, 2-3
  determining the, 10-5              PDP-11, C-2
Tasks, 1-5                         Timeout counter, 10-20
  Executive, 7-6                   Timeout routine,
  Files-11, 1-7                      modem, 7-14, 7-15, 7-16
  nonprivileged, 1-6                 terminal, 7-20, 7-21,
  nonresident, 1-6                     7-22, 7-23
  privileged, 1-6                  TKTN task, 9-1, C-1, 10-12
  resident, 1-6                    TO-10 buffer size, 10-15
  RSX-20F, 7-6, C-1                TO-10 buffer's current
Tasks in GEN partition,                device, 10-15
  installing, 7-8


                           Index-27


                             INDEX (CONT.)


TO-10 buffer's current             TOPS-20 JSYS's, 1-4
    function, 10-15                TOPS-20 subdirectories with
TO-10 data transfer, 8-16,             BOOT.EXB, 5-2
    8-22, 8-23                     TPD entry for CR task,
TO-10 data transfer across             10-34
    DTE-20, 8-1                    TPD entry for DECtape task,
TO-10 data transfers,                  10-34
  controlling, 8-20                TPD entry for DTE-20 task,
TO-10 delay count, 8-23                10-34
TO-10 queue, 8-29, 10-16           TPD entry for F11ACP task,
TO-10 queue current head,              10-34
    10-15                          TPD entry for FE task,
TO-10 queue pointer, 10-6              10-34
TO-11 data transfer, 8-16,         TPD entry for floppy disk
    8-22                               task, 10-34
TO-11 data transfer across         TPD entry for GEN partition
    DTE-20, 8-1                        10-34
TO-11 data transfers,              TPD entry for install task,
  controlling, 8-20                    10-34
TO-11 delay count, 8-23            TPD entry for LP task,
TO-11 queue, 8-29, 10-16               10-34
TO-11 queue entry count,           TPD entry for queued protocol
    10-15                              task, 10-34
TO-11 queue pointer, 10-6          TPD entry for RP task,
TO10 DTE-20 bit, 8-16                  10-34
TO10AD DTE-20 register,            TPD entry for terminal task
    8-19, 8-23                         10-34
TO10BC DTE-20 register,            Tracking capability,
    8-10, 8-20, 8-23                 KLINIT, 5-7
TO10BM DTE-20 bit, 8-18            Transfer,
TO10DB DTE-20 bit, 8-12              direct data, 8-27
TO10DN DTE-20 bit, 8-11              error termination of byte
TO10DT DTE-20 register,                8-12
    8-18                             indirect data, 8-27
TO10ER DTE-20 bit, 8-11              TO-10 data, 8-16, 8-22,
TO11 DTE-20 bit, 8-16                  8-23
TO11AD DTE-20 register,              TO-11 data, 8-16, 8-22
    8-19, 8-23                     Transfer across DTE-20,
TO11BC DTE-20 register,              TO-10 data, 8-1
    8-20, 8-23                       TO-11 data, 8-1
TO11DB DTE-20 bit, 8-11            Transfer dialog,
TO11DN DTE-20 bit, 8-12              file, B-6
TO11DT DTE-20 register,            Transfer mode,
    8-18                             byte, 8-22
TO11ER DTE-20 bit, 8-12              diagnostic data, 8-15,
TOPID word,                            8-16
  Communications Region, 8-6         normal data, 8-15
TOPS-10 default monitor,             setting byte, 8-18
    5-1                              setting word, 8-18
TOPS-10 UUO's, 1-4                   word, 8-22
TOPS-20 default monitor,           Transfer rate,
    5-1                              data, 8-21


                           Index-28


                             INDEX (CONT.)


Transferring data between          Unit Tables,
    processors, 8-8, 8-18,           Logical, 10-36
    8-19, 8-20, 8-21, 8-22,        Unmapped system, 1-5
    8-25, 8-27                     User File Directory, 1-7,
Transferring files, B-4,               2-1, 6-29
    B-5, B-6, B-7, C-2             User Identification Code,
Transferring files between             2-1
    processors, B-1                User KLINIK dialog,
Transferring indirect data           remote, D-8
    packets, 8-8                   User mode, 4-4
Transferring string data,          User terminal,
    8-23                             remote, D-10
Transfers,                         Using the DTE-20 registers,
  controlling TO-10 data,              8-22
    8-20                           Utility programs, 7-6
  controlling TO-11 data,            RSX-11M, 1-7
    8-20                           UUO's,
  data, 1-4                          TOPS-10, 1-4
Transition,
  carrier, 7-12
Trap,
  power fail, 7-10                 Valid date flag, 10-12
Trap conditions, 7-9               Variable-length records,
Trap handling, 7-10                    2-4
Trap vectors, 1-3, 7-9             VBN, 2-2
Traps, 1-3                         VEC04 DTE-20 bit, 8-16
  asynchronous, 1-3, 7-9           Vector interrupts, 1-3
  synchronous, 1-3, 7-9            Vectors,
  system, 7-9                        trap, 1-3, 7-9
TTY thread lists, 7-4              Verification error reports,
Type,                                microcode, 5-33
  file, 2-3                        Verifying KL microcode, 5-2
                                       5-7, 5-39
                                   Verifying memory examines,
                                       8-8
UA.MCB file, 5-1                   Version number,
UB.MCB file, 5-1                     Communications Region protocol, 8-3
UFD, 2-1                             Communications Region, 8-3
UFD error messages, 6-30             file, 2-2, 2-3
UFD task, C-2                        protocol, 8-6
UFD utility,                         RSX-20F, 10-11
  /ALL, 6-29                       Version numbers, 10-5
UFD utiltity, 6-29                 Virtual block, 2-2
UIC, 2-1                           Virtual Block Number, 2-2
UNIBUS, 1-3                        Virtual memory addresses,
UNIBUS parity error, 8-17              1-5
  NPR, 8-11                        Volume,
UNIBUS parity flip-flop,             Files-11, 2-1
    8-18                             initializing a, 6-4
UNIBUS receiver error, 8-18        Volume Control Block, 6-9
Unit device tables,                Volume number,
  physical, 10-36                    relative, 2-2


                           Index-29


                             INDEX (CONT.)


Warning messages,                  Writing files with FEDDT,
  KLINIT, 5-16, 5-17, 5-18,            10-1
    5-19
WEP DTE-20 bit, 8-18
WHAT CLOCK PARSER command,
    4-21                           XCT 71, 9-1
WHAT CONSOLE PARSER command        XCT PARSER command, 4-23
    4-4, 4-21                      XOFF character, 7-19, 7-27
WHAT DATE PARSER command,
    4-21
WHAT INCREMENT PARSER
    command, 4-22                  ZAP absolute mode, 6-33
WHAT KLINIK command, D-7           ZAP addressing modes, 6-33
WHAT KLINIK PARSER command,        ZAP arithmetic operators,
    4-22                               6-34, 6-37
WHAT MEMORY PARSER command,        ZAP commands, 6-34
    4-22                           ZAP constant register, 6-36
WHAT OFFSET PARSER command,        ZAP error messages, 6-43,
    4-22                               6-44, 6-45
WHAT PARITY-STOP PARSER            ZAP format register, 6-36
    command, 4-22                  ZAP internal registers,
WHAT RELOAD PARSER command,            6-34
    4-22                           ZAP modes, 6-32
WHAT REPEAT PARSER command,        ZAP quantity register, 6-37
    4-23                           ZAP read-only mode, 6-32
WHAT RETRY PARSER command,         ZAP registers, 6-36
    4-23                           ZAP relocation register,
WHAT TRACKS PARSER command,            6-33, 6-36
    4-23                           ZAP task image mode, 6-33
WHAT VERSION PARSER command        ZAP utility, 6-30
    4-23                             /AB, 6-32
Word transfer mode, 8-22             /LI, 6-32
  setting, 8-18                      /RO, 6-32
Write state of DTE-20              ZERO PARSER command, 4-23
    status word, 8-13, 8-14        Zeroing a floppy disk, 6-2
Writing configuration file,
    5-11

















                           Index-30