TOPS-10/TOPS-20 RSX-20F System Reference Manual

TOPS-10/TOPS-20 RSX-20F System Reference Manual
TOPS-10/TOPS-20
RSX-20F
System Reference Manual
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.
OPERATING SYSTEM:
SOFTWARE:
TOPS-10
TOPS-20
RSX-20F (TOPS-10)
RSX-20F (TOPS-20)
1080/90
1091
REL. 7.00
REL. 7.00
2040/50/60
REL. 4
VA13-41
VE13-41
VB13-41
Software and manuals should be ordered by title and order number. In the United States, send orders to the nearest
distribution center. Outside the United States, orders should be directed to the nearest DIGITAL Field Sales Office
or representative.
NORTHEAST/MID-ATLANTIC REGION
CENTRAL REGION
WESTERN'REGION
Technical Documentation Center
Cotton Road
Nashua, N H 03060
Telephone: (800) 258-1710
New Hampshire residents: (603) 884-6660
Technical Documentation Center
1050 East Remington Road
Schaumburg, Illinois 60195
Telephone: (312) 640-5612
Technical Documentation Center
2525 Augustine Drive
Santa Clara, California 95051
Telephone: (408) 984-0200
digital equipment corporation • marlboro, massachusetts
First Printing,
Janu~ry
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
©,
1980, Digital Equipment Corporation.
All Rights Reserved.
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:
DEC
DECUS
Digital Logo
PDP
UNIBUS
VAX
DECnet
DECsystem-10
DECSYSTEM-20
DECwriter
DIBOL
EduSystem
lAS
MASSBUS
PDT
RSTS
RSX
VMS
VT
CONTENTS
Page
PREFACE
ix
1
INTRODUCTION
1-1
1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.3
1.4
1.5
THE PDP-II
The UNIBUS
The I/O Page
vector Interrupts
Priorities
Traps
Data Transfers
General Registers
Stacks
Instruction Set
RSX-11M OPERATING SYSTEM
Directives
Device Drivers
Significant Events
Mapped and Unmapped Systems
TASKS
RSX-20F REQUIREMENTS
THE DERIVATION OF RSX-20F FROM RSX-11M
1-2
1-3
1-3
1-3
1-3
1-3
1-4
1-4
1-4
1-4
1-4
1-4
1-5
1-5
1-5
1-5
1-6
1-6
2
FILES-II SYSTEM
2-1
2.1
2.2
2.2.1
2.3
2.4
2.5
GENERAL DEFINITIONS
FILES-II FILE SPECIFICATION
Files-II File Structure
FILES-II DIRECTORIES
FIXED FILE ID'S
FCS FILE STRUCTURE
2-1
2-1
2-2
2-3
2-4
2-4
CHAPTER
3
RSX-20F GLOSSARY OF TERMS
3-1
CHAPTER
4
PARSER
4-1
4.1
4.2
4.3
4.3.1
4.4
4.5
ENTERING AND EXITING THE PARSER
PARSER COMMAND SYNTAX
PARSER CONSOLE MODES
PARSER Help Facility
PARSER COMMANDS
PARSER ERROR MESSAGES
4-1
4-2
4-4
4-4
4-6
4-23
5
KLINIT
5-1
5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
KLINIT LOAD AND START
KLINIT OPERATOR DIALOG
KLINIT MESSAGES
Informational Messages
Warning Messages
Dialog Error Messages
5-6
5-6
5-16
5-16
5-17
5-19
CHAPTER
CHAPTER
CHAPTER
iii
CONTENTS (CONT.)
Page
CHAPTER
5.3.4
System Error Messages
REPORTS RELATING TO THE KLINIT DIALOG
5.4
5.4.1
External Memory Maps
5.4.2
Internal Memory Maps
5.4.3
Microcode Verification Error Reports
CRAM Error Report
5.4.3.1
DRAM
5.4.3.2
KLINIT DIALOG EXAMPLES
5.5
5-20
5-31
5-31
5-32
5-33
5-33
5-34
5-34
6
6-1
RSX-20F UTILITIES
COP UTILITY
Function
Format
Examples
Error Messages
INI UTILITY
Function
Format
Examples
Error Messages
MOU AND DMO
Function
Format
Examples
Error Messages
PIP - PERIPHERAL INTERCHANGE PROGRAM
Function
Initiating PIP
PIP Command String Format
PIP Switches and Subswitches
PIP Error Messages
RED
Function
Format
Examples
Error Messages
SAV
Function
Format
Example
Error Messages
USER FILE DIRECTORY
Function
Format
Examples
Error Messages
ZAP
Function
Invoking and Terminating ZAP
ZAP Switches
Addressing Locations in a Task Image
ZAP Addressing Modes: Absolute and Task
Image
6.8.4.2
Addressing Locations in Task Image Mode
The ZAP Command Line
6.8.5
6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.4
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
6.5
6.5.1
6.5.2
6.5.3
6.5.4
6.6
6.6.1
6.6.2
6.6.3
6.6.4
6.7
6.7.1
6.7.2
6.7.3
6.7.4
6.8
6.8.1
6.8.2
6.8.3
6.8.4
6.8.4.1
iv
6-1
6-1
6-2
6-2
6-3
6-4
6-4
6-4
6-6
6-6
6-9
6-9
6-10
6-10
6-11
6-12
6-12
6-12
6-12
6-13
6-19
6-23
6-23
6-24
6-24
6-24
6-24
6-24
6-25
6-26
6-26
6-29
6-29
6-29
6-29
6-30
6-30
6-31
6-31
6-32
6-32
6-33
6-33
6-34
CONTENTS (CONT.)
Page
6.8.5.1
6.8.5.2
6.8.5.3
6.8.5.4
6.8.5.5
6.8.5.6
6.8.5~7
6.8.5.8
6.8.6
6.8.6.1
6.8.6.2
6.8.6.3
6.8. 7
6.8.7.1
CHAPTER
CHAPTER
CHAPTER
Open/Close Location Commands
General Purpose Commands
Using the Carriage Return
ZAP Internal Registers
ZAP Arithmetic Operators
ZAP Command Line Element Separators
The Current Location Symbol
Formats for Specifying Locations in ZAP
Command Lines
Using ZAP Open/Close Commands
Opening Locations in a Task Image File
Changing the Contents of a Location
Closing Task Image Locations
Using Zap General Purpose Commands
The = Command: Display the Value of an
Expression
6-35
6-36
6-36
6-36
6-37
6-37
6-38
6-38
6-39
6-39
6-39
6-40
6-42
6-43
7
RSX-20F MONITOR
7-1
7.1
7.2
7.3
7.4
7.4.1
7.4.1.1
7.4.1.2
7.4.1.3
7.4.2
7.4.2.1
7.4.2.2
7.4.2.3
RSX-20F EXECUTIVE
TASKS AND SCHEDULING
SYSTEM TRAPS
TERMINAL SERVICE ROUTINES
Modem Handling
Modem Handling Concepts
Terminal Driver Routine
Modem Timeout Routine
Terminal Handling
Character Input Routine
Terminal Timeout Routine
Character Output Routine
7-1
7-6
7-9
7-11
7-11
7-11
7-12
7-15
7-16
7-16
7-20
7-23
8
DTE HARDWARE OPERATION
8-1
8.1
8.2
8.2.1
8.2.2
8.2.3
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.4
8.4.1
8.4.2
8.5
8.6
8.6.1
8.6.2
8.7
DTE-20 COMMUNICATIONS REGION
DTE REGISTERS
DTE-20 Status Word
Diagnostic Words
DTE-20 Data Transfer Registers
USING THE DTE-20 REGISTERS
Deposit and Examine
Transfer Operations
Doorbell Function
Diagnostic Functions
PROTOCOLS
Secondary Protocol
Primary Protocol
QUEUED PROTOCOL
DIRECT AND INDIRECT TRANSFERS
Direct Packets
Indir~ct Packets
DATA STRUCTURE OF PACKETS
8-1
8-10
8-10
8-14
8-18
8-22
8-22
8-22
8-23
8-24
8-24
8-24
8-24
8-25
8-27
8-28
8-28
8-29
9
ERROR DETECTION AND LOGGING
9-1
9.1
9.2
9.3
THE KEEP ALIVE COUNT
KLERR TASK
ERROR LOGGING
9-1
9-1
9-2
v
CONTENTS (CONT.)
Page
CHAPTER
9.3.1
9.3.2
9.3.3
9.3.4
9.4
KL Error Logging
PDP-II Error Logging
KLERRO.SNP FILE
KLERR MESSAGES
KLXFER
10
ERROR DEBUGGING
10-1
10.1
10.2
10.2.1
10.2.2
10.2.3
USING FEDDT
INTERPRETING AN RSX-20F DUMP
Useful Data in Dump Files
Sample Dump Analysis
Front End Status Block
10-1
10-4
10-5
10-7
10-10
9-2
9-5
9-6
9-7
9-9
APPENDIX A
RSX-20F STOP CODES AND I/O ERROR CODES
A-I
APPENDIX B
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND
RSX-20F
B-1
REFORMATTING FILES
Restrictions
TRANSFERRING FILES
Running FE
The FE: Device
RSX-20F Tasks
File Transfer Dialogue
B-1
B-2
B-4
B-4
B-5
B-5
B-6
APPENDIX C
FRONT-END TASKS
C-l
APPENDIX D
KLINIK ACCESS DIALOGUE
D-l
SIGNIFICANT KLINIK EVENTS
KLINIK ACCESS PARAMETERS
Usage of the Remote Terminal
Access Password for Remote CTY's
KLINIK Access Window
Console Mode of the Remote Terminal
OPERATOR DIALOGUE WITH KLINIK
Setting Access Parameters
Examining the Current KLINIK Parameters
Terminating the KLINIK Link
REMOTE USER DIALOGUE WITH KLINIK
Logging In as a Remote Operator
Logging In as a Timesharing User
KLINIK INTEGRITY OVER A REBOOT
D-l
D-2
D-2
D-2
D-3
D-3
D-4
D-4
D-7
D-7
D-8
D-8
D-IO
D-ll
APPENDIX E
GETTING HELP ON RSX-20F
E-l
APPENDIX F
EIA PIN DEFINITIONS
F-l
B.l
B.l.l
B.2
B.2.1
B.2.2
B.2.3
B.2.4
D.l
D.2
D.2.1
D.2.2
D.2.3
D.2.4
D.3
D.3.1
D.3.2
D.3.3
D.4
D.4.1
D.4.2
D.5
INDEX
Index-l
vi
CONTENTS (CONT.)
Page
FIGURES
FIGURE
1-1
5-1
5-2
5-3
7-1
7-2
7-3
7-4
7-5
7-6
7-7
7-8
7-9
7-10
8-1
8-2
8-3
8-4
8-5
8-6
9-1
The Front End for a KL-based Computer System
Load Switches and Switch Register for KL
with Floppy Disks
Load Switches and Switch Register for KL
with DEC tapes
KLINIT Operator Dialog
RSX-20F Executive
RSX-20F Memory Layout
System Task Directory (STD) Node
Active Task List (ATL) Node
Modem-Handling Hardware
Modem Control Algorithm
Modem Timeout Algorithm
Character Input Algorithm
Terminal Timeout Algorithm
Character Output Algorithm
KL Communications Region
DTE-20 Registers
DTE-20 Status Word in Read State
DTE-20 Status Word in write State
Direct Packet
Indirect Packet and Data
KLERRO.SNP File Contents
1-2
5-3
5-4
5-12
7-2
7-5
7-7
7-8
7-12
7-13
7-15
7-17
7-21
7-24
8-2
8-10
8-11
8-13
8-28
8-29
9-6
TABLES
TABLE
5-1
F-l
Switch Register Bit Definitions
EIA Pin Definitions
vii
5-5
F-l
PREFACE
The RSX-20F System Reference Manual contains reference information
describing the RSX-20F front-end operating system.
RSX-20F runs on a
PDP-II/40 front-end processor and communicates with either a TOPS-IO
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-II hardware, RSX-II
operating systems, and either TOPS-IO 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-II
hardware,
the
RSX-Il-based operating system,
and the Files-II 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-II 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-II 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.
ix
The following TOPS-IO and TOPS-20 manuals also contain information
about RSX-20F. You should be aware that the TOPS-IO manuals will not
be released until May 1980, along with Release 7.01.
TOPS-IO Operator's Guide
AA-5104B-TB
TOPS-IO 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-II hardware and
software can find additional material in the following handbooks.
They contain both tutorial and reference information.
PDP-II Processor Handbook
EB 05138 76
PDP-II Software Handbook
EB 09798 78
PDP-II Peripherals Handbook
EB 05961 76
Terminals and Communications Handbook
EB 15486 79
x
CHAPTER 1
INTRODUCTION
Two PDP-II operating systems, RSX-IIM and RSX-IID, 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
diagnosing and recovering KL errors.
3.
Can handle the
TOPS-IO/I091.
unit
record
booting
devices
of
the
KL
and
TOPS-20
and
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-II
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-II software,
explains
the needs of RSX-20F,
and describes how RSX-IIM and RSX-IID were
modified to produce RSX-20F.
1-1
INTRODUCTION
LA36
CTY
SWITCH
PANEL
RK01
DUAL DRIVE 3
DL11W
CTYINTERFACE
BM 873YF
ROM
RX11
FLOPPY CTL 2
M
:
~
DUALPORTED
DISK
~S
B
U
S
RH11
MASSBUSCTL
KL10
I
U
DTE20
~ ~ ~----~~----~------~-----r------~~----~------~----~
U
S
I
MM11
MEMORY
PARITY
MF11
MEMORY
DL11W
LINE CLOCK
KY11-D
CONSOLE
KD11
CPU
DL11-E
MODEM
INTERFACE
TO REMOTE
DIAGNOSTIC
TERMINAL
(KLINIK)
i----+--------- ------- ---- __
----..,-1
- - - 1....
I
I
I
I
I
I
I
DC20
MULTIPLEXER· • •
8 LINES
18
DC20
MULTIPLEXER
LINES 8 MAX 8 LINES
8 LINES
It ... 1 It..·
':5
LP20
LINE PRINTER
CONTROL
~---'--....,
LINE
PRINTER
I
CD20
CARD READER
CONTROL
I
I
I
I
I
I
CARD
READER
I
I
I
I
IL FOR
TOPS-20
SYSTEMS
__
___
_ _ _ONLY
__________________________ I
~
MR~-187-79
1 BM873YH ROM ON 1080/90
2TC11 DECtape CTL ON 1080/90
~ TU56 DUAL DRIVE ON 1080/90
Figure 1-1 The Front End for a KL-based Computer System
1.1
THE PDP-II
The PDP-II 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.
1-2
INTRODUCTION
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-II.
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.
1-3
INTRODUCTION
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-II, because the PDP-II will not be able to find
the next
instruction or the hardware stack.
1.1.8
Stacks
The PDP-II is a stack-oriented machine.
It contains
built-in
addressing modes designed to manipulate stacks of data.
The PDP-II
also has its own system stack, and it uses R6 as the hardware stack
pointer.
1.1.9
Instruction Set
The PDP-II instruction set operates on single- or
double-byte
operands.
Addressing on the PDP-II 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-IIM OPERATING SYSTEM
RSX-IIM is a PDP-II 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-IO.
1-4
INTRODUCTION
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:
•
Queueing of I/O requests
•
Completing of I/O requests
•
•
•
•
Requesting a task
Scheduling a task
Waking up a task
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-II operating systems.
Some tasks are self-sufficient and can be thought of in much the same
way as programs in TOPS-IO 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-II
partition (FllTPD). A partition is an area of memory reserved for the
e~ecution
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.
1-5
INTRODUCTION
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 regi~ns.
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:
•
Load the microcode
•
Configure memory
•
Configure cache
•
Load a bootstrap program
It can also perform diagnostics
develop.
1.5
on
the
KL
when
hardware
problems
THE DERIVATION OF RSX-20F FROM RSX-11M
RSX-llM 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.
1-6
INTRODUCTION
RSX-IIM utility programs can be run only in the GEN partition.
Nonresident Exec routines
(for example, Files-II, KLRING, KLDISC,
SETSPD, TKTN, and MIDNIT) run in the FIITPD partition.
Only one
utility task can run at anyone 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-IIM 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-II devices, PIP to transfer files from one Files-II device to
another,
UFD to create User File Directories on Files-II 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-IIM 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-II
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-II system.
TOPS-20 views the front-end file
system
as
one
big
file,
<ROOT-DIRECTORY)FRONT-END-FILE-SYSTEM.BIN.
TOPS-IO 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-II
area on floppy disk, DECtape, or dual-ported RP04/06.
No protection
checking is enforced with the file systems.
Real PDP-II formatted disks have 16-bit words, and disk addressing and
accessing
is consonant with this scheme. However, disks supported by
TOPS-IO and TOPS-20 must be formatted in IS-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-IIM routine.
Each
PDP-II
word
of
data in the Files-II area is written
right-justified in the IS-bit space available.
The two left-hand
(high-order) bits are ignored by RSX-20F's disk driver.
1-7
CHAPTER 2
FILES-II SYSTEM
All RSX-based operating systems have a standard file system called
Files-II.
Users who access files in an RSX-20F Files-II system use a
syntax that is similar to TOPS-20 and TOPS-IO.
This chapter defines
some terms used by Files-II,
and describes the file structure and
directory structure used by the system.
2.1
GENERAL DEFINITIONS
The Files-II system imposes a structure on a medium.
The medium
Files-II uses is any block-addressable storage device.
This includes
such media as disks and DECtapes.
Since the method of access to all
Files-II media is similar, all types of Files-II media are referred to
as disks.
A Files-II volume is a logical file structure which includes one or
more devices of the same type.
A Files-II volume can be compared to a
file structure under TOPS-IO and TOPS-20.
When Files-II 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-II FILE SPECIFICATION
The file specification for Files-II is:
dev: [g,m]filename.extiversion
where:
dev:
is the name of a physical
which the desired file
name consists of two ASCII
an optional one-digit unit
[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
alphanumeric characters.
2-1
or logical device on
is located.
The device
characters followed by
number and a colon.
to
9
,FILES-II SYSTEM
ext
is the extension of the file which can be
to 3 alphanumeric characters or null.
from
I
version
is the version number of the file which can range
from
I 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-IO 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-IO.
Here are two examples of valid RSX-20F Files-II file specifications:
DBO: [5,5]KLINIK.TSK
DXI: [5,5]MIDNIT.TSKil
2.2.1
Files-II File Structure
Any data of interest on a Files-II 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-II words (48 bits). It is
supplied by Files-II 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.
2-2
FILES-ll SYSTEM
Each file on a Files-II 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:
I.
Header Area - This area contains the file number and the file
as well as the file's ownership and
sequence
number
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
which
contains a list of retrieval pointers, each of
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-II
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-ll DIRECTORIES
Directories are Files-II 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-II 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:
•
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.)
•
Name - The name of the file, stored as three words of
Radix-50 characters
•
Type - The file type (known also as the extension),
as one word of three Radix-50 characters
G
Version - The file version number, stored in binary
word
2-3
three
stored
in
one
FILES-II SYSTEM
2.4
FIXED FILE lOIS
As with any file system, Files-II maintains a data structure that it
uses to control the file organization.
The information that Files-II
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 10 numbers so that Files-II
can always find its own data.
The files and their uses are described
below.
2.5
1.
Index File - The index file is file 10 1,1,0.
It is listed
in the Master File Directory
(MFD) as INDEXF.SYS;l.
The
index file provides the means for
identification of and
initial access to a Files-II 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;l. 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 10 3,3,0.
It is
listed in the MFD as BADBLK.SYS;l. 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 10
4,4,0.
It is listed in the MFD (itself) as OOOOOO.DIR;l.
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 10 5,5,0.
It
is listed in the MFD as CORIMG.SYS;l.
This file is the
bootable system image file.
FCS FILE STRUCTURE
FCS stands for File Control Services, which is a user-level
interface
to Files-II.
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-II 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.
2-4
CHAPTER 3
RSX-20F GLOSSARY OF TERMS
This chapter includes definitions and expansions
phrases, and acronyms used in the manual.
of
several
words,
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
line speed on a dial-up line.
hardware
determines
the
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-II have an Owned
Communications Region in which they alone can write.
CUSP
Commonly Used System Program
3-1
RSX-20F GLOSSARY OF TERMS
DEQUE
Double Ended QUEue
DIC
Directive Identification Code (0-127)
Deposit Region
A region in KL memory that is accessed by the
Protected Deposits.
PDP-II
using
DH-II
Communications interface between the PDP-II front end and up
to sixteen terminals.
DM-IIBB
Communications interface between the PDP-II front end and
the EIA modem control lines.
The DM-IIBB is used in
conjunction with the DH-Il 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-II and the
stands for Data Ten to Eleven.
KL.
DTE
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
transmission of data between
Executive Process Table.
is reserved for use
in
processors. EPT stands for
Examine Region
A region in KL memory that is accessed by the
Protected Examines.
PDP-II
using
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
3-2
RSX-20F GLOSSARY OF TERMS
ISR
Interrupt Service Routine
KTII
Hardware Memory Management Option
LBN
Logical Block Number
Login
The process of getting a KL to recognize
(see also Logon)
a
potential
user
Logon
The process of getting a PDP-II
user
to
recognize
a
potential
LUN
Logical unit Number
MCB
The software resident in a DN20 that supports
stands for Multifunction Communications Base.
DECnet.
MCB
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-II 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)
3-3
RSX-20F GLOSSARY OF TERMS
PUD
Physical unit Device Table
Relative Address
An address specified by the PDP-II software on a Protected
Examine or Deposit.
The address specified by the PDP-II 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-II that is attached to a KL by means of a DTE-20
cannot crash the KL if the KL hardware and software
working correctly. A restricted front end cannot use
diagnostic bus, and cannot read KL memory unless the KL
first set up the interrupt system to allow it.
and
are
the
has
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-II 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
3-4
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
monitor, or a TOPS-IO or TOPS-20
(CTRL/\) to enter the PARSER.
with
job,
the TOPS-IO or TOPS-20
type a control backslash
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
prompts:
will
receive
one
of
the
following
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
message will precede the prompt.
error
In order to exit the PARSER, type QUIT or a CTRL/Z to return to the
TOPS-IO or TOPS-20 monitor or use the PARSER command, MCR, to load and
start another program.
4-1
PARSER
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.
I.
To do
Multiple commands can be entered on a single line.
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
5.
Keywords in a command can be truncated
unique abbreviation. For example:
to
their
CTRL/O.
shortest
PAR>H!HALT THE KL CPU<RET>
If the truncation is not unique, you will
message. For example:
receive
an
error
PAR>RE 5<RET>
PAR -- [PARSER] AMB - AMBIGUOUS KEYWORD liRE"
In this example, the PARSER found two commands
with RE: REPEAT and RESET.
that
started
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
tha t. many binary places. Thus, in order to spec i fy a number
4-2
PARSER
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/ xxx xxx xxxxxx
Note that rule #6 applies to both the
numbers.
8.
and
right-hand
Negative numbers can be specified through the use of a
minus (-) preceding 'the number.
For example:
PAR>DEPOSIT TEN 30:-l<RET>
301 xxxxxx xxxxxx
PAR>EXAMINE TEN 30<RET>
30/ 777777 777777
9.
left-
unary
(deposit -1 in
loco 30)
(previous
contents)
(examine
loco 30)
(new contents)
Numeric values can be entered as arithmetic expressions using
addition
(+),
subtraction
(-), multiplication
(*),
and
division (/).
For example:
PAR>EXAMINE l23654+32<RET>
123706/ xxxxxx xxxxxx
PAR>DEPOSIT TEN 408-6:l00<RET>
PAR>SET INCREMENT 2*3<RET>
KL INCREMENT: 6
PAR>REPEAT 8/4; EXAMINE PC<RET>
PCI 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 (I) following a number to add
the PDP-II relocation factor (offset) to the number.
Use a
double quote
(")
to subtract the PDP-II relocation factor.
For example:
PAR>SET OFFSET 101204<RET>
PDP-II OFFSET: 101204
PAR>EXAMINE ELEVEN 32 1 <RET>
101236\ xxxxxx
PAR>EXAMINE ELEVEN 101236"<RET>
32\ xxxxxx
You can use the PDP-II relocation factor to modify KL
addresses as well as PDP-II memory addresses.
4-3
memory
PARSER
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
There are three basic console modes:
mode.
OPERATOR MODE
This mode allows only those commands that
will
not
crash the TOPS-IO or TOPS-20
monitor.
PROGRAMMER MODE
This mode allows all PARSER
diagnostic functions.
MAINTENANCE MODE
This mode
commands.
allows
the
full
commands
set
of
except
PARSER
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
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
4-4
available
PARSER
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
4-5
PARSER
Subarguments can also be determined in this manner.
you type:
For
example,
if
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:
•
Any single argument not in brackets must be specified.
•
Uppercase arguments are keywords and must be entered
shown or truncated according to rule 5 in Section 4.2.
•
A multiple choice list enclosed in square brackets [ ] means
that an entry is optional.
If there is a default entry, it
will be specified.
as
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
CAAM
DATA-PATH
CONTROL
EXTERNAL
INTERNAL
MARGIN
FULL
HALF
QUARTER
SLOW
MAINTENANCE
4-6
PARSER
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
INTERNAL
MARGIN
FULL
HALF
QUARTER
SLOW
SET CLOCK NORMAL
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
The CLEAR
facility.
MAINTENANCE
FS-STOP
command
disables
the
Field
Service
CLEAR INCREMENT
stop
OPERATOR
The CLEAR INCREMENT command resets the KL
zero.
(See EXAMINE INCREMENT command.)
CLEAR KLINIK
increment
factor
to
OPERATOR
The CLEAR KLINIK command closes the KLINIK access window and
terminates the KLINIK link.
(See Appendix D for a discussion on
KLINIK access.)
4-7
PARSER
OPERATOR
CLEAR MEMORY
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-II,
is
being
referenced.
'OPERATOR
CLEAR NOT
The CLEAR NOT command is the equivalent of the SET command.
PROGRAMMER
CLEAR OFFSET
The CLEAR OFFSET command sets the
(See rule ten in Section 4.2.)
CLEAR PARITY STOP
relocation
factor
to
zero.
MAINTENANCE
ALL
AR
CRAM
DRAM
ENABLE
FM
FS-STOP
The CLEAR PARITY-STOP command selectively disables parity
for AR, CRAM, DRAM, Fast Memory, and Field Service.
stops
PROGRAMMER
CLEAR RELOAD
The CLEAR RELOAD command disables the automatic reload of the
following a fatal error.
KL
OPERATOR
CLEAR REPEAT
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.
PROGRAMMER
CLEAR RETRY
The CLEAR RETRY
When this flag
routine to take
a system reload
command resets the RETRY flag
in the PARSER.
is off, a Keep-Alive-Cease error causes the KLERR
a system snapshot and then call KLINIT to perform
of the KL.
(See SET RETRY.)
4-8
PARSER
PROGRAMMER
CLEAR TRACKS
The CLEAR TRACKS command stops RSX-20F from typing
operations and results on the controlling terminal.
all
KL
PROGRAMMER
CONTINUE
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
register to newdata.
DEPOSIT
IELEVENl
LTEN
J
sets
addr
}
DECREMENT
INCREMENT
NEXT
{ PREVIOUS
THIS
the
contents
of
the
:newdata
arithmetic
PROGRAMMER
The DEPOSIT memory address command displays the contents of
specified or implied memory address and then replaces
contents with newdata.
the
the
ELEVEN
specifies that the command
address in the PDP-II memory.
is
referencing
an
TEN
specifies that the command
address in the KL memory.
is
referencing
an
If neither ELEVEN or TEN is specified, the memory to be
referenced is determined by the most recent SET MEMORY command.
If no SET
referenced.
MEMORY
command
has
been
issued,
KL
memory
is
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-II 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-II memory is being
referenced, this command is the equivalent of
DEPOSIT NEXT.
4-9
PARSER
DECREMENT
means subtract the KL increment factor
from
the address last referenced to arrive at the
deposit address.
If PDP-II memory is being
referenced, this command is the equivalent of
DEPOSIT PREVIOUS.
NEXT
means add one
(for a KL)
or two
(for a
PDP-II)
to the address last referenced to
arrive at the deposit address.
PREVIOUS
means subtract one (for a KL) or two
(for a
PDP-II)
from the address last referenced to
arrive at the deposit address.
THIS
means use the address last referenced as
deposit address.
the
OPERATOR
DISCONNECT
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.)
OPERATOR
EXAMINE PC
The EXAMINE PC command prints the contents
counter (PC) in octal, on the CTY.
of
the
KL
program
OPERATOR
EXAMINE KL
The EXAMINE KL command performs the EXAMINE PC,
EXAMINE
EXAMINE PI, and the EXAMINE FLAGS commands, in that order.
EXAMINE
!ELEVENl
LTEN
J
VMA,
OPERATOR
addr
DECREMENT }
INCREMENT
NEXT
{ PREVIOUS
THIS
The EXAMINE memory address command displays the contents of
specified or implied memory address in octal, on the CTY.
the
ELEVEN
specifies that the command is referencing
address in the PDP-II memory.
an
TEN
specifies that the command is referencing
address in the KL memory.
an
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.
4-10
PARSER
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
notation.
If you are referencing
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-II 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-II memory is being
referenced, this command is the equivalent of
EXAMINE PREVIOUS.
NEXT
means add one (for a KL) or two (for a
PDP-II)
to the address last referenced to
arrive at the examine address.
PREVIOUS
means subtract one (for a KL) or two (for a
PDP-II)
from the address last referenced to
arrive at the examine address.
THIS
means use the address last referenced as
examine address.
octal
PDP-II
the
PROGRAMMER
EXAMINE AB
The EXAMINE AB command displays the contents of
break register.
the
KL
address
PROGRAMMER
EXAMINE AD
The EXAMINE AD command displays the
register.
contents
of
the
KL
adder
PROGRAMMER
EXAMINE ADX
The EXAMINE ADX command displays the contents
extension.
of
the
KL
adder
PROGRAMMER
EXAMINE AR
The EXAMINE AR command displays the contents of the KL arithmetic
register.
4-11
PARSER
EXAMINE ARX
PROGRAMMER
The EXAMINE ARX command displays
arithmetic register extension.
the
contents
of
EXAMINE BR
the
KL
PROGRAMMER
The EXAMINE BR command displays the contents
register.
of
the
EXAMINE BRX
KL
buffer
PROGRAMMER
The EXAMINE BRX command displays the contents of
register extension.
the
KL
buffer
PROGRAMMER
EXAMINE CRADDR
The EXAMINE CRADDR command displays the contents of the
address register.
EXAMINE CRLOC
KL
CRAM
PROGRAMMER
The EXAMINE CRLOC command displays the contents of
location register.
the
EXAMINE DRADDR
KL
CRAM
PROGRAMMER
The EXAMINE DRADDR command displays the contents of the
address register.
EXAMINE DTE-20
KL
DRAM
PROGRAMMER
The EXAMINE DTE-20 command displays the
diagnostic registers and the status
DTE-20.
contents of the three
register for the console
EXAMINE EBUS
PROGRAMMER
The EXAMINE EBUS command displays the contents
register.
4-12
of
the
KL
EBUS
PARSER
EXAMINE FE
PROGRAMMER
The EXAMINE FE command displays the contents of the
Exponent register.
KL
EXAMINE FLAGS
Floating
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, CYO, CY1, FOV, BIS, USR, UIO, LIP, AFI, AT1, ATO,
FUF,
and
NDV.
EXAMINE FM
PROGRAMMER
The EXAMINE FM command displays
Memory register.
the
contents
of
the
KL
Fast
PROGRAMMER
EXAMINE MQ
The EXAMINE MQ command displays the contents of the KL Multiplier
Quotient register.
PROGRAMMER
EXAMINE PI
The EXAMINE PI command displays
Priority Interrupt system.
the
current
state
of
the
KL
PROGRAMMER
EXAMINE REGISTERS
The EXAMINE REGISTERS command displays the
following
registers
(see also the EXAMINE
individual registers):
contents of
command for
the
the
AD, ADX, AR, ARX, BR, BRX, EBUS, FM, MQ, and PC.
PROGRAMMER
EXAMINE SBR
The EXAMINE SBR command displays
Subroutine Return register.
4-13
the
contents
of
the
KL
PARSER
EXAMINE SC
PROGRAMMER
The EXAMINE SC command displays the
Count register.
contents
of
the
KL
Shift
PROGRAMMER
EXAMINE VMA
The EXAMINE VMA command displays the contents of the
Memory Address register.
KL
Virtual
PROGRAMMER
EXAMINE VMAH
The EXAMINE VMAH command displays the contents of the KL
Memory Address Held register.
Virtual
MAINTENANCE
FREAD nnn
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.
MAINTENANCE
FXCT nn
The FXCT command performs a diagnostic function execute on the KL
CPU.
The valid range of function codes (nn) is a through 37
octal.
PROGRAMMER
HALT
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
F~ND
4-14
KL HALT LOOP
PARSER
PROGRAMMER
INITIALIZE
The INITIALIZE command sets up the KL state flag word
default values and restarts the KL based on those values.
with
OPERATOR
JUMP addr
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-IO or TOPS-20 operating system. The argument addr must be
an octal, positive, nonzero address with a maximum value of
17777777.
OPERATOR
MCR taskname
The MCR command loads and starts the specified task file.
OPERATOR
QUIT
The QUIT command causes the PARSER to be exited. At this point,
the CTY is connected to the TOPS-I0 or TOPS-20 operating system.
This command is equivalent to SET CONSOLE USER or CTRL/Z.
REPEAT nnn;[commandl;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 w{thin
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 10jEXAMINE 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 3jEXAMINE PCjREPEAT 2;EXAMINE NEXT
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
PC
NEXT
NEXT
PC
NEXT
NEXT
4-15
PARSER
EXAMINE PC
EXAMINE NEXT
EXAMINE NEXT
If SET REPEAT 4 had been previously entered, the
would be repeated four times.
If no commands are specified,
command.
the
RESET
effect
is
above
that
sequence
of
a
null
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.
PROGRAMMER
RESET ALL
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.
PROGRAMMER
RESET APR
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.
PROGRAMMER
RESET DTE-20
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.
4-16
PARSER
PROGRAMMER
RESET 10
The RESET 10 command executes a CONO APR,,200000
perform an I/O reset of the KL.
instruction
to
PROGRAMMER
RESET PAG
The RESET PAG command executes a CONO PAG"O instruction followed
by a DATAO PAG"lOO instruction to reset the KL PAGing box.
This
command requires that the KL clock be running.
PROGRAMMER
RESET PI
The RESET PI command executes a CONO PI"lOOOO
reset the KL Priority Interrupt system.
instruction
to
OPERATOR
RUN taskname
The RUN command loads and starts the specified task
command is an alias for the MCR command.
file.
This
MAINTENANCE
SET CLOCK NORMAL
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
MAINTENANCE
CRAM
}
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
SET CLOCK
enables the control logic clock.
MAINTENANCE
EXTERNAL}
INTERNAL
{ MARGIN
This SET CLOCK command sets the source of the clock pulses:
external,
internal, or margin.
The margin clock is slightly
4-17
PARSER
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
MAINTENANCE
}
FULL
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
OPERATOR
[MAINTENANCE]
OPERATOR
PROGRAMMER
USER
The SET CONSOLE command sets the console mode of operation
therefore, the allowable subset of PARSER commands.
MAINTENANCE
allows the full set of PARSER commands.
PROGRAMMER
allows all
functions.
OPERATOR
allows only those PARSER commands that
crash the TOPS-IO or TOPS-20 monitor.
USER
exits the PARSER.
PARSER
commands
If no subargument is entered, the console is
mode.
except
set
to
and,
diagnostic
will
not
PROGRAMMER
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.
PROGRAMMER
SET DATE
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
4-18
PARSER
(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 I5:0N
PAR>
SET FS-STOP
MAINTENANCE
The SET FS-STOP command enables the Field Service stop facility.
OPERATOR
SET INCREMENT n
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-II 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
OPERATOR
ELEVEN}
{TEN
The SET MEMORY command
EXAMINEs and DEPOSITs.
establishes
the
ELEVEN
means default to the PDP-II memory.
TEN
means default to the KL memory.
default
memory
for
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
requires an argument.
(See the CLEAR commands.)
4-19
command
and
PARSER
SET OFFSET nnnnnn
PROGRAMMER
The SET OFFSET command sets the PDP-II 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
MAINTENANCE
ALL
AR
CMM
DMM
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.
PROGRAMMER
SET RELOAD
The SET RELOAD command enables the automatic reload of the KL by
the PDP-II front end in situations such as Keep-Alive-Cease or
CPU errors.
SET REPEAT n
OPEMTOR
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
PROGMMMER
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-lO).
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.
4-20
PARSER
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.
PROGRAMMER
START MICROCODE [addr]
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
control of the KL's clocks.
current
source,
rate,
and
OPERATOR
WHAT CONSOLE
The WHAT CONSOLE command displays the
OPERATOR, PROGRAMMER, or MAINTENANCE.
current
console
mode:
OPERATOR
WHAT DATE
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.
4-21
PARSER
WHAT INCREMENT
OPERATOR
The WHAT INCREMENT command displays the current value of
increment counter used in EXAMINEs and DEPOSITs.
the
KL
OPERATOR
WHAT KLINIK
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
reply is:
use,
the
KLINIK ACTIVE
If an access window has been set up and the link is not
the reply is:
in
use,
KLINIK INACTIVE
In either of the last two instances, the status is followed by
display of the KLINIK window parameters.
WHAT MEMORY
a
OPERATOR
The WHAT MEMORY command displays the default memory for
and EXAMINEs.
WHAT OFFSET
DEPOSITs
PROGRAMMER
The WHAT OFFSET command displays the
factor.
current
PDP-II
WHAT PARITY-STOP
relocation
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
automatic reload function.
4-22
the
current
status
of
the
PARSER
WHAT REPEAT
OPERATOR
The WHAT REPEAT command displays the current value of the
repeat factor.
WHAT RETRY
PARSER
PROGRAMMER
The WHAT RETRY command displays the current status of
flag in the front end.
WHAT TRACKS
the
RETRY
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
4-23
PARSER
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 ln 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.
Support Specialist.
CAE
Call your
Software
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.
4-24
PARSER
CDI
CLEAR DATE ILLEGAL
You tried to clear the internal date
primary protocol.
CES
while
the
KL
was
in
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.
Service Representative.
CLE
Call your
Field
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
However, the command has been executed once.
DAV
repeated.
DATE ALREADY VALID
You tried to set a new internal date and
flag was on.
DBT
be
the
date
validity
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.
Support Specialist.
DMF
Call
your
Software
DEPOSIT KL MEMORY FAILED
This is an internal programming
accept a deposit directive.
Specialist.
4-25
failure.
RSX-20F did not
Call your Software Support
PARSER
DNP
DTE-20 IS NOT PRIVILEGED
This is a fatal error. The DTE-20 mode switch is
wrong
position.
Call
either
your
Field
Representative or your Software Support Specialist.
DOR
DAY OUT OF RANGE
You specified a day that does not
entered.
DSF
in the
Service
exist
in
the
month
you
DTE-20 STATUS FAILURE
A read or write to one of the DT~-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
accept an examine directive.
Specialist.
EOC
failure.
RSX-20F did not
Call your Software Support
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
error. Call your Field Service Representative.
ESD
EBUS
parity
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
KL clock was stopped.
4-26
that
the
PARSER
FRF
FUNCTION READ nnn FAILED
A diagn~stic function read with function code nnn has failed.
This
1S
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.
is:
The
correct
format
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
command, call your Software Support Specialist.
ILC
diagnostic
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.
4-27
PARSER
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
requires the clock to be on.
KLA
of
range
(over
22
the
KL
ILLEGAL WHILE KL RUNNING
You tried to execute a command that is illegal while
is running.
KNC
that
KL ADDRESS ERROR
You specified a KL address that was out
bits), negative, or not in octal radix.
KLR
command
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.
4-28
PARSER
MRA
MISSING REQUIRED ARGUMENT
You did not specify all of the necessary
command.
NDI
arguments
for
NULL DATE ILLEGAL
During the SET DATE dialog, you answered the DATE:
with a carriage return.
You must supply a date.
NER
the
prompt
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
radix.
NPI
NULL PASSWORD ILLEGAL
During the SET KLINIK dialog,
prompt with a carriage return.
one is requested.
NSK
wrong
you answered the PASSWORD:
You must supply a password if
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:
with a carriage return.
You must specify a time.
OAI
prompt
ODD ADDRESS ILLEGAL
You tried to examine an odd-numbered PDP-II address.
OFC
ODD FUNCTION CODE
This is an internal programming error.
Support Specialist.
PTL
Call
your
Software
PASSWORD TOO LONG
During the SET KLINIK dialog, you specified a
was more than six characters in length.
4-29
password
that
PARSER
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;
TAA
this is illegal.
TASK ALREADY ACTIVE
You issued a RUN or MCR command for a task that
active.
TOR
was
already
TIME OUT OF RANGE
You specified a time in which the hours were greater than
or the minutes were greater than 59.
UNL
23
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
command.
Call your Software Support Specialist.
WRM
a
DEPOSIT
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.
4-30
PARSER
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.
4-31
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-IO with a KL model A load from UA.MCBi
users of TOPS-IO
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-IO
PS:(SYSTEM>MONITR.EXE for TOPS-20
5-1
KLINIT
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 anyone or
more of the following:
•
Load and/or verify the KL microcode.
•
Configure cache memory as you want it.
•
Configure KL memory as you want it.
e
Load and start any bootstrap program.
•
Specify switches to the bootstrap program.
•
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.
5-2
KLINIT
LOAD SWITCHES
ENABLE
DISK
SW REG
FLOPPY
I
FAULT
LIGHT'
POWER
LIGHT
POWER
SWITCH
EMERGENCY
POWER OFF
o
17
SWITCH REGISTER
ENABLE/HALT
SWITCH
9452-2
Figure 5-1
Load Switches and Switch Register for KL with Floppy Disks
5-3
KLINIT
LOAD SWITCH ES
DISK
ENABLE
o
17
SWITCH REGISTER
ENABLE/HAL T
SWITCH
7801·6
Figure 5-2
Load Switches and Switch Register for KL with DECtapes
5-4
KLINIT
Table 5-1
Switch Register Bit Definitions
17
16
15
11
14
Bit
10
7
8
6
2
3
1
o
Meaning
o
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 I 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-II processors at
this time.
If bit I 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
II-halt occurs.
If both I and 2 are not set,
the
much like it is using the DISK,
load switch.
However,
since
interpreted, you can specify the
bootstrap device in bits 8-10.
system is loaded
DECtape, or FLOPPY
other
bits
are
unit number of the
6-3
Currently not used, and must not be set.
7
If this bit is set, the bootstrap device
pack on a dual-ported drive.
If the bit is not set,
the
DEC tape
drive or floppy
processor.
is
a
disk
bootstrap device is a
disk on the front-end
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-ll 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
position.
the
corresponding
5-5
switch
is
in
the
upward
KLINIT
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.
RSX-20F is running, type the following:
Assuming
that
CTRL/\ (does not echo)
ito enter the PARSER
PAR)MCR KLINIT
ito load KLINIT
KLI -- ENTER DIALOG [NO, YES, EXIT, BOOT]?
During the dialog, the following conventions hold:
5.2
•
A carriage return terminates the answer to a question.
•
A RUB OUT or DELETE deletes a character.
•
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.
•
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.
•
CTRL/U deletes the current input line.
•
An answer of NO to the ENTER DIALOG question skips the
of the dialog and assumes all the default answers.
•
An answer of BACK to any question returns
previous question unless stated otherwise.
•
An answer of RESTART to the EXIT question returns you to the
first question in the dialog.
•
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.
•
An unacceptable answer results in
causes the question to be repeated.
•
The minimum size of an abbreviation for any
than filename is the first two characters.
an
error
you
to
message
answer
rest
the
and
other
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,
5-6
KLINIT
only a subset of the dialog is encountered on anyone 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
KLI>.
followed
by
the
KLINIT
prompt,
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 remalnlng 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.
5-7
KLINIT
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
CONFIGURE KL MEMORY question.
YES
configures cache memory under dialog control.
NO
does
not
reconfigure
cache
configuration is left unchanged.
the CONFIGURE KL MEMORY question.
KLI
dialog
continues
with
the
memory;
the
existing
The dialog continues with
ENABLE WHICH CACHES [ALL,NONE,0-3]
ALL
enables all cache memory.
NONE
disables all cache memory.
0-3
enables only the caches specified.
caches 0, 1, and 3 reply with:
For example,
KLI>0,1,3<cr>
KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
NOTE I
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.
5-8
to
enable
KLINIT
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.
5-9
KLINIT
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>O,l<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.
5-10
KLINIT
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 SPECIFYl
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
current configuration and load parameters.
containing
NO
notifies KLINIT not to change the existing KL.CFG file.
the
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
previous question).
RESTART
restarts the dialog with the ENTER DIALOG question.
5-11
(see
KLINIT
LOAD SWITCHES
r
K
SW REG
(SW REG BIT
.a MUST BE ON)
(
TEST SW REG BITS' & 2
do
1~
0"
I
)
"0
I
SEE TABLE "·1
IS CACHE PRESENT?
ENABLE
CACHE PER
KL.CFG
(NOTE 1)
ENABLE
ALL
CACHE
DISABLE
ALL
CACHE
ENABLE THE
SPECIFIED
CACHE
A
M R-S·172· 79
NOTE 1: If there is no KL.CFG file, enable all cache.
Figure 5-3 KLINIT Operator Dialog
5-12
KLINIT
~
A
,
CONFIGURE
MEMORY
PER KL. CFG
(NOTE 2)
, ,
CONFIGURE KL MEMORY?
FILE
ALL
REVERSE
-FORCE
YES
CONFIG.
MEMORY
PER KL.CFG
(NOTE 2)
CONFIG.
ALL
MEMORY
SET
REVERSE
CONFIG.
-DBE SCAN
ANY MOS
MEMORY
SET
FORWARD
CONFIG.
•
t ~
I
I
NO
PRINT MAP OF
PHYSICAL MEMORY
t
)
IS INTERNAL CORE MEMORY PRESENT?
e
$
CONFIGURE INTERNAL CORE MEMORY?
ALL
YES
NO
t
t
CONFIGURE
ALL INTERNAL
CORE MEMORY
DELETE ALL
INTERNAL CORE
MEMORY
I
I
f-4---------------,
I
I
MODULES/BLOCKS WITHIN CONTROLLER n?
ALL
NONE
1
CONFIGURE
ALL MODULES
I
t
I
CONFIGURE
THE MODULES
SPECIFIED
DELETE ALL
MODULES
I
I
SPECIFY
I
I
I
I
I
I
I
I
I
I
~~~1-. _______ --1
,
,
INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT?
4
ALLOW UP
TO 4·WAY
INTERLEAVING
2
ALLOW UP
TO 2·WAY
INTERLEAVING
I
F
I
1
•
ALLOW NO
INTERLEAVING
I
8
G
-For MOS memory only.
NOTE 2: If there is no KL.CFG file, configure all memory.
NOTE 3: This question is repeated as many times as there are controllers.
The controller currently being configured is denoted by n.
Figure 5-3 KLINIT Operator Dialog (Cant.)
5-13
H
MR-S-168-79
KLINIT
YES
DELETE
ALL MOS
MEMORY
CONFIGURE
ALLMOS
MEMORY
---------------,
I
II
I
I
CONFIGURE
ALL MODULES
DELETE
ALL MODULES
I
I
CONFIGURE
THE BLOCKS
SPECIFIED
I
I
I
I
I
I
_ _ _ .J.NO~~ _ _ _ _ __I
MR-S-169-79
G
NOTE 3: This question is repeated as many times as there are controllers.
The controller currently being configured is denoted by n.
Figure 5-3 KLINIT Operator Dialog (Cont.)
5-14
KLINIT
F
E
D
PRINT LOGICAL
MEMORY MAP
SET SWITCH
TO USE
KL.CFG
BOOTSTRAP
(NOTE 4)
SET SWITCH
TO USE
KL.CFG
BOOTSTRAP
(NOTE 4)
SET SWITCH
TO USE
DEFAULT
BOOTSTRAP
SET SWITCH
TO NOT
LOAD
BOOTSTRAP
SET SWITCH
TO USE
Filename
BOOTSTRAP
SET THE WRITE
FILE SWITCH
LOAD
DEFAULT
BOOTSTRAP
LOAD THE
APPROPR lATE
BOOTSTRAP
MRoS·170·79
NOTE 4: If there is no KL.CFG file, set switch to use
the default bootstrap program in BOOT.EXB.
Figure 5-3 KLINIT Operator Dialog (Cant.)
5-15
KLINIT
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
[NO,YES,EXIT,BOOT]?
is answered with YES or NO, the hardware
DIALOG
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:
•
•
•
•
The KL processor serial number
The KL processor model type
The power line frequency
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:
•
MOS Master Oscillator
•
Extended Addressing
•
Internal Channels
•
Cache
Example
KLI
KLI
KLI
VERSION VB12-l0 RUNNING
KL10 SIN:
2136., MODEL B, 60 HERTZ
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 __ no
5-16
KLINIT
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
or a hardware or software crash.
power
failure
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
offline.
that
a
DMA20
external
memory
controller
was
SYSTEM ACTION:
KLINIT attempts to configure the system without the
in question.
5-17
controller
KLINIT
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
closest to that specified in the KL.CFG file.
way
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
closest to that specified in the KL.CFG file.
way
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
closest to that specified in the KL.CFG file.
way
KLI -- % NO FILE - ALL CACHE BEING CONFIGURED
The default to the RECONFIGURE CACHE question was taken
KLINIT could not find the KL.CFG file in the directory.
SYSTEM ACTION:
KLINIT enables all caches.
5-18
and
KLINIT
KLI -- % NO FILE - ALL MEMORY BEING CONFIGURED
The default to the CONFIGURE KL MEMORY question was
taken
KLINIT could not find the KL.CFG file in the directory.
and
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
bootstrap record in the KL.CFG file.
could
not
find
the
SYSTEM ACTION:
KLINIT loads the default bootstrap.
KLI -- % PHYSICAL MEMORY
SUPPRESSED
CONFIGURATION
ALTERED
DUMP
OR
RESTART
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
the KL monitor.
5.3.3
to
reload
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
and the prompt.
question
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.
5-19
KLINIT
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
Representative.
KLI
KLI
KLI
KLI
? C-RAM DIFFERS AT
BAD xxxxxx xxxxxx
GOOD xxxxxx xxxxxx
XOR xxxxxx xxxxxx
persists,
call
your
Field
Service
xxxxxx
xxxxxx xxxxxx xxxxxx xx
xxxxxx xxxxxx xxxxxx xx
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
trying to configure the cache memory.
messages for additional information.)
5-20
while KLINIT was
(See accompanying
KLINIT
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-II system
software error may have overlaid it.
file
directory;
a
OPERATOR ACTION:
Reload the system;
if the trouble persists, call your Software
Support Specialist.
KLI -- ? CANNOT FIND HALT LOOP
KLINIT tried to start the
properly.
microcode,
but
it
failed
to
run
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.
probably a software error in RSX-20F.
This is
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 runnlng. This condition can arlse 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-IO or TOPS-20;
then reload the
system and enter the KLINIT program.
If TOPS-lO 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
persists, call your Field Service Representative.
5-21
the
trouble
KLINIT
KLI -- ? CAN'T DETERMINE KLIO 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
will get
an
automatic
reload,
you
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
persists, call your Software Support Specialist.
the
trouble
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
KLI
KLI
KLI
? D-RAM DIFFERS AT xxxxxx
BAD A:x B:x P:x J:xxxx A:x B:x P:x J:xxxx
GOOD A:x B:x P:x J:xxxx A:x B:x P:x J:xxxx
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 xxx xxx 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.
5-22
KLINIT
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
persists, call your Field Service Representative.
the
trouble
KLI -- ? DEVICE "device ll FULL
KLINIT cannot find room on the specified front-end load
for an updated copy of the configuration file KL.CFG.
device
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
initializing the KL processor.
failed
while
KLINIT
was
OPERATOR ACTION:
Reload the system and retry the operation.
If
persists, call your Field Service Representative.
the
trouble
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
persists, call your Field Service Representative.
the
trouble
KLI -- ? DF WRITE FAILED
A diagnostic function
write
initializing the KL processor.
failed
while
KLINIT
was
OPERATOR ACTION:
Reload the system and retry the operation.
If
persists, call your Field Service Representative.
the
trouble
KLI -- ? DIRECTIVE ERROR -n ON FILE IIfilename"
A system error occurred while KLINIT was trying to access the
file
IIfilename. 1I The
II nil
is an octal error code for use by
software support.
5-23
KLINIT
OPERATOR ACTION:
Reload the system and retry the operation.
If
persists, call your Software Support Specialist.
the
trouble
the
trouble
KLI -- ? EXAMINE FAILED
KLINIT could not examine contents of KL memory.
OPERATOR ACTION:
Reload the system and retry the operation.
If
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
error.
Run diagnostics on it and call Field Service.
APL
Make sure the microcode is
problem recurs,
the CPU
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
This is a pure
No corrective action is possible.
Contact a Software Support Specialist.
software bug.
CES
This is
almost
No corrective action is possible.
Contact Field Service.
certainly a hardware fault.
5-24
an
loaded and retry.
If the
has most likely failed.
Call
KLINIT
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
I software state bits.
DCB
This is a pure
No corrective action is possible.
software bug.
Contact a Software Support Specialist.
EDE
Make sure the microcode is loaded and
failure recurs, call Field Service.
FOE
No corrective action is
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.
lEE
Make sure the microcode is loaded and
failure recurs, call Field Service.
LDE
This is a pure
No corrective action is possible.
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
This is a pure
No corrective action is possible.
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
This is a pure
No corrective action is possible.
software bug. Contact a Software Support Specialist.
5-25
possible.
retry.
Contact
a
retry.
If
the
Software
If
the
KLINIT
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.
002
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
PDH
Make sure the microcode is loaded and
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.
SSO
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
TMD
This is a pure
No corrective action is possible.
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.
retry.
If
the
KLI -- ? FILE "filename" NOT FOUND
KLINIT cannot find BOOT.EXB, the appropriate microcode file, or
the alternate KL bootstrap file in the PDP-II file directory
[5,5] on SYO:.
OPERATOR ACTION:
Ensure that the file being requested resides on
load device and retry the operation.
5-26
the
front-end
KLINIT
KLI -- ? I/O ERROR -n ON FILE "filename"
An I/O error occurred while KLINIT was trying to access the
file
"filename." The lin II is an RSX-II 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
persists, call your Software Support Specialist.
the
trouble
KLI -- ? ILLEGAL BUS-MODE
You specified a bus-mode under
configuration cannot operate.
which
the
current
DMA20
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
correct format.
file,
but
it
was
not
in
the
OPERATOR ACTION:
Obtain a new copy of the timing file and retry the
The current MF20 timing file name is IBFI6NI.AII".
operation.
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.
5-27
KLINIT
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-IO systems.)
OPERATOR ACTION:
Reboot and load the KL monitor;
if the trouble persists,
your Software Support Specialist.
call
KLI -- ? MASTER RESET FAILED
A MASTER RESET function to the KL failed.
error.
This is
a
hardware
OPERATOR ACTION:
Reload the system and retry the operation.
If
persists, call your Field Service Representative.
the
trouble
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
persists, call your Field Service Representative.
the
trouble
KLI -- ? MF20 TIMING FILE CHECKSUM ERROR
KLINIT got a checksum error while
file during memory configuration.
accessing
the
MF20
timing
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 "BFI6NI.AII".
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 IBFI6NI.AII".
If this does not solve the problem,
contact your Software Support specialist.
KLI -- ? MICROCODE FIX FAILED
KLINIT found more than five hard
trying to fix the microcode.
5-28
(irreparable)
errors
while
KLINIT
OPERATOR ACTION:
Retry loading the microcode;
if the
your Field Service Representative.
trouble
persists,
call
KLI -- ? MICROCODE LOAD FAILED
loading
A hardware or software error occurred while KLINIT was
the KL microcode.
(See accompanying messages for additional
information.)
OPERATOR ACTION:
Retry loading the microcode;
if the
your Field Service Representative.
trouble
persists,
call
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
call your Field Service Representative.
trouble
persists,
KLI -- ? NO MEMORY AT LOCATION ZERO
When KLINIT was configuring memory it could not
memory unit with address switches set at zero.
locate
any
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 "BFI6NI.AII".
KLI -- ? NONEXISTENT CONTROLLER
KLINIT attempted to configure a controller and
was not there.
found
that
it
OPERATOR ACTION:
Retry the operation;
if the problem persists, call your
Service Representative.
Field
KLI -- ? NONEXISTENT MODULE/BLOCK
KLINIT attempted to configure a module or block that
exist in the controller.
5-29
does
not
KLINIT
OPERATOR ACTION:
Retry the operation;
if the problem persists, call your
Service Representative.
Field
KLI -- ? OUTPUT RECORD LENGTH ERROR
An error occurred while KLINIT was trying to write
configuration file, KL.CFG.
an
updated
OPERATOR ACTION:
Retry the operation and if the
Software Support Specialist.
problem
persists,
call
your
KLI -- ? POWER-FAIL RESTART FAILED
KLINIT could not restart the KL processor during a
recovery.
(See
accompanying
message
for
information.)
power-fail
additional
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
If the file in question is
Software Support Specialist.
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
Software Support specialist.
it
still
fails,
contact
your
KLI -- ? SYSTEM ERROR DURING KL RESTART
A KLINIT software error occurred during a KL restart operation.
(This message occurs on TOPS-IO 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.
5-30
KLINIT
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-IO 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
an updated copy of the configuration file, KL.CFG.
accompanying messages for additional information.)
writing
(See any
OPERATOR ACTION:
Retry the write operation;
if the trouble persists, call
Software Support Specialist.
5.4
your
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
4
TYPE
DMA20
MODULES/GROUPS
7654321 0
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
5-31
KLINIT
Under EXTERNAL MEMORY RESPONSE, the total storage is broken
contiguous blocks and their beginning addresses, where:
ADDRESS
beginning address of memory block
SIZE
size of the memory block
down
by
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
00000000
1024K
4
DMA20
CONTROLLER
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 210
0
1
11
MA20
MA20
MF20
0 0 0 0 1 1 1 1
0 0 0 0 1 1 1 1
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
controllers 0 and 1 or between controllers 2 and 3.
2.
To use any memory,
available.
module
5-32
0
of
some
controller
between
must
be
KLINIT
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
00000000
l28K
2
MA20
00400000
768K
4
MF20
CONTROLLER
0&1
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
KLI
KLI
KLI
? x-RAM DIFFERS AT location
BAD
(contents of n-RAM)
GOOD (contents of disk file)
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
lines and represents the bit positions that differed.
BAD
and
GOOD
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 l6-bit quantity;
the sixth group
represents a six-bit quantity.
The bit correspondence is shown below.
Group
1
2
3
4
5
6
Bit positions
0-15
16-31
32-47
48-63
64-79
80-85 (SPEC field)
5-33
KLINIT
The following is an example of a CRAM error report:
KLI
KLI
KLI
KLI
? C-RAM DIFFERS AT
BAD 002556 012600
GOOD 002575 012700
XOR 000023 000100
43
002000 002640 100002 10
002000 002640 100002 10
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
A
B
P
J
Size
3
3
1
10
bits
bits
bit
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
KLI
KLI
KLI
? D-RAM DIFFERS AT 106
BAD A:2 B:O P:O J:I002 A: 2 B:O P: 0 J:I002
GOOD A:4 B:O P:O J:1412 A: 2 B:O P:l J:1412
XOR A:6 B:O P:O J:0410 A: 0 B:O P:l J:0410
Contents of
location 106
5.5
1.
Contents of
location 107
KLINIT DIALOG EXAMPLES
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
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI
VERSION VA12-12 RUNNING
KLI
KL10 SIN: 2136., MODEL B, 60 HERTZ
KLI -- KL10 HARDWARE ENVIRONMENT
MOS MASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
5-34
KLINIT
KLI
KLI
KLI
MICROCODE VERSION 231 LOADED
ALL CACHES ENABLED
% 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
[SYO:REDIRECTED TO DBO:]
[DBO: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
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-12 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO 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 210
o
1
11
MA20 0 0 0 0 1 1 1 1
MA20 0 0 0 0 1 1 1 1
MF20 0 0 0 0 0 4 4 4
5-35
KLINIT
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
[SYO: REDIRECTED TO DBO:]
[DBO: MOUNTED]
KLI -- VERSION VA12-12
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI
KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO 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
o
1
TYPE
MODULES/GROUPS
765 4 321 0
MB20
MB20
0 0 0 0 1 1 1 1
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
5-36
KLINIT
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 DEC tape load switch.
KLINIT did not find a
therefore,
it
KL.CFG file on the DECtape (%NO FILE messages);
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-4l 8:00 6-AUG-79
[SYO:REDIRECTED TO DTO:]
[DTO:MOUNTED]
KLI -- VERSION VA12-12 RUNNING
KLI -- KLIO SIN: 1026., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
KLI
KLI
KLI
KLI
MICROCODE VERSION 231 LOADED
% NO FILE - ALL CACHE BEING CONFIGURED
ALL CACHES ENABLED
% 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-4l 8:00 6-AUG-79
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-12 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
MOS MASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
5-37
KLINIT
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 "SYO:XXBOOT.EXB;O" 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
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-12 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>
(carriage return was pressed here)
KLI -- KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
MOS MASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
KLI
KLI
KLI
MICROCODE VERSION 231 LOADED
ALL CACHES ENABLED
% 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-IO 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
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VA12-12 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
5-38
KLINIT
KLI -- KLIO
KLI -- KLIO
EXTENDED
INTERNAL
CACHE
SIN: 1026., MODEL B, 60 HERTZ
HARDWARE ENVIRONMENT
ADDRESSING
CHANNELS
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
4
TYPE MODULES/GROUPS
7 6 5 4 3 210
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 fixample 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-4l 8:00 6-AUG-79
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-12 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
MOS MASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
5-39
KLINIT
KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
KLI>VERIFY
KLI
? C-RAM DIFFERS AT 1
BAD 002556 012600 002000 002640 100002 10
KLI
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-4l 8:00 6-AUG-79
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-l2 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI -- KLIO 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>A Z
5-40
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-IIM operating system, many of
the RSX-IIM utilities were adapted to run on RSX-20F. This chapter
describes the following RSX-20F utilities:
6.1
6.1.1
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.
COP UTILITY
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)
6-1
RSX-20F UTILITIES
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:
6.1.3
/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).
Examples
The following command copies the contents of the floppy disk
to the floppy disk in DXO:.
in
DXl:
COP)DXO:=DXl:
The following command zeroes
deleted.
the
floppy
in
DXO:;
all
files
are
COP)DXO:/ZE
The following command reads the floppy in DXO:
and checks for errors.
COP)DXO:/RD
The following command copies the contents of the floppy in DXO:
the floppy in DXI: and verifies the copy.
onto
COP)DXI:=DXO:/VF
The following command prints the format of the COP
lists the available switches.
command
line
and
COP)/HE
COP)DEST-DEV:=SRC-DEV:/SW-- SWITCHES: /BL:N,M /CP /HE /RD /VF /ZE
6-2
RSX-20F UTILITIES
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
number xxx,xxxxxx.
the
specified
device
at
block
COP -- *DIAG* -- VERIFY ERROR AT BLOCK xxx,xxxxxx
An error was
xxx,xxxxxx.
detected
during
verification
at
block
number
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
system or is off-line.
not
in
the
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
is an illegal combination of commands.
switch.
This
COP -- *FATAL* -- FATAL I/O ERROR xxx ON Dxx AT BLOCK xxx,xxxxxx
An I/O error xxx (see Appendix A) has been detected
Dxx at block number xxx,xxxxxx.
on
device
COP -- *FATAL* -- ILLEGAL SWITCH /xx
The switch /xx is not a legal COP switch.
COP -- *FATAL*
/ZE
NO DESTINATION DEVICE SPECIFIED FOR /CP
OR
/VF
This message is self-explanatory.
COP -- *FATAL* -- NO SOURCE DEVICE SPECIFIED FOR /CP OR /VF OR /RD
This message is self-explanatory.
6-3
OR
RSX-20F UTILITIES
COP -- *FATAL* -- SOURCE DEVICE SPECIFIED FOR IZE
You specified a source device with the IZE switch.
illegal combination of commands.
COP -- *FATAL* -- SYNTAX ERROR:
This is
an
xxxxx •..
A syntax error was detected in the command string xxxxxx ••.
Perhaps the switch was not preceded by a slash (I) 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-II 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
RP04/RP06)
6.
Build the boot and home blocks
7.
Write the index and file headers
8.
Write the Master File Directory (MFD)
TOPS-20
file
system
(if
dual-ported
To initiate the INI utility, type the following:
CTRL/\ (control backslash)
PAR>MCR INI
INI>
6.2.2
Format
INI>dev:/switch Iswitch •.••
where:
dev:
is the device
initialized.
6-4
of
the
volume
to
be
RSX-20F UTILITIES
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-II structure (no
TOPS-IO/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
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
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.
6-5
at
at
the
the
RSX-20F UTILITIES
6.2.3
Examples
The following command sets the location of
middle of the volume.
the
index
block
in
the
INI)DBO:/INDX:MID
The following command declares the structure to be entirely Files-II.
INI)DBO:/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
header.
writing
out
the
bad-block
file
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
header.
detected
in
writing
out
the
checkpoint
file
INI -- COMMAND I/O ERROR
INI encountered an I/O error while attempting
command.
6-6
to
execute
the
RSX-20F UTILITIES
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
that is too large.
contiguous
region
INI -- DEVICE NOT IN SYSTEM
INI was unable to find the device on which it was
act.
supposed
to
INI -- DEVICE NOT READY
The device on which INI expects to operate is not in the
state.
ready
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
second time.
is
being
defined
as
bad
a
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.
6-7
RSX-20F UTILITIES
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
file header.
the
MFD
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
track of the disk.
INI -- RSX-20F FILE SYSTEM ALLOCATED LBSS THAN 256.
INI allocated less than 256 blocks of space to
file system.
the
last
BLOCKS
the
front
end
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
for the storage bitmap.
file
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.
6-8
header
RSX-20F UTILITIES
INI -- TOPS HOME BLOCK I/O ERROR
INI received an I/O error while trying to read
block.
the
TOPS
home
INI -- TOPS HOME BLOCK NOT FOUND
INI was unable to find the
TO~S
copy of the home block.
INI -- WRONG PACK - NO RSX-20F FILE SYSTEM ALLOCATED
INI was not able to find
specified pack.
6.3
6.3.1
any
front-end
file
system
on
the
MOU AND DMO
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.
devices available that can be mounted are as follows:
DBO: disk drive 0 (RP04/06)
DBn: disk drive n
DXO:
DX1:
DTO:
DT1:
(RP04/06)
floppy drive 0
floppy drive 1
DECtape drive 0
DECtape drive 1
FEO: pseudodevice FEO: 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>
6-9
The
only
RSX-20F UTILITIES
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:
6.3.3
The device that holds the volume to be dismounted.
Examples
The following command mounts the volume on device DKI:.
MOU>DKI:
The following command dismounts the volume on device DKI:.
DMO>DKI:
The following commaQd deletes the volume control block (VCB) for DKI:.
DMO>DKI:
6-10
RSX-20F UTILITIES
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 DMOj
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
in the system.
not
installed
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.
6-11
RSX-20F UTILITIES
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:
•
Copying files from one device or area to another
•
Deleting files
•
Renaming files
•
Listing file directories
•
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=infilel[,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
form
The
input
file
specifier
in
the
device: [UIC]filename.file type;version.
If the
filename, file type, and version are null,
then
*.*;* is the default.
switch
Anyone of the switches that can be entered.
subswitch
Anyone of the subswitches that
immediately after a switch.
6-12
can
be
entered
RSX-20F UTILITIES
6.4.4
PIP Switches And Subswitches
A switch consists of a slash (I) 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
lAP
APPEND
Adds files to the end of an
existing file.
No Switch
COpy
Copies a file.
IDE
DELETE
Deletes one or more files.
IFR
FREE
Prints out available space on
specified volume.
ILl
LIST
Lists a directory file.
IME
MERGE
Concatenates two or more files.
IPU
PURGE
Deletes obsolete version(s) of a
file.
IRE
RENAME
Changes the name of a file.
APPEND Switch (lAP)
Function
The lAP switch opens an existing
file(s) to the end of it.
file
and
appends
Format
PIP>outfile=infile[ [,infile2, ... ,infileN]/AP
6-13
the
input
RSX-20F UTILITIES
Examples
The following command opens FILE.DATil on DKl: and appends the
contents of files TEST.DATi2, FILE2.TXTi3, and PRACT.DATil to it.
PIP)DKl:FILEl.DATil=TEST.DATi2,FILE2.TXTi3,PRECT.DATilJAP
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 *.*i*, the input filename, file type, and version
are preserved.
The following subswitch can be used with the COpy switch:
jNV
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.DATil
SAMP.DATil.
on
DK2:
to
DKl:
as
PIP)DKl:SAMP. DAT i l =DK2:TEST.DAT;1
The following command copies all versions of all
.DAT from DKO:
to DKl:.
files
of
type
PIP)DKl:=DKO:*.DATi*
DELETE Switch (jDE)
Function
The JDE switch allows the user to delete files from a directory.
Format
PIP)infilel[, infile2, ..• infileN]jDE
6-14
RSX-20F UTILITIES
NOTES
1.
A version number must always be
/DE switch.
specified
with
the
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;l/DE
The following command deletes all files of type DAT or
the default directory on the default device.
TMP
from
PIP>*.DAT;*,*.TMP;*/DE
FREE Switch (/FR)
The /FR switch allows the user to print the available space on
specific device.
a
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>DKO:/FR
DKO: HAS 21081.
171798.
BLOCKS FREE, 150717 BLOCKS USED OUT OF
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
6-15
RSX-20F UTILITIES
/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)DBl:/LI
DIRECTORY DBl: [5~5]
25-JUL-79 10:50
BAD.TSKi7 9.
BOO.TSK;7 19.
EBOOT.EXB;15
DMP.TSK;7 47.
KLDISC.TSK;7
EDDT.EXB;l
MTBOOT.EXB;l
KLA213.MCB;213
MOU.TSK;6 5.
C 19-JUL-79 10:58
C 19-JUL-79 10:58
36.
20-JUN-79 09:17
C 19-JUL-79 15:02
5. C 19-JUL-79 15:02
52.
13-JUN-79 14:46
35.
19-JUN-79 07:47
36.
12-JUL-79 10:22
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)DBl:/BR
DIRECTORY DBl: [5,5]
PARSER.TSK;l
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
information:
Filename.
file type;
following
version
File identification number in the format (file number, file
sequence number)
Number of blocks used/allocated (decimal)
6-16
RSX-20F UTILITIES
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
W
E
D
read access permitted
write access permitted
extend privilege
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
each file will be printed on one line.)
information
PIP>DBl:/FU
DIRECTORY DBl: [5,5]
25-JUL-79 10:53
BAD.TSKi7 (7,17) 9./9. C 19-JUL-79 10:58
[5,5]
[RWED,RWED,RWE,R]
BOO.TSKi7 (10,33) 19./19. C 19-JUL-79 10:58
[5,5]
[RWED,RWED,RWE,R]
EBOOT. EXB i 15 (15,24) 36. /36.
20-JUN-79 09:17
[5,5]
[RWED,RWED,RWE,R]
RED.TSKi7 (36,1021) 6./6. C 19-JUL-79 10:58
[5,5]
[RWED,RWED,RWE,R]
19-JUL-79 11:04(5.)
KLI.TSKi5 (40,20) 64./64. C 29-JUN-79 15:02
[5,5]
[RWED,RWED,RWE,R]
12-JUL-79 10:20(74.)
SLP.TSKi7 (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.
where:
nnnn
blocks used
mmmm
blocks allocated
xxxx
number of files
6-17
FILES
on
RSX-20F UTILITIES
Example
PIP>DBI:/TB
TOTAL OF 2789.
BLOCKS IN 8S.
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 = infilel, infile2, ••• infileN[/ME]
Example
The following command concatenates version I of the file TEST.DAT
and version 2 of NEW.DAT from DK2:
and generates the file
SAMP.DAT on DKI:.
PIP>DKI:SAMP.DAT=DK2:TEST.DAT il,NEW.DATi2/ME
PURGE Switch (/PU)
The /PU switch allows you to delete obsolete versions of a file.
Format
PIP>infilel[,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
directory.
switch
the
following
files
are
in
a
TEST.DATil,TEST.DATi2,TEST.DATiS
Then the following command and switch are issued:
PIP>TEST.DAT/PU
After PIP has completed the
contains the following file.
TEST.DATi S
6-18
purging
action,
the
directory
RSX-20F UTILITIES
RENAME Switch (IRE)
Function
The IRE switch allows you to change the name of a file.
The
'subswitch INV 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;l.
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
insufficient for the file being copied.
output
volume
is
PIP -- ALLOCATION FAILURE ON OUTPUT FILE
Space available on the output volume is
file being copied.
insufficient
for
the
insufficient
for
the
PIP -- ALLOCATION FAILURE - NO SPACE AVAILABLE
Space available on the output volume is
file being copied.
PIP -- BAD USE OF WILD CARDS IN DESTINATION FILE NAME
The user specified a wildcard "*" for an output filename
the use of a wildcard is explicitly disallowed.
where
PIP -- CANNOT FIND DIRECTORY FILE
You specified a UFO
volume.
that
does
6-19
not
exist
on
the
specified
RSX-20F UTILITIES
PIP -- CANNOT FIND FILE(S)
The file(s) specified in the
specified directory.
command
was
not
found
in
the
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.
to indicate possible corruption.
The file
is
locked
The file is
locked
PIP -- CLOSE FAILURE ON OUTPUT FILE
The output file cannot be properly closed.
to indicate possible corruption.
PIP -- COMMAND SYNTAX ERROR
You entered a command that
rules.
does
not
conform
to
the
syntax
PIP -- DEVICE NOT MOUNTED
The specified device is not mounted.
PIP -- DIRECTORY WRITE PROTECTED
PIP cannot
directory
violation.
remove an entry from a directory
is
write-protected or because of
because the
a privilege
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.
6-20
RSX-20F UTILITIES
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
specified directory.
the
PIP -- FAILED TO GET TIME PARAMETERS
An internal system failure occurred while
obtain the current date and time.
PIP
was
trying
to
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
privileges to access the file.
do
not
have
the
necessary
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
privileges to write the file attributes.
have
the
necessary
PIP -- ILLEGAL COMMAND
You entered a command not recognized by PIP.
PIP -- ILLEGAL SWITCH
You specified an illegal PIP switch or used a legal
an illegal manner.
PIP -- ILLEGAL
11*11
switch
in
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.
6-21
RSX-20F UTILITIES
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:
•
•
The device is off-line.
•
The hardware failed.
•
The volume is full
•
The input file is corrupted.
The device is not mounted.
(output only) .
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
not have directories.
that
does
PIP -- NOT ENOUGH BUFFER SPACE AVAILABLE
PIP has insufficient I/O buffer space to perform the
command.
requested
PIP -- NO SUCH FILE(S)
The file(s) specified in the command are not in the
directory.
designated
PIP -- ONLY [*,*] IS LEGAL AS DESTINATION UIC
You specified a UIC other than [*,*] as the output file UIC for
a copy.
6-22
RSX-20F UTILITIES
PIP -- OPEN FAILURE ON INPUT FILE
or
PIP -- OPEN FAILURE ON OUTPUT FILE
The specified file cannot be opened.
following conditions can exist:
On EOF one or more of the
•
The file is protected against access.
•
A problem exists on the physical device.
•
The volume is not mounted.
•
The specified file directory does not exist.
•
The named file does not exist in the specified directory.
PIP -- OUTPUT FILE ALREADY EXISTS - NOT SUPERSEDED
An output file of the same name,
specified file already exists.
type,
and
version
as
the
PIP -- TOO MANY COMMAND SWITCHES - AMBIGUOUS
You specified too many switches or conflicting switches.
PIP -- VERSION MUST BE EXPLICIT OR
11*11
The version number of the specified
explicitly or as a wildcard.
6.5
6.5.1
file
must
be
expressed
RED
Function
The RED utility allo~s 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)
6-23
RSX-20F UTILITIES
6.5.2
Format
RED)nud:=SY:
where:
6.5.3
nud
the new device to which subsequent requests are
redirected.
SY
the system
directed.
device
from
which
requests
to
have
be
been
Examples
The following command redirects all I/O requests for SY:
to OBI:.
RED)DBl:=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 -- FllACP NOT FOUND ON SYSTEM
SYSTEM MUST BE RELOADED
RED could not find the Files-II ACP on the new
This situation forces the front end to crash.
system
device.
while
primary
RED -- PRIMARY PROTOCOL RUNNING
You attempted to redirect the system device
protocol was running. This is not allowed.
RED -- SYNTAX ERROR
The command string contained a syntax error.
6.6
6.6.1
SAV
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.
6-24
RSX-20F OTILITIES
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:
•
No tasks have outstanding I/O.
•
No devices are mounted.
•
No checkpoint files are active.
•
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
This special image is a task image
special format of 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, en~ries 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> [/switchl/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.
6-25
RSX-20F UTILITIES
6.6.3
/EX
causes SAV to exit after writing the save
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 horne 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.
default condition.
This
file.
switch
This
is
the
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:
the correct mode.
and found that it was not in
SAV -- *DIAG* -- DEVICE ALREADY MOUNTED
You have used the /MO switch in the command string to
the device you requested is already mounted.
SAV
and
SAV -- *DIAG* -- dev NOT READY
SAV attempted to use the specified device and found that it was
not ready.
6-26
RSX-20F UTILITIES
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
system on the specified boot device.
operating
SAV -- *DIAG* -- TOPS HOM BLOCK CONSISTENCY ERROR OR DBn:
The two home blocks which are read and compared by SAV are
consistent with each other.
not
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 devl NOT ON dev2
You have used the /DM switch, and SAV was not able to find
ACP it expected for device devl on device dev2.
the
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.
6-27
RSX-20F UTILITIES
SAV -- *FATAL* -- dev CANNOT BE DISMOUNTED
You gave SAV the /DM switch and SAV was unable to dismount
specified device.
SAV -- *FATAL*
the
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
resources.
exist
as
part
of
the
system
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.
protocol of any type is in force.
SAV cannot run
while
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
Appendix A for a list of the I/O error codes.
run.
See
SAV -- *FATAL* -- MOUNT ERROR
You specified the /MO switch in the SAV command string and
was unable to mount the specified device.
SAV
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.
6-28
RSX-20F UTILITIES
SAV -- *FATAL* -- SAVE FILE (5,5) NOT CONTIGUOUS
SAV was unable to find enough contiguous
requested save file.
space
to
write
the
SAV -- *FATAL* -- SYNTAX ERROR xx
SAV discovered a syntax error in your
xx.
command
string,
namely
SAV -- *FATAL* -- WRITE ERROR
While you were trying to boot from the save file,
discovered that the save file was not written correctly.
6.7
SAV
USER FILE DIRECTORY
6.7.1
Function
The UFD utility creates a User File Directory on a Files-II 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:
must be specified.
[group,member]
The owning UIC for the UFD.
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:
6.7.3
none;
/ALL:32
Examples
PAR>MCR UFD
UFD>DB2:[lO,lO]/ALL:900
6-29
The brackets are
RSX-20F UTILITIES
6.7.4
Error Messages
UFD -- CAN'T READ MCR COMMAND BUFFER
This message indicates
command string.
that
UFD
was
unable
to
parse
your
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
occurred on the volume.
an
I/O
error
UFD -- NOT FILES-II DEVICE
The device specified for the UFD was not a Files-II 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
UFD.
create
the
UFD -- WRITE ATTRIBUTES FAILURE
UFD encountered an error while writing the attributes of either
the MFD or the newly created UFD.
6-30
RSX-20F UTILITIES
6.8
ZAP
6.8.1
Function
The ZAP utility allows you to examine files on a Files-II volume and
to patch task lmages 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
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.
that
includes
eight
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-II.
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
6-31
relocation
RSX-20F UTILITIES
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 lAB switch. The three ZAP switches are
presented below.
lAB
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 lAB 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.
ILl
Displays the starting disk block and address boundaries
for each overlay segment in the file in the following
form:
ssssss:
aaaaaa-bbbbbb
where:
IRO
6.8.4
ssssss:
specifies the starting block in octal
aaaaaa
specifies the lower address boundary
octal
in
bbbbbb
specifies the upper address boundary
octal
in
Opens a file in read-only mode. When IRO 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.
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-II 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.
6-32
RSX-20F UTILITIES
ZAP's eight relocation registers, OR 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-II 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
specifier when ZAP is invoked.
the
/AB
switch
with
the
file
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-II prints in an object
module listing to access a location in a task image. The following
excerpts from a MACRO-II listing and a task image memory allocation
map generated by the task builder show how to use ZAP in task image
mode.
6-33
RSX-20F UTILITIES
The following lines represent assembled instructions from
source listing:
71
72
73
74
75
76
000574
000602
000604
000610
000614
000620
032767
001002
000167
061700
016000
010067
OOOOOOG OOOOOOG
000406
OOOOOOG
OOOOOOG
177534
2$
BIT
BNE
JMP
MOV
MOV
MOV
a
MACRO-II
#FE.MUP,$FMASK
2$
30$
$TKTCB,RO
T.UCB(RO) ,RO
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-II listing:
R/W MEM
DISK BLK
LIMITS: 120000 123023 003024 01556.
LIMITS: 000002 000005 000004 00004.
MEMORY ALLOCATION SYNOPSIS:
SECTION
• BLK.: (RW,I,LCL,REL,CONO
120232 002546 01382.
120232 002244 01188.
(TITLE: MYFILE, IDENT: 01, FILE: MCR.OLD;l)
$$RESL: (RE,I,LCL,REL,CON)
122476 000064 00052.
123000 000024 00020.
(TITLE: FMTDV, IDNET: 01, FILE: MCR.OLB;l)
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-II listing in the task image mode, specify
the command:
002:l20232+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:
•
Commands
•
Internal registers
•
Arithmetic operators
•
Command line element separators
•
The current location symbol
•
Addresses of location in storage
6-34
RSX-20F UTILITIES
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:
•
Open/close location commands
•
General purpose commands
•
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
in the quantity register.
contents
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.
6-35
RSX-20F UTILITIES
>
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;
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.
a
Display the jump and branch displacements from the
current locations to a target location.
return to MCR.
Display in octal the value of
the left of the equal sign.
R
the
expression
to
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:
OR - 7R
Relocation registers a
can be loaded with
relocated by the task
convenient means for
change the contents of
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
6-36
through 7.
These registers
the base address of modules
builder.
They provide a
indexing
into a module to
locations in the modules.
RSX-20F UTILITIES
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
register.
display
the
contents
of
the
constant
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
value.
Used to form a RADIX-50 string.
to
another
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
accurate than calculating it by hand.
is
faster
and
more
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
another command line element.
specification
from
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)
6-37
RSX-20F UTILITIES
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:
•
Byte offset format
•
Block number/byte offset format
•
Relocation register, byte offset format
Byte Offset Format
The byte offset format specifies a location in the task image file
follows:
as
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
from a specific block.
Enter this format as follows:
a
byte
offset
blocknum:byteoffset
This form for addressing locations can be used regardless
/AB has been used with the ZAP file specification.
The task builder prints a map that gives information
segments. For example:
R/W MEM
DISK BLK
LIMITS:
LIMITS:
on
of
whether
the
overlay
INDENT
FILE
120000 123023 033024 01556.
000002 000005 000004 00004.
MEMORY ALLOCATION SYNOPSIS:
TITLE
SECTION
. BLK.: (RW,I,LCL,REL,CON)
120232 002546 01382 •
120232 002244 01188. MYFILE
FMTDV
122476 000064 00052.
$$RESL: (RW,I,LCL,REL,CON)
123000 000024 00020.
01
01
MCR.OLB;l
MCR.OLB;l
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.
6-38
RSX-20F UTILITIES
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:12032i3R
3,574/
6.8.6
Set the value of relocation register 3.
Open the location 574 bytes offset from
(segment) 3, location 12032.
block
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
locations is 002.
both
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
44444
/
Display the contents of a word location.
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
6-39
RSX-20F UTILITIES
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:
•
Close the current location.
•
Direct ZAP to another location
(such as the preceding
location or a location referenced by the current location).
•
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,
direct ZAP to the preceding location, and to open that location.
to
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
Counter
Offset
from
the
Location
The underscore (_) command is used as follows:
•
Closes the current location
•
Directs ZAP to use the contents of this just-closed location
as an offset
•
Adds this offset to the next sequential location
•
Opens that location
6-40
RSX-20F UTILITIES
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
Just-Closed Location
Offset
from
the
Value
of
the
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.
6-41
RSX-20F UTILITIES
Close a Location -- Open the Location
Commands Began
Where
the
Current
Series
of
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
commands K, 0, and =.
6.8.7.1 The K Command: Compute
Register - The K command is
value of the nearest (less than
the currently open location, to
it in the quantity register.
purpose
Offset and Store It in the Quantity
used to compute the offset between the
or equal to) relocation register and
display the offset value, and to store
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.
ainK
Calculates the displacement
relocation register n.
between
address
The following example illustrates the use of the K command:
2:1172,OR
2:1232ilR
2:1202/
002:000020/000111
K
=0,000010
O,lOOilK
01,000040
6-42
a
and
RSX-20F UTILITIES
6.8.7.2 The 0 Command: Display Branch and Jump Displacement from the
Current Location - The 0 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 locat10n.
This displacement is used in the second word of a
jump instruction when such an instruction uses relative addressing.
The 0 command can be entered in the following formats:
aO
Displays the jump and branch displacements from
current location to the target of the branch.
a;KO
Displays the jump and branch
location a to target location K.
displacements
the
from
The following example illustrates the use of the 0 command:
2:ll72;OR
0,101
002:000010/000005
0,200
00006>000003
0,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.
specified
was
not
within
the
overlay
segment
ZAP -- CANNOT BE USED IN BYTE MODE
The commands @, #, and> cannot be used when a location is open
as a byte.
6-43
RSX-20F UTILITIES
ZAP -- ERROR IN FILE SPECIFICATION
The file specification was entered incorrectly.
ZAP -- ERROR ON COMMAND INPUT
An I/O error occurred while a command
could be a hardware error.
was
being
read;
this
ZAP -- I/O ERROR ON TASK IMAGE FILE
An I/O error occurred while reading or writing
being modified;
this could be a hardware error.
to
the
file
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
specification for an internal register.
was
not
a
valid
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.
6-44
RSX-20F UTILITIES
ZAP -- SEGMENT TABLE OVERFLOW
ZAP does not have enough room in its partition to
segment table.
construct
a
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.
6-45
CHAPTER 7
RSX-20F MONITOR
Before examining the internals of the RSX-20F monitor, let us
the functions of an operating system. These functions are:
o
To provide service to the I/O devices in the form of
drivers
o
To control the scheduling of the
monitor call and queue mechanism
o
To control the scheduling of tasks
o
To provide common routines that any program can use
device
drivers
via
recall
device
some
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-IO 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-IO 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.
7-1
RSX-20F MONITOR
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
7-2
RSX-20F MONITOR
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 l6-word block for a task to read
DMGMP - Get Partition Parameters Directive
Gets information about a partition and puts it
into a l6-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
DEC tape device driver
(TOPS-10)
DXDRV
(or) Floppy disk device driver
(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.)
7-3
RSX-20F MONITOR
70000
.FREPL
Free pool
75777
76000
.BGBUF
Big buffer
77777
100000
GEN
General partition
FIITPD
FILES-II area
I/O Page
I/O address area
+-----------------------------------------------------+
145377
145000
157777
160000
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-IO 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 FIITPD partition is a system partition and usually hosts the
FILES-II Ancillary Control Processor (FIIACP). 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-II
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.
7-4
RSX-20F MONITOR
+-----------------------------+
177776
I/O PAGE
-----------------------------
160000
F11TPD
-----------------------------
145400
GEN PARTITION
----------------------------.BGBUF
100000
-----------------------------1
.FREPL
076000
-----------------------------
070000
RSX-20F EXEC
+-----------------------------+
Figure 7-2
000000
RSX-20F Memory Layout
7-5
RSX-20F MONITOR
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
FEDRV
DBDRV
DXDRV
DTDRV
TTYDRV
LPTDRV
CDRDRV
FIIACP
QPRDTE
INSTAL
<optional>
NULL
DTE device driver
FE device driver
RP04 device driver
Floppy disk device driver
DEC tape driver
Terminal device driver
LPT device driver
Card-reader device driver
FILES-II Ancillary Control Processor
Queued Protocol
Installs task into GEN partition
Task chosen to run in GEN partition
Null task
Notice that it is a task (INSTAL) that installs the task in the
partition. The Executive has a system partition for its own use.
GEN
FIIACP stands for FILES-II Ancillary Control Processor. An Ancillary
Control Processor (ACP) is a privileged task that extends the function
of the Executive. FIIACP 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 IS-word
block (referred to as an STD node) that contains the information shown
in Figure 7-3.
7-6
RSX-20F MONITOR
+-------------------------------------------------------+
Task Name
o 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 bits)
32 S.DL
+-------------------------------------------------------+
Task Flags (Bytes 6 and 7)
SF.TA==OOOOOI
SF.FX==000002
SF.EX==000004
SF.IR==040000
SF.ST==lOOOOO
-
Bit 0
Set
Bit 1
Set
Bit 2 - Set
Bit 14 - Set
Bit 15
Set
-
Figure 7-3
when
when
when
when
when
task is
task is
task to
install
task is
active
fixed in memory
be removed on exit
is requested
system task
System Task Directory (STD) Node
The IS-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.
7-7
RSX-20F MONITOR
+-------------------------------------------------------+
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)
Task's Run Priority
(null)
1/64th of real address of load image
Task Flags byte
Task Status
System Task Directory (STD) entry address
6 A.PD
10
12 A.HA
14 A.FB/A.TS
16 A.TD
Task's Significant Event Flags
(32 bits)
20 A.EF
Task's Event Flags Masks
(64 bits)
24 A.FM
Power Fail AST Trap Address
+-------------------------------------------------------+
/A.RP
34 A.PF
Status Bits (Byte 14)
TS.LRQ==02
TS.TKN==04
TS.LRF==06
TS.RON==lO
TS.SOS==12
TS.WFO==14
TS.WFl==16
TS.WF2==20
TS.WF3==22
TS.WF4==24
TS.EXT==26
-
Bit 1
Task load request queued
Bit 2
Task waiting for termination notice
Task load request failed
Task is running
Task is suspended
Task is waiting for an event 1-14
Task is waiting for an event 17-32
Task is waiting for an event 33-48
Task is waiting for an event 49-64
Task is waiting for an event flag 1-64
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.
7-8
RSX-20F MONITOR
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, ASXEl, 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:
7.3
o
Control can
directive.
be
returned
to
the
task
that
issued
the
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.
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
004
010
014
020
024
030
034
114
Trap
CPU errors
Illegal and reserved instructions
BPT
lOT
Power Fail
EMT
TRAP
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.
7-9
RSX-20F MONITOR
The PDP-II 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.
lOT
is used by RSX-20F for error reporting. When RSX-20F detects an error
that is considered serious enough to crash the system,
an lOT
instruction is issued.
Power fail conditions cause an automatic
software operations mentioned above.
trap
There are two places in RSX-20F where traps
following events cause a trap to location COMTRP:
•
lOT instruction
•
TRAP instruction
•
BPT (break point trap)
•
Trap to 10 (illegal instruction)
•
Trap to 4 (device or memory timeout)
•
Illegal Interrupts
•
Parity Error
independent
are
of
handled.
the
The
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 lOT error instruction
3.
Dispatches to the lOT handling routine
When it is
functions:
called,
the
IOTTRP
routine
performs
the
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 II-Halt message on the CTY (and KLINIK)
7-10
following
RSX-20F MONITOR
7.
Requests the KL to reload the PDP-II via the DTE20
8.
Rings the KL doorbell
9.
Loops through the previous step until the PDP-II is reloaded
The routine to handle EMT instructions is comparable in a way to
JSYS's under TOPS-20. Since the PDP-II 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-II. The KL handles the instruction
by dispatching to the right routine.
The PDP-II 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.
7-11
RSX-20F MONITOR
Phone
line
Remote
terminal
local
Modem
Remote
Modem
I
I
Front
End
Modem control
lines
MR-S-165-79
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.
7-12
RSX-20F MONITOR
$DMINT
RSX-20F
RECEIVES
INTERRUPT
NO (CARRIER TRANSITION)
OFF
SET
CARRIER WAIT
SET RIP
ON
YES
TURN OFF
CARRIER WAIT
DISMISS
INTERRUPT
RAISE DTR
CLEAR RIP
SET
CARRIER
WAIT
RAISE RTS
YES
SET
RIP
DISMISS
INTERRUPT
CLEAR
LINE
YES
DISMISS
INTERRUPT
SEND
CONNECT
MESSAGE
TO KL
SET
AUTO-BAUD
WAIT
DISMISS
INTERRUPT
DISMISS
INTERRUPT
MR-S-424-79
Figure 7-6 Modem Control Algorithm
7-13
RSX-20F MONITOR
When a remote user dials up the local computer system, the modem
raises the Ring Indicate signal
(RI)
which causes the DM-llBB 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.
7-14
RSX-20F r·l0NITOR
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.
CALL FROM
TTYDRR
YES
NO
NO
THIS LINE
ISOK;
PROCEED TO
NEXT LINE
HANG UP
PHONE
CLEAR
RIP
FLAG
PROCEED TO
NEXT LINE
MR-S-425-79
Figure 7-7 Modem Timeout Algorithm
7-15
RSX-20F MONITOR
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.
7-16
RSX-20F MONITOR
MODULE $DHINP
DH11
SUPPLIES
CHARACTER
NO
NO
YES
SEND CONNECT
MESSAGE TO KL
TURN OFF
AUTO·BAUD
WAIT FLAG
DISMISS
CHARACTER
NO
NO
CLEAR
ERROR
COUNT
DISMISS
CHARACTER
INCREMENT
ERROR COUNT
DISMISS
CHARACTER
YES
SET INPUT
SPEED TO
ZERO
DISMISS
CHARACTER
CREATE
SYSERR
ENTRY
·11
PERFORM
RELEVANT
OPERATION
M R-S·426· 79
Figure 7-8 Character Input Algorithm
7-17
RSX-20F MONITOR
YES
SEND
CHARACTER
TO KL
NO
YES
YES
YES
DISCARD
CHARACTER
HOLD
CHARACTER
IF BUFFER
NOT·FULL
PROCESS
XOFF
NO
SEND
CHARACTER
TO KL
MR-S-427-79
Figure 7-8 Character Input Algorithm (Cont.)
When a DH-ll 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
7-18
RSX-20F MONITOR
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-II 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 1S 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.
7-19
RSX-20F MONITOR
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.
7-20
RSX-20F MONITOR
.DHTMO
YES
SET TRAP
VECTOR
NO
CLEAR
RESET
FLAG
GETDH
ADDRESS
DONE
SET
LINE #
YES
COUNT LINES,
SET UP DH
TABLE FOR
ACTUAL DH'S
RETURN
LOG ERROR,
RESET DH,
SET RESET
FLAG
YES
SET UP
SOFTWARE
STATE OF
LINE
NO
YES
SET
LINE SPEED
NO
YES
GETDM
ADDRESS
SET
LlNE#
ENABLE
DATA·SET
INTERRUPT
M R-S-428· 79
Figure 7-9 Terminal Timeout Algorithm
7-21
RSX-20F MONITOR
YES
ENABLE
LINE
NO
ENABLE
HARDWARE
INTERRUPTS
YES
NO
NEXT
LINE
HARDWARE
ENABLE
DH
NO
NEXT
DH
MR-S-429-79
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.
7-22
RSX-20F MONITOR
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-ll 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-ll. If this happens, a trap to the exit
code occurs. If this is not startup time, the actual number of
DH-ll's connected to the system is already known to .DHTMO. If the
routine has scanned all existing DH-ll'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-ll'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-ll .
• DHTMO then sets the reset flag to show that this DH-ll 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-ll 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-llBB status by obtaining
the DM-llBB address (as it obtained the DH-ll 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-ll
to which the line is connected.
If not, .DHTMO increments its
line-number counter and proceeds to check the next line on the DH-ll.
If .DHTMO is finished with the DH-ll, it checks to see if the DH-ll
was reset (by checking the reset flag). If the DH-ll was reset,
.DHTMO hardware enables the DH-ll and increments the DH-ll counter.
If it was not reset, .DHTMO simply increments the DH-ll counter. In
either case, .DHTMO returns to clear the reset flag, and proceeds to
check the rest of the DH-ll's.
7.4.2.3 Character Output Routine - The following chart
algorithm RSX-20F uses to process output to terminals.
7-23
shows
the
RSX-20F MONITOR
MODULE $DHOUT
INTERRUPT
IS
GENERATED
SETUP
FOR
THIS DH
CHOOSE
NEW LINE
NO
YES
DISMISS
INTERRUPT
YES
CALL ·11
1/0
ROUTINES
NO
NO
M R-S·430- 79
Figure 7-10 Character Output Algorithm
7-24
RSX-20F MONITOR
YES
COUNTS/A
DONE FOR
THIS LINE
YES
CRASH
COMPUTE
BYTES
PENDING
IN PACKET
NO
YES
YES
YES
DEALLOC
PACKET'S
NODE
NO
NO
NO
START
S/A
YES
.DHSTO
NO
START
NEXT
PACKET
MR-5·431·79
Figure 7-10 Character Output Algorithm (Cont.)
7-25
RSX-20F MONITOR
MARK LINE
TO EXPECT
OUTPUT
INTERRUPT
ACK
LINE
DISMISS
INTERRUPT
M R-S-432-79
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-ll'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-ll 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-ll, starting with line o.
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-ll have
been checked, the interrupt is dismissed. If there are still lines to
be checked on this DH-ll, $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-ll, 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-II I/O or KL I/O.
PDP-II 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
7-26
RSX-20F MONITOR
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 deal locates 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-AIls.
If not, STNXT starts the Send-All transmission, and calls
.DHSTO (for an description of .DHSTO see below).
If the line is suppressing Send-AIls, 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.
7-27
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-II 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:
8.1
•
Deposit/Examine
•
TO-II Transfer/TO-IO Transfer
•
Doorbell Function
•
Diagnostic Operations
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-II'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-II processor represented in the
Communications Region to determine its protocol processor number,
because each PDP-II has a space which it can examine in the header.
By examining the first word of its relocated examine space, the PDP-II
can determine its protocol processor number and thereby locate its
area in the Communications Region.
The PDP-II also knows that the
first word of the Communications Region itself is at location N+l,
where N is the PDP-II's protocol processor number.
Thus, when the
PDP-II wishes to communicate with another processor, the PDP-II 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.
8-1
DTE HARDWARE OPERATION
The following figure illustrates the Communications Region.
+------------------------------+
I Headers for Other Processors I
Header Word for Processor 2 I
Header Word for Processor 1 I
Header Word for Processor 0 I
PIDENT
o
CMLNK
1
2
3
4
CMKAC
5
6
CMPIWD
7
CMPGWD
10
CMPDWD
11
CMAPRW
12
CMDAPR
13
14
15
16
I
-------------------------------I
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
8-2
DTE HARDWARE OPERATION
The information contained in each word of the Communications Region is
described below.
Processor Header Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\
Must be
zero
1\
Processor number
I
I\
blank
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- J
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-II's owned area by means
of an offset from word 0 of the Communications Region.
PI DENT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\ CMVER 1'---1\
/\
blank
CPVER
CMNPR
I
CMTEN
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
___~/\
1
CMSIZ
CMNAM
The PIDENT word provides information about the owning processor
its area.
The separate fields in PI DENT are described below.
otherwise,
CMTEN
This bit is one if this area belongs to a KL;
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
this area, including the owning processor.
CMSIZ
This area contains the size of the entire
area in eight-word blocks.
CMNAM
This area contains the name (serial number) of
that owns this area.
8-3
represented
owning
the
and
it
in
processor's
processor
DTE HARDWARE OPERATION
CMLNK Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~----------~----~----~--------------------------Pointer to next
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
________________
~--~~-------------------------------JI
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:
+-----------------------------------------------------+
I 01 11 21.31 41 51 61 71 81 9110111112113114115'1161171
+-----------------------------------------------------+
\~------------~----------~------------------------Owning processor's
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
------------------~--------------------------------~I
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:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~-----------------------------------------------------CONI PI, Word
+-----------------------------------------------------+
1181191201211221231241251261271281291301311321331341351
+-----------------------------------------------------+
----------------------------------~------------------~I
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-10jDECSYSTEM-20 Processor Reference
Manual.)
8-4
DTE HARDWARE OPERATION
CMPGWD Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~--------~~~~=-~--~--------------------------CONI PAG, Word
+-----------------------------------------------------+
118119120121122123124125126127J28129130131132133134135I
+-----------------------------------------------------+1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- J
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-10jDECSYSTEM-20 Processor Reference Manual.)
CMPDWD Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~--------------------------~-------------------------DATAl PAG Word
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--------------------~~~~~~=-~~----------------~j
DATAl PAG Word (Cont.)
The CMPDWD word is the storage area provided for reading the process
status of the Pager.
The DATAl PAG, instruction puts the status
information here.
(For more information on the Pager see the
DECsystem-10jDECSYSTEM-20 Processor Reference Manual.)
CMAPRW Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~--------------------------~-------------------------CONI APR, Word
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--------------------------~-----~----------------~I
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-10jDECSYSTEM-20 Processor
Reference Manual.)
8-5
DTE HARDWARE OPERATION
CMDAPR Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~------------~~~~=-~--~---------------------DATAl APR, Word
+-----------------------------------------------------+
1181191201211221231241251261?7128129130131132133134135I
+-----------------------------------------------------+
------------------~~----~--~--~------------~I
DATAl APR, Word (Cont.)
The CMDAPR word is the storage area provided for reading the current
break conditions from the Arithmetic Processor.
The DATAl APR,
instruction puts the information here.
(For more information on break
conditions
and
the
Arithmetic
Processor,
see
the
DECsystem-lOjDECSYSTEM-20 Processor Reference Manual.)
TOPID Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
I
CMPRO
I '--../\
CMDTN
1\
blank
1"-
CMVRR
CMDTE
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--1\
j
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
"To" processor and the owning processor.
CMDTN
If CMDTE is one, this area contains the number of
that connects the two processors.
CMVRR
This area designates the version of protocol
the two processors.
CMSZ
This area contains
blocks.
CMPNM
This area contains the processor number of the "To" processor.
the
size
8-6
of
this
block
between
in
the
use
in
this
DTE-20
between
eight-word
DTE HARDWARE OPERATION
CMPPT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~-----------------------------------------------------Pointer to "To"
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--------------------~------~--------------------------~I
processor's owned area
The CMPPT word contains a pointer to the area
Region that is owned by the "To" processor.
in
the
Communications
STATUS Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
CMbwF CM~NI
blank
I
blank I
I I\
CML11
I\
CMTST
CMQP
I
CMFWD
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
I
CMIP
I\
CMOIC
1\
CM1IC
I
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-II sets this
bit to one (in its own area) to notify the KL that the PDP-II
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-II's;
it is
therefore not discussed further in this manual.
8-7
DTE HARDWARE OPERATION
CMTST
This bit provides the PDP-II 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-II 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-II finds this bit to be zero after an Examine
or a Deposit, the PDP-II 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 iriitializes the
Communications Region.
CMFWD
This bit is a flag, set by the sending processor to
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 recelvlng 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.
CMOIC
This area contains a wrap-around counter that is incremented
in the PDP-II's area each time a direct transfer request is
initiated by the PDP-II. The KL keeps the last value of CMOIC
in the TO-II section of its own area.
If the KL's saved value
differs from the current copy in the PDP-II's area,
the KL
starts a TO-IO packet transfer.
The difference between the
KL's copy and the copy the PDP-II increments should be either
zero or one.
If the difference is greater than one, the
PDP-II has tried to send a packet before the previous packet
transfer was finished.
This count is not incremented when the
PDP-II sends a TO-IO 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.
CMIIC
This counter has the same function for the
CMOIC area performs for the KL.
8-8
PDP-II
indicate
which
the
DTE HARDWARE OPERATION
CMQCT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~--------------------~--~-----------------------blank
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
______
I
~A
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:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~------------~~~~------~--~-----------------Reload parameter for
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
______________________~-------------------------------JI
II
To II processor
This word contains a copy of the liTo" processor's reload word.
The
copy is saved by the owning processor in case the "To" processor
crashes.
CMKAK Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\~----------------~~----~--~~~------------------Pointer to "To"
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--------------------------~----~--------------------~I
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.
8-9
DTE HARDWARE OPERATION
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 DTEOi DTEl, 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.
+------------------------------+
1
DLYCNT
1774400
DEXWD3
1774402
DEXWD2
1774404
DEXWDI
1774406
TENADI
1774410
TENAD2
1774412
TOIOBC
1774414*
TOllBC
1774416
TOIOAD
1774420
TOllAD
1774422
TOIODT
1774424
TOllDT
1774426
DIAGI
1774430
DIAG2
1774432
STATUS
1774434*
DIAG3
1774436
+------------------------------+
Figure 8-2 DTE-20 Registers
The registers which have asterisks beside their addresses, TOIOBC 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-II is writing into the Status Word, and another is valid if the
PDP-II 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-II was reading the Status Word. This is logical
8-10
DTE HARDWARE OPERATION
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
read state.
Word
in
the
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
I un~sedl RA~ISOI DX~RDII ToioDBI EB~EL I BplRERI DE~DONI INtSON
TOIODN
TOIOER
TOIIDB
MPEl1
TOIIDN
NULSTP
RM
TOllER
Figure 8-3 DTE-20 Status Word in Read State
The bits in the read version of the Status
names and functions:
Word
have
the
following
Bit
Symbol
Function
15
TOIODN
TO-I0 NORMAL TERMINATION
If this bit is set, the TO-IO byte count went to
zero or the PDP-II program set the DONIOS bit in the
write version of the status word.
TOIODN will not
be set if an error termination occurred.
See TOIOER
if you believe an error has occurred.
UNUSED
14
13
TOIOER
TO-IO 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-II memory
parity error is indicated by the MPEll bit of the
Status Word being set.
The PDP-II 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 (TOIOER) is set, TOIODN will not be set.
12
RAMISO
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
TOIIDB
KL REQUESTED PDP-II INTERRUPT
When this bit is set, the KL processor has requested
a PDP-II doorbell interrupt by means of a eONO DTEn,
TOIIDB instruction.
10
DXWRDI
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.
8-11
DTE HARDWARE OPERATION
09
MPEll
PDP-II MEMORY PARITY ERROR
If this bit is setithe PDP-II memory had a parity
error during a data fetch for a TO-IO byte transfer.
Parity errors can only be detected if the PDP-II has
one of the MFllUP or MFllLP memory parity options.
08
TOIODB
PDP-II REQUESTED KL INTERRUPT
When this bit is set, the PDP-II has requested a
KL
doorbell interrupt by writing the INTIOS bit of the
write version of the Status Word, and the KL has not
yet cleared the bit.
07
TOllDN
TO-II TRANSFER DONE
This bit is set when the TO-II byte count equals
zero,
when a transfer stops on a null character, or
when a PDP-II program has set the error status bit
in the write version of the Status Word (DONllS).
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-II transfer stopped
because the stop bit was set (the stop bit is the
ZSTOP bit of the TOllBC register).
04
BPARER
EBUS PARITY ERROR
This bit is set if the DTE-20 detects an EBUS parity
error during a TO-ll DTE-20 byte transfer or examine
transfer.
03
RM
RESTRICTED MODE
If this bit is set,
the attached PDP-II
is in
mode.
Otherwise,
restricted
the PDP-II is in
this
bit
is
The value of
privileged mode.
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-II 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
TOllER
TO-II BYTE ERROR TERMINATION
If this bit is set, an error occurred during a TO-II
byte transfer, or the PDP-II program set the error
bit ERRllS in the write version of the Status Word.
The TOIlDN 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-II 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).
8-12
DTE HARDWARE OPERATION
The following figure illustrates the form of the Status
write state.
Word
in
the
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
I DO~lOCI ER~lOCI IN~llCI IN~lOSI DO~llCI EBbsPCI EBbsPSI ER~llC
DONIOS
ERRIOS
INTllS
PERCLR
DONllS
INTRON
INTROF
ERRllS
Figure 8-4 DTE-20 Status Word in Write State
The bits in the write version of the Status Word
names and functions:
have
the
following
Bit
Symbol
Function
15
DONIOS
SET NORMAL TERMINATION STATUS
This bit on a write is provided for diagnostic
purposes only.
Writing a one to this bit sets the
TOIODN bit in the read version of the Status Word.
Writing a one does not terminate a transfer in
progress.
14
DONIOC
CLEAR NORMAL TERMINATION STATUS
Writing a one to this bit clears the TOlODN
the read version of the Status Word.
bit
in
13
ERRIOS
SET ERROR TERMINATION STATUS
Writing a one to this bit sets the TOIOER bit in the
read version of the Status Word.
12
ERRIOC
CLEAR ERROR TERMINATION STATUS
Writing a one to this bit clears the TOIOER
the read version of the Status Word.
bit
in
11
INTllS
SET PDP-II INTERRUPT STATUS
Writing a one to this bit sets the TOllDB bit in the
read version of the Status Word, resulting in a
doorbell interrupt to the PDP-II.
10
INTllC
CLEAR PDP-II INTERRUPT STATUS
Writing a one to this bit clears the TOIlDB 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-II memory
parity error flag, the MPEll bit in the read version
of the Status Word.
08
INTIOS
SET KL INTERRUPT STATUS
Writing a one to this bit sets the TOIODB bit and
does a CONI
[TOlODB]. This results in a vectored
interrupt to location 104+B*N in the KL EPT.
8-13
DTE HARDWARE OPERATION
07
DONllS
SET TO-II TERMINATION STATUS
Writing a one to this bit sets the TO-II normal
termination flag,
which is the TOllDN 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
DONllC
CLEAR TO-II TERMINATION STATUS
Writing a one to this bit clears
termination status flag, TOllDN.
the
TO-II
normal
05
INTRON
INTERRUPTS ON
Writing a one to this bit enables the DTE-20 to
generate PDP-II 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
ERRllS
SET TO-II ERROR TERMINATION STATUS
Writing a one to this bit sets the TO-II error
which is bit 1, TOllER, in the
termination flag,
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
ERRllC
CLEAR TO-II ERROR TERMINATION STATUS
Writing a one to this bit clears the
termination flag, TOllER.
8.2.2
TO-II
error
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.
8-14
DTE HARDWARE OPERATION
Diagnostic Word 1 has the following form when being written:
Bit
Symbol
Function
15-09
DSOO-DS06 These bits specify the diagnostic selection code.
(For the meanings of these bits see the read form of
Diagnostic Word 1.) If DSOO and DSOI are both zero,
write functions can be done while the system is
running without being in diagnostic mode.
Thus the
PDP-II 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.
This bit must be zero.
06
05
DlOll
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
DlOll bit is on).
03
DIKLIO
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-lO).
Setting
the bit to a zero causes the data to be received
(TO-II) .
Unused
01
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:
Function
Bit
Symbol
15-12
DSOO-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.
8-15
DTE HARDWARE OPERATION
10
DS05
If this bit is a one,
the KL is running.
The
microcode
checks
this
flag
between
PDP-IO
instructions, and enters the halt loop if the flag
is off.
This flag is under control of the PDP-II
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
deposit or examine.
07
TOIO
If this bit is set, the interface major state
TO-IO transfer.
is
a
06
TOll
If this bit is set, the interface major state
TO-II transfer.
is
a
05
DIOll
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.
major
state
is
Unused or zero.
03-01
00
interface
DCOMST
If this bit is
progress.
set,
a
diagnostic
command
is
in
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
RFMADO
RAM FILE MIXER (RFM) ADDRESS BIT 0
Read: This bit is set to the contents
address bit o.
Write: This bit must be zero.
15
RFMADO
14
RFMADI
EDONES
13
RFMAD2
RFMAD2
12
RFMAD3
RFMAD3
11-07
of
RFM
RFM ADDRESS BIT 1
Read: This bit is set to the contents of RFM
address bit 1.
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.
RFM ADDRESS BIT 2
Read: This bit is set to the
address bit 2.
Write: This bit must be zero.
RFM ADDRESS BIT 3
Read: This bit is set to the
address bit 3.
write: This bit must be zero.
Unused
Read: These bits are always zeros.
Write: These bits must be zeros.
8-16
contents
of
RFM
contents
of
RFM
DTE HARDWARE OPERATION
06
DRESET
DRESET
DTE-20 RESET
Read: This bit is zero.
write:
If a one is written to this bit, the
is reset.
DTE-20
Unused
Read: This bit is zero.
write: This bit must be zero.
05
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.
Unused
00
Diagnostic Word 3 has the following form when being read or written:
Bit
Symbol
Function
15
SWSLLT
SWAP SELECT LEFT
Read: CNTl[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
is on. This bit is for diagnostic use unly.
Write: This bit must be zero.
flop
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.
13-08
UNIBUS Data Bits
INITIAL
1st Shift
2nd Shift
3rd Shift
4th Shift
write:
014
009
004
A04
014
013
008
003
A03
013
012
007
002
A02
012
011
006
001
AOI
011
AOO
AOO
AOO
AOO
AOO
This bit must be zero.
Unused
Read: This bit is zero.
Write: This bit must be zero.
07-06
05
015
010
005
000
015
SCD
04
DUPE
COD
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.
DATO UNIBUS PARITY ERROR
Read:
If this bit is a one, a DATO UNIBUS parity
error has been detected by the DTE-20.
Write: Writing a one to this bit clears the DUPE
and DURE error flags.
8-17
DTE HARDWARE OPERATION
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
has occurred.
write:
This bit must be zero.
01
NUPE
CNUPE
00
8.2.3
TOIOBM
receiver
error
NPR UNIBUS PARITY ERROR
Read:
If this bit is a one, a UNIBUS parity error
has occurred on an NPR (byte) transfer.
write: Writing a one to this bit clears the NUPE
flag.
TO-IO BYTE TRANSFER MODE
Read: This bit is zero.
Write: writing a one to this bit causes TO-IO byte
transfers to be done in byte mode from PDP-II
memory. Writing a
zero to the bit causes the
transfers to be in word mode.
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.
TOIlDT
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
\
In Byte Mode:
Data from KL
bits 28-35 or
20-27
/
\
In Word Mode:
Data from KL
bits 20-27
TOllDT
In Byte Mode:
Data from KL
bits 20-27 or
28-35
/
In Word Mode:
Data from KL
bits 28-35
This register contains the last byte or word transferred
across the DTE-20 to the PDP-II.
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 TOllAD is even, the left byte
of TOIIDT will contain bits 28-35;
if TOllAD is odd, the
left byte of TOIIDT 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.
8-18
DTE HARDWARE OPERATION
T010DT
+-----------------------------------~--------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
\
In Byte Mode:
All O's
/\
Data for KL
bits 28-35
/
In Word Mode:
Data for KL
bits 20-27
T010DT
This register contains the remainder of the data sent to the
KL during a TOKL10 byte transfer. Its use is similar to
that of T011DT.
T011AD
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
Byte address in PDP-II memory
where next byte received will
be stored
T011AD
This register is used by the PDP-II during byte transfers.
T011AD contains the address of the area in PDP-II 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-II byte transfer progresses.
T010AD
+--------------------------------------------------------------+
115114 113112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
Byte address in PDP-II memory
from which next byte to be
transferred is to be taken
T010AD
This register is also used by the PDP-II during byte
transfer operations.
T010AD contains the address of the
area in PDP-II memory where the data to be transferred
resides.
8-19
DTE HARDWARE OPERATION
T011BC
+---------------------------~----------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
L
Oll"
o=
~-----l
bits 11-00
Negative Byte Count
~
Set byte mode in DTE-20
Set word mode in DTE-20
Stop transfer on null character from
EBOX after storing in PDP-II memory;
do not increment TOIIAD
=
I
o
Interrupt both processors on normal
termination (ignored on error termination)
Interrupt PDP-II only on normal termination
(ignored on error termination)
When the PDP-II loads this register (the TO-II byte count)
with the number of bytes to be transferred, the DTE-20
begins the TO-II transfer operation.
T011BC
T010BC
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
I
b
ball"
~
o
bits 11-00
Negative Byte Count
~
Interrupt both processors at completion
of current TO-10 transfer
Interrupt KL only at completion of current
TO-10 transfer
When the KL loads this register the DTE-20 initiates the
TO-10 transfer.
The PDP-II 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-II wishes
to send (in the case of a "scatter write").
T010BC
DLYCNT
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
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-II and
TO-10 transfers must be in same 32K memory
bank)
8-20
DTE HARDWARE OPERATION
DLYCNT
Since the DTE-20 is clocked from the EBUS clock module,
which runs at a different rate from the PDP-II clock, a
compromise in timing must be effected in order
to transfer
data over
the DTE-20.
Therefore,
the PDP-II 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.
DEXWDl-3
+--------------------------------------------------------------+
I
KL Data bits 20-35
IDEXWD3
+--------------------------------------------------------------+
I
KL Data bits 4-19
IDEXWD2
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 100lDEXWDl
+--------------------------------------------------------------+
KL Data
Must be zero
bits 0-3
/
\
DEXWDl-3
During a deposit or examine operation,
the data being
deposited or examined appear
in these three registers.
However, DEXWDI must always contain zeros in the high-order
bits.
TENADl-2
o
Address space
1
4
1
o
EPT
Executive virtual
Physical
Deposit
Examine
I./
=
~ = Protection
Protection and relocation off
and relocation on
~---A--l-l--~\ /
zeros
High order KL
address (13-19)
\
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 100lTENADl
+--------------------------------------------------------------+
I
Low order KL address (20-35)
ITENAD2
+--------------------------------------------------------------+
TENADl-2
The PDP-II uses these two registers in examine and deposit
operations to specify the KL address.
When the PDP-II
writes TENAD2 the deposit/examine operation is initiated;
thus, all necessary data must be written to DEXWDl-3 before
TENAD2 is written.
8-21
DTE HARDWARE OPERATION
8.3
USING THE DTE-20 REGISTERS
Each of the four DTE-20 operations
(Deposit/Examine, TO-IO/TO-ll
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-II processor:
Register
Data Loaded
DEXWD3
DEXWD2
DEXWDI
TENADI
TENAD2
Data Word 3
Data Word 2
Data Word 1
Address Word 1
Address Word 2
For an Examine operation, the KL address is loaded into TENADI and
TENAD2.
The result of the Examine is put into DEXWDI 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
(TENADl) 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 TENADl) 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
1
Executive Process Table
Executive virtual Address Space
Physical Address Space
4
When Address Word 2 is loaded, the operation begins.
8.3.2
Transfer Operations
The TO-IO and TO-II 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-II controls the address to or from the PDP-II 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-II specifies the transfer rate (via the delay count) and the type
of transfer.
Bit 13 in the TO-II Byte Count word controls whether the
DTE is in byte mode or word mode (l=byte mode, O=word mode).
Byte
mode transfers 8-bit bytes while word mode moves l6-bit bytes.
8-22
DTE HARDWARE OPERATION
When transferring string data from the KL to the PDP-II, the following
DTE registers must be loaded by the PDP-II:
Register
Data Loaded
DLYCNT
TOllBC
TOllAD
Delay Count
TO-II Byte Count
TO-II PDP-II Memory Address
The TO-II 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-II
is
interrupted.
The KL can be interrupted also if this is desired.
The TO-II 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, TOllDT is used as a
temporary buffer
for the data until it is sent to PDP-II memory via the NPR facility.
The TO-IO transfer process is very similar to the TO-II process.
PDP-II loads the following registers:
Register
Data loaded
DLYCNT
TOIOAD
TO-IO Delay Count
TO-IO PDP-II Address
The
The KL loads the following register:
TOIOBC
TO-IO Byte Count
The transfer starts when the TOIOBC register is loaded.
The TOIODT
register
is used in the same manner as TOllDT;
that is, TOllDT 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-II 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-II to
interrupt the KL, the PDP-II sets the Request-IO interrupt flip-flop
(bit 8 in the DTE Status Word). When ~his bit is set,
the DTE-20
generates an interrupt in the KL with a status bit set in the CONI
word (bit 26 in TOIODB) to indicate that the PDP-II CPU has programmed
an interrupt of the KL.
This procedure works in a reversed but identical manner for
the KL
interrupting the PDP-II.
The KL sets the Request-II interrupt by
doing a CONO to the DTE-20. The PDP-II discovers the cause for
the
interrupt by looking at TOllDB
(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-Ii to gain access to these words.
8-23
DTE HARDWARE OPERATION
8.3.4
Diagnostic Functions
The PDP-II 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 DIAGI
that correspond to the code for the function you wish to perform.
When you set bit 0 (DCOMST) in DIAGl, 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 DIAGI
(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
(DIKLIO) is set to one.
8.4
PROTOCOLS
The protocol used between the KL and the PDP-II 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 1S 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-II 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-II 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.
8-24
DTE HARDWARE OPERATION
8.5
QUEUED PROTOCOL
The queued protocol driver
is
responsible
for
many
things:
controlling the exchange of data between the KL and the PDP-II,
scheduling the transmission of information packets sent across the
DTE, and interfacing between the KL and the PDP-II 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
other processor.
6
device
Set Device Status
This function requests the device status to be set
specified values.
from
the
to
the
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
current system date and time.
12
the
other
Here is Time of Day
This function is the response to function 11
of Day).
processor's
(Return
Time
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
TTy-type devices connected to the front end.
8-25
all
DTE HARDWARE OPERATION
Code
Function
15
Unused
16
Device Hang-up
This function causes the PDP-II to hang
dataset line.
up
the
specified
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-II Reboot Word
This function provides the KL
PDP-II switch register.
with
the
settings
of
the
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
processing for the line specified.
and
disable
input
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.
8-26
DTE HARDWARE OPERATION
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
the KLINIK parameters are about to be sent.
34
that
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-II 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-II front end.
If another
PDP-II 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-II 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-II where in KL memory it may Deposit and Examine.
The
relocation and protection words are set once by the KL.
The PDP-II
reads these words, and stores, them so that it will not have to read
them again. All PDP-II 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-II 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.
8-27
DTE HARDWARE OPERATION
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
-------------------------------------1
01
Function code
1
-------------------------------------1
Device code
1
1
-------------------------------------1
Spare (null)
1
2
4
6
Data
10
Data
12
Data
14
Data
16
Data
20
Data
22
+-------------------------------------+
Figure 8-5
8.6.2
0
Direct Packet
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.
8-28
DTE HARDWARE OPERATION
+-------------------------------------+
I
Count of bytes in packet
I
I
(12 bytes)
I
0
1-------------------------------------1
III
Function code
I
1-------------------------------------1
I
Device code
I
1-------------------------------------1
I
spare (null)
I
1-------------------------------------1
I
Count of bytes in data
I
10
+-------------------------------------+
I
Pointer to data
*
I
12
2
4
6
+----------------------------1--------+
I
+-------------+I
I
+-------------------------------------+<---+
I
I
I
I
I
I
I
I
I
Data
I
I
I
I
I
I
I
I
I
I
I
+-------------------------------------+
Figure 8-6
8.7
Indirect Packet and Data
DATA STRUCTURE OF PACKETS
The information that is sent from the PDP-II to the KL via the DTE is
stored in dynamically allocated buffers.
The buffers are located in
the Free Pool area of PDP-II 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-IO queue is a singly-linked linear list that is maintained by
the use of pointers.
The location TOlOQ points to the first node in
the queue.
The TO-IO queue operates in a first in, first out manner.
Location TOlOQ+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-II queue handles the data received from the KL.
This queue
uses space from the Free Pool area of PDP-II memory to form buffers
for nodes, much as the TO-IO queue.
The TO-II queue uses the nodes in
the same way as the TO-IO queue, except that a count of nodes replaces
the pointer to the last node.
8-29
CHAPTER 9
ERROR DETECTION AND LOGGING
9.1
THE KEEP ALIVE COUNT
The KL and the PDP-II 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-II's Keep Alive Count is stored in
the sixth word of the PDP-II's area of the Communications Region.
9.2
KLERR TASK
When the front end notices that the KLhas 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.)
9-1
ERROR DETECTION AND LOGGING
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-II 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:
•
Contents of the DTE-20 registers
•
EBDS parity information
•
Fast memory parity information
•
Some textual information on the state
DTE-20
of
the
KL
and
the
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.
9-2
ERROR DETECTION AND LOGGING
Example 9-1
KEEP ALIVE CEASED
KLERR -- VERSION V03-00 RUNNING
DLYCNT: 0000·00
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
T010BC: 010000 T011BC: 130000
T010AD: 066652 T011AD: 066075
T010DT: 000000 T011DT: 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
KLERR
KLERR
KLERR
KLERR
KL NOT IN HALT LOOP
KL ERROR OTHER THAN CLOCK ERROR STOP
KL VMA: 000000 420237
PC: 000000 420237
PI STATE: ON
,PION: 177 , PI HLD: 100 , PI GEN: 000
EXIT FROM KLERR
9-3
ERROR DETECTION AND LOGGING
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
T010BC: 010000 T011BC: 130000
T010AD: 066452 T011AD: 066512
T010DT: 000000 T011DT: 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 , PION: 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
9-4
ERROR DETECTION AND LOGGING
9.3.2
PDP-II Error Logging
Upon encountering a serious PDP-II 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:
II-HALT
<code>
where <code> is a 3-character error code indicating why the front
crashed.
Refer to Appendix A for a list of RSX-20F stop codes.
end
Whenever RSX-20F discovers a condition that it considers serious
enough to cause a crash,
it executes an lOT instruction.
The
3-character crash code following the lOT is picked up by the crash
routine.
For a disk-based PDP-II operating system, the lOT 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-II,
trying to save as much infoimation from the
registers as it can.
The lOT routine stores the crash code and parity-error registers in
locations 0 to 3 of PDP-II memory.
This information is readily
available in a dump listing.
For example, an lOT instruction followed
by ASCIZ /DTB/ would result in the following:
+---------------------+
TOO
1---------------------1
1 Par.Error1
B
1 2
+---------------------+
When looking at the source listings of RSX-20F, you will notice that a
macro is used instead of the lOT instruction.
The macro is .CRASH and
expands to the rOT plus Ascrz crash code as stated above.
9-5
ERROR DETECTION AND LOGGING
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-II
format
and
TOPS-IO/TOPS-20 cannot access the data. The KLXFER task is required
to transfer the data into the TOPS-IO/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
1------------------------------------------------------DTE Diagnostic Word 2
52
DTE Status Word
54
DTE Diagnostic Word 3
56
______________________________________________________ - I
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
+-------------------------------------------------------+
Figure 9-1
KLERRO.SNP File Contents
9-6
676
ERROR DETECTION AND LOGGING
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
was greater than the maximum number allowable.
count
register
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
in the KL Clock.
an
error
Can't Find KL Halt Loop
The microcode would not go into its halt loop even when
do so.
told
to
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
and also running normally, both at the same time.
halt
loop
the
EBOX
EBOX Clock Timeout
The EBOX clock timed out during an attempt to simulate
clock via MBOX clocks.
9-7
ERROR DETECTION AND LOGGING
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
correctly.
up
Odd Function Code
The number of the Function Read, Function
Execute does not match existing values.
Write,
or
Function
unmatched Error Code
The error code reported does not match any on the list
errors.
of
known
KL in Halt Loop
The PDP-II put the KL into the halt loop.
KL not in Halt Loop
The PDP-II 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.
9-8
ERROR DETECTION AND LOGGING
Unable to Enter KLERRO.SNP into Directory
An error occurred when
directory file.
the
file
name
was
inserted
into
the
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-IO/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-IO/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-IO/TOPS-20 via the DTE-20. TOPS-IO 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.
9-9
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-IO front-end dumps
cannot be read.
They simply cannot be read with any symbolic debugger
currently available to users of TOPS-IO.)
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 d~ta 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-IO
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-II 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-ll/40 instructions.
FEDDT reads a binary dump file of PDP-II core.
This file normally
comes across the DTE-20 under control of the PDP-II's bootstrap ROM,
and TOPS-IO/TOPS-20 writes the file
into
its
own
area
as
<SYSTEM>ODUMPll.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) .
10-1
ERROR DEBUGGING
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]
iThis is the program prompt
iEscape Escape Y
iName of file
iDone
iAt this point,
iRSX20F symbols
ihave been read
iBack to the exec
iSave symbols copy
iBack into FEDDT
iEscape Y
iRead latest crash
iSize of dump
iUser performs task
$$y
SYMBOL FILE: exec.map
READ 291 SYMBOLS
"c
@save fesym
@reenter
$y
INPUT FILE: <system>Odumpll.bin
CORE SIZE IS 28K
The following is a brief description of the commands available in
FEDDT.
In examples, the expression [value] indicates an arbitrary
PDP-II 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
value.
adds
it
to
the
current
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
current value.
expression,
+
Ends the current expression, and
value.
10-2
and
multiplies
adds
it
to
it
the
by
the
current
ERROR DEBUGGING
Command
Effect
Ends the current
current value.
expression,
and
subtracts
it
from
the
Makes the current location the current value, opens it,
prints the contents.
and
Contains the value of the current location.
/
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-II memory to output device.
The correct format is
[start-address]<[end address]>$D. Asks for the output file
specification.
$1
Sets output mode to EBCDIC text.
$K
Suppresses the previous symbol typed either by the
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
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.
10-3
user
or
by
ERROR DEBUGGING
Command
Effect
$X
Compares selected portions of memory with the file
selected with the $$X command
(see below for
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.
$$0
Opens physical PDP-II 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 LNKXll or
PDP-II TKB. Otherwise, it is assumed to be a CREF listing
produced by MACYll.
10.2
already
the $$X
INTERPRETING AN RSX-20F DUMP
The RSX-20F
dump
file,
<SYSTEM>ODUMPll.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-IO 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.
10-4
ERROR DEBUGGING
The following points should be kept in mind while
dumps from RSX-20F.
you
If the problem was severe, random
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-II stacks use autodecrement mode, the stack grows
toward lower core, not higher.
4.
The PDP-II low-order byte is 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.
right-hand
in
memory
crash
1.
10.2.1
locations
examine
byte,
not
may
the
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-II
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/l090'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
10-5
ERROR DEBUGGING
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 PSIS 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-II registers and the DTE-20 registers.
The PDP-II registers are stored in locations 40 through 56 (RO 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 B02/B03/BFl
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
state of the buffer?
the
The initial pointers to each of these areas follows.
Free Pool
Big Buffer
Node Pool
.FREPL is the pointer to the first free chunk
storage space.
.FREPL+2 is the tally of the free space remaining
this area.
of
.BGBUF is the pointer to the first free chunk
storage space.
.BGBUF+2 is the tally of the free space remaining
this area .
of
in
in
• 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-IO and TO-II, 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-IO queue pointer
(TOlOQ)
points to itself when the TO-IO queue is empty, whereas the
TO-II queue pointer (TOllQ) contains zero if the queue is empty.
Thus,
in order to examine the entire TO-IO queue, you open the
location TOlOQ and use the <TAB) command until the contents of the
location you open is TOlOQ. To examine the entire TO-II queue, you
open the location TOllQ and use the <TAB) command until the contents
of the location you open is zero.
10-6
ERROR DEBUGGING
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-aIls 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>ODUMPll.BIN
CORE SIZE IS 28K
$T
0/
2/
2<0>
BO
The stopcode is B02, buffer overflow, which is produced by the DTE-20
device driver when it cannot find Free Pool space for a TO-Il 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/
.FREPL/ 65664
65664/ 70674
70674/ 72234
72234/ 72474
72474/ 73034
73034/ 75074
75074/ 0
65664/ 70674
65666/ PATSIZ
70676/ PATSIZ
72236/ PATSIZ
72476/ PATSIZ
73036/ PATSIZ
75076/ PATSIZ
QI.VER
=300
=40
=40
=40
=40
=40
=40
Thus we can see that the Free Pool has only 300 rema1n1ng 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-aIls 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
.SNDBF/ 66574
.SNDBF+4/
.SNDCN/ DR.03
.SNDCN+4/
.CRSND/ 0
=3
.SNDBF+2/
66774
67074
.SNDBF+6/
0
=3
.SNDCN+2/
DR.03
DR.03
=3
.SNDCN+6/
10-7
=3
o
ERROR DEBUGGING
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-II queue.
T011Q/
67274/
67374/
67474/
67574/
67674/
67774/
70074/
70174/
70274/
70374/
70474/
70734/
66274/
70574/
71034/
71134/
71234/
71334/
66474/
71434/
71534/
71634/
71734/
72034/
66674/
72274/
72134/
72534/
72634/
65464/
73074/
72734/
73174/
73274/
72374/
73374/
73474/
73574/
73674/
73774/
74074/
74174/
74274/
74374/
74474/
74574/
65564/
74674/
67274
67374
67474
67574
67674
67774
70074
70174
70274
70374
70474
70734
66274
70574
71034
71134
71234
71334
66474
71434
71534
71634
71734
72034
66674
72274
72134
72534
72634
65464
73074
72734
73174
73274
72374
73374
73474
73574
73674
73774
74074
74174
74274
74374
74474
74574
65564
74674
66374
10-8
ERROR DEBUGGING
66374/
75134/
75234/
75474/
75574/
74774/
75674/
TOIOQ/
75134
75234
75474
75574
74774
75674
o
TOIOQ
The TO-II queue is quite full (since all the Free Pool space is
used for this queue). The TO-IO queue is empty.
being
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
LPTBL+2/
LPTBL+4/
DHTBL/ 0
DHTBL+2/
DHTBL+4/
DHTBL+6/
DHTBL+IO/
DHTBL+12/
DHTBL+14/
DHTBL+16/
DHTBL+20/
DHTBL+22/
DHTBL+24/
DHTBL+26/
DHTBL+30/
DHTBL+32/
DHTBL+34/
DHTBL+36/
DHTBL+40/
DHTBL+42/
DHTBL+44/
DHTBL+46/
DHTBL+50/
DHTBL+52/
DHTBL+54/
DHTBL+56/
DHTBL+60/
DHTBL+62/
DHTBL+64/
DHTBL+66/
DHTBL+70/
DHTBL+72/
DHTBL+74/
DHTBL+76/
Etc.
=200
175400
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
o
160020
TTYSP+161
TT.SND
10-9
ERROR DEBUGGING
All the terminals and line printers hav~ 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/
66576/
66600/
66606/
66614/
66622/
66630/
66636/
66644/
66652/
66660/
66666/
67002/
67010/
67016/
67024/
67032/
67040/
67046/
67054/
67062/
67070/
67076/
67102/
67110/
67116/
67124/
67132/
67140/
67146/
67154/
67162/
66574
o
CH.FOR =100
66606
$$6T
THIS I
S A DA
TA COL
LECTIO
N TEST
PLE
ASE BE
PATIE
NT.<0><17><0>
3<0><377>3TH
IS IS
A DATA
COLLE
CTION
TEST.
PLEAS
E BE P
ATIENT
.<0>D<15>\N
@<0>FN3<0>
3<0><377>3TH
IS IS
A DATA
COLLE
CTION
TEST.
PLEAS
E BE P
ATIENT
./
<206>M3<0><377>3
66774/
<0><0>@<0><6>N
67074/
\[email protected]<O>FN
The message that caused the crash when sent to all users was "This
a data collection test. Please be patient".
10.2.3
is
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.
10-10
ERROR DEBUGGING
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.PRl)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
10-11
ERROR DEBUGGING
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)ten halted
bit 1- (KS.CES)c1ock error stop
bit 2- (KS.EPE)E box parity error
bit 3- (KS.DEX)deposit/examine error
bit 4- (KS.CST)Keep-a1ive stopped
bit 5- (KS.TRR)ten request's re-boot
bit 6- (KS.PFT)power fail restart
bit 7- (KS.PTO)protoco1 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-a1ive 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
001142
1
.DAY
Day of month
001143
1
.MON
Month of year
001144
1
.DST
Day1ight-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
(1979)
10-12
ERROR DEBUGGING
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.LDO,BP.LDl)boot options
O=auto deadstart entire system
l=deadstart RSX-20F only
2=reboot RSX-20F only
3=operator controlled start
bit 3-6- (BP.CSP)CTY speed if DH-ll, l=DL,
O=default
bit 7- (BP.RP4)load from RP04/RP06
bit 8-10- (BP.UNT)boot unit or DH-ll 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
10-13
ERROR DEBUGGING
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
O=disabled
l=remote
-l=user
001216
6
.KLNPW
ASCII password for KLINIK
001224
2
.KLNSW
KLINIK line status
byte 0- line use
O=disabled
l=remote
-l=user
byte 1- current status
l=clear KLINIK, recall PARSER
2=report carrier loss
3=disconnect, recall PARSER
4=disconnect and exit
10-14
ERROR DEBUGGING
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
T011NP
Pointer to current received node
001272
2
T011HD
Count of bytes in this queue
001274
2
T011FN
Current received TO-II function code
001276
2
T011DV
Current received TO-II device number
001300
2
T011SP
Space
001302
2
T011FW
First word of function
001304
2
T011GW
Guard word for DTE-20 (-I)
001306
2
T011QP
TO-II queue entry count
10-15
ERROR DEBUGGING
Address Size
Name
Use
001310
2
T011AS
Address save
001312
2
T011BS
Byte count of TO-II transfer saved
001314
2
T010SZ
Byte count of transfer
001316
2
T010AS
TO-10 transfer address saved
001320
6
STSTT
TO-10 status
001326
4
T010Q
Listhead for TO-10 queue
001332
2
EQSZ
TO-II queue size
001334
2
T011Q
Head of TO-II 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
l=snapshot exists
O=no snapshot exists
001365
1
.EPEFL
EBUS parity error processing flag
O=retry succeeded
l=no EBUS parity error
-l=retry failed
001366
2
.EBPEQ
Pointer to EBUS error snapshot queue
001370
2
.PRPSE
Protocol pause flag
-l=pause state
O=no pause
10-16
ERROR DEBUGGING
KEEP-ALIVE DATA BASE
Address Size
Name
Use
001372
6
KPALO
Current KL Keep-alive value
001400
2
OKPALO
KL saved Keep-alive value
001402
6
KPALI
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
10-17
ERROR DEBUGGING
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
10-18
ERROR DEBUGGING
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
10-19
ERROR DEBUGGING
TERMINAL SERVICE DATA BASE
Address Size
Name
Use
002576
2
.INHDM
Inhibit/enable remote lines (O=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
.TTPll
TTY PDP-II input in progress flag
002634
2
.CTYPT
CTY line pointer
002636
2
.KLNPT
KLINIK line pointer
002640
2
$UNIT
DH-ll unit number if CTY
002642
2
$BTMSK
Mask to start CTY if DH-ll
002644
2
DMTMP
Saved DMll/BB controller number
002646
2
DHTMP
Saved DH-ll controller number
002650
2
DLTMP
Saved DLll controller number
002652
2
DHSTSV
Saved DH-ll 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
10-20
ERROR DEBUGGING
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 (l=output,
O=input)
word 2- (STRBF)current input buffer address
word 3byte 0- (RMBYT)remaining bytes in buffer
byte 1- (FNBYT)terminal byte
word 4- (CURBF)starting buffer address
word 5byte 0- (MECNT)multiecho byte count
byte 1- (FLBYT)fill byte
word 6- (MEBUF)mu1tiecho buffer address
word 7- (MBUFR)dynamic multiecho buffer
word 8- (HORPS)horizontal position of
carriage
word 9- (DHBUF)DH-l1 character buffer if CTY
is a DH-ll
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
10-21
ERROR DEBUGGING
TERMINAL DRIVER DATA BASE
Address Size
Name
Use
002732
44
DMTBL
DMll/BB table
2 word entries (9 entries)
word 1- DMll/BB base address
word 2- pointer to DH-ll table entry
002776
10
DLTBL
DLll/C table
4 word entry for each DLll/C line (1 entry)
word 1- (THRED)output thread word pointer
word 2- (TTYEXP)device base address
word 3- (STSWO)status word 0
DLll- input flag
DH-ll line speed
bit 6-9- (SO.ISP)input speed
bit 10-13- (SO.OSP)output speed
bit 14- (SO.CON)remote line connected
bit 15- (SO.ABR)autobaud report pending
word 4- (STSWl)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-aIls
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
DLll/E table
4-word entry for each DLll/E line (4 entries)
see DLTBL (above) for structure
003046
2000 DHTBL
005046
4
TTYEND
DH-ll table
4-word entry for each DH-ll line (128 entries)
see DLTBL (above) for structure
End of table guard words (2 zeros)
10-22
ERROR DEBUGGING
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
word
word
word
word
word
123456-
logical or physical sector number
bytes to transfer on current sector
current function code
physical sector number(1-26.)
physical track number(0-77.)
status register after interrupt
005074
2
DXUNIT
Current unit number
005076
2
DXPKT
I/O packet address
10-23
ERROR DEBUGGING
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
DEC tape buffer
005062
2
DTCNT
Buffer size
005064
2
DTCW2
005066
2
DTCW3
005070
10
Pad to floppy driver size
10-24
ERROR DEBUGGING
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
10-25
ERROR DEBUGGING
FE DRIVER DATA BASE
Address Size
005116
10
Name
FETBL
Use
Table of FE device states
1 word per FE device (4)
bit 10- (FE.DET)more data
sent
bit 11- (FE.DTE)more data
bit 13- (FE.BER)servicing
request
bit 14- (FE.BTR)servicing
request
11 to 10 to be
10 to 11 expected
11 transfer
10 transfer
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
TOI0PK
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
10-26
ERROR DEBUGGING
CD-II 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, apr 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.Fll)error on From-II 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 CDll
005546
2
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-II
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
Data buffer overrun area
Unused
10-27
ERROR DEBUGGING
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.Fll)error on From-II 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 3byte 0- no. of bytes of device dependent
info (2.)
byte 1- no. of bytes of device
registers (16.)
word 4byte 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 11byte 0- character buffer register
byte 1- column count register
word 12byte 0- printer data register
byte 1- checksum register
10-28
ERROR DEBUGGING
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-fi1e encountered
bit 8- (LP.F10)From-10 request queued
bit 9- (LP.LIP)load VFU in progress
bit 10- (LP.CLR)c1ear RAM required
bit 11- (LP.WAT)LP waiting for response
bit 12- (LP.MCH)mu1ticharacter 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)externa1 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)mu1ticharacter buffer
word 2- (LPCSM)accumu1ated checksum
word 3- (LPRTY)retry counter
word 44 word entry for unit 1
005664
20
LPTBL3
LP third
4 word
word
word
word
data
word
4 word
005704
4
LPUTBL
device table
entry for unit 0
1- (LPRMA)VFU data address
2- (LPRMZ)VFU data buffer size
3- (LPRMC)current pointer into VFU
4entry for unit 1
unit table pointer
word 1- unit 0 pointer in LPTBL
word 2- unit 1 pointer in LPTBL
10-29
ERROR DEBUGGING
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), DEC tape (TOPS-I0)
word 5- FIIACP 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 5byte 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
10-30
ERROR DEBUGGING
Address Size
006022
40
Name
STDFED
Use
FE driver STD entry
see STDDTE (above)
for structure
006062
006062
40
40
STDDX
STDDTP
Floppy driver STD entry (TOPS-20)
DEC tape driver STD entry (TOPS-10)
see STDDTE (above) for structure
006122
40
STDFll
FllACP 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
10-31
ERROR DEBUGGING
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 7byte 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.WFO}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
10-32
ERROR DEBUGGING
Address Size
006526
006566
006626
006666
40
40
40
40
Name
TTYTSK
RPTSK
LPTSK
CDTSK
Use
TTY task ATL entry
see DTETSK (above)
for structure
RP task ATL entry
see DTETSK (above)
for structure
LP task ATL entry
see DTETSK (above)
for structure
CD task ATL entry
see DTETSK (above)
for structure
006726
006726
40
40
FETSK
DTTSK
FE task ATL entry (TOPS-20)
DECtape task ATL entry (TOPS-IO)
see DTETSK (above) for structure
006766
006766
40
40
DXTSK
FETSK
Floppy task ATL entry (TOPS-20)
FE task ATL entry (TOPS-IO)
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)
10-33
for structure
ERROR DEBUGGING
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
007306
20
20
DXTPD
DTTPD
Floppy TPD entry (TOPS-20)
DECtape TPD entry (TOPS-IO)
see INSTPD (above) for structure
007326
20
RPDTE
RP TPD entry
see INSTPD (above) for structure
007346
20
FIITPD
FIIACP TPD entry
see INSTPD (above) for structure
007366
20
GENTPD
GEN partition TPD entry
see INSTPD (above) for structure
10-34
ERROR DEBUGGING
DEVICE QUEUE POINTERS
Address Size
Name
Use
007406
40
.DQPBA
CTY and DLll queue
Entry for all terminals
Entry for DLll 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
.DQDHO
DH-ll queue
Entry for DH-ll 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
10-35
ERROR DEBUGGING
LOGICAL UNIT TABLES
Address Size
007606
50
Name
TTPEN
Use
Terminal PUD entry
20 word entry
word 1- (U.DN)ASCII device name
word 2byte 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.Cl)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.OSP)output spooled
bit 12- (UC.PSE)pseudodevice
bit 13- (UC.COM)communications channel
bit 14- (UC.Fll)Files-ll device
bit 15- (UC.MNT)mountable device
word 4- (U.C2)characteristics word
bit O-(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
10-36
ERROR DEBUGGING
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
010356
50
50
DXOPEN
DTOPEN
1st floppy PUD entry (TOPS-20)
1st DEC tape PUD entry (TOPS-10)
see TTPEN (above) for structure
010426
010426
50
50
DX1PEN
DT1PEN
2nd floppy PUD entry (TOPS-20)
2nd DECtape PUD entry (TOPS-10)
see TTPEN (above) for structure
010476
50
LPOPUD
Line printer PUD entry
see TTPEN (above) for structure
010546
50
FEOPUD
FE PUD entry
see TTPEN (above) for structure
010616
50
SYOPUD
System PUD entry
see TTPEN (above) for structure
10-37
ERROR DEBUGGING
HARDWARE OPTIONS
Address Size
Name
Use
010666
2
.CPUSN
KL CPU serial number
O=not read
<l=cannot be read
>l=valid serial number
010670
2
.HRDWR
Hardware
bit 0bit 1bit 2bit 3bit 4bit 50=60
1=50
options
undefined
MOS master oscillator
extended addressing
internal channels
cache
line frequency
hertz
hertz
10-38
ERROR DEBUGGING
EMERGENCY STACK
Address Size
Name
Use
010672
106
INITLM
Once only initialization code
011000
0
EMGSTK
Emergency stack base address
10-39
ERROR DEBUGGING
The I/O page contains control and status registers for all the devices
that are attached to the PDP-II.
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-II
Processor Handbook or the PDP-II 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
Address
UNIBUS
Address
Size
Device
Name
100020
760020
20
DH-ll
DH-ll terminal controller #1
100040
760040
20
DH-ll
DH-ll terminal controller #2
100060
760060
20
DH-ll
DH-ll terminal controller #3
100100
760100
20
DH-ll
DH-ll terminal controller #4
100120
760120
20
DH-ll
DH-ll terminal controller #5
100140
760140
20
DH-ll
DH-ll terminal controller #6
100160
760160
20
DH-ll
DH-ll terminal controller #7
100200
760200
20
DH-ll
DH-ll terminal controller #8
110500
770500
10
DMll-BB
Modem controller #1
110510
770510
10
DMll-BB
Modem controller #2
110520
770520
10
DMll-BB
Modem controller #3
110530
770530
10
DMll-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
Use
10-40
ERROR DEBUGGING
Device
Name
BLOCK
Address
UNIBUS
Address
Size
115610
775610
10
DLII-E
DL terminal interface #1
115630
775630
10
DLII-E
DL terminal interface #2
115640
775640
10
DLII-E
DL terminal interface #3
115650
775650
10
DLII-E
DL terminal interface #4
116700
776700
50
RHll
RP04/06 disk interface
117160
777160
10
CDll
Card reader interface
117170
777170
10
RXll
Floppy disk interface (TOPS-20)
117340
777340
20
TCll
DEC tape interface (TOPS-I0)
117540
777540
2
DLII-W
Line clock status register
117560
777560
10
DLll
CTY interface
117570
777570
2
SW
Switch register value
117760
777760
2
PSW
Processor status word
Use
10-41
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
BFl
QPRDTE
BUFFER FAILURE 1
Attempt to obtain buffer
protocol header failed.
space
for
the
TO-II
possible Cause:
Buffer pool space has become exhausted or highly
fragmented.
Rl 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.
B02
QPRDTE
BUFFER OVERFLOW 2
The PDP-II was not able to obtain the buffer space
required to receive an indirect data transfer from
the KL.
possible Cause:
Same as BFl above.
BOI
TTYDRR
BUFFER OVERFLOW 1
The PDP-II was not able to obtain the buffer space
necessary to transmit TTY characters to the KL
during protocol pause.
possible Cause:
The KL
enough.
did
not
A-I
resume
primary
protocol
soon
RSX-20F STOP CODES AND I/O ERROR CODES
B03
SCOMM
BUFFER OVERFLOW 3
The PDP-II was not able to obtain the buffer space
necessary for data it wanted to send to the KL.
Possible Cause:
Same as BFI 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-II DTE TRANSFER FAILURE
A TO-II-done interrupt has occurred, but the TO-II
address in the DTE TOIIAD register (register 22)
did not have the expected value. Since TOIIAD is
incremented for each byte transferred, it should
point to the first word following the buffer into
which the TO-II data was written.
possible Cause:
The PDP-II received the wrong byte count or, more
likely,
the DTE has a hardware malfunction.
TOIIBC contains the negative count of data that
was actually transferred.
TOIIAS contains address
of data node. RI 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-IO DTE TRANSFER FAILURE
A TO-IO-done interrupt has occurred but the TO-IO
address in the DTE TOIOAD register (register 20)
did not have the expected value.
Since TOIOAD
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-II gave the KL the wrong byte count or,
more likely,
the DTE has a hardware malfunction.
TOIOSZ contains the size of the transfer and
TOIOAS
the
start
address.
The
expected
termination address is in R4.
A-2
RSX-20F STOP CODES AND I/O ERROR CODES
ETE
QPRDTE
TO-II TRANSFER ERROR
A DTE interrupt occurred with the TOllER bit
in the DTE status register (register 34).
set
Possible Cause:
Hardware malfunction along the data
the KL and PDP-II
(MBOX,
EBOX,
through to II-memory).
FTA
LC
path between
EBUS, DTE-20,
FILES-II TASK ABORTED
A task occupying FIITPD partition has aborted and
the task termination notification task
(TKTN)
cannot be started since it too runs in the FIITPD
partition.
Possible Cause:
.TKTN may have aborted.
the Active Task List
task.
lAS
SCH
R5 and
.CRTSK point to
(ATL) node of the aborted
UNKNOWN SIGNIFICANT EVENT
An unused bit in .SERFG has been set.
Possible Cause:
PDP-II hardware malfunction or corrupted
in PDP-II.
.SERFG has the bit set.
ILF
QPRDTE
software
ILLEGAL PROTOCOL FUNCTION
The function code in a TO-II 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-II.
RI
contains the function code times two.
R4 contains
the address of the protocol header.
ILQ
QPRDTE
ILLEGAL QUEUE COUNT
The KL and the PDP-II disagree on the number of
direct transfers that have thus far taken place
from the KL to the PDP-II.
You should take into
account that indirect headers are sent across the
DTE-20 as direct packets.
Possible Cause:
The PDP-II is missing TO-II doorbell interrupts,
or the software of either the KL or the PDP-II is
corrupted. STATI+O to STATI+2 contain the KL's
TO-II status word as read by RSX-20F at the last
examine.
STATI+4 is the count the KL expects, and
TOIOQC is the count the PDP-II expects.
A-3
RSX-20F STOP CODES AND I/O ERROR CODES
LRF
SCH
LOAD REQUEST FAILURE
An attempt to load a nonresident monitor
into the FllTPD partition failed.
routine
possible Cause:
The Files-II system is incomplete or damaged.
MPE
LC
MEMORY PARITY ERROR
A memory parity error has occurred in the PDP-II
(trap
to
location 114).
The memory status
registers are stored starting at location PARSAVE.
(See the PDP-II Processor Handbook for details.)
PTI
QPRDTE
PROTOCOL BROKEN
An illegal protocol device number was specified in
TO-II 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-II.
The device number from the protocol header is in
TOllDV.
PT2
QPRDTE
PROTOCOL ERROR 2
An illegal protocol function was specified in a
TO-II request.
The function was found
to be
greater than the allowed maximum BC.FNM (currently
34) .
possible Cause:
Same as PTI above.
The function
protocol header is in TOllFN.
PT3
QPRDTE
code
from
the
PROTOCOL ERROR 3
The PDP-II has received a doorbell interrupt from
the KL. The indirect bit in the KL's TO-II 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 PTI above. TOllFN contains the function
code and STATI contains the TO-II protocol status
word.
A-4
RSX-20F STOP CODES AND I/O ERROR CODES
PT4
QPRDTE
PROTOCOL ERROR 4
The KL wants to send a packet to the
than
the packet size is greater
allowed size of 100.
PDP-II,
but
the maximum
possible Cause:
Same as PTI above.
RED
RED
The size is in EQSZ.
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-II trap to location 10.
An
attempt was made to execute an illegal or reserved
instruction.
See the PDP-II Processor Handbook
for further details.
possible Cause:
PDP-II software is corrupted or a PDP-II
malfunction occurred.
SAl
TTYDRR
hardware
SEND-ALL INTERRUPT
The send-all count
interrupt level.
went
negative
at
output
possible Cause:
A race condition in the
malfunction.
SAQ
OPRDTE
software
or
a
hardware
SEND-ALL QUEUE
The send-all count went negative
queueing of the send-all message.
during
the
possible Cause:
Corrupted PDP-II software.
TBT
LC
T-BIT TRAP
This PDP-II trap to location 14 occurs when the
BPT instruction (not used by RSX-20F) is executed
or when the T-bi t
is set.
(See the PDP-II
Processor Handbook for further details.)
possible Cause:
Corrupted PDP-II
malfunction.
A-5
software
or
PDP-II
hardware
RSX-20F STOP CODES AND I/O ERROR CODES
TET
QPRDTE
TO-IO-TRANSFER ERROR
A DTE-20 interrupt has occurred with either TOIOER
(TO-IO error)
or MPEll (PDP-II parity error) bit
set in the DTE-20 status register ( register 34).
possible Cause:
DTE-20 hardware error, PDP-II memory parity error,
or
hardware malfunction along
the data path
between the PDP-II and KL.
T04
LC
TRAP AT LOCATION 4
The PDP-II traps to location 4 when it makes a
word
reference to an odd address or when a bus
timeout occurs.
(See
the
PDP-II
Processor
Handbook for further details.)
possible Cause:
PDP-II software
is corrupted,
or
a
PDP-II
is malfunctioning or has gone
peripheral device
away.
UIE
QPRDTE
UNIMPLEMENTED PROTOCOL FUNCTION
The KL uses bits 0-2 of its TO-II 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-II
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-II could be the cause of this
error.
A-6
RSX-20F STOP CODES AND I/O ERROR CODES
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 SAVe
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
Invalid function code
EBOX stopped
Device not ready
Parity error on device
Hardware option not present
Illegal user buffer
Device not attached
Device already attached
Device not attachable
End of file detected
End of volume detected
write attempted to locked unit
Data overiun
Send/receive failure
Request terminated
Privilege violation
Sharable resource in use
Illegal overlay request
Odd byte count or virtual address
Logical block number too large
Invalid UDC module
UDC connect error
Caller's nodes exhausted
Device full
Index file full
No such file
Locked from write access
File header full
Accessed for write
File header checksum failure
Attribute control list format error
File processor device read error
File processor device write error
File already accessed on LUN
File ID, file number check
File ID, sequence number check
No file accessed on LUN
File was not properly closed
Open - no buffer space available for file
Illegal record size
File exceeds space allocated, no blocks
Illegal operation on file descriptor block
Bad record type
Illegal record access bits set
Illegal record attributes bits set
-2
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
A-7
RSX-20F STOP CODES AND I/O ERROR CODES
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
Illegal record number - too large
Multiple block read/write - not implemented
Rename - two different devices
Rename - new file name already in use
Bad directory file
Cannot rename old file system
Bad directory syntax
File already open
Bad file name
Bad device name
Bad block on device
Enter duplicate entry in directory
Not enough stack space (FCS or FCP)
Fatal hardware error on device
File 10 was not specified
Illegal sequential operation
End of tape detected
Bad version number
Bad file header
Device off-line
File expiration date not reached
Bad tape format
Not ANSI "0" format byte count
A-8
APPENDIX B
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
Normally the KL and the PDP-II 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-II's area to the KL's area (or vice versa) is described in this
appendix.
A TOPS-IO program called RSXTIO is used to make TOPS-IO 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-IO/TOPS-20 and RSX-20F are FE (under both TOPS-IO 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.l
REFORMATTING FILES
RSXTIO and RSXFMT, the reformatting programs,
are available
users and do not require any special privileges to execute.
to
all
You can invoke RSXTIO by typing:
.R RSXTIO<CR>
RSXTIO 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.l.2.
B-1
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
B.l.l
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
software.
For example, temporary files are not supported by
Nor can RSXTIO write to a log file when taking commands from a
file.
RSXFMT, on the other hand, does not support MICRO-CODE
modes.
Thus, you should check that the feature you wish to
supported by the version of the program that you can access.
B.l.2
of the
RSXTIO.
command
or SAVE
use is
RSXTIO/RSXFMT Commands
The following list describes the commands available to users of RSXTIO
and RSXFMT.
The parts of the commands enclosed in parentheses do not
appear in the dialogue with RSXTIOi
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)
CARRIAGE-RETURN-SINGLE-SPACE]
[DEFAULT,
IMBEDDED,
IMPLIED,
This command selects whether
<CR><LF> should be inserted or
removed at the end of formatted ASCII records.
RSXTIO also
converts <CR><LF> to <CR><DC3> if you specify the final option.
This option is available only to users of RSXTIO.
If you are
using RSXTlO, 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
TOPS-20 Executive.
[NO]
control
to
the
TOPS-IO
Monitor
or
the
IGNORE (FILE FORMAT ERRORS)
File format errors produce warning messages only if this
has previously been issued.
B-2
command
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F .
HELP (WITH RSXFMT)
This command types this text.
INFORMATION (ABOUT)
TEMPORARY]
[ADDRESS, ALL, CRLF,
IGNORE,
MODE,
RECORD-SIZE,
This command displays the settings of the various
status
commands.
INFORMATION TEMPORARY does not work under RSXTIO,
since temporary files are not supported by the TOPS-IO 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:
0
7-BIT-ASCII
0
DOS-BINARY
0
DEFAULT
0
IMAGE-BINARY
0
MICRO-CODE
0
RSX-ASCII
0
RSX-BINARY
0
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
RSXTIO.
RECORD-SIZE (FOR IMAGE FILES IS)
<decimal number>
This command selects the record size for
files being
from IMAGE-BINARY format.
Default is 256 bytes.
TAKE (COMMANDS FROM FILE)
<log-file-spec>
<command-file-spec>
(LOGGING
converted
OUTPUT
This command takes RSXFMT commands from the specified
RSXTIO does not support the output to a log file.
ON)
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 RSXTIO.
B-3
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
B.2
TRANSFERRING FILES
The act of transferring files
is logically separate from
the
reformatting process,
Slnce 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.l
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-lO, FE can be invoked and detached by either of
following two command sequences:
the
.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-la, 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-IO 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
system.
STR: must be a valid TOPS-IO
be a valid TOPS-IO directory.
The
FEUIC.TXT can contain as many UIC
Furthermore, these mappings can be
insertion of comments, which must
exclamation mark.
B-4
exist in the front-end
file
structure name, and [p,pn] must
default for STR:
is DSK:.
to [p,pn] mappings as required.
internally documented by the
begin with a semicolon or an
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
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-IO/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-II - 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.
B-5
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
B.2.4
File Transfer Dialogue
The following sequence of steps is used to transfer files both to
from the front-end file system:
1.
Assign the FE:
2.
Run (and detach) FE.
3.
Use the MOUNT task to mount the RSX-20F FE:
4.
Use PIP to transfer the file(s).
5.
Dismount the RSX-20F FE:
6.
Go back to monitor level and stop FE.
7.
Deassign the FE:
and
device to your job at monitor level.
device.
device using DMOUNT.
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-IO/TOPS-20 to RSX-20F, invoke the
PIP task and type the following command string:
RSX-20F
PIP>[uic]filename.ext=FE: [uic]filename.ext<CR>
To transfer files from RSX-20F to TOPS-IO/TOPS-20, invoke the
PIP task and type the following command string:
RSX-20F
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.
B-6
FILE TRANSFERS BETWEEN TOPS-I0/TOPS-20 AND RSX-20F
@LOG OPERATOR (PASSWORD)
Job 7 on TTY20S 2S-Jun-79 12:48:00
@RSXFMT
RSXFMT>CONVERT (FILE) TEST.RNO.2 (OUTPUT AS) TEST.TXT
TEST.RNO.2 [7-BIT-ASCII] ==> TEST.TXT.l [RSX-ASCII]
RSXFMT>EXIT (FROM RSXFMT)
@ENABLE (CAPABILITIES)
$ASSIGN FEO:
$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,S]TEST.TXT
PIP>TEST.TXT/LI
DIRECTORY DBO: [S,S]
2S-JUN-79 12:S0
2S-JUN-79 12:49
TEST.TXT;1 1.
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
FEO:
Read, Append, O. (16)
2
<SUBSYS>FE.EXE.2
Read, Execute
1
<SYSTEM>EXEC.EXE.Sl
Read, Execute
Devices assigned t%pened by this job: FEO, TTY20S
$CLOSE (JFN) 3,4
4
TEST.TXT.2
3
FEO:
[OK]
$DEASSIGN FEO:
$LOGOUT
[OK]
B-7
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 FIITPD system partition.
FIIACP.TSK
Files-II Ancillary Control Processor
An Ancillary Control Processor (ACP) is an extension of
the monitor.
FIIACP handles the front-end disk files,
and performs file access, management, and control
functions.
FIIACP runs in the FIITPD 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 FIIACP 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-II devices and
other peripherals.
PIP runs in the GEN partition.
TKTN.TSK
Task
TKTN
for
also
TKTN
Termination Program
outputs task termination notification and provides
the orderly termination of front-end tasks.
It
acts as an interface between KLINIT and KLERR.
runs in the GEN partition.
C-l
FRONT-END TASKS
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-II device to another and informs the system of
its new location.
REDIRECT runs in the GEN partition.
INI.TSK
Initialize volumes
INI initializes Files-II devices to be recognizable
Files-II 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-II 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-IO and TOPS-20 device FE:.
T20ACP provides
access to the TOPS-IO and TOPS-20 disk file areas in
terms compatible with Files-II 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-II area.
SAV runs in
the GEN partition.
DMO.TSK
Dismount a Device
DMOUNT declares a device off-line to FIIACP
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 FIITPD partition.
KLRING.TSK
KLINIK Request
KLRING checks the KLINIK time window
If
whenever the KLINIK line rings.
security checks are verified, KLINIK
KLRING runs in the FIITPD partition.
and
the
is
password
time and
enabled.
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 FIITPD partition.
MIDNIT.TSK
Update the clock
Each time the clock passes midnight, MIDNIT updates the
time and date on the PDP-II.
Then,
if the KL is
running, MIDNIT obtains the KL's time and date and
resets its own to match. MIDNIT runs in the FIITPD
partition.
C-2
FRONT-END TASKS
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-II by the KLINIT task and deposited
over the DTE into KL memory where they perform their specific
functions.
BOOTS.EXB
BOOT.EXB
TOPS-IO Bootstrap Program
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
MTBOOT.EXB
TOPS-IO Magtape Boot Program
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).
C-3
APPENDIX D
KLINIK ACCESS DIALOGUE
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 mayor 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 dialogue 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.l
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
given in the command are also saved)
o
Each occurrence of a CLEAR KLINIK command
o
Each occurrence of a DISCONNECT command or a DLllE hang-up
•
Each occurrence of a successful LOGON (the mode selected
also saved)
is
Each occurrence of an unsuccessful
attempts is also saved)
of
D-1
LOGON
(the
(the
parameters
number
KLINIK ACCESS DIALOGUE
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
CTY or simply a timesharing terminal
o
What password will allow the remote user access
system, if the user has requested a remote CTY
to
o
The date and time the remote user will dial
access by way of the KLINIK link
request
o
The highest console mode the remote user will be allowed
up
to
remote
the
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 dialogue 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
dialogue 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
KLINIK ACCESS DIALOGUE
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
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 dialogue.
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
be in the range 00 to 24, and MM must be in the range 00 to 60.
must
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
dialogue 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.
D-3
KLINIK ACCESS DIALOGUE
0.3
OPERATOR DIALOGUE WITH KLINIK
The system operator, through dialogue with the PARSER, sets parameters
for establishing the KLINIK link, checks those parameters, terminates
the KLINIK link, and disconnects the remote modem. The dialogue that
the operator uses to accomplish these tasks is presented below.
D.3.l
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 0.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 dialogue 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
PAR
[SET] NSK - NO SUCH KEYWORD "xxx"
[SET] ILC - ILLEGAL CHARACTER "c"
where "xxx" and "c" are the offending keyword and
respectively.
character,
After printing the relevant error message, the PARSER
the SET KLINIK command.
4.
aborts
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
the SET KLINIK command.
D-4
aborts
KLINIK ACCESS DIALOGUE
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.l.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
you get:
month
specified,
PAR -- [SET] DOR - DATE OUT OF RANGE
If the month you specified cannot be matched, you get:
PAR -- [SET] NSK - NO SUCH KEYWORD IIXXXII
If the keyword you specified for the month is ambiguous,
get:
PAR
you
[SET] AMB - AMBIGUOUS KEYWORD IIXXXII
In both of
keyword.
the
previous
cases,
IIXXXII
is
the
offending
is
prior
If the year is not recognizable, you get:
PAR -- [SET] YOR - YEAR OUT OF RANGE
If the access window open or close
current system date, you get:
date
to
the
PAR -- [SET] DBT - DATE BEFORE TODAY
If the access window open or close time does not
the required format, you get:
conform
to
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,
D-5
KLINIK ACCESS DIALOGUE
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
prompt, you get:
a
carriage
return
in
response
to
the
PAR -- [SET] MRA - MISSING REQUIRED ARGUMENT
After printing the relevant error message, the PARSER
the SET KLINIK command.
7.
aborts
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
ACCESS
ACCESS
KLINIK
[<state>]
WINDOW OPEN:
DD-MMM-YY HH:MM
WINDOW CLOSED:
DD-MMM-YY HH:MM
MODE:
[<mode>]
where <state> can be ACTIVE,
<mode> may be REMOTE or USER.
one more line is displayed:
HIGHEST CONSOLE MODE:
INACTIVE, or DISABLED,
and
If the KLINIK MODE is REMOTE,
[<mode>]
where <mode> can be MAINTENANCE, PROGRAMMER, or OPERATOR.
The state of the KLINIK
which
tells whether
DISABLED. ACTIVE means
and the remote user
INACTIVE means that the
remote
user
is not
DISABLED means that the
The use of the SET KLINIK command
example:
link is described by the first line,
the link is ACTIVE,
INACTIVE, or
the KLINIK parameters have been set
is currently accessing the system.
parameters have been set,
but the
currently accessing the computer.
parameters have not been set.
is
illustrated
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:
l8-JUNE-1979 13:04
ACCESS WINDOW CLOSE: 19-JUNE-1979 13:04
KLINIK MODE:
REMOTE
HIGHEST CONSOLE MODE: OPERATOR
PAR>
D-6
by
the
following
KLINIK ACCESS DIALOGUE
D.3.2
Examining the Current KLINIK Parameters
The KLINIK parameters that are displayed at the end of the SET KLINIK
dialogue 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 dialogue when the KLINIK parameters
have been set.
In two cases, however, the format is different.
One
is the t{me 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
example:
following
PAR>WHAT KLINIK
KLINIK INACTIVE
20-JUNE-1979 13:49
ACCESS WINDOW OPEN:
ACCESS WINDOW CLOSED:
2l-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
by the DISCONNECT command.
D-7
hung
up
KLINIK ACCESS DIALOGUE
If the remote user tries again to gain access to the system before the
parameters are reset, the access is denied, and the following messages
appears on both the remote and local terminals:
KLR
KLINIK RING - WINDOW CLOSED
KLD
KLINIK LINE DISCONNECTED
The termination dialogue is illustrated by the following example:
PAR>CLEAR KLINIK
KLINIK DISABLED
KLD -- KLINIK ACCESS TERMINATED BY OPERATOR
PAR>DISCONNECT
KLD -- KLINIK LINE DISCONNECTED
PAR>
D.4
REMOTE USER DIALOGUE wITH KLINIK
The remote user of the KLINIK link can be accessing the computer
system for
a variety of reasons.
For example, Software Support and
Field Service personnel may wish to run software and hardware
diagnostics.
It can also be useful to watch some problem-causing
event as it occurs. Other DIGITAL personnel may use the link to
gather statistics on local system usage.
The link can be set up in two different ways to accommodate this
variety.
As discussed in Section D.l.l, the remote terminal can be
either a normal timesharing user or a remote CTY.
D.4.l
Logging In as a Remote Operator
RSX-20F answers the DLllE when it rings and decides what to do based
on the current setting of the KLINIK MODE parameter.
If the KLINIK
MODE is REMOTE, RSX-20F prints the following message on both the
remote and local terminals:
KLR -- KLINIK RING - VALIDATING ACCESS
This message is followed on the remote terminal by:
PASSWORD:
At this time you should type in the password that was previously
agreed upon.
You have five tries to give the correct password.
During the time the KLINIK link is being validated,
the PARSER is
unavailable to either the local or the remote terminals.
If either
the local operator or the remote user attempts to invoke the PARSER,
the request is queued and the validation process is continued.
If you give
message:
an
incorrect
password,
KLR -- INCORRECT PASSWORD
D-8
RSX-20F
prints
the
following
KLINIK ACCESS DIALOGUE
RSX-20F then waits ten seconds before allowing any further attempt to
enter the password.
During this ten-second wait, anything you type is
ignored. After ten seconds, the following prompt is printed again:
PASSWORD:
If after five tries you are unable to give the correct
following messages are printed on both terminals:
KLR
KLR
KLINIK LOGON TIMEOUT LOGON ABORTED
KLD
KLINIK LINE DISCONNECTED
password,
the
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,
message on the remote terminal:
RSX-20F
prints
the
following
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
KLR
KLINIK LINE CONNECTED TO RSX-20F
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
herald, just as a normal timesharing user would receive.
D-9
the
system
KLINIK ACCESS DIALOGUE
The following
remote user.
KLINIK MODE:
example shows
a timesharing
1.
examples illustrate the dialogue between RSX-20F and the
The first example shows a remote user answering the
prompt with REMOTE to get a
remote CTY.
The second
how the same user could decide to login to the system as
user.
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:
2.
REMOTE
KLR
KLR
KLINIK LINE CONNECTED TO RSX-20F
CONSOLE MODE LIMIT:
[MAINTENANCE]
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
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)
@
D-10
a
remote
user
KLINIK ACCESS DIALOGUE
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
SAV
*DIAG*
*DIAG*
KLINIK LINE ACTIVE IN REMOTE MODE
KLINIK LINE CONNECTED TO SYSTEM CONSOLE
If the link was set up to be
printed on both terminals:
SAV -- *DIAG*
USER
MODE,
the
following
message
is
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 probl~m usually requires a
system.
reload
D-1l
of
the
TOPS-IO
or
TOPS-20
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 allbw 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
ODUMPll.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.
E-l
GETTING HELP ON RSX-20F
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.
E-2
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
FD
TD
RD
RTS
CTS
DSR
SG
DCD
SDCD
SCTS
STD
TC
SRD
RC
SRTS
DTR
SQ
RI
(TC)
To To
DTE DCE
<
<
<
>
>
<
<
<
<
<
<
<
<
<
<
>
>
>
>
>
>
>
Function
Circuit
(CCITT)
(EIA)
Frame Ground
Transmitted Data
Received Data
Request To Send
Clear To Send
Data Set Ready
Signal Ground
Data Carrier Detect
positive Dc Test Volt
Negitive Dc Test Voltage
Unassigned
Sec. Data Carrier Detect
Sec. Clear To Send
Sec. Transmitted Data
Transmitter Clock
Sec. Received Data
Receiver Clock
Receiver Dibit Clock
Sec. Request To Send
Data Terminal Ready
Signal Quality Detect
Ring Indicator
Data Rate Select
External Transmitter Clock
Busy
F-l
101
103
104
105
106
107
102
109
(AA)
(BA)
(BB)
(CA)
(CB)
(CC)
(AB)
(CF)
122
121
118
114
119
115
(SCF)
(SCB)
(SBA)
(DB)
(SBB)
(DO)
120
108.2
110
125
111/112
113
(SCA)
(CD)
(CG)
(CE)
(CH/CI)
(DA)
INOEX
$OHINP routine,
7-17, 7-18,
$OHOUT routine,
7-24, 7-25,
$OMINT routine,
7-14
7-14,
7-19
7-16,
7-26,
7-12,
7-16,
7-23,
7-27
7-13,
.BGBUF location, 10-6,
10-18
.CRASH macro, 7-10
.CRTSK location, 7-8, 10-5,
10-11
.OHSTO routine, 7-27
.OHTMO routine, 7-20, 7-21,
7-22, 7-23
.OMTMO routine, 7-15, 7-16
.FREPL location, 10-6
.POLLH location, 10-6
.STOTB table, 7-7
OOUMPll.BIN file, E-l, 10-1,
10-4
ABORT PARSER command, 4-6
Absolute mode, 6-32
ZAP, 6-33
Access dialog,
KLINIK, 0-1
Access parameters,
KLINIK, 0-1, 0-2
setting KLINIK, 0-4, 0-5,
0-6
Access password,
KLINIK, 0-2, 0-8
Access window,
KLINIK, 0-2, 0-3
Access window password,
KLINIK, 10-14
Access window start date,
KLINIK, 10-14
Access window start time,
KLINIK, 10-14
Ack line, 7-27
Acknowledge signal, 7-27
Active Task List, 7-7, 7-9,
10-32
Address,
relative, 6-32
Address of Executive,
base, 10-11
high, 10-11
Addressing modes,
ZAP, 6-33
Allocation map,
memory, 6-34
Ancillary Control Processor,
6-10, 7-6
Appending files, 6-13
APR, 8-5
APR break conditions, 8-6
APR flags in Communications
Reg ion, 8-5
Area,
pointer to next
Communications Region,
8-4
Area in Communications
Region, 8-1
Arithmetic expressions,
evaluation of, 4-3
Arithmetic operators,
precedence of, 4-3
ZAP, 6-34, 6-37
Arithmetic Processor, 8-5
Asynchronous traps, 1-3,
7-9
ATL, 7-7
ATL entry for
CO task, 10-33
OECtape task, 10-33
OTE-20 task, 10-32
FE task, 10-33
floppy disk task, 10-33
LP task, 10-33
null task, 10-33
queued protocol task
10-33
RP task, 10-33
terminal task, 10-33
ATL node, 7-7, 7-8
of current task,
7-8, 10-5
ATL scan routine, 7-9
Auto-baud wait flag, 7-14,
7-18, 7-23
Auto-bauded lines,
count of, 10-20
Auto-bauding, 7-19
Automatic baud rate
determination, 7-19
Automatic reload flag,
10-13
Index-l
INDEX ( CONT. )
Available space,
listing. 6-13, 6-15
Bootstrap program BOOT.EXB,
default, 5-2
Bootstrapping errors, 5-5
BPARER DTE-20 bit, 8-12
BR requests, 1-4
PDP-II, 8-12
Branch displacement, 6-36,
6-43
Break conditions,
APR, 8-6
Buffer,
Big, 7-4, 10-6
CD-II data, 10-27
free space in Big, 10-6
Buffer pointer,
Send-All, 10-20
Buffer size,
TO-IO, 10-15
Buffer space, 10-6
Buffer's current device,
TO-lO, 10-15
Buffer's current function,
TO-IO, 10-15
Buffer-overflow crashes,
10-6
Bus,
diagnostic, 8-14
Bus-mode,
setting external core
memory, 5-10
Byte offset format, 6-38,
6-39
Byte transfer,
error termination of,
8-12
Byte transfer mode, 8-22
setting, 8-18
BACK KLINIT command, 5-7
Bad block file, 2-4
BADBLK.SYSil file, 2-4
Base address of Executive,
10-11
Basic DTE-20 operations,
8-1
Baud rate determination,
automatic, 7-19
.BGBUF location, 10-6,
10-18
Big Buffer, 7-4, 10-6
free space in, 10-6
Bit definitions,
switch register, 5-5
Bitmap file,
storage, 2-4
BITMAP.SYSil file, 2-4
Block,
starting disk, 6-32
virtual, 2-2
Volume Controi, 6-9
Block file,
bad, 2-4
Block Number,
Virtual, 2-2
Block number/byte offset
format, 6-38
Blocks,
memory size in, 10-11
Boot parameter,
switch register, 10-13
Boot program,
magnetic tape, C-3
BOOT task, C-3
BOOT.EXB,
default bootstrap program,
5-2
TOPS-20 subdirectorie
with, 5-2
BOOT.EXB file, 5-1, 5-7
Booting the KL, 8-24
BOOTM program, 5-38
BOOTM task, C-3
BOOTS task, C-3
Bootstrap device, 5-7
Bootstrap device number,
5-5
Bootstrap program, C-3
KL, 5-1
loading, 5-2, 5-7
starting, 5-2, 5-7
Cache memory,
configuring, 5-1, 5-2,
5-8, 5-38
enabling, 5-1, 5-2, 5-8,
5-36
Calls,
hot line, E-l
Card reader data base,
10-27
Carrier transition, 7-12
Carrier transition
interrupt, 7-14
Carrier Wait flag, 7-14,
7-16, 7-19
Causing a doorbell
interrupt, 8-13
Index-2
INDEX (CONT • )
CD task,
ATL entry for, 10-33
CD-II current event flags,
10-27
CD-II data buffer, 10-27
CD-II driver,
STD entry for, 10-31
CD-II driver data base,
10-27
CD-II I/O page address,
10-27
CD-II status bits, 10-27
COD DTE-20 bit, 8-17
Character input routine,
7-14, 7-16, 7-17, 7-18,
7-19
Character output routine,
7-16, 7-23, 7-24, 7-25,
7-26, 7-27
Checking queues after a
crash, 10-6
Checksum,
file header, 2-3
CLEAR CLOCK PARSER command,
, 4-6
CLEAR CONSOLE PARSER
command, 4-4, 4-7
CLEAR DATE PARSER command,
4-7
CLEAR FS-STOP PARSER
command, 4-7
CLEAR INCREMENT PARSER
command, 4-7
CLEAR KLINIK command, 0-7
CLEAR KLINIK PARSER command,
4-7
CLEAR MEMORY PARSER command,
4-8
CLEAR NOT PARSER command,
4-8
CLEAR OFFSET PARSER command,
4-8
CLEAR PARITY STOP PARSER
command, 4-8
CLEAR RELOAD PARSER command;
4-8
CLEAR REPEAT PARSER command,
4-8
CLEAR RETRY PARSER command,
4-8
CLEAR TRACKS PARSER command,
4-9
Clearing diagnostic command
start, 8-15
Clock cycle,
generating a, 8-15
Clock request list, 10-19
CMOIC bit,
Communications Region,
CMIIC bit,
Communications Region,
CMAPRW word,
Communications Region,
CMDAPR word,
Communications Region,
CMDTE bit,
Communications Region,
CMDTN bit,
Communications Region,
CMFWD bit,
Communications Region,
CMINI bit,
Communications Region,
CMIP bit,
Communications Region,
CMKAC DTE-20 word, 9-1
CMKAC word,
Communications Region,
CMKAK word,
Communications Region,
CMLll bit,
Communications Region,
CMLNK word,
Communications Region,
CMLRF word,
Communications Region,
CMNAM bit,
Communications Region,
CMNPR bit,
Communications Region,
CMPDWD word,
Communications Region,
CMPGWD word,
Communications Region,
CMPIWD word,
Communications Region,
CMPNM bit,
Communications Region,
CMPPT word,
Communications Region,
CMPRO bit,
Communications Region,
CMPWF bit,
Communications Region,
CMQCT word,
Communications Region,
CMQP bit,
Communications Region,
CMSIZ bit,
Communications Region,
CMSZ bit,
Communications Region,
CMTEN bit,
Communications Region,
Index-3
88-8
8-5
8-6
8-6
8-6
8-8
8-7
8-8
8-4
8-9
8-7
8-4
8-9
8-3
8-3
8-5
8-5
8-4
8-6
8-7
8-6
8-7
8-9
8-8
8-3
8-6
8-3
INDEX (CONT • )
CMTOT bit,
Communications Region, 8-8
CMTST bit,
Communications Region, 8-8
CMVER bit,
Communications Region, 8-3
CMVRR bit,
Communications Region, 8-6
CNUPE DTE-20 bit, 8-18
Communications area,
owning processor's, 8-3
Communications Region,
APR flags in, 8-5
Communications Region area,
pointer to next, 8-4
Communications Region CMOI
bit, 8-8
CMIIC bit, 8-8
CMAPRW word, 8-5
CMDAPR word, 8-6
CMDTE bit, 8-6
CMDTN bit, 8-6
CMFWD bit, 8-8
CMINI bit, 8-7
CMIP bit, 8-8
CMKAC word, 8-4
CMKAK word, 8-9
CMLll bit, 8-7
CMLNK word, 8-4
CMLRF word, 8-9
CMNAM bit, 8-3
CMNPR bit, 8-3
CMPDWD word, 8-5
CMPGWD word, 8-5
CMPIWD word, 8-4
CMPNM bit, 8-6
CMPPT word, 8-7
CMPRO bi t, 8-6
CMPWF bit, 8-7
CMQCT word, 8-9
CMQP bit, 8-8
CMSIZ bit, 8-3
CMSZ bit, 8-6
CMTEN bit, 8-3
CMTOT bit, 8-8
CMTST bit, 8-8
CMVER bit, 8-3
CMVRR bit, 8-6
CPVER bit, 8-3
PIDENT word, 8-3
Communications Region
Processor Header
word, 8-3
Communications Region
protocol version
number, 8-3
Communications Region
STATUS word, 8-7
Communications Region
TOPID word, 8-6
Communications Region
version number, 8-3
Command,
diagnostic, 8-16
Command lines,
continuing PARSER, 4-2
Command start,
clearing diagnostic, 8-15
setting diagnostic, 8-15
Commands,
RSXFMT, B-2
RSXTIO, B-2
Comments,
PARSER, 4-2
Common event flags,
global, 10-11
Communication,
device, 1-3
Communications area,
PDP-II owned, 8-3
Communications interface,
DH-ll, 7-23
Communications Region, 8-1,
8-2, 8-3, 8-4, 8-5, 8-6,
8-7, 8-8, 8-9, 8-27,
9-1
area in, 8-1
header, 8-1
initializing, 8-1
KL, 9-1
section, 8-1
COMTRP location, 9-5
COMTRP routine, 7-10
Configuration,
reversing memory, 5-9
Configuration file, 5-1,
5-6, 5-9
Configuration file,
writing, 5-11
Configuration maps,
external memory, 5-31
internal memory, 5-31,
5-32
logical memory, 5-31,
5-32, 5-33
physical memory, 5-31
Configuring cache memory,
5-1, 5-2, 5-8, 5-38
Configuring external core
memory, 5-10
Configuring internal core
memory, 5-9
Configuring KL memory, 5-1,
5-2, 5-9
Configuring MOS memory,
5-10
Index-4
INDEX (CONT • )
Configuring specified
memory blocks, 5-11
Configuring specified
memory modules, 5-10
Console mode,
KLINIK, 10-14
PARSER, 4-4
Console mode flag, 10-13
Console mode of remote
terminal, D-3
Constant register,
ZAP, 6-36
Contents of memory
locations,
finding, 7-4
CONTINUE PARSER command,
4-9
Continuing PARSER command
lines, 4-2
Controlling TO-IO data
transfers, 8-20
Controlling TO-II data
transfers, 8-20
COP task, C-2
COP utility, 6-1
/BL, 6-2
/CP, 6-2
/HE, 6-2
/RD, 6-2
/VF, 6-2
/ZE, 6-2
Copying a floppy disk, 6-1
Copying files, 6-12, 6-13,
6-14
Core image file, 2-4
Core manager data base,
10-18
Core memory,
configuring external,
5-10
configuring internal, 5-9
Core memory bus-mode,
setting external, 5-10
CORIMG.SYSil file, 2-4
Count,
file revision, 2-3
Keep-Alive, 8-4, 8-9, 9-1,
10-17
Send-All terminal, 10-20
TO-IO delay, 8-23
TO-II delay, 8-23
TO-II queue entry, 10-15
Count of auto-bauded lines,
10-20
Counter,
doorbell, 10-16
hardware program, 1-4
timeout, 10-20
CPU serial number,
KL, 10-38
CPVER bit,
Communications Region, 8-3
CR task,
TPD entry for, 10-34
CRAM error report, 5-34
CRAM malfunction, 8-15
Crash,
checking queues after a,
10-6
Crash codes,
RSX-20F, 9-5, A-I, 10-5
.CRASH macro, 7-10, 9-5
Crashed system,
examining a, 7-4
Crashes,
buffer-overflow, 10-6
recovering from front-end,
10-1
Creation date,
file, 2-3
Creation time,
file, 2-3
.CRTSK location, 7-8, 10-5,
10-11
CSR's,
device, 10-40
CTY,
redirecting the, 5-5
remote, 0-2, 0-8, 0-10
CTY line speed, 10-13
CTY queue, 10-35
CTY status block, 10-21
Current event flags,
CD-II, 10-27
LP-20, 10-28
Current interrupt status,
8-14
Current task,
ATL node of, 7-8, 10-5
Current task pointer, 10-11
Cycle,
generating a clock, 8-15
01011 DTE-20 bit, 8-15,
8-16
Data,
transferring string, 8-23
Data base,
card reader, 10-27
CD-II driver, 10-27
core manager, 10-18
DEC tape driver, 10-24
disk driver, 10-25
FE device driver, 10-26
Index-5
INDEX (CONT • )
Data base (Cont.)
floppy disk driver, 10-23
Keep-Alive, 10-17
KLINIK, 10-14
LP-20 driver, 10-28
queued protocol, 10-15
terminal driver, 10-22
terminal service, 10-20
Data between processors,
transferring, 8-8, 8-18,
8-19, 8-20, 8-21, 8-22,
8-25, 8-27
Data buffer,
CD-II, 10-27
Data in front-end memory,
depositing, 10-1
examining, 10-1
Data line scanner queue,
10-35
Data packets,
transferring indirect,
8-8
Data structure of packets,
8-29
Data Terminal Ready signal,
7-12
Data transfer,
direct, 8-27
indirect, 8-27
TO-IO, 8-16, 8-22, 8-23
TO-II, 8-16, 8-22
Data transfer across DTE-20,
TO-IO, 8-1
TO-II, 8-1
Data transfer mode,
diagnostic, 8-15, 8-16
normal, 8-15
Data transfer rate, 8-21
Data transfers, 1-4
controlling TO-IO, 8-20
controlling TO-II, 8-20
Date,
file creation, 2-3
file expiration, 2-3
file revision, 2-3
PDP-II, C-2
Date flag,
valid, 10-12
Date storage area, 10-12
DCOMST DTE-20 bit, 8-15,
8-16
Debugger,
FEDDT symbolic, 10-1,
10-2, 10-3, 10-4
DECtape driver,
STD entry for, 10-31
DEC tape driver database,'
10-24
DECtape load switches, 5-4
DECtape PUD entry, 10-37
DEC tape switch register,
5-4
DEC tape task,
ATL entry for, 10-33
TPD entry for, 10-34
Default radix, 4-2
Delay count,
TO-IO, 8-23
TO-II, 8-23
Deleting files, 6-12, 6-13,
6-14
DEPOSIT AR PARSER command,
4-9
Deposit DTE-20 operation,
8-12
Deposit operation, 8-27
DTE-20, 8-21, 8-22
DEPOSIT PARSER command, 4-9
Depositing data in
front-end memory, 10-1
Deposits across DTE-20,
memory, 8-1, 8-8
Determining the task that
crashed, 10-5
Device,
dismounting a, 6-9
Files-II, 6-10
mounting a, 6-9
TO-IO buffer's current,
10-15
Device communication, 1-3
Device CSR's, 10-40
Device driver data base,
FE, 10-26
Device drivers, 1-5, 7-4
Device drivers,
interfacing, 8-25
Device number,
bootstrap, 5-5
Device priority levels, 1-3
Device Queue Pointers,
10-35
Device status registers,
10-40
Device tables,
LP-20, 10-29
physical unit, 10-36
DEX DTE-20 bit, 8-15, 8-16
DEXDON DTE-20 bit, 8-12
DEXWDl-2 DTE-20 registers,
8-22
DEXWDl-3 DTE-20 registers,
8-21
DFUNC DTE-20 bit, 8-15
DB-II communications
interface, 7-23
Index-6
INDEX (CONT • )
DH-ll queue, 10-35
DH-ll table, 10-22
$DHINP routine, 7-14, 7-16,
7-17, 7-18, 7-19
$DHOUT routine, 7-16, 7-23,
7-24, 7-25, 7-26, 7-27
.DHSTO routine, 7-27
.DHTMO routine, 7-21, 7-22,
7-23
Diagnostic bus, 8-14
Diagnostic command, 8-16
Diagnostic command start,
clearing, 8-15
setting, 8-15
Diagnostic data transfer
mode, 8-15, 8-16
Diagnostic mode,
DTE-20, 8-15
Diagnostic operations,
DTE-20, 8-1
Diagnostic registers,
DTE-20, 9-6
Diagnostic selection code,
8-15
Diagnostic Word 1,
DTE-20, 8-15, 8-17
Diagnostic Word 2,
DTE-20, 8-16
Diagnostic Word 3,
DTE-20, 8-16
Diagnostic words,
DTE-20, 8-14
Diagnostics,
KL hardware, 1-6
Dialog,
entering KLINIT, 5-6
exiting KLINIT, 5-40
file transfer, B-6
KLINIK access, D-l
KLINIK operator, D-4
KLINIT operator, 5-6, 5-7,
5-8, 5-9, 5-10, 5-11,
5-12, 5-13, 5-14, 5-15
remote user KLINIK, D-8
restarting KLINIT, 5-6,
5-40
terminating KLINIT, 5-6
Dialog error messages,
KLINIT, 5-16, 5-19
Dialog examples,
KLINIT, 5-34, 5-35, 5-36,
5-37, 5-38, 5-39
Dialog mode,
KLINIT, 5-2
Dialog reports,
KLINIT, 5-31
Differences,
RSX-20F/RSX-IIM, 1-7
DIKLIO DTE-20 bit, 8-15
Direct data transfer, 8-27
Direct packets, 8-28
Directive service routine,
7-4, 7-9
Directives, 1-4, 1-7
Directives,
performing, 7-10
Directories,
listing file, 6-12
Directory,
Master File, 2-4
System Task, 7-6, 10-30
Task Partition, 10-34
User File, 1-7, 2-1, 6-29
Directory file,
Files-II, 2-3
listing a, 6-13, 6-15
Directory file entry,
Files-II, 2-3
Disabling PDP-II interrupts,
8-14
DISCONNECT PARSER command,
4-10, D-7
Disk,
copying a floppy, 6-1
Disk block,
starting, 6-32
Disk driver, 1-7
STD entry for floppy,
10-31
Disk driver data base,
10-25
floppy, 10-23
Disk load switches,
floppy, 5-3
Disk PUD entry,
floppy, 10-37
Disk switch register,
floppy, 5-3
Disk task,
ATL entry for floppy,
10-33
TPD entry for floppy,
10-34
Dismounting a device, 6-9
Displacement,
branch, 6-36, 6-43
jump, 6-36, 6-43
DLll queue, 10-35
DLll/C table, 10-22
DLll/E table, 10-22
DLYCNT DTE-20 register,
8-20, 8-21, 8-23
DM-IIBB modem interface,
7-23
DMl1/BB table, 10-22
Index-7
INDEX ( CONT • )
$DMINT routine, 7-12, 7-13,
7-14
DMO error messages, 6-11
DMO task, C-2
DMO utility, 6-9, 6-10
.DMTMO routine, 7-15, 7-16,
7-20
DON10C DTE-20 bit, 8-13
DON108 DTE-20 bit, 8-13
DON11C DTE-20 bit, 8-14
DONl18 DTE-20 bit, 8-14
Done interrupt, 8-8
Doorbell counter, 10-16
Doorbell function, 8-23
DTE-20, 8-1
Doorbell interrupt, 8-7,
8-8, 8-10, 8-12
causing a, 8-13
DP84[N] DTE-20 bit, 8-17
DRAM error report, 5-34
DRAM malfunction, 8-15
DRE8ET DTE-20 bit, 8-17
Driver,
disk, 1-7
DTE-20, 1-7
8TD entry for CD-II,
10-31
8TD entry for DECtape,
10-31
8TD entry for DTE-20,
10-30
8TD entry for FE, 10-31
8TD entry for floppy disk,
10-31
8TD entry for LP, 10-31
8TD entry for terminal,
10-31
Driver data base,
CD-II, 10-27
DECtape, 10-24
disk, 10-25
FE device, 10-26
floppy disk, 10-23
LP-20, 10-28
terminal, 10-22
Driver routine,
terminal, 7-12, 7-13,
7-14
Drivers,
device, 1-5, 7-4
interfacing device, 8-25
Driving the DTE-20, 1-7
D800-D803 DTE-20 bit, 8-15
D800-D806 DTE-20 bit, 8-15
D804 DTE-20 bit, 8-15
D805 DTE-20 bit, 8-16
D806 DTE-20 bit, 8-16
D8END DTE-20 bit, 8-15
DTE-20,
driving the, 1-7
memory deposits across,
8-1, 8-8
memory examines across,
8-1, 8-8
privileged, 9-7, 10-16
single-stepping the, 8-11,
8-12
TO-10 data transfer
across, 8-1
TO-II data transfer
across, 8-1
DTE-20 bit,
BPARER, 8-12
CDD, 8-17
CNUPE, 8-18
D1011, 8-15, 8-16
DCOM8T, 8-15, 8-16
DEX, 8-15, 8-16
DEXDON, 8-12
DFUNC, 8-15
DIKL10, 8-15
DON10C, 8-13
DON108, 8-13
DON11C, 8-14
DONl18, 8-14
DP84 [N], 8-17
DRE8ET, 8-17
D800-D803, 8-15
D800-D806, 8-15
D804, 8-15
D805, 8-16
D806, 8-16
D8END, 8-15
DUPE, 8-17
DURE, 8-18
DXWRD1, 8-11
EB8EL, 8-12
EBU8PC, 8-14
EBU8P8, 8-14
EDONE8, 8-16
ERR10C, 8-13
ERR1 08, 8-13
ERR11C, 8-14
ERRl18, 8-14
INT108, 8-13
INT11C, 8-13
INTl18, 8-13
INTROF, 8-14
INTRON, 8-14
INT80N, 8-12
MPE11, 8-12
NUL8TP, 8-12
NUPE, 8-18
PERCLR, 8-13
PULSE, 8-15
RAMI80, 8-11
Index-8
INDEX (CaNT.)
DTE-20 bit (Cont.)
RFAMDO, 8-16
RFMADl, 8-16
RFMAD2, 8-16
RFMAD3, 8-16
RM, 8-12
SCD, 8-17
SWSLLT, 8-17
TOIO, 8-16
TOIOBM, 8-18
TOIODB, 8-12
TOIODN, 8-11
TOIOER, 8-11
Tall, 8-16
TOIIDB, 8-11
TOIIDN, 8-12
TOllER, 8-12
VEC04, 8-16
WEP, 8-18
DTE-20 deposit operation,
8-21, 8-22
DTE-20 diagnostic mode,
8-15
DTE-20 diagnostic
operations, 8-1
DTE-20 diagnostic registers,
9-6
DTE-20 Diagnostic Word 1,
8-15, 8-17
DTE-20 Diagnostic Word 2,
8-16
DTE-20 Diagnostic Word 3,
8-16
DTE-20 diagnostic words,
8-14
DTE-20 doorbell function,
8-1
DTE-20 driver, 1-7
STD entry for, 10-30
DTE-20 examine operation,
8-12, 8-21, 8-22
DTE-20 hardware operations,
8-1
DTE-20 loop-back test, 8-15
DTE-20 mode,
privileged, 8-12
restricted, 8-12
DTE-20 operation,
deposit, 8-12
DTE-20 operations,
basic, 8-1
DTE-20 protocol, 8-24
DTE-20 register, 8-10
DEXWDl-2, 8-22
DEXWDl-3, 8-21
DLYCNT, 8-20, 8-21, 8-23
examining, 10-6
locations of, 8-10
DTE-20 register (Cont.)
STATUS, 8-10
TENADl-2, 8-21, 8-22
TOIOAD, 8-19, 8-23
TOIOBC, 8-10, 8-20, 8-23
TOIODT, 8-18
TOIIAD, 8-19, 8-23
TOIIBC, 8-20, 8-23
T011DT, 8-18
using the, 8-22
DTE-20 status word, 8-10
read state of, 8-11, 8-12
write state of, 8-13,
8-14
DTE-20 task,
ATL entry for, 10-32
TPD entry for, 10-34
DTE-20 word,
CMKAC, 9-1
DTR signal, 7-12, 7-14
Dump analysis,
sample RSX-20F, 10-7,
10-8, 10-9, 10-10
Dump file,
examining locations in a,
10-1
reading a front-end, 10-1
producing, E-l
Dumps,
interpreting RSX-20F,
10-4, 10-5, 10-6, 10-7,
10-8, 10-9, 10-10
DUPE DTE-20 bit, 8-17
DURE DTE-20 bit, 8-18
DXWRDI DTE-20 bit, 8-11
EBSEL DTE-20 bit, 8-12
EBUS parity error, 8-12,
10-16
EBUSPC DTE-20 bit, 8-14
EBUSPS DTE-20 bit, 8-14
EDONES DTE-20 bit, 8-16
EIA pin definitions, F-1
Emergency Stack, 10-39
EMT instruction, 7-10
Enabling cache memory, 5-1,
5-2, 5-8, 5-36
Enabling PDP-II interrupts,
8-12, 8-14
Enabling remote lines,
10-20
Entering KLINIT dialog, 5-6
Entering KLINIT from PARSER,
5-6
Entry count,
TO-II queue, 10-15
Index-9
INDEX (CONT . )
EPT, 8-27
ERRI0C DTE-20 bit, 8-13
ERRI0S DTE-20 bit, 8-13
ERRIIC DTE-20 bit, 8-14
ERRIIS DTE-20 bit, 8-14
Error codes,
RSX-20F I/O, A-I, A-7
Error logging,
KL, 9-2
PDP-II, 9-5
RSX-20F, 9-2
Error messages,
DMO, 6-11
KLINIT dialog, 5-16, 5-19
KLINIT system, 5-16, 5-20,
5-21, 5-22, 5-23, 5-24,
5-25, 5-26, 5-27, 5-28,
5-29, 5-30, 5-31
MOU, 6-11
PARSER, 4-4, 4-23
PIP, 6-19, 6-20, 6-21,
6-22, 6-23
RED, 6-24
SAV, 6-26
UFD, 6-30
ZAP, 6-43, 6-44, 6-45
Error termination of byte
transfer, 8-12
ERROR.SYS file, C-l, C-2,
D-l, E-2
Errors,
bootstrapping, 5-5
Evaluation of arithmetic
expressions, 4-3
Event,
significant, 1-5, 1-7
Event flags,
CD-II current, 10-27
global common, 10-11
LP-20 current, 10-28
significant, 10-11
EXAMINE AB PARSER command,
4-11
EXAMINE AD PARSER command,
4-11
EXAMINE ADX PARSER command,
4-11
EXAMINE AR PARSER command,
4-11
EXAMINE ARX PARSER command,
4-12
EXAMINE BR PARSER command,
4-12
EXAMINE BRX PARSER command,
4-12
EXAMINE CRADDR PARSER
command, 4-12
Index,..10
EXAMINE CRLOC PARSER
command, 4-12
EXAMINE DRADDR PARSER
command, 4-12
EXAMINE DTE-20 PARSER
command, 4-12
EXAMINE EBUS PARSER command,
4-12
EXAMINE FE PARSER command,
4-13
EXAMINE FLAGS PARSER
command, 4-13
EXAMINE FM PARSER command,
4-13
EXAMINE KL PARSER command,
4-10
EXAMINE MQ PARSER command,
4-13
Examine operation, 8-27
DTE-20, 8-12, 8-21, 8-22
EXAMINE PARSER command,
4-10
EXAMINE PC PARSER command,
4-10
EXAMINE PI PARSER command,
4-13
EXAMINE REGISTERS PARSER
command, 4-13
EXAMINE SBR PARSER command,
4-13
EXAMINE SECTION PARSER
command, 4-14
EXAMINE VMA PARSER command,
4-14
EXAMINE VMAH PARSER command,
4-14
Examines,
verifying memory, 8-8
Examines across DTE-20,
memory, 8-1, 8-8
Examining a crashed system,
7-4
Examining current KLINIK
parameters, D-6, D-7
Examining data in front-end
memory, 10-1
Examining DTE-20 registers,
10-6
Examining front-end memory,
10-4
Examining locations in a
dump file, 10-1
Examining PDP-II registers,
10-6
Executive,
base address of, 10-11
high address of, 10-11
INDEX (CONT.)
Executive (Cont.)
RSX-20F, 7-1, 7-2, 7-3,
7-4
Executive partition, 1-5
Executive Process Table,
8-27
Executive tasks, 7-6
Exiting KLINIT dialog, 5-40
Exiting PARSER, 4-1
Expiration date,
file, 2-3
Expressions,
evaluation of arithmetic,
4-3
Extension,
file, 2-3
Extension header,
file, 2-3
linkage to, 2-3
External core memory,
configuring, 5-10
External core memory
bus-mode,
setting, 5-10
External memory
configuration maps,
5-31
External page, 1-3, 7-4,
10-40, 10-41
External page address,
CD-II, 10-27
FIIACP, 7-4
STD entry for, 10-31
FIIACP task, C-l
TPD entry for, 10-34
FIITPD partition, 1-5, 7-4
Fail bit,
power, 8-7
Fast Memory parity error,
8-15, 9-2, 9-4
FCS file structure, 2-4
FE device driver data base,
10-26
FE driver,
STD entry for, 10-31
FE program, B-1, B-4
running, B-4, B-5
FE PUD entry, 10-37
FE task,
ATL entry for, 10-33
TPD entry for, 10-34
FE: device, B-4, B-5, C-2
FEDDT,
writing files with, 10-1
FEDDT commands, 10-2, 10-3,
10-4
FEDDT modes,
setting, 10-3, 10-4
FEDDT output modes,
setting, 10-3, 10-4
FEDDT symbolic debugger,
10-1, 10-2, 10-3, 10-4
FEDDT with symbols loaded,
saving, 10-2
FEUIC.TXT file, B-4
Field service test
condition, 8-15
File,
configuration, 5-6, 5-9
Files-II, 2-2
Files-II index, 2-4
File Control Services, 2-4
File creation date, 2-3
File creation time, 2-3
File Directory,
Master, 2-4
User, 1-7, 2-1, 6-29
File expiration date, 2-3
File extension, 2-3
File extension headers, 2-3
File header, 2-3
File header checksum, 2-3
File ID, 1-7, 2-2, 2-3
File name, 2-3
pr imary, 2-3
File number, 2-2
File ownership code, 2-3
File protection code, 2-3
File revision count, 2-3
File revision date, 2-3
File revision time, 2-3
File sequence number, 2-2
File structure,
FCS, 2-4
File system,
front-end, 1-7
File transfer dialog, B-6
File type, 2-3
File version number, 2-2,
2-3
Files,
reformatting, B-1, B-2,
B-3
transferring, B-4, B-5,
B-6, B-7, C-2
Files between processors,
transferring, B-1
Files-II, 1-7, 2-1
Files-II device, 6-10, C-2
Files-II directory file,
2-3
Index-II
INDEX (CONT • )
Files-II directory file
entry, 2-3
Files-II file, 2-2
Files-II index file, 2-4
Files-II medium, 2-1
Files-II partition, l-S
Files-II tasks, 1-7
Files-II volume, 2-1, C-2
Finding contents of memory
locations, 7-4
Finding last instruction
executed, 10-S
Fixed-length records, 2-4
Floppy disk,
copying a, 6-1
zeroing a, 6-2
Floppy disk driver,
STD entry for, 10-31
Floppy disk driver data
base, 10-23
Floppy disk load switches,
S-3
Floppy disk PUD entry,
10-37
Floppy disk switch register,
S-3
Floppy disk task,
ATL entry for, 10-33
TPD entry for, 10-34
Format of KLERRO.SNP file,
9-6
Format register,
ZAP, 6-36
Framing error, 7-19, 7-23
FREAD PARSER command, 4-14
Free Pool, 7-4, 10-6, 10-18
Free Pool,
free space in, 10-6
Free space in Big Buffer,
10-6
Free space in Free Pool,
10-6
.FREPL location, 10-6
Front end,
privileged, 8-24
Front End Status Block,
10-10
Front-end crashes,
recovering from, 10-1
Front-end dump file,
reading a, 10-1
Front-end file system, 1-7
Front-end function, 1-6
Front-end memory,
depositing data in, 10-1
examining, 10-4
examining data in, 10-1
Front-end tasks, C-l
Index-12
Function,
front-end, 1-6
TO-IO buffer's current,
10-lS
Functions of queued
protocol driver, 8-2S
FWRITE PARSER command, 4-14
FXCT PARSER command, 4-14
GEN partition, 1-5, 1-7,
4-1, 7-4
GEN partition,
installing tasks in, 7-8
TPD entry for, 10-34
General partition, l-S
General PDP-II registers,
1-4
Generating a clock cycle,
8-lS
Generating parity, 8-18
Getting help on RSX-20F,
E-l
Global common event flags,
10-11
HALT PARSER command, 4-14
Halting the KL, 8-16
Handling,
trap, 7-10
Hardware,
modem handling, 7-12
Hardware diagnostics,
KL, 1-6
Hardware interface, 8-1
Hardware operations,
DTE-20, 8-1
Hardware options available,
10-38
Hardware program counter,
1-4
Hardware stack pointer, 1-4
Head,
TO-IO queue current,
10-lS
Header,
Communications Region,
8-1
file, 2-3
linkage to extension, 2-3
Header area, 2-3
Header checksum,
file, 2-3
Header word,
Communications Region Processor, 8-3
INDEX (CONT.)
Headers,
file extension, 2-3
Help facility,
PARSER, 4-4
Help on RSX-20F,
getting, E-l
High address of Executive,
10-11
Hot line calls, E-l
Install task,
TPD entry for, 10-34
Installation,
task, 6-24
Installing tasks in GEN
partition, 7-8
Instruction executed,
finding last, 10-S
Instruction set,
PDP-II, 1-4
INTIOS DTE-20 bit, 8-13
INTIIC DTE-20 bit, 8-13
INTllS DTE-20 bit, 8-13
Interface,
DH-ll communications,
7-23
DM-IIBB modem, 7-23
Interfacing device drivers,
8-2S
Interleaving KL memory, S-l,
5-2, S-IO
Internal core memory,
configuring, 5-9
Internal memory
configuration maps,
5-31, S-32
Internal registers,
ZAP, 6-34
Interpreting RSX-20F dumps,
10-4, 10-S, 10-6, 10-7,
10-8, 10-9, 10-10
Interrupt,
doorbell, 8-7
Interrupt priorities, 1-3
Interrupt status,
current, 8-14
Interrupt system,
Prior i ty, 8-4
Interrupts,
disabling PDP-II, 8-14
enabling PDP-II, 8-12,
8-14
vector, 1-3
INTROF DTE-20 bit, 8-14
INTRON DTE-20 bit, 8-14
INTSON DTE-20 bit, 8-12
IOT instruction, 9-S
IOTTRP location, 9-S
IOTTRP routine, 7-10
I/O,
redirecting, 6-23
I/O error codes,
RSX-20F, A-I, A-7
I/O page, 1-3, 7-4, 10-40,
10-41
I/O page address,
CD-II, 10-27
I/O Page dump, 10-40
I/O requests, l-S
ID,
file, 1-7, 2-2, 2-3
Ident area, 2-3
Identification table,
processor, 10-lS
Ignoring KL errors, 10-12
Ignoring KL halts, 10-12
Image file,
core, 2-4
Index file,
Files-II, 2-4
Indexed file,
positioning in an, 6-S
INDEXF.SYSil file, 2-4
Indirect data packets,
transferring, 8-8
Indirect data transfer,
8-27
Indirect packets, 8-28
Informational messages,
KLINIT, S-16, S-17
INI task, C-2
INI utility, 6-4
/FULL, 6-S
/INDX, 6-S
/INF, 6-S
Initialization,
KL, 1-6
INITIALIZE PARSER command,
4-lS
Initializing a volume, 6-4
Initializing Communications
Region, 8-1
Input routine,
character, 7-14, 7-16,
7-17, 7-18, 7-19
JSYS's,
TOPS-20, 1-4
Jump displacement, 6-36,
6-43
JUMP PARSER command, 4-lS
Index-13
INDEX (CONT • )
Keep-Alive count, 8-4, 8-9,
9-1, 10-17
Keep-Alive data base, 10-17
Keep-Alive-Cease error, 9-1,
9-2, 10-5, 10-6
KL,
booting the, 8-24
halting the, 8-16
loading the, 5-1
KL bootstrap program, 5-1
KL Communications Region,
9-1
KL CPU serial number, 10-38
KL error logging, 9-2
KL errors,
ignoring, 10-12
KL halts,
ignoring, 10-12
KL hardware diagnostics,
1-6
KL initialization, 1-6
KL memory,
configuring, 5-1, 5-2,
5-9
interleaving, 5-1, 5-2,
5-10
KL microcode,
loading, 5-1, 5-2, 5-7
verifying, 5-2, 5-7, 5-39
KL state flag, 10-13
KL status,
sampling, 8-15
KL.CFG file, 5-1, 5-8, 5-9,
5-11, 5-27, 5-31
KL/PDP-ll interface, 8-1
KLA.MCB file, 5-1
KLOISC task, C-2
KLE task, C-l
KLERR,
running, 9-1, 9-2
KLERR functions, 9-2
KLERR messages, 9-7
KLERR task, 9-1
KLERRO.SNP file, 9-2, 9-6,
9-10, C-l
KLERRO.SNP file,
format of, 9-6
KLI task, C-l
KLINIK, C-2
KLINIK access dialog, 0-1
KLINIK access parameters,
0-1, 0-2
KLINIK access parameters,
setting, 0-4, 0-5, 0-6
KLINIK access password, 0-2,
0-8
KLINIK access window, 0-2,
0-3
Index-14
KLINIK access window
password, 10-14
KLINIK access window start
date, 10-14
KLINIK access window start
time, 10-14
KLINIK console mode, 10-14
KLINIK data base, 10-14
KLINIK dialog,
remote user, 0-8
KLINIK events, 0-1
KLINIK integrity over
reboot, 0-11
KLINIK line status flag,
10-14
KLINIK link, 4-7
terminating, 0-7
KLINIK operator dialog, 0-4
KLINIK parameters,
examining current, 0-6,
0-7
KLINIK terminal,
remote, 0-2
KLINIT, 5-1
loading, 5-6
starting, 5-6
KLINIT command,
BACK, 5-7
KLINIT dialog,
entering, 5-6
exiting, 5-40
restarting, 5-6, 5-40
terminating, 5-6
KLINIT dialog error
messages, 5-16, 5-19
KLINIT dialog examples,
5-34, 5-35, 5-36, 5-37,
5-38, 5-39
KLINIT dialog mode, 5-2
KLINIT dialog reports, 5-31
KLINIT from PARSER,
entering, 5-6
KLINIT informational
messages, 5-16, 5-17
KLINIT messages, 5-16
KLINIT operator dialog, 5-6,
5-7, 5-8, 5-9, 5-10,
5-11, 5-12, 5-13, 5-14,
5-15
KLINIT system error
messages, 5-16, 5-20,
5-21, 5-22, 5-23, 5-24,
5-25, 5-26, 5-27, 5-28,
5-29, 5-30, 5-31
KLINIT tracking capability,
5-7
KLINIT warning messages,
5-16, 5-17, 5-18, 5-19
INDEX (CONT.)
KLRING task, C-2
KLX.MCB file, 5-1
KLXFER,
running, 9-10
KLXFER task, 9-6, 9-10, C-l
Known files, 2-4
Last instruction executed,
finding, 10-5
Line speed,
CTY, 10-13
Line speed table, C-2
Line status flag,
KLINIK, 10-14
Linkage to extension header,
2-3
Listing a directory file,
6-13, 6-15
Listing available space,
6-13, 6-15
Listing file directories,
6-12
Load switches,
DECtape, 5-4
floppy disk, 5-3
Loading a specified file,
5-11
Loading bootstrap program,
5-2, 5-7
Loading KL microcode, 5-1,
5-2, 5-7
Loading KLINIT, 5-6
Loading monitor from
subdirectories, 5-2
Loading RSX-20F, 5-6
Loading the KL, 5-1
Loading the system, 5-6
Locations in a dump file,
examining, 10-1
Locations of DTE-20
registers, 8-10
Logging,
KL error, 9-2
PDP-II error, 9-5
RSX-20F error, 9-2
Logical memory
configuration maps,
5-31, 5-32, 5-33
Logical Unit Number, 2-1,
6-9
Logical unit Tables, 10-36
Loop-back test,
DTE-20, 8-15
LP driver,
STD entry for, 10-31
LP PUD entry, 10-37
Index-15
LP task,
ATL entry for, 10-33
TPD entry for, 10-34
LP-20 current event flags,
10-28
LP-20 device tables, 10-29
LP-20 driver data base,
10-28
LP-20 status block, 10-28
LPT thread lists, 7-4
LPTBL location, 10-29
LUN, 2-1
Magnetic tape boot program,
C-3
Maintenance mode, 4-4
Manager data base,
core, 10-18
Map area, 2-3
Map file,
memory, 1-6
Mapped system, 1-5
Maps,
external memory
configuration, 5-31
internal memory
configuration, 5-31,
5-32
logical memory
configuration, 5-31,
5-32, 5-33
physical memory
configuration, 5-31
Master File Directory, 2-4
MB20 memory,
reconfiguring, 5-36
MCR PARSER command, 4-15
Medium,
Files-II, 2-1
Memory,
configuring cache, 5-1,
5-2, 5-8, 5-38
configuring external core,
5-10
configuring internal core,
5-9
configuring KL, 5-1, 5-2,
5-9
configuring MOS, 5-10
depositing data in
front-end, 10-1
enabling cache, 5-1, 5-2,
5-8, 5-36
examining data in
front-end, 10-1
examining front-end, 10-4
INDEX (CaNT.)
Memory (Cont.)
interleaving KL, 5-1, 5-2,
5-10
reconfiguring MB20, 5-36
Memory addresses,
virtual, 1-5
Memory allocation map, 6-34
Memory blocks,
configuring specified,
5-11
Memory bus-mode,
setting external core,
5-10
Memory configuration,
reversing, 5-9
Memory configuration maps,
external, 5-31
internal, 5-31, 5-32
logical, 5-31, 5-32, 5-33
physical, 5-31
Memory deposits across
DTE-20, 8-1, 8-8
Memory examines,
verifying, 8-8
Memory examines acrGSS
DTE-20, 8-1, 8-8
Memory layout,
RSX-20F, 7-5
Memory locations,
finding contents of, 7-4
Memory map file, 1-6
Memory modules,
configuring specified,
5-10
Memory parity error,
Fast, 8-15, 9-2, 9-4
PDP-II, 8-11, 8-12, 8-13
Memory parity option,
MFIILP, 8-12
MFI1UP, 8-12
Memory size in blocks,
10-11
Merging files, 6-13, 6-18
MFIILP memory parity option,
8-12
MFI1UP memory parity option,
8-12
MFD, 2-4
Microcode,
loading KL, 5-1, 5-2, 5-7
verifying KL, 5-2, 5-7,
5-39
Microcode file, 5-1
Microcode verification
error reports, 5-33
MIDNIT task, C-2
Mode,
maintenance, 4-4
Index-16
Mode (Cont.)
operator, 4-4
PARSER console, 4-4
privileged DTE~20, 8-12
programmer, 4-4
restricted DTE-20, 8-12
user, 4-4
Modem handling, 7-11
concepts, 7-11
hardware, 7-12
routine, 7-12, 7-13, 7-14
Modem interface,
DM-I1BB, 7-23
Modem strapping options,
7-11
Modem timeout routine, 7-14,
7-15, 7-16
Monitor,
TOPS-IO default, 5-1
TOPS-20 default, 5-1
Monitor from subdirectories,
loading, 5-2
MaS memory,
configuring, 5-10
MOU error messages, 6-11
MOU task, C-l
MOU utility, 6-9, 6-10
Mounting a device, 6-9
MPE11 DTE-20 bit, 8-12
MTBOOT task, C-3
MTBOOT.EXB file, 5-38
Name,
file, 2-3
owning processor's, 8-3
primary file, 2-3
Node Pool, 10-6
Nonprivileged tasks, 1-6
Nonresident tasks, 1-6
Nonstandard devices, E-2
Normal data transfer mode,
8-15
NPR requests, 1-4
NPR UNIBUS parity error,
8-11
Null task, 7-9
ATL entry for, 10-33
NULSTP DTE-20 bit, 8-12
Number,
processor, 10-15
NUPE DTE-20 bit, 8-18
Obsolete files,
purging, 6-13, 6-18
INDEX (CONT.)
Offset, 4-3
relative, 6-33
Operation,
deposit, 8-27
deposit DTE-20, 8-12
DTE-20 deposit, 8-21,
8-22
DTE-20 examine, 8-12,
8-21, 8-22
examine, 8-27
Operator dialog,
KLINIK, 0-4
KLINIT, 5-6, 5-7, 5-8,
5-9, 5-10, 5-11, 5-12,
5-13, 5-14, 5-15
Operator mode, 4-4
Operators,
precedence of arithmetic,
4-3
Output modes,
setting FEDDT, 10-3, 10-4
Output routine,
character, 7-16, 7-23,
7-24, 7-25, 7-26, 7-27
Overlays, 1-5
RSX-20F, 7-1
Owned area, 8-1
Owned communications area,
PDP-II, 8-3
Ownership code,
file, 2-3
Owning processor, 8-3
Owning processor'
communications area, 8-3
name, 8-3
serial number, 8-3
Packet address, 10-21,
10-23
Packet size, 10-21
Packets,
data structure of, 8-29
direct, 8-28
indirect, 8-28
transferring indirect
data, 8-8
Page,
external, 1-3, 7-4, 10-40,
10-41
I/O, 1-3, 10-40, 10-41
Pager process status, 8-5
Pager system status, 8-5
Parity,
generating, 8-18
Parity error,
EBUS, 8-12, 10-16
Index-17
Parity error (Cont.)
Fast Memory, 8-15, 9-2,
9-4
NPR UNIBUS, 8-11
PDP-II memory, 8-11, 8-12,
8-13
UNIBUS, 8-17
Parity flip-flop,
UNIBUS, 8-18
Parity network,
testing, 8-18
Parity option,
MFl1LP memory, 8-12
MFl1UP memory, 8-12
Parity registers save area,
10-11
PARSER, 4-1
entering KLINIT from, 5-6
exiting, 4-1
starting, 4-1
PARSER command,
ABORT, 4-6
CLEAR CLOCK, 4-6
CLEAR CONSOLE, 4-4, 4-7
CLEAR DATE, 4-7
CLEAR FS-STOP, 4-7
CLEAR INCREMENT, 4-7
CLEAR KLINIK, 4-7
CLEAR MEMORY, 4-8
CLEAR NOT, 4-8
CLEAR OFFSET, 4-8
CLEAR PARITY STOP, 4-8
CLEAR RELOAD, 4-8
CLEAR REPEAT, 4-8
CLEAR RETRY, 4-8
CLEAR TRACKS, 4-9
CONTINUE, 4-9
DEPOSIT, 4-9
DEPOSIT AR, 4-9
DISCONNECT, 4-10, D-7
EXAMINE, 4-10
EXAMINE AB, 4-11
EXAMINE AD, 4-11
EXAMINE ADX, 4-11
EXAMINE AR, 4-11
EXAMINE ARX, 4-12
EXAMINE BR, 4-12
EXAMINE BRX, 4-12
EXAMINE CRADDR, 4-12
EXAMINE CRLOC, 4-12
EXAMINE DRADDR, 4-12
EXAMINE DTE-20, 4-12
EXAMINE EBUS, 4-12
EXAMINE FE, 4-13
EXAMINE FLAGS, 4-13
EXAMINE FM, 4-13
EXAMINE KL, 4-10
EXAMINE MQ, 4-13
INDEX (CONT • )
PARSER command (Cont.)
EXAMINE PC, 4-10
EXAMINE PI, 4-13
EXAMINE REGISTERS, 4-13
EXAMINE SBR, 4-13
EXAMINE SECTION, 4-14
EXAMINE VMA, 4-14
EXAMINE VMAH, 4-14
FREAD, 4-14
FWRITE, 4-14
FXCT, 4-14
HALT, 4-14
INITIALIZE, 4-15
JUMP, 4-15
MCR, 4-15
QUIT, 4-15
REPEAT, 4-15
RESET, 4-16
RESET ALL, 4-16
RESET APR, 4-16
RESET DTE-20, 4-16
RESET ERROR, 4-16
RESET I/O, 4-17
RESET INITIALIZE, 4-16
RESET PAG, 4-17
RESET PI, 4-17
RUN, 4-17
SET CLOCK, 4-17, 4-18
SET CONSOLE, 4-4, 4-18
SET DATE, 4-18
SET FS-STOP, 4-19
SET INCREMENT, 4-19
SET KLINIK, 4-19
SET MEMORY, 4-19
SET NOT, 4-19
SET OFFSET, 4-20
SET PARITY-STOP, 4-20
SET RELOAD, 4-20
SET REPEAT, 4-20
SET RETRY, 4-20
SET TRACKS, 4-21
SHUTDOWN, 4-21
START MICROCODE, 4-21
START TEN, 4-21
WHAT CLOCK, 4-21
WHAT CONSOLE, 4-4, 4-21
WHAT DATE, 4-21
WHAT INCREMENT, 4-22
WHAT KLINIK, 4-22
WHAT MEMORY, 4-22
WHAT OFFSET, 4-22
WHAT PARITY-STOP, 4-22
WHAT RELOAD, 4-22
WHAT REPEAT, 4-23
WHAT RETRY, 4-23
WHAT TRACKS, 4-23
WHAT VERSION, 4-23
XCT, 4-23
PARSER command (Cont.)
ZERO, 4-23
PARSER command lines,
continuing, 4-2
PARSER commands, 4-2, 4-6
PARSER comments, 4-2
PARSER console mode, 4-4
PARSER error messages, 4-4,
4-23
PARSER help facility, 4-4
PARSER prompts, 4-1
PARSER task, C-l
Partition,
Executive, 1-5
F11TPD, 7-4
GEN, 1-5, 7-4
installing tasks in GEN,
7-8
Partition Directory,
Task, 10-34
Password,
KLINIK access window,
10-14
Patching a task image, 6-30
PDP-II BR requests, 8-12
PDP-II date, C-2
PDP-II error logging, 9-5
PDP-II features, 1-2
PDP-II instruction set, 1-4
PDP-II interrupts,
disabling, 8-14
enabling, 8-12, 8-14
PDP-II memory parity error,
8-11, 8-12, 8-13
PDP-II owned communications
area, 8-3
PDP-II registers,
examining, 10-6
general, 1-4
PDP-II stacks, 1-4
PDP-II time, C-2
PERCLR DTE-20 bit, 8-13
Performing directives, 7-10
Peripheral Interchange
Program, 6-12
Phone ring interrupt, 7-14
Physical memory
configuration maps,
5-31
Physical unit device tables,
10-36
PIDENT word,
Communications Region, 8-3
Pin definitions,
EIA, F-1
PIP, B-1
PIP error messages, 6-19,
6-20, 6-21, 6-22, 6-23
Index-18
INDEX (CaNT.)
PIP
PIP
PIP
PIP
subswitches, 6-13
switches, 6-13
task, C-l
utility, 6-12
IFR, 6-lS
lAP, 6-13
IDE, 6-14
ILl, 6-lS
IME, 6-18
IPU, 6-18
IRE, 6-19
Pointer to nex
Communications Region
area, 8-4
.POLLH location, 10-6
Pool,
Free, 7-4, 10-6, 10-18
free space in Free, 10-6
Node, 10-6
Positioning in an indexed
file, 6-S
Power-fail trap, 7-10
Power-fail bit, 8-7
Power-fail recovery flag,
10-11
Power-fail restart, 7-22
Processor Header word,
Communications Region, 8-3
Precedence of arithmetic
operators, 4-3
Primary file name, 2-3
Primary protocol, 7-19,
8-24
switching to, 8-24
Primary Protocol functions,
10-1
Priorities,
interrupt, 1-3
Priority Interrupt system,
8-4
Priority levels,
device, 1-3
Privileged DTE-20, 9-7,
10-16
Privileged DTE-20 mode,
8-12
Privileged front end, 8-24
Privileged tasks, 1-6
Process status,
Pager, 8-S
Processor,
Arithmetic, 8-S
owning, 8-3
Processor identification
table, 10-lS
Processor number, 8-6,
10-lS
Index-19
Processor number,
protocol, 8-1
Processor reload word, 8-9
Processor Status save area,
10-12
Processor's communications area,
owning, 8-3
Processor's name,
owning, 8-3
Processor's serial number,
owning, 8-3
Processors,
transferring data between,
8-8, 8-18, 8-19, 8-20,
8-21, 8-22, 8-2S, 8-27
transferring files
between, B-1
Producing dump files, E-l
Program counter,
hardware, 1-4
Programmer mode, 4-4
Prompts,
PARSER, 4-1
Protection code,
file, 2-3
Protocol,
DTE-20, 8-24
primary, 7-19, 8-24
queued, 8-8, 8-24
secondary, 7-19, 8-24
STD entry for queued,
10-31
switching to primary,
8-24
Protocol data base,
queued, 10-lS
Protocol driver,
functions of queued, 8-2S
queued, 8-2S
Protocol functions,
Primary, 10-1
Protocol pause, 7-19
Protocol pause flag, 10-16
Protocol processor number,
8-1
Protocol task,
queued, 1-7
Protocol version number,
8-6
Communications Region, 8-3
PARSER command,
SET CLOCK NORMAL, 4-17
Protocol task,
ATL entry for queued,
10-33
TPD entry for queued,
10-34
INDEX ( CONT. )
RESET ALL PARSER command,
4-16
RESET APR PARSER command,
4-16
RESET DTE-20 PARSER command,
4-16
RESET ERROR PARSER command,
4-16
RESET I/O PARSER command,
4-17
RESET INITIALIZE PARSER
command, 4-16
RESET PAG PARSER command,
4-17
RESET PARSER command, 4-16
RESET PI PARSER command,
4-17
Resident tasks, 1-6
Restart,
power-fail, 7-22
Restarting KLINIT dialog,
5-6, 5-40
Restricted DTE-20 mode,
8-12
Retry flag, 9-1, 10-17
Reversing memory
configuration, 5-9
Revision count,
file, 2-3
Revision date,
file, 2-3
Revision time,
file, 2-3
RFAMDO DTE-20 bit, 8-16
RFMAD1 DTE-20 bit, 8-16
RFMAD2 DTE-20 bit, 8-16
RFMAD3 DTE-20 bit, 8-16
Ring In Progress flag, 7-14,
7-16
Ring interrupt,
phone, 7-14
RIP flag, 7-14
RM DTE-20 bit, 8-12
RP PUD entry, 10-37
RP task,
ATL entry for, 10-33
TPD entry for, 10-34
RSX-11D, 1-1
RSX-11M, 1-1, 1-4, 1-6
RSX-I1M utility programs,
1-7
RSX-20F,
getting help on, E-1
load ing, 5-6
starting, 5-6
RSX-20F crash codes, 9-5,
A-I, 10-5
Index-21
RSX-20F dump analysis,
sample, 10-7, 10-8, 10-9,
10-10
RSX-20F dumps,
interpreting, 10-4, 10-5,
10-6, 10-7, 10-8, 10-9,
10-10
RSX-20F error logging, 9-2
RSX-20F Executive, 7-1, 7-2,
7-3, 7-4
RSX-20F I/O error codes,
A-I, A-7
RSX-20F memory layout, 7-5
RSX-20F overlays, 7-1
RSX-20F scheduler, 7-4
RSX-20F scheduling, 7-6
RSX-20F SPR's, E-1
RSX-20F stop codes, 9-5,
A-I, 10-5
RSX-20F symbol files,
reading, 10-4
RSX-20F tasks, 7-6, C-1
RSX-20F version number,
10-11
RSX-20F/RSX-11M differences,
1-7
RSXFMT, B-1
RSXFMT commands, B-2
RSXT10, B-1
RSXT10 commands, B-2
RTS signal, 7-12, 7-14
RUN PARSER command, 4-17
Running FE program, B-4,
B-5
Running KLERR, 9-1, 9-2
Running KLXFER, 9-10
Sample RSX-20F dump
analysis, 10-7, 10-8,
10-9, 10-10
Sampling KL status, 8-15
SAV error messages, 6-26
SAV task, C-2
SAV utility, 6-24
/DM, 6-25
/EX, 6-26
/MO, 6-26
/RH, 6-26
/WB, 6-26
/WS, 6-26
Saving a task image, 6-24
Saving FEDDT with symbols
loaded, 10-2
Scan routine,
ATL, 7-9
INDEX (CONT.)
PUD entry,
DECtape, 10-37
FE, 10-37
floppy disk, 10-37
LP, 10-37
RP, 10-37
system, 10-37
terminal, 10-36
PUD tables, 10-36
PULSE DTE-20 bit, 8-15
Purging obsolete files,
6-13, 6-18
Reading a front-end dump
file, 10-1
Reading RSX-20F symbol
files, 10-4
Reboot,
KLINIK integrity over,
D-ll
Receiver error,
UNIBUS, 8-18
Reconfiguring MB20 memory,
5-36
Records,
fixed-length, 2-4
variable-length, 2-4
Recovering from front-end
crashes, 10-1
Recovery flag,
power-fail, 10-11
RED error messages, 6-24
RED task, C-2
RED utility, 6-23
Redirecting I/O, 6-23
Redirecting the CTY, 5-5
Reformatting files, B-1,
B-2, B-3
Registers,
examining DTE-20, 10-6
examining PDP-II, 10-6
general PDP-II, 1-4
using the DTE-20, 8-22
Relative address, 6-32
Relative offset, 6-33
Relative volume number, 2-2
Reload bit, 8-7
Reload flag,
automatic, 10-13
Reload word,
processor, 8-9
Relocation bias, 6-32, 6-39
Relocation factor, 4-3
Relocation register, 6-39
ZAP, 6-33, 6-36
Remote CTY, D-2, D-8, D-IO
Remote KLINIK terminal, D-2
Remote lines,
enabling, 10-20
Remote terminal,
console mode of, D-3
Remote user KLINIK dialog,
D-8
Remote user terminal, D-IO
Renaming files, 6-12, 6-13,
6-19
REPEAT PARSER command, 4-15
Request list,
clock, 10-19
Request To Send signal,
7-12
Quantity register,
ZAP, 6-37
Queue,
CTY, 10-35
data line scanner, 10-35
DH-ll, 10-35
DLll, 10-35
TO-lO, 8-29, 10-16
TO-II, 8-29, 10-16
Queue current head,
TO-lO, 10-15
Queue entry count,
TO-II, 10-15
Queue pointer,
TO-lO, 10-6
TO-II, 10-6
Queue Pointers,
Device, 10-35
Queued protocol, 8-8, 8-24
STD entry for, 10-31
Queued protocol data base,
10-15
Queued protocol driver,
8-25
functions of, 8-25
Queued protocol task, 1-7
ATL entry for, 10-33
TPD entry for, 10-34
Queues after a crash,
checking, 10-6
QUIT PARSER command, 4-15
Radix,
default, 4-2
RAMISO DTE-20 bit, 8-11
Rate,
data transfer, 8-21
Read state of DTE-20 status
word, 8-11, 8-12
Read-only mode, 6-32
ZAP, 6-32
Index-20
INDEX (CONT.)
Scanner queue,
data line, 10-35
Scatter writes, 8-22, 8-23,
8-28
SCD DTE-20 bit, 8-17
Scheduler,
RSX-20F, 7-4
Scheduling,
RSX-20F, 7-6
task, 1-5, 7-9
Secondary protocol, 7-19,
8-24
Section,
Communications Region,
8-1
Selection code,
diagnostic, 8-15
Send-All buffer pointer,
10-20
Send-All terminal count,
10-20
Send-AIls, 7-27
Sequence number,
file, 2-2
Serial number,
KL CPU, 10-38
owning processor's, 8-3
Service routine,
terminal, 7-14
SET CLOCK NORMAL PARSER
command, 4-17
SET CLOCK PARSER command,
4-17, 4-18
SET CONSOLE PARSER command,
4-4, 4-18
SET DATE PARSER command,
4-18
SET FS-STOP PARSER command,
4-19
SET INCREMENT PARSER
command, 4-19
SET KLINIK command, D-4
SET KLINIK PARSER command,
4-19
SET MEMORY PARSER command,
4-19
SET NOT PARSER command,
4-19
SET OFFSET PARSER command,
4-20
SET PARITY-STOP PARSER
command, 4-20
SET RELOAD PARSER command,
4-20
SET REPEAT PARSER command,
4-20
SET RETRY PARSER command,
4-20
SET TRACKS PARSER command,
4-21
SETSPD task, C-2
Setting byte transfer mode,
8-18
Setting diagnostic command
start, 8-15
Setting external core
memory bus-mode, 5-10
Setting FEDDT modes, 10-3,
10-4
Setting FEDDT output modes,
10-3, 10-4
Setting KLINIK access
parameters, D-4, D-5,
D-6
Setting word transfer mode,
8-18
SHUTDOWN PARSER command,
4-21
Signal,
acknowledge, 7-27
Data Terminal Ready, 7-12
DTR, 7-12, 7-14
Request To Send, 7-12
RTS, 7-12, 7-14
Significant event, 1-5, 1-7
Significant event flags,
10-11
Single-stepping the DTE-20,
8-11, 8-12
Snapshot file, C-l
SNDLP location, 10-20
Space,
buffer, 10-6
Space in Big Buffer,
free, 10-6
Space in Free Pool,
free, 10-6
Speed table,
line, C-2
SPR's,
RSX-20F, E-l
SPSAV location, 10-5, 10-11
Stack pointer,
hardware, 1-4
Stack pointer save area,
10-11
Stacks,
PDP-II, 1-4
Start date,
KLINIK access window,
10-14
START MICROCODE PARSER
command, 4-21
START TEN PARSER command,
4-21
Index-22
INDEX (CaNT.)
Start time,
KLINIK access window,
10-14
Starting bootstrap program,
5-2, 5-7
Starting disk block, 6-32
Starting KLINIT, 5-6
Starting PARSER, 4-1
Starting RSX-20F, 5-6
Startup time,
system, 7-22
State flag,
KL, 10-13
Status,
Pager process, 8-5
Pager system, 8-5
sampling KL, 8-15
Status bits,
CD-II, 10-27
Status block,
CTY, 10-21
Front End, 10-10
LP-20, 10-28
STATUS DTE-20 register,
8-10
Status registers,
device, 10-40
STATUS word,
Communications Region, 8-7
Status word,
DTE-20, 8-10
read state of DTE-20,
8-11, 8-12
write state of DTE-20,
8-13, 8-14
STD, 7-6
STD entry for CD-II driver,
10-31
DEC tape driver, 10-31
DTE-20 driver, 10-30
FIIACP, 10-31
FE driver, 10-31
floppy disk driver, 10-31
LP driver, 10-31
queued protocol, 10-31
terminal driver, 10-31
STD node, 7-6, 7-7
STD table, 10-30
.STDTB table, 7-7
STNXT routine, 7-27
Stop codes,
RSX-20F, 9-5, A-I, 10-5
Storage bitmap file, 2-4
Strapping options,
modem, 7-11
String data,
transferring, 8-23
Index-23
Structure of packets,
data, 8-29
STTYDN routine, 7-27
Subdirectories,
loading monitor from, 5-2
Switch register,
DECtape, 5-4
floppy disk, 5-3
Switch register bit
definitions, 5-5
Switch register boot
parameter, 10-13
Switching to primary
protocol, 8-24
SWSLLT DTE-20 bit, 8-17
Symbol files,
reading RSX-20F, 10-4
Symbolic debugger,
FEDDT, 10-1, 10-2, 10-3,
10-4
Symbols loaded,
saving FEDDT with, 10-2
Synchronous traps, 1-3, 7-9
SYSERR program, 7-23, D-l,
E-2
System,
front-end file, 1-7
loading the, 5-1, 5-6
mapped, 1-5
unmapped, 1-5
System error messages,
KLINIT, 5-16, 5-20, 5-21,
5-22, 5-23, 5-24, 5-25,
5-26, 5-27, 5-28, 5-29,
5-30, 5-31
System PUD entry, 10-37
System startup time, 7-22
System Task Directory, 7-6,
10-30
System traps, 7-9
T20ACP task, C-2
Tape boot program,
magnetic, C-3
Task,
ATL node of current, 7-8,
10-5
COP, C-2
FIIACP, C-l
INI, C-2
KLE, C-l
KLERR, 9-1
KLI, C-l
KLXFER, 9-10, C-l
MOU, C-l
INDEX (CONT • )
Terminal task (Cont.)
TPD entry for, 10-34
Terminal timeout routine,
7-20, 7-21, 7-22, 7-23
Terminating KLINIK link,
D-7
Terminating KLINIT dialog,
5-6
Termination of byte
transfer,
error, 8-12
Test condition,
field service, 8-15
Testing parity network,
8-18
Thread lists,
LPT, 7-4
TTY, 7-4
Time,
file creation, 2-3
file reVISIon, 2-3
PDP-II, C-2
Timeout counter, 10-20
Timeout routine,
modem, 7-14, 7-15, 7-16
terminal, 7-20, 7-21,
7-22, 7-23
TKTN task, 9-1, C-l, 10-12
TO-IO buffer size, 10-15
TO-IO buffer's current
device, 10-15
TO-IO buffer's current
function, 10-15
TO-IO data transfer, 8-16,
8-22, 8-23
TO-IO data transfer across
DTE-20, 8-1
TO-IO data transfers,
controlling, 8-20
TO-IO delay count, 8-23
TO-IO queue, 8-29, 10-16
TO-IO queue current head,
10-15
TO-IO queue pointer, 10-6
TO-II data transfer, 8-16,
8-22
TO-II data transfer across
DTE-20, 8-1
TO-II data transfers,
controlling, 8-20
TO-II delay count, 8-23
TO-II queue, 8-29, 10-16
TO-II queue entry count,
10-15
TO-II queue pointer, 10-6
TOIO DTE-20 bit, 8-16
TOIOAD DTE-20 register,
8-19, 8-23
Task (Cont.)
null, 7-9
PARSER, C-l
PIP, C-l
queued protocol, 1-7
RED, C-2
T20ACP, C-2
TKTN, 9-1, C-l
UFD, C-2
Task Builder, 1-6
Task Directory,
System, 7-6, 10-30
Task image,
patching a, 6-30
saving a, 6-24
Task image file, 1-6
Task image mode, 6-32
ZAP, 6-33
Task information, 7-4
Task installation, 6-24
Task List,
Active, 7-7, 7-9, 10-32
Task Partition Directory,
10-34
Task pointer,
current, 10-11
Task scheduling, 1-5, 7-9
Task that crashed,
determining the, 10-5
Tasks, 1-5
Executive, 7-6
Files-II, 1-7
nonprivileged, 1-6
nonresident, 1-6
privileged, 1-6
resident, 1-6
RSX-20F, 7-6, C-l
Tasks in GEN partition,
installing, 7-8
TENADl-2 DTE-20 registers,
8-21, 8-22
Terminal,
remote KLINIK, D-2
Terminal count,
Send-All, 10-20
Terminal driver,
STD entry for, 10-31
Terminal driver data base,
10-22
Terminal driver routine,
7-12, 7-13, 7-14
Terminal PUD entry, 10-36
Terminal service data base,
10-20
Terminal service routine,
7-11, 7-14
Terminal task,
ATL entry for, 10-33
Index-24
INDEX (CONT • )
TOIOBC DTE-20 register,
8-10, 8-20, 8-23
TOIOBM DTE-20 bit, 8-18
TOIODB DTE-20 bit, 8-12
TOIODN DTE-20 bit, 8-11
TOIODT DTE-20 register,
8-18
TOIOER DTE-20 bit, 8-11
TOll DTE-20 bit, 8-16
TOIIAD DTE-20 register,
8-19, 8-23
TOIIBC DTE-20 register,
8-20, 8-23
TOIIDB DTE-20 bit, 8-11
TOIIDN DTE-20 bit, 8-12
TOIIDT DTE-20 register,
8-18
TOllER DTE-20 bit, 8-12
TOPID word,
Communications Region, 8-6
TOPS-IO default monitor,
5-1
TOPS-IO UUO's, 1-4
TOPS-20 default monitor,
5-1
TOPS-20 JSYS'S, 1-4
TOPS-20 subdirectories with
BOOT.EXB, 5-2
TPD entry for CR task,
10-34
DECtape task, 10-34
DTE-20 task, 10-34
FIIACP task, 10-34
FE task, 10-34
floppy disk task, 10-34
GEN partition, 10-34
install task, 10-34
LP task, 10-34
queued protocol task, 10-34
RP task, 10-34
terminal task, 10-34
Tracking capability,
KLINIT, 5-7
Transfer,
direct data, 8-27
error termination of byte,
8-12
indirect data, 8-27
TO-IO data, 8-16, 8-22,
8-23
TO-II data, 8-16, 8-22
Transfer across DTE-20,
TO-IO data, 8-1
TO-II data, 8-1
Transfer dialog,
file, B-6
Transfer mode,
byte, 8-22
Transfer mode (Cont.)
diagnostic data, 8-15,
8-16
normal data, 8-15
setting byte, 8-18
setting word, 8-18
word, 8-22
Transfer rate,
data, 8-21
Transferring data between
processors, 8-8, 8-18,
8-19, 8-20, 8-21, 8-22,
8-25, 8-27
Transferring files, B-4,
B-5, B-6, B-7, C-2
Transferring files between
processors, B-1
Transferring indirect data
packets, 8-8
Transferring string data,
8-23
Transfers,
controlling TO-I0 data,
8-20
controlling TO-II data,
8-20
data, 1-4
Transition,
carrier, 7-12
Trap,
power-fail, 7-10
Trap conditions, 7-9
Trap handling, 7-10
Trap vectors, 1-3, 7-9
Traps, 1-3
asynchronous, 1-3, 7-9
synchronous, 1-3, 7-9
system, 7-9
TTY thread lists, 7-4
Type,
file, 2-3
Index-25
UA.MCB file, 5-1
UB.MCB file, 5-1
UFD, 2-1
UFD error messages, 6-30
UFD task, C-2
UFD utility,
JALL, 6-29
UFD utiltity, 6-29
UIC, 2-1
UNIBUS, 1-3
UNIBUS parity error, 8-17
NPR, 8-11
UNIBUS parity flip-flop,
8-18
INDEX
UNIBUS receiver error, 8-18
Unit device tables,
physical, 10-36
Unit Tables,
Logical, 10-36
Unmapped system, 1-5
User File Directory, 1-7,
2-1, 6-29
User Identification Code,
2-1
User KLINIK dialog,
remote, D-8
User mode, 4-4
User terminal,
remote, D-IO
Using the DTE-20 registers,
8-22
Utility programs, 7-6
RSX-IIM, 1-7
UUO's,
TOPS-IO, 1-4
Valid date flag, 10-12
Variable-length records,
2-4
VBN, 2-2
VEC04 DTE-20 bit, 8-16
Vector interrupts, 1-3
Vectors,
trap, 1-3, 7-9
Verification error reports,
microcode, 5-33
Verifying KL microcode, 5-2,
5-7, 5-39
Verifying memory examines,
8-8
Version number,
Communications Region
protocol, 8-3
Communications Region, 8-3
file, 2-2, 2-3
protocol, 8-6
RSX-20F, 10-11
Version numbers, 10-5
Virtual block, 2-2
Virtual Block Number, 2-2
Virtual memory addresses,
1-5
Volume,
Files-II, 2-1
initializing a, 6-4
Volume Control Block, 6-9
Volume number,
relative, 2-2
(CONT • )
WEP DTE-20 bit, 8-18
WHAT CLOCK PARSER command,
4-21
WHAT CONSOLE PARSER command,
4-4, 4-21
WHAT DATE PARSER command,
4-21
WHAT INCREMENT PARSER
command, 4-22
WHAT KLINIK command, D-7
WHAT KLINIK PARSER command,
4-22
WHAT MEMORY PARSER command,
4-22
WHAT OFFSET PARSER command,
4-22
WHAT PARITY-STOP PARSER
command, 4-22
WHAT RELOAD PARSER command,
4-22
WHAT REPEAT PARSER command,
4-23
WHAT RETRY PARSER command,
4-23
WHAT TRACKS PARSER command,
4-23
WHAT VERSION PARSER command,
4-23
Word transfer mode, 8-22
setting, 8-18
Write state of DTE-20
status word, 8-13, 8-14
Writing configuration file,
5-11
Writing files with FEDDT,
10-1
Index-26
XCT 71, 9-1
XCT PARSER command, 4-23
XOFF character, 7-19, 7-27
ZAP absolute mode, 6-33
ZAP addressing modes, 6-33
ZAP arithmetic operators,
6-34, 6-37
ZAP commands, 6-34
ZAP constant register, 6-36
ZAP error messages, 6-43,
6-44, 6-45
ZAP format register, 6-36
ZAP internal registers,
6-34
INDEX
(CONT • )
ZAP utility, 6-30
lAB, 6-32
ILl, 6-32
IRO, 6-32
ZERO PARSER command, 4-23
Zeroing a floppy disk, 6-2
ZAP
ZAP
ZAP
ZAP
ZAP
modes, 6-32
quantity register, 6-37
read-only mode, 6-32
registers, 6-36
relocation register,
6-33, 6-36
ZAP task image mode, 6-33
Index-27
TOPS-lO/TOPS-20
RSX-20F System
Reference Manual
AA-H352A-TK
READER'S COMMENTS
NOTE:
This form is for document comments only.
DIGITAL will
use comments submitted on this form at the company's
discretion.
If you require a written reply and are
eligible to receive one under Software Performance
Report (SPR) service, submit your comments on an SPR
form.
Did you find this manual understandable, usable, and well-organized?
Please make suggestions for improvement.
·
~
c
m
c
o
o
Did you find errors in this manual?
page number.
If so, specify the error and the
Please indicate the type of reader that you most nearly represent.
[] Assembly language programmer
[] Higher-level language programmer
[] Occasional programmer (experienced)
[] User with little programming experience
[] Student programmer
[] Other (please specify) ______________________________________
Name
Date __________________________
Organization _________________________________ Telephone ___________________
Street ______________________________________________________________________
City____________________________ State _____________ Zip Code _____________
or
Country
1
1
1
1
1
1
1
1
-----~.--BD;tBTea;~.ldHoere and Tape ----------------------f~ -111-------- ~~;,~;:;~~ ---:1
~
~
I.I~
if Mailed in the
United States
1
1
1
1
1
1
1
1
1
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 33 MAYNARD MASS.
1
1
1
1
1
POSTAGE WILL BE PAID BY ADDRESSEE
1
1
1
I
SOFTWARE PUBLICATIONS
200 FOREST STREET MR1-2/E37
MARLBOROUGH, MASSACHUSETTS 01752
I
1
1
1
-- - - - - -
Do Not Tear - Fold Here and Tape
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_I
:3
U
C)
C:
C'-_/
o
digital equipment corporation
Printed in U.S.A.
/
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement