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