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

TOPS-10/TOPS-20 RSX-20F System Reference
TOPS-10/TOPS-20
RSX-20F
System Reference Manual
AA-H352B-TK
Novem ber 1981
This reference manual describes RSX-20F, the operating
system that runs on the PDP-11 140 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.
This manual is a revision and replaces the RSX-20F System
Reference Manual, order number AA-H352A-TK.
OPERATING SYSTEM:
TOPS-10
TOPS-10
TOPS-20
ReI. 7.01
ReI. 7.01
ReI. 4.0
(1080/90)
(1091 )
(2040/50/60)
SOFTWARE:
R8X-20F
R8X-20F
RSX-20F
VA14-45
VE14-45
VB14-45
(1080/90)
(1091 )
(2040/50/60)
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 \0 the nearest
DIGITAL Field Sales Office or representative.
Northeast/Mid-Atlantic Region
Central Region
Western Region
Digital Equipment Corporation
PO Box CS2008
Nashua, New Hampshire 03061
Telephone:(603)884-6660
Digital Equipment Corporation
Accessories and Supplies Center
1050 East Remington Road
Schaumburg, Illinois 60195
Telephone:(312)640-5612
Digital Equipment Corporation
Accessories and Supplies Center
632 Caribbean Drive
Sunnyvale, California 94086
Telephone:(408)734-4915
digital equipment corporation. marlboro. massachusetts
First Printing, January 1980
Revised, November 1981
'rhe 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.
'rhe 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
(S),
1980, 1981, Digital Equipment Corporation.
All Rights Reserved.
'rhe postage-prepaid READER'S COMMENTS form on the last page of this
document requests the us~r's critical evaluation to assist us in
preparing future documentation.
'rhe following are trademarks of Digital Equipment Corporation:
DEC
DECUS
Digital Logo
PDP
UNIBUS
VAX
DECnet
DECsystem-lO
DECSYSTEM-20
DECwriter
DIBOL
EduSystem
lAS
MASSBUS
PDT
RSTS
RSX
VMS
VT
CONTENTS
PREFACE
CHAPTER 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
CHAPTER 2
2.1
2.2
2.2.1
2.3
2.4
2.5
INTRODUCTION
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-3
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
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
FILES-II SYSTEM
CHAPTER 3
RSX-20F GLOSSARY OF TERMS
CHAPTER 4
PARSER
4.1
4.2
4.3
4.3.1
4.4
4.5
ENTERING AND EXITING THE PARSER . . . . . . . . . 4-1
PARSER COMMAND SYNTAX
. . . . . . . . . . . 4-2
PARSER CONSOLE MODES .
. 4-4
PARSER Help Facility . . . . • . . . . . . . . . 4-4
PARSER COMMANDS
. . . . . . . . . . . . . . 4-6
PARSER ERROR MESSAGES . . . . . . . .
4-29
iii
CONTENTS (Cont.)
CHAPTER 5
5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
5.3.4
5.4
5.4.1
5.4.2
5.4.3
5.4.3.1
5.4.3.2
5.5
CHAPTER 6
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
KLINIT
KLINIT LOAD AND START . . . . . . . . • .
· . 5-6
KLINIT OPERATOR DIALOG •
. . . . . . . . . • • 5-- 7
KLINIT MESSAGES
. . . . •
5-17
Informational Messages .
• • • • ••
5 -1 7
Warning Messages . . . .
· . . . ..
5-;18
Dialog Error Messages
· . . . ..
5-120
5-20
System Error Messages
REPORTS RELATING TO THE KLINIT DIALOG
5-32
External Memory Maps .
. . . .
5-32
Internal Memory Maps .
. . . .
5-33
Microcode Verification Error Reports . . . • .
5-35
CRAM Error Report . . . . . . • . . . . •
5-35
DRAM Error Report
..... .
5-36
KLINIT DIALOG EXAMPLES .
5-36
RSX-20F UTILITIES
COP UTILITY
. • • . . . .
Function .
· . . • • . . .
Format . .
. • • • • •
Examples .
• • • • • •
Error Messages .
INI UTILITY
Function .
Format . . .
Examples • .
• •
Error Messages .
• • • • • • • •
MOU AND DMO
·
Func t ion . . . .
· .
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 •
UFD - USER FILE DIRECTORY
Function .
Format.
• • • • •
Examples
Error Messages .
ZAP . . • • .
Function • • .
. . • . . .
Invoking and Terminating ZAP .
ZAP Switches .
. • • •
iv
. . . . . . 6-1
. . . . . . 6-1
• • • • • • 6- 2
•
•
•
•
6- 2
· • .
. . 6-3
· . 6-4
. . . 6-4
. 6-5
•
•
•
•
•
•
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-23
· . ..
6-24
• • • ••
6 -2 4
6-24
. . . •.
6 - 24
6-25
· . ..
6-26
6-26
6-29
· . ..
6-29
• • • ••
6- 29
• • • ••
6 -3 0
• • • ••
6 -3 0
6-31
6-31
. • ..
6-31
. . . ..
6-32
CONTENTS (Cont.)
6.8.4
6.8.4.1
6.8.4.2
6.8.5
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
6.8.7.2
6.8.7.3
6.8.8
CHAPTER 7
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.1.4
7.4.2
7.4.2.1
7.4.2.2
7.4.2.3
CHAPTER 8
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
Addressing Locations in a Task Image • • . . .
ZAP Addressing Modes: Absolute and Task Image
Addressing Locations in Task Image Mode
The ZAP Command Line . . • • .
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 K Command: Compute Offset and Store it in
the Quantity Register . . • . . . . . .
The 0 Command: Display Branch and Jump
Displacement from the Current Location .
The = Command: Display the Value of an
Expression . . • .
ZAP Error Messages
6-32
6-33
6-33
6-34
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-42
6-43
6-43
6-43
RSX-20F MONITOR
RSX-20F EXECUTIVE
. . . .
· . . . . 7-1
TASKS AND SCHEDULING .
. . . . • • • • • 7- 5
SYSTEM TRAPS . .
.....•.
. 7-8
TERMINAL SERVICE ROUTINES
• . . . .
7-10
Modem Handling . • . . .
· . . . ..
7 -10
Modem Handling Concepts • . . . . • • • • • •
7 -10
Terminal Driver Routine • . • . .
7-11
Modem Timeout Routine
• • • • ••
7 -13
The CTY and DL-IIE Timeout Routine .
17-15
Terminal Handling . • . •
7-16
Character Input Routine
• • . . . . . . . . .
7-16
Terminal Timeout Routine .
. . . . . . .
7-20
Character Output Routine •
....... .
7-23
DTE-20 OPERATION
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
• •
v
· . . . • 8-1
• . ..
8-10
• • • ••
8 -10
· . . .
8-15
· . •.
8-19
8-22
· . ..
8-22
• • • ••
· . ..
• • • ••
•
•
•
••
8 -2 3
8-29
8-29
8-29
8-29
8 -30
8 -30
CONTENTS (Con t. )
8.6
8.6.1
8.6.2
8.6.3
8.6.4
8.6. 5
8.6.6
8.6.7
CHAPTER 9
9.1
9.2
9.3
9.3.1
9.3.2
9.3.3
9.3.4
9.4
CHAPTER 10
10.1
10.2
10.2.1
10.2.2
10.2.3
8-33
8-33
8-34
8-34
8-35
8-36
8-36
8-36
DTE-20 DRIVER LOGIC . . . . . . .
TO-I0 Direct Packets . . . . . .
TO-II Direct Packets . . . . . .
TO-I0 Extended Direct Packets
TO-I0 Indirect Packets .
TO-II Indirect Packets . . . . .
Register Conventions . . . . .
DTE-20 Device Driver Functions.
ERROR DETECTION AND LOGGING
THE KEEP ALIVE COUNT .
KLERR . . . . . . .
.
ERROR LOGGING . . . . • •
KL Error Logging .
PDP-II Error Logging .
TKTN MESSAGES
KLERR MESSAGES .
LOGXFR . . . . . .
· . .
. . .
•
•
.
.
.
.
. .
. .
•
•
.
. . . . . .
· . . . . . .
• • • • • • •
.
.
. • . 9-1
. . 9-1
•
•
•
•
• 9- 2
•
9-2
9-7
9-7
9- 8
9 -10
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
•
•
•
•
•
•
. • . .
•.
. . . .
• • • •
•
.
.
.
•
ERROR DEBUGGING
.
APPENDIX A
RSX-20F STOP CODES AND I/O ERROR CODES
APPENDIX B
FILE TRANSFERS BETWEEN TOPS-I0/TOPS-20 AND RSX-20F
B.l
B.l.l
B.l.2
B.2
B.2.1
B.2.2
B.2.3
B.2.4
REFORMATTING FILES . . .
· B-1
Restrictions . . . . . . . . •
· . . . B-2
RSXTI0/RSXFMT Commands •
....
· . B-2
TRANSFERRING FILES .
. . • .
· B-4
Running FE . . . . • .
...•
· . B-4
• • • • • • • B- 5
The FE: Device . . . . . • . •
• • • •
• B- 5
RSX-20F Tasks
File Transfer Dialog .
• B-5
APPENDIX C
FRONT-END TASKS
APPENDIX D
KLINIK ACCESS DIALOG
D.l
D.2
D.2.1
D.2.2
D.2.3
D.2.4
D.3
D.3.1
D.3.2
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 DIALOG WITH KLINIK • . . . . . •
Setting Access Parameters . . • . . .
Examining the Current KLINIK Parameters
vi
.
• D-l
. • . D-l
• D-2
•
•
•
·
• D- 2
• D-2
· D-3
• • • • D- 4
· • D-5
· . . • D-8
CONTENTS (Con t. )
D.3.3
D.4
D.4.l
D.4.2
D.5
Terminating the KLINIK Link
REMOTE USER DIALOG wITH KLINIK
Logging In as a Remote Operator
Logging In as a Timesharing User .
KLINIK INTEGRITY OVER A REBOOT . . .
APPENDIX E
GETTING HELP ON RSX-20F
APPENDIX F
EIA PIN DEFINITIONS
•
·
.
•
••
·
. .
.
.
. D-8
·
. D-9
D-ll
D-ll
• D- 9
.
.
INDEX
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
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 wi th
DECtapes
KLINIT Operator Dialog
RSX-20F Executive
RSX-20F Memory Layout
System Task Directory (S'l'D) Node
Active Task List (ATL) Node
Modem-Handling Hardware
Modem Control Algorithm
Modem Timeout Algorithm
Character Input Algorithm
Terminal Output Algorithm
Character Output Algorithm
KL Communications Region
DTE-20 Registers
DTE-20 Status Word in Read State
DTE-20 Status Word in Write State
DTE Interrupt Handler
··· · ···
·· · ·
· · · · · · ·
·
··
·
·
·
·
·
·
·
···
··· ·
·· ··
·
·
··· ·
· · ·
·
· · ·
···
· ·
· ·
···
··
· ·
· ·
· · ·
···
···
···
··
··
· 5-3
5-4
· · 5-13
·
· 7-2
7-5
· 7-6
7-7
· ·7-11
·
· 7-12
7-14
· 7-17
· 7-21
··
····
·
·····
·····
···
····
1-2
7-24
8-2
8-10
8-11
8-13
8-24
TABLES
TABLE
5-1
Switch Register Bit Definitions . . . . . . . . . . 5-5
vii
PREFACE
'rhe RSX-20F System Reference Manual contains 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 TOrS-IO or TOPS-20.
'rhis 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
detailo
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.
The following TOPS-IO and TOPS-20
manuals also contain information about RSX-20F.
ix
TOPS-IO Operator's Guide
AA-H283A-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,
which 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-llM and RSX-llD, provided the base
upon which RSX-20F was built.
These operating systems wer~ chosen
because they offered the best base for
building the required
front
end.
The KL requires a front end that:
•
Is small and efficient
•
Can handle special cases such as
diagnosing and recovering KL errors
•
Can handle the
TOPS-lO/109l
unit
record
booting
devices
of
the
KL
and
TOPS-20
and
The purpose of the KL front end is to reduce the load on 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 contains important concepts of PDP-II software,
explains
the needs of RSX-20F,
and describes how RSX-llM and RSX-llD were
modified to produce RSX-20F.
1-1
INTRODUCTION
RH11
]
MASSBUSCTL
LA36
CTY
SWITCH
PANEL
RK01
DUAL DRIVE3
DL11W
CTYINTERFACE
BM 873YF
ROM
RX11
FLOPPY CTL 2
Kl10
MF11
MEMORY
KD11
CPU
MEMORY
PARITY
~w
KY11·D
CONSOLE
LINE CLOCK
DL 11·E
MODEM
INTERFACE
TO REMOTE
DIAGNOSTIC
TERMINAL
(KLINIK)
•
,----
-----,
I
I
I
I
DC20
MULTIPLEXER. • •
I
MAX
I
DC20
MULTIPLEXER
LP20
LINE PRINTER
CONTROL
COlO
CARD READER
CONTROL
I
II
I
I
I
I
I
I
I
I
I
01
15
01
15
[
LINE
PRINTER
I
CARD
READER
I
I
I
I
I
IL FOR
TOPS·20
SYSTEMS
__
___
_ _ _ONLY
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .-JI
1 BMB73YH ROM ON 10BO/90
2 TC11 DECtape CTL ON 1080/90
3 TU56 DUAL DRIVE ON 1080/90
Figure 1-1
MR.S.187.79
The Front End for a KL-based Computer System
1-2
INTRODUCTION
1.1
THE PDP-II
'rhe 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.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 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 ln 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 6is 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 exactiy the same'way as the other
registers, but depositing data in them destroys the state of the
PDP-II, because the PDP-II is not 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, most of them 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 (FIITPD). A partitiqn is an area of memory reserved for the
execution of tasks.
In th~ 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.
Overla~ing
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 nonprivileged.
A privileged task can access its own partition, the Executive
partition, and the I/O page. A nonprivileged task can access only its
own partition and shared regions.
When a task has been compiled, it is still not ready to be loaded and
executed.
It must be put through the Task Builder. A compiler
produces an output file called an object module.
The Task Builder
accepts object modules as input, links them together, resolves
references to global symbols and library files, and produces an output
file called a task image. In the task image file, all relocatable
expressions and external references have been converted to absolute
addresses.
The task image file can then be loaded into a partition
and executed. The Task Builder can also produce a memory map file. A
memory map describes the allocation of. storage, itemizes the separate
modules that the task comprises, and lists all global-symbol values.
1~4
RSX-20F REQUIREMENTS
The PDP-ll/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
The front end can also perform diagnostics on
problems develop.
1.5
the
KL
when
hardware
THE DERIVATION OF RSX-20F FROM RSX-llM
RSX-IlM 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
servic€d quickly. For these reasons, RSX-IIM was chosen as the basis
for RSX·-20F.
1-6
INTRODUCTION
RSX-20F utility programs can be run only in the GEN partition.
Nonresident Exec routines
(for example,
Fi1es-11, KLRING, KLDISC,
SETSPD, TKTN, and MIDNIT) run in the F11TPD 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-11M was kept in RSX-20F 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 Fi1es-11 devices, PIP to transfer files from one Fi1es-11 device to
another, UFD to create User File Directories on Fi1es-11 devices, and
PARSER to provide communication and diagnostic functions.
All these
tasks run in the GEN partition.
The biggest change in the structure of RSX-11M had to do with driving
the DTE-20 interface.
The DTE-20 is the only link between the front
end and the KL, and provides the interface between the KL and the
terminals, printers, and so forth.
In order to deal with all the
purposes to which the DTE-20 would be put, the operating system needed
a device driver. A queue mechanism had to be set up to handle all the
requests for the devices that the KL receives and transmits to the
front end. Consequently, the queued protocol task was added to handle
the communication between TOPS-20 and the device drivers in the front
end.
Although no inter-CPU communication can take place over the disk,
the
PDP-11 and the KL can access the dual-ported RP04/06 drive independent
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 reinitia1izing the disk) .
Logical block
number 400 is the home block for the Fi1es-11 system. TOPS-20 views
the
front-end
file
system
as
one
big
file,
<ROOT-DIRECTORY>FRONT-END-FILE-SYSTEM.BIN.
TOPS-10 also views the
front-end file system as one big file, SYS:FE.SYS.
System access to front-end files
is usually done with file ID's.
Because the front-end file system contains relatively few files, this
access method can find the files quickly. The directory structure is
kept for those few situations when users must interact with a Fi1es-11
area on floppy disk, DECtape, or dual-ported RP04/06.
No protection
checking is enforced with the file systems.
Real PDP-11 formatted disks have 16-bit words, and disk addressing and
accessing is consistent with this scheme.
However, disks supported by
TOPS-10 and TOPS-20 must be formatted in 18-bit words to make them
compatible with the 36-bit word size expected by the KL processor.
Therefore, the RSX-20F disk driver is a modified RSX-11M routine.
Each
PDP-11
word
of
data in the Fi1es-11 area is written
right-justified in the 18-bit space available.
The two left-hand
(high-order) bits are ignored by RSX-20F's disk driver.
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 that 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.ext;version
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 I 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 I
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.
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.
from
I
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-l O.
Two examples of valid RSX-20F Files-II file specifications are:
OBO: [5,5]KLINIK.TSK
OXl: [5,5]MIONIT.TSK;1
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 10. A file 10
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-II 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:
1.
Header Area - This area contains the file nu~ber and the file
sequence
number
as well as the file's ownership and
This area also contains offsets to the
protection codes.
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 tile, including the primary name of the file,
its creation date and time,
its expiration date,
and
its
revision count, date and time.
3.
Map Area - This area describes the mapping of virtual blocks
of the file
to logical blocks of the volume.
The area
contains a list of retrieval pointers,
each of
which
describes one logically contiguous segment of the file.
The
map area also contains the linkage to the next extension
header of the file, if one exists.
4.
End Checksum - This area, the last two bytes of the file
header,
contain a sixteen-bit additive checksum of the
preceding 255 words of the file header.
The checksum is used
in the process of verifying that this block is a file header.
Since the file header has a fixed size while the file itself does not,
a large file could require more space for its mapping information than
is available.
To provide for
this contingency, Files-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-II DIRECTORIES
Directories are Files-II files whose sole function
is to associate
file-name strings with file IO's.
Since the file IO is unique to the
file, the file IO can be used to locate the file directly in the
Files-II ~ystem.
However, most users find it easier to deal with a
qroup of files if the files can be named.
This ease of use is the
~Joal
of the directory file.
A directory file is an FCS (File Control
Services) file consisting of fixed sixteen-byte recor~s
(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 IO - The three-word binary IO of the file this entry
represents
(The file number portion of the file IO is zero
when the entry is empty.)
•
Name - The name of the file, stored as three words
Radix-50 characters
2-3
of
three
FILES-II SYSTEM
2.4
•
Type - The file type (known also as the extension), stored aB
one word of three Radix-50 characters
•
Version - The file version number, stored in
word
binary
in
one
FIXED FILE ID'S
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 filei because the system always
knows about them..
These files are created when a new volume is
initialized.
The files have fixed file ID numbers so that Files-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 ID 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 ID 3,3,0.
It iB
listed in the MFD as BADBLK.SYS;l.
The bad block file is
simply a file containing a list of all the known bad blockB
on the volume.
4.
Master File Directory - The master file directory is file ID
4,4,0.
It is listed in the MFD (itself) as 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 ID 5,5,0.
It
is listed in the MFD as CORIMG.SYS;l.
This file is the
bootable system image file.
FCS FILE STRUCTURE
interfacE~
FCS stands for File Control Services, which is a user-level
to Files-II.
Its principal feature is a record control facility that
allows sequential processing of variable-length records as well aBo
sequential and random processing of fixed-length records.
FCS use~:
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.
2-4
FILES-II SYSTEM
Variable-length records can be 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 these two bytes).
This byte count
is always word-aligned, and padded with a null byte if necessary.
A
byte count of -1 signals the end of live data in a particular block.
The next record in the file begins at the next block.
2-5
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.
software
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 status,
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.
3-1
RSX-20F GLOSSARY OF TERMS
CUSP
Commonly Used System Program
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-Il
Communications interface between the PDP-II front end and up
to sixteen terminals and sixteen modems.
Specifically a
DH-IIAD.
DM-IIBB
Communications interface between the PDP-II front end and
the EIA modem control lines. The DM-IIBB is used in the
DH-IIAD 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) .
3-2
RSX-20F GLOSSARY OF TERMS
PCP
File Control Primitives
IRQ
I/O Request Queue
ISR
Interrupt Service Routine
KTII
Hardware Memory Management Optioh
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
The term Done is
An error-free completion of a given task.
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.
3-3
RSX-20F GLOSSARY OF TERMS
Protected Examines/Deposits
An Examine or Deposit that is range-checked by the KL.
ThE~
relocation and protection for
the Examine operation i~:
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)
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 and
cannot crash the KL if the KL hardware and software an~
working correctly. A restricted front end cannot use the
diagnostic bus, and cahnot read KL memory unless the KL has
first set up the interrupt system to allow it.
RTS
A signal sent from the Data Terminal Equipment (in this case
the DTE-20)
to the Data Communications Equipment (DeE) 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.
~rpD
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 v 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 receive one of the following prompts:
PAR)
This indicates that the PARSER is ready to accept
commands and the KL is running (that is, the KL clock
is running and the KL run flop is on).
PAR%
This indicates that the PARSER is ready to accept
commands but the KL microcode
is in the HALT loop.
(The KL clock is running but the KL run flop is off.)
PAR#
This indicates that the PARSER is ready to accept
commands but the KL clock is stopped and the KL is not
running.
NOTE
If you see the PAR# prompt displayed
during timesharing,
you should reload
the system.
If the PARSER encounters an error during its initialization, an
message 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.
1.
Multiple commands can be entered on a single line.
To do
this, separate each command from the following one by a
semicolon.
For example:
PAR>EXAMINE PCiEXAMINE 20iSHUTDOWN<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 PCiEXAMINE 20;-<RET>
-EXAMINE NEXT<RET>
The maximum number of characters in a command line is 280.
3.
A comment can be added to the end of a command line or can be
an entry in itself. To insert a comment, begin the text with
an exclamation mark (and end it with a carriage return).
For
example:
PAR>CLEAR CONSOLE!RESET TO OPERATOR MODE<RET>
PAR>!THIS IS A COMMENT LINE<RET>
4.
Terminal output can be suppressed.
To do this, type CTRL/O.
5.
Keywords in a command can be truncated
unique abbreviation. For example:
to
their
shortest
PAR>H!HALT THE KL CPU<RET>
If the truncation is
message.
For example:
not
unique,
you
receive
an
error
PAR>RE 5<RET>
PAR -- [PARSER] AMB - AMBIGUOUS KEYWORD "RE"
In this example, the PARSER found two commands
with RE: REPEAT and RESET.
that
started
6.
The default radix of integers
36-bit value is expected;
decimal.
7.
Numbers can be shifted a specified number of binary places in
either direction.
To shift to the left, use an underscore
( ) between the number you wish to shift and the number of
bInary places you wish it to be shifted. This causes the
left-hand number to be shifted to the left by the number of
binary bits indicated by the right-hand number, assuming that
the right-hand number is positive. If the right-hand number
is negative,
the left-hand number is shifted to the right
that many binary places. Thus, in order to specify a number
in octal that ends in several zeros, you could write the
4-2
is octal if an address or
otherwise the default radix is
PARSER
nonzero 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=-1<RET>
30/ xxxxxx xxxxxx
PAR>EXAMINE TEN 30<RET>
30/ 777777 777777
9.
left-
unary
(deposit -1 in
loc. 30)
(previous
contents)
(examine
loc. 30)
(new contents)
Numeric values can be entered as arithmetic expressions using
addition
(+), subtraction (-), multiplication
(*), and
division (/). For example:
PAR>EXAMINE 123654+32<RET>
123706/ xxxxxx xxxxxx
PAR>DEPOSIT TEN 408-6=100<RET>
PAR>SET INCREMENT 2*3<RET>
KL INCREMENT: 6
PAR>REPEAT 8/4; EXAMINE PC<RET>
PC/ xxx xxx xxx xxx
PC/ xxxxxx xxxxxx
Note that in the evaluation of arithmetic expressions,
multiplication, division, and binary shifts take preGedence
over addition and subtraction.
10.
Relocation factors can be added or subtracted from a number.
To do this, use a single quote (') following a number to add
the PDP-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'<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.
memory
When you close a command line (carriage return without a preceding
hypheh), the PARSgR first scans the command line buffer for illegal
4-3
PARSER
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
(refer to Section 4.5, PARSER Error Messages).
I
4.3
PARSER CONSOLE MODES
rrhe 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.
(refer to 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
SHOW
SHUTDOWN
TAKE
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
SHOW
SHUTDOWN
START
TAKE
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:
AUTO-TAKE
CONSOLE
INCREMENT
KLINIK
MEMORY
NOT
OUTPUT
REPEAT
If instead you are in PROGRAMMER mode, the response is:
CLEAR COMMANDS ARE:
AUTO-TAKE
CONSOLE
DATE
FAULT-CONTINUATION
INCREMENT
4-5
PARSER
KLINIK
MEMORY
NOT
OFFSET
OUTPUT
RELOAD
REPEAT
RETRY
TRACKS
Subarguments can also be determined in this manner.
example, if you type:
For
PAR>SET CONSOLE ?<RET>
The PARSER responds:
SET COMMANDS ARE:
MAINTENANCE
OPERATOR
PROGRAMMER
USER
4.4
PARSER COMMANDS
This section lists all PARSER commands.
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 as 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
is specified.
•
A multiple choice list enclosed in braces { } means that
of the entries must be specified.
one
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.
4-6
PARSER
CLEAR AUTO-TAKE
OPERATOR
The CLEAR AUTO-TAKE command disables the automatic
PARSER.CMD during a SNAPSHOT.
CLEAR CLOCK
NORMAL
CRAM
DATA-PATH
CONTROL
EXTERNAL
INTERNAL
MARGIN
FULL
HALF
QUARTER
SLOW
execution
of
MAINTENANCE
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 S~T 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.
4-7
PARSER
PROGRAMMElR
CLEAR FAULT-CONTINUATION
The CLEAR FAULT-CONTINUATION command disables the automatic KL
fault continuation reload.
This command prevents the host from
recovering from errors detected by the front-end.
MAINTENANCE:
CLEAR FS-STOP
The CLEAR
facility.
FS-STOP
command
disables
the
Field
Service
CLEAR INCREMENT
stop
OPERATOlR
The CLEAR INCREMENT command resets the KL
zero.
(See EXAMINE INCREMENT command.)
increment
CLEAR KLINIK
factor
to
OPERATOR
The CLEAR KLINIK command closes
terminates
the KLINIK link.
discussion on KLINIK access.)
the KLINIK
(refer to
access window and
Appendix D for a
CLEAR MEMORY
OPERATOlR
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.
OPERATOlR
CLEAR NOT
The CLEAR NOT command is the equivalent of the SET command.
PROGRAMMER
CLEAR OFFSET
The CLEAR OFFSET command sets the relocation
(refer to rule ten in Section 4.2.)
4-8
------------------
factor
to
zero.
PARSER
OPERATOR
CLEAR OUTPUT[LOGJ
LPT
TTY
This command stops the CTY output from going to the specified
device.
When the CLEAR OUTPUT [device] command is given, the
PARSER checks for an active recording device.
If as a result of
the command,
no recording device
is active, then the console
terminal is made the active recording device.
The default devices for the CLEAR OUTPUT command are LOG and LPT.
If the default command
is used
the active recording device
becomes TTY.
CLEAR PARITY STOP
ALL
AR
CRAM
DRAM
ENABLE
FM
FS-STOP
MAINTENANCE
The CLEAR PARITY-STOP command selectively disables parity
for AR, CRAM, DRAM, Fast Memory, and Field Service.
CLEAR RELOAD
stops
PROGRAMMER
The CLEAR RELOAD command disables the automatic reload of the
following a fatal error.
CLEAR REPEAT
KL
OPERATOR
The CLEAR REPEAT command resets the command line repeat factor to
zero.
A repeat factor of zero is the same as a repeat factor of
one;
subsequent command lines are executed once.
CLEAR RETRY
The CLEAR RETRY
When this flag
routine to take
a system reload
PROGRAMMER
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.)
CLEAR TRACKS
PROGRAMMER
The CLEAR TRACKS command stops RSX-20F from
typing
operations and results on the controlling terminal.
4-9
all
KL
PARSER
PROGRAMMER
CONTINUE
The CONTINUE command takes the KL out of the HALT loop and starts
execution at the instruction pointed to by the PC.
PROGRAMMER
DEPOSIT AR=newdata
NOTE
The DEPOSIT AR command is now separated
from the new data by an equal sign (=).
The DEPOSIT AR command
register to new d~ta.
DEPOSIT
rELEVENl
LTEN
J
I
sets
the
contents
of
the
I
arithmetic
PROGRAMMER
=newdata
DECREMENT
addr
INCREMENT
NEXT
PREVIOUS
THIS
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 addres~;
into which you wish to deposit the data;
one of them must bE~
entered.
addr
is the actual memory a~dress
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-10
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.
(refer to 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
ELEVEN]
[ TEN
VMA,
OPERATOR
addr
addrl:addr2
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
4-11
PARSER
If neither ELEVEN or TEN is specified,
the memory to be
referenced
is determined by the most recent SET MEMORY command.
If no SET MEMORY command has been
issued,
KL memory
is
referenced.
The following six arguments determine the specific memory address
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.
addrl:addr2
examines the memory addresses
through and including addr2.
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.
EXAMINE AB
octal
PDP-II
from
addrl
the
PROGRAMMER
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
EXAMINE ADX
KL
adder
PROGRAMMER
The EXAMINE ADX command displays the contents
extension.
4-12
of
the
KL
adder
PARSER
PROGRAMMER
EXAMINE AR
The EXAMINE AR command displays the contents of the KL arithmetic
register.
EXAMINE ARX
PROGRAMMER
The EXAMINE ARX command displays
arithmetic register extension.
the
contents
of
the
KL
PROGRAMMER
EXAMINE BR
The EXAMINE BR command displays the contents
register.
of
the
KL
buffer
PROGRAMMER
EXAMINE BRX
The EXAMINE BRX command displays the contents of
register extension.
the
KL
buffet
PROGRAMMER
EXAMINE CRADDR
The EXAMINE CRADDR command displays the contents of the
address register.
KL
CRAM
PROGRAMMER
EXAMINE CRLOC
The EXAMINE CRLOC command displays the contents of
location register.
the
KL
CRAM
PROGRAMMER
EXAMINE DRADDR
The EXAMINE DRADDR command displays the contents of the
address register.
4-13
KL
DRAM
PARSER
EXAMINE DTE-20
PROGRAMMER
The EXAMINE DTE-20 command displays the contents of the DTE-20
registers.
These registers are displayed as in the following
example:
DLYCNT: 000000
DEXWD3: 000447
DEXWD2: 000000
DEXWDl: 000000
KLIO DATA=000000,,000447
TENADl: 000000 TENAD2: 000007
ADDRESS SPACE=EPT
OPERATION=EXAMINE
PROTECTION-RELOCATION IS ON
KLIO ADDRESS=7
TOIOBC: 010000 TOIIBC: 130000
TOIOAD: 066652 TOIIAD: 066075
TOIODT: 000000 TOIIDT: 000012
DIAGI : 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
PROGRAMMER
EXAMINE EBUS
The EXAMINE EBUS command displays the contents
register.
of
the
EXAMINE FE
KL
EBUS
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, CYl, FOV, BIS, USR, UIO, LIP, AFI, ATl, ATO,
FUF 1 and
NDV.
EXAMINE FM
PROGRAMMER
The EXAMINE FM command displays
Memory register.
4-14
------------------------
the
contents
of
the
KL
Fast
PARSER
EXAMINE MQ
PROGRAMMER
The EXAMINE MQ command displays the contents of the KL Multiplier
Quotient ,register.
EXAMINE PI
PROGRAMMER
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
AD, ADX, AR, ARX, BR, BRX, EBUS, FM, MQ, and
the
the
pc.
EXAMINE SBR
PROGRAMMER
The EXAMINE SBa command displays
Subroutine Return register.
the
contents
of
EXAMINE SC
the
KL
PROGRAMMER
The EXAMINE SC command displays the
Count register.
contents
of
the
EXAMINE VMA
KL
Shift
PROGRAMMER
The EXAMINE VMA command displays the contents of the
Memory Address register.
EXAMINE VMAH
KL
virtual
PROGRAMMER
The EXAMINE VMAH command displays the contents of the KL
Memory Address Held register.
Io'READ nnn
nnn:nnn
Virtual
MAINTENANCE
The FREAD command performs a diagnostic function read of the KL
CPU.
The valid range of function codes (nnn) is 100 through 177
octal.
4-15
PARSER
FWRITE nn=data
MAINTENANCE
The FWRITE command performs a diagnostic function write to the KL
CPU.
The valid range of function codes (nn) is 40 through 77
octal.
The data must be a 36-bit integer.
FXCT nn
MAINTENANCE
The FXCT command performs a diagnostic function execute on the KL
CPU.
The valid range of function codes (nn) is 0 through 37
octal.
HALT
PROGRAMMER
The HALT command tries to put the KL into the HALT loop by
clearing the RUN flop (FXCT 10) and waiting.
If the KL refuses
to go into the HALT loop, the front end tries to force it in by
using BURST mode.
If this does not work, the following error
message is issued:
PAR -- [HALT] CFH - CAN1T FIND KL HALT LOOP
INITIALIZE
PROGRAMMER
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.
MARK-MICROCODE n
MAINTENANCE
The MARK-MICROCODE command sets the mark bit in the specified
CRAM location.
The n is the CRAM address in the range of 0 to
2377.
The bit can be cleared by using the UNMARK-MICROCODE
command.
MeR taskname
OPERATOR
The MCR command loads and starts the specified task file.
4-16
PARSER
QUIT
OPERATOR
The QUIT command causes the PARSER to be exited.
At this point,
the CTY is connected to the TOPS-IO 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 within
the command line.
Also, if a SET REPEAT command
is in effect,
the two repeat factors are multiplied to arrive at the actual
number of times commands are repeated.
For example, the following command examines the PC ten times:
REPEAT 10;EXAMINE PC
A more complex example is shown below, along with the sequence of
single commands that would duplicate the action of the single
command line.
REPEAT 3;EXAMINE PC:REPEAT 2:EXAMINE NEXT
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
EXAMINE
PC
NEXT
NEXT
PC
NEXT
NEXT
PC
NEXT
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 RE$ET of the KL and retains
the clock and parity-stop enables that existed before the reset.
This command is not allowed while the KL is running.
RESET ALL
PROGRAMMER
The RESET ALL command executes the RESET APR, RESET DTE-20, RESET
PAG,
and RESET PI commands.
This command is not allowed while
the KL is running.
4-17
PARSER
PROGRAMMER
RESET APR
The RESET APR command executes a eONO 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
I
in
bit 6 of the DTE-20 diagnostic word 2.
Bit 0 in diagnostic word
3 is set to I to indicate word-mode transfers.
PROGRAMMER
RESET ERROR
The RESET ERROR command executes a eONO APR,,27760 instruction to
reset the KL error flags.
PROGRAMMER
RESET INITIALIZE
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.
PROGRAMMER
RESET 10
The RESET 10 command executes a eONO APR,,200000
perform an I/O reset of the KL.
instruction
to
PROGRAMMEF:
RESET PAG
The RESET PAG command executes a eONO PAG"Q instruction followed
by a DATAO PAG"IOO instruction to reset the KL PAGing box.
This
command requires that the KL clock be running.
PROGRAMMEF~
RESET PI
The RESET PI command executes a eONO PI"IOOOO
reset the KL Priority Interrupt system.
instruction
OPERATOFt
RUN taskname
The RUN command loads and starts the specified task
command is an alias for the MeR command.
4-18
------------,---------------------------,
to
file.
ThiH
PARSER
SET AC-BLOCK n
PROGRAMMER
The SET AC-BLOCK command changes the current KL block to the one
specified by the argument n in the command. This argument can
have a value in the range a to 7.
SET AUTO-TAKE
OPERATOR
The SET AUTO-TAKE command enables the automatic execution of
PARSER.CMD whenever a SNAPSHOT is requested,
either by the
operator or by the front end when it detects a KL crash.
SET CLOCK NORMAL
MAINTENANCE
The SET CLOCK NORMAL command sets the KL's clock parameters to
internal source, full rate, and en~bles the CRAM, data path, and
control logic clocks.
SET CLOCK
MAINTENANCE
CRAM
}
. DATA-PATH
{.CO~TROL
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
{
enabl~s
the control logic clock.
MAINT~NANCE
EX'l'ERNAL}
INTERNAL
MARGIN
This SET CLOCK command sets the source of the clock pulses:
external,
internal, or margin.
The margin clock is slightly
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.
4-19
PARSER
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 does not let
you set the console mode any higher than that specified
when the KLINIK window was defined.
PROGRAMME:R
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
(validity flag is ON).
In response to the SET DATE command, the
PARSER prompts you as follows:
PAR>SET DATE<RET>
DATE: 19 FEB 79
TIME: 1211
CURRENT SYSTEM DATE:
MONDAY, 19-FEB-79 12:11
VALIDITY FLAG IS:ON
PAR>
4-20
----------.........--.........------------------------------------------
.................................
PARSER
SET FAULT-CONTINUATION
PROGRAMMER
The SET FAULT-CONTINUATION command enables the KL's automatic
fault continuation reload mechanism.
This allows the host to
recover from errors detected by the front-end.
SET FS-STOP
MAINTENANCE
The SET FS-STOP command enables the Field Service stop facility.
SET INCREMENT n
OPERATOR
The SET INCREMENT command sets the KL increment counter
to the
value specified by the octal integer, n.
The increment counter
is used by the INCREMENT and DECREMENT arguments of the EXAMINE
and DEPOSIT commands.
Also,
only KL memory addresses are
modified by the increment counter.
PDP-II addresses that are
incremented
or
decremented default to NEXT and PREVIOUS,
respectively.
SET KLINIK
OPERATOR
The SET KLINIK command is usea to enable access to the KLINIK
link.
The command
initiates a dialog in which a KLINIK access
window and security parameters are established.
(refer
to
Appendix D for the KLINIK dialog.)
SET MEMORY
OPERATOR
ELEVENl
[ TEN
J
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-21
command
and
PARSER
SET NOT OUTPUT [device]
OPERATOR
The SET NOT OUTPUT command is equivalent
command.
(See CLEAR OUTPUT command.)
to
The default devices for the SET NO OUTPUT
LPT.
command
SET OFFSET nnnnnn
the
CLEAR
are
OUTPUT
LOG
and
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 OUTPUT
OPERATOR
LOG]
LPT
[
TTY
This command directs the CTY output to the specified device.
The
available devices are the log file PARSER.LOG, the lineprinter,
and the console terminal.
The output is directed to all
activated devices
If the output is directed to a log file and the file PARSER. LOG
does not exist, the file is created and the data written to the
new file.
If the file already exists, the new data is appended
to the file.
In either case a header line is output to all
active output devices when a logging file is opened or closed.
The default argument is TTY.
SET PARITY-STOP
ALL
AR
CRAM
DRAM
ENABLE
FM
FS-STOP
MAINTENANCH
The SET PARITY-STOP command allows you to selectively enable
parity stops for
the Arithmetic Register and extension, CRAM,
DRAM, Fast Memory, and Field Service.
The parity stops when
RSX-20F is first loaded are AR, CRAM, DRAM, and FM with ENABLE
ON.
SET RELOAD
PROGRAMM1E:R
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.
4-22
PARSER
SET REPEAT n
OPERATOR
The SET REPEAT command sets the command line repeat factor to n.
The value n must be specified as a positive decimal number.
Each
subsequent command line is repeated n number of times.
SET RETRY
PROGRAMMER
The SET RETRY command sets the RETRY flag in RSX-20F. When this
flag
is set,
the first occurrence of a Keep-Alive-Cease error
results in the execution of the instruction in location 71.
This
instruction usually branches to a
routine that causes the KL
monitor to dump memory and request a reload (BUGHLT in TOPS-20,
STOPCD in TOPS-IO).
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.
SET TRACKS
PROGRAMMER
The SET TRACKS command causes RSX-20F to type out, on the console
terminal, all KL operations and their results.
OPE~TOR,
SHOW [parameter]
PROGRAMMER
The SHOW command is the same as the WHAT command, and accepts the
same values as parameters.
OPERATOR
SHUTDOWN
The SHUTDOWN command DEPOSITs a minus one into the KL EXEC,
virtual location 30 (octal).
This comm~nd is used to bring down
a running sy~tem gracefully.
Example:
PAR>SHUTDOWN
**HALTED**
%DECSYSTEM~20
NOT RUNNING
4-23
PARSER
SNAPSHOT
MAINTENANCE
The SNAPSHOT command forces a snapshot of the KL
executes PARSER.CMD.
See command SET AUTO-TAKE.
and
optionally
PROGRAMMER
START TEN addr
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.
SWEEP [n]
MAINTENANCE
The SWEEP command performs a sweep of the specified KL AC block
or,
if no argument is given, all 8 AC blocks are swept.
The
argument can be 0 to 7.
The sweep consists of reading
the
contents of all the registers
in a block and checking for a
parity error after each read.
The SWEEP command first executes a SET AC-BLOCK for the specified
block,
then examines each location.
If an FM parity error is
detected, a message is output and the KL parity is reset.
Then
the next location is examined. When no argument is specified and
a Clock Error Stop (CES) exists then all eight blocks are swept.
When the sweep is complete, the block is reset to the original AC
block.
If an error is detected, an attempt is made to write the
contents of the registers with good parity.
If this fails an
er.ror is generated.
Each time an FM parity error is detected, a message
This message is of the form:
is
printed.
SWEEP PASS number> n:aa/dddddd dddddd
where n is the AC block number, aa is the AC address, and
dddddd is the AC contents.
dddddd
If this command is issued during a KL clock error stop caused by
an FM error, then the current content of the FM output register
is output in the form:
FM PARITY ERROR-(BLOCK:ADDR/DAT) n:aa/dddddd dddddd
where n is the AC block number, aa is the AC address, and
dddddd is the AC contents.
4-24
dddddCl
PARSER
OPERATOR
TAKE [file]
The TAKE command executes the specified file as an indirect
command file.
All legal PARSER commands, except another TAKE
command, are allowed in the command file.
During execution of
the file, errors are handled exactly as if the commands were
input from the CTY.
The 'commands in the file are executed until an end-of-file
condition is reached. At that point the message <EOF> is printed
on the CTY and input is accepted from the CTY.
The file specified can be any 6 character alphanumeric file name.
The system device should have a file of the form 'file'.CMD,
where 'file' is the filename that appeared in the command. If no
filename is specified for the TAKE command, the default filename
PARSER.CMD is used.
NOTE
Only the filename can be used with the TAKE command. The
file extention cannot be entered on the command line.
The file is assumed to have the extent ion .CMD.
Example:
Executing the default command file PARSER.CMD.
PAR>TAKE
PAR>!THIS IS AN INDIRECT COMMAND FILE
PAR>!ALL PARSER COMMANDS ARE COMING FROM IT
PAR>WH VER!FIRST COMMAND
PARSER VERSION: V06-00
RSX20F VERSION: VBl341
PAR>WH DAT! SECOND COMMAND
CURRENT SYSTEM DATE:
THURSDAY, 27-DECEMBER-79 14:10
VALIDITY FLAG IS: OFF
PAR>! THIS IS THE END OF THE FILE
PAR> <EOF>
Attempting to TAKE a nonexistent command file.
PAR>TAKE TEST2
PAR> -- [TAKE] NSF - NO SUCH FILE
UNMARK-MICROCODE n
MAINTENANCE
The UNMARK-MICROCODE command clears the mark bit in the specified
CRAM location. The n is the CRAM address in the range 0 to 2377.
The bit is marked with the MARK-MICROCODE command.
4-25
PARSER
WHAT AUTO-TAKE
OPERATOR
The WHAT AUTO-TAKE reports the status of AUTO-TAKE.
either of the following:
AUTO-TAKE:
or
AUTO-TAKE:
It
displays
ON
OFF
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
WHAT DATE
mode:
OPERATOR
The WHAT DATE command displays the day, date, and time that are
currently stored
in RSX-20F.
The status of the date validity
flag is also displayed.
WHAT FAULT-CONTINUATION
PROGRAMMER
The WHAT FAULT-CONTINUATION command reports the status
FAULT-CONTINUATION.
It displays either of the following:
FAULT-CONTINUATION:
or
FAULT-CONTINUATION:
of
ON
OFF
WHAT HARDWARE
OPERATOR
The WHAT HARDWARE command displays the environmental report that
KLINIT generates.
The report contains the KL serial number,
model type, line frequency,
and hardware options.
(refer to
section 5.3.1)
WHAT INCREMENT
OPERATOR
The WHAT INCREMENT command displays the current value of
increment counter used in EXAMINEs and DEPOSITs.
4-26
the
KL
PARSER
WHAT KLINIK
OPERATOR
The WHAT KLINIK command displays the current access status of the
KLINIK link (refer to 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
or
KLINIK ACTIVE AFTER REBOOT
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
relocation
OPERATOR
WHAT OUTPUT
The WHAT OUTPUT command displays the
logging output.
current
devices
that
are
PROGRAMMER
WHAT PARITY-STOP
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.
PROGRAMMER
WHAT RELOAD
The WHAT RELOAD command displays
automatic reload function.
4-27
the
current
status
of
the
PARSER
WHAT REPEAT
OPERATOR
The WHAT REPEAT command displays the current value of the
repeat factor.
PARSER
PROGRAMMER
WHAT RETRY
The WHAT RETRY command displays the current status of
flag in the front end.
the
RETRY
PROGRAMMER
WHAT TRACKS
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
argument and executes this expression as a KL instruction..
also accepts input in the form:
an
It
func dev, addr
where:
func
is one of the following:
CONI
CONO
DATAl
DATAO
BLKI
BLKO
CONSO
CONSZO
dev
is the octal device code.
addr
is the I/O instruction right half.
This input is decoded to create a 36-bit KL I/O instruction that
is then executed.
This form allows the user to execute I/O
instructions to obtain device status information without knowing
the opcodes.
The user need only know the device code of a few
standard devices.
4-28
PARSER
Note that executing an instruction with an opcode (bits 0 through
8)
of zero is not allowed.
If you attempt to do this, 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
The command name is the name of the command that caused the error.
However,
this command name can be PARSER if you typed a string that
caused an error in the command parser
rather
than
in a specific
command routine.
For example, assume that you type an invalid command
such as:
PAR>KLEAR CONSOLE
You will receive the error message:
PAR -- [PARSER] NSK - NO SUCH KEYWORD "KLEAR"
On the other hand, assume that you type in an invalid argument:
PAR>CLEAR KONSOLE
You will receive the error message:
PAR
[CLEAR] NSK - NO SUCH KEYWORD "KONSOLE"
The various error codes, messages, and explanations are given below.
AMB
AMBIGUOUS KEYWORD "xxx"
where "xxx" is the ambiguous keyword.
The PARSER found more
than one keyword that matched the abbreviation you typed.
NOTE
The PARSER matches your
abbreviation against the
complete set of commands and arguments, regardless of
the subset allowed by the console mode.
APE
KL APR ERROR
The PARSER encountered a CPU error
(nonexistent memory,
parity error, or a similar condition) •
Call your Field
Service Representative.
4-29
PARSER
BAE
BURST ARGUMENT ERROR
This is an internal programming failure.
Support Specialist.
CAE
Call your
Software
KL CRAM ADDRESS ERROR
Call either your
This is an internal programming failure.
Field
Service
Representative or your Software Support
Specialist.
CAL
CAN'T ASSIGN LUN
RSX-20F is unable to assign a Logical Unit Number.
The
problem is in the file structure.
Retry the operation.
If
the error continues, call your Field Service Representative.
CAP
CAN'T ATTACH LINEPRINTER
The PARSER is unable to attach the line printer.
Check tQ
make sure that the line printer is available to the systet
and that the command format is correct.
If the error
persists, call your Field Service Representative.
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.
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 ~se 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.
4-30
PARSER
CNR
COMMAND IS NOT REPEATABLE
You tried to repeat a command that cannot
However, the command has been executed once.
CRH
hardware
options.
DATE ALREADY VALID
You tried to set a new internal date and
flag was on.
DBT
repeated.
CAN'T READ HARDWARE OPTIONS
The PARSER is unable to read the system
Call your Field Service Representative.
DAV
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
your
Software
DEPOSIT KL MEMORY FAILED
This is an internal programming
accept a deposit directive.
Specialist.
DNF
Call
failure.
RSX-20F did not
Call your Software Support
DIRECTORY ?ILE NOT FOUND
The directory file cannot be found.
The problem is in the
file structure.
Retry the operation, .and if the error
continues, call your Field Service Representative.
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 DTE-20 status registers failed.
Call your Software Support Specialist.
4-31
PARSER
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.
R5X-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 is a fatal error. The PARSER encountered an EBUS parity
error.
Call your Field Service Representative.
ESD
EBOX STOPPED - DEPOSIT
The PARSER executed a deposit directive and found that the KL
clock was stopped.
ESE
EBOX STOPPED - EXAMINE
The PARSER exscuted an examine directive and found
KL clock was stopped.
FCF
that
the
FILE CLOSE FAILURE
The PARSER is unable to close the file.
Retry the operation.
If
the
error
continues,
call
your
Field
Service
Representative.
FEF
FILE EXTEND FAILURE
The PARSER failed to extend the file.
Retry the command.
If
the error persists, call your Field Service Representative.
FEN
FILE ENTER FAILURE
The PARSER is unable to enter the specified file.
Retry the
command.
If the error persists, call your Field Service
Representative.
4-32
PARSER
FLF
FILE LOOKUP FAILURE
The PARSER failed in its attempt to look up the specified
file.
Retry the operation.
If the error continues, call
your Field Service Representative.
FOF
FILE OPEN FAILURE
The PARSER failed to open the specified file.
Retry the
operation.
If the error persists, call your Field Service
Representative.
FRD
FILE READ FAILURE
The PARSER is unable to read the file.
Retry the command.
If the error persists call your Software Support Specialist.
FRF
FUNCTION READ nnn FAILED
A diagnostic function read with function code nnn has failed.
This
1S
a
fatal
error.
Call
your Fiel& Service
Representative and your Software Support Specialist.
If the
system crashes, try to reload it.
FSW
FM SWEEP FAILED
The FM sweep failed.
Retry the sweep.
If the
persists, call your Field Service Representative.
FWF
problem
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.
FWT
FILE WRITE FAILURE
The PARSER is unable to write to the specified file.
Retry
the command.
If the error persists call your Field Service
Representative.
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.
4-33
PARSER
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 remains unique.
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 is not a result of entering a
command, call your Software Support Specialist.
IFN
ILLEGAL FILE NAME
The PARSER cannot accept the filename as specified.
the command, making sure the filename is correct.
ILC
diagnostic
Reissue
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 (A) and converted to
their printing equivalent for output.
ILl
ILLEGAL INSTRUCTION
CLEAR AC-BLOCK is not allowed.
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 (A) and converted to
their printing equivalent for output. Note that a tab is
converted to one space.
IOC
ILLEGAL KL OPCODE
Either you or the PARSER tried to execute a KL instruction
with an illegal op-code.
If this is not the result, of an XCT
command, call your Software Support Specialist.
4-34
PARSER
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.
IRE
ILLEGAL RECURSION
A TAKE command cannot be used in an indirect command file.
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
ILLEGAL WHILE KL RUNNING
You tried to execute an illegal
running.
KNC
that
KL ADDRESS ERROR
You specified a KL address that was out
bits), negative, or not in octal radix.
KLR
command
command
while
the
KL
was
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.
MRA
MISSING REQUIRED ARGUMENT
You did not specify
command.
all
the
4-35
necessary
arguments
for
the
PARSER
MRH
HARDWARE OPTIONS MUST YET BE READ
KLINIT has not yet read and stored the hardware options
because the KL is not running.
Retry the command when the KL
is running.
NDI
NULL DATE ILLEGAL
prompt
During the SET DATE dialog, you answered the DATE:
with a carriage return. You must supply a date.
NER
NUMERIC EXPRESSION REQUIRED
You entered a command that expects a numeric expression as an
argument and something else was entered.
NOR
INPUT NUMBER OUT OF RANGE
You specified a number that was out of range or in the
radix.
NPl
NULL PASSWORD ILLEGAL
During the SET KLINIK dialog,
prompt with a carriage return.
one is requested.
NSF
you answered the PASSWORD:
You must supply a password if
NO SUCH FILE
The file as specified does not exist.
reenter the command if necessary.
NSK
wrong
Check the filename and
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.
OAl
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.
4-36
Call
your
Software
PARSER
PTL
PASSWORD TOO LONG
During the SET KLINIK dialog, you specified a
was more than six characters in length.
RPM
password
that
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.
4-37
a
DEPOSIT
PARSER
~vRM
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.
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-38
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.MCB;
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
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.
5-1
KLINIT
•
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
r
LOAD SWITCHES
DISK
ENABLE
I
FAULT
LIGHT
POWER
LIGHT
POWER
SWITCH
EMERGENCY
POWER OFF
SWITCH REGISTER
Figure 5-1
Load Switches and Switch Register for KL
with Floppy Disks
5-3
KLINIT
LOAD SWITCHES
DISK
SW REG
ENABLE
1
DECTAPE
POWER
LIGHT
FAULT
LIGHT
POWE
SWITC
EMERGENCY
POWER
OFF
o
17
SWITCH REGISTER
Figure 5-2
ENABLE/HALT
SWITCH
Load Switches and Switch Register for KL
with DECtapes
5-4
KLINIT
Table 5-1
Switch Register Bit Definitions
111 10
1711611514
Bit
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 1 is set and bit 2 is not set, the RSX-20F
monitor is loaded and started; no communication is
initiated between the KL and PDP-II processors at
this time.
If bit 1 is not set and bit 2 is set, RSX-20F is
loaded and started. However, the front end tries to
communicate with the KL uSlng secondary and then
primary protocol.
If the KL is not running, a TBT
II-halt occurs.
If both 1 and 2 are not set, the system is loaded
much like it is using the DISK, DECtape, or FLOPPY
load switch.
However, before KLINIT is run, a
diagnostic program that checks out the front end CPU
and front-end devices is executed.
6-3
Used to set the speed of a DH-ll CTY (bits 14-11).
7
If this bit is set, the bootstrap device
pack on a dual-ported drive.
If the bit is not set, the
DECtape
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,
usually enter the KLINIT dialog.
(See Figures 5-1 and 5-2.) Set
switch register bits 0, 1, and 2 on (in the up position).
Refer
Table 5-1 to determine if bits 7 through 10 should be set.
Press
load switches SW REG and ENABLE simultaneously.
RSX-20F loads
starts and, in turn, loads and starts KLINIT.
KLINIT then prompts
with the first question:
you
the
to
the
and
you
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)
;to enter the PARSER
PAR)MCR KLINIT
;to load KLINIT
KLI -- ENTER DIALOG [NO, YES, EXIT, BOOT]?
During the dialog, the following conventions hold:
•
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
of the dialog and assumes all the default answers.
•
An answer of BACK to any question returns you to the previous
question unless stated otherwise.
•
An answer of RESTART to the EXIT question returns you to
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 an error message and causes
the question to be repeated.
•
The minimum size of an abbreviation for any answer other than'
filename is the first two characters.
5-6
the
rest
the
KLINIT
5.2
KLINIT OPERATOR DIALOG
The following KLINIT dialog includes all the possible questions and
all the acceptable answers.
The questions are presented in the order
in which KLINIT asks them, unless it is specifically stated otherwise
in the description of the particular question.
In p~actice, however,
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 four forms that are used to toggle on and off the tracking
capability. These forms are T+, T-, and L+, L-.
If you wish to see a
report on each operation of the initialization procedure, you can give
the L+ command, and the complete listing is printed on the line
printer.
The T+ command prints the listings on the CTY.
You should
be aware that the T+ command causes a great deal of information to be
dumped to the CTY, and uses a lot of time and paper. The L- and Tcommands turn off this reporting.
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 r~port containing the KL serial number, machine
type, power line frequency, and the system's hardware options.
(Refer
to Section 5.3.1, Informational Messages.)
NO
displays the hardware environment and assumes the default
answers for all the remaining questions.
This is the last
chance to bypass the dialog and take the default path.
YES
displays the hardware environment, continues the dialog
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 KL
bootstrap program whose name is found in the configuration
file.
If none is found, the standard KL bootstrap program
found in BOOT.EXB is loaded. No defaults are taken when
this option is selected.
5-7
and
KLINIT
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.
(Refer to 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 FATLED message is issued.
In both cases,
KLINIT returns to the beginning of the dialog.
You can then
reload the microcode and try again.
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:
KLI>0,1,3<cr>
5-8
For example,
to
enable
KLINIT
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.
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 con~iguration 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.
5-9
KLINIT
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.
KLI -- MODULES/BLOCKS WITHIN CONTROLLER n [ALL,NONE,SPECIFY]?
NOTE
This question is repeated for
each
the
controller.
In each iteration,
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.
5-10
KLINIT
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.
NO
deletes a~l MOS memory.
The dialog continues with the
printing of the logical memory map and the LOAD KL BOOTSTRAP
question.
KLI -- MODULES/BLOCKS WITHIN CONTROLLER n [ALL,NONE,SPECIFY]?
NOTE
This question is repeated as many times
as
there are controllers.
In each
iteration,
the
n
is
the
current
controller number.
ALL
configures all memory blocks for controller n.
NONE
deletes all memory blocks for controller n.
SPECIFY
configures the blocks specified.
DO NOT TYPE SPECIFY! Type
a list of block numbers (0 through 13 octal) separated by
commas.
For example, to configure blocks 0, 1, 2, 7, 10 and
11 reply with:
KLI>0,1,2,7,10,11<CR>
KLI -- LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?
FILE
notifies KLINIT to load the bootstrap specified in the
KL.CFG file.
If no KL.CFG file exists, KLINIT will use the
default bootstrap.
YES
notifies KLINIT to load the default bootstrap.
NO
notifies KLINIT not to load a bootstrap.
FILENAME
notifies KLINIT to load the specified file as the bootstrap.
KLI
WRITE CONFIGURATION FILE [YES,NO]?
YES
notifies KLINIT to write a new KL.CFG file
current configuration and load parameters.
NO
notifies KLINIT not to change the existing KL.CFG file.
5-11
containing
the
KLINIT
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-12
(see
KLINIT
LOAD SWITCHES
r---------------------------J~~---------------------------~
K
SW REG
(SW REG BIT
o MUST BE ON)
(
TEST SW REG BITS 1 & 2
I
I
I
I
00
11
01
10
--11
1--_ _ _ _ _ _ _ _ _ _ _ _ _
)
SEE'TABLE 5-1
IS CACHE PRESENT?
ENABLE
CACHE PER
KL.CFG
(NOTE 1)
ENABLE
ALL
CACHE
DISABLE
ALL
CACHE
ENABLE
ALL
CACHE
ENABLE THE
SPECIFIED
CACHE
A
D
MR-S-172-79
NOTE 1: If there is no KL.CFG file, enable all cache.
Figure 5-3
E
KLINIT Operator Dialog
5-13
KLINIT
7
A
,
CONFIGURE
MEMORY
PER KL. CFG
(NOTE 2)
CONFIGURE KL MEMORY?
FILE
ALL
REVERSE
*FORCE
CONFIG.
MEMORY
PER KL.CFG
(NOTE 2)
CONFIG.
ALL
MEMORY
SET
REVERSE
CONFIG.
*DBE SCAN
ANY MOS
MEMORY
•
YES
•
SET
FORWARD
CONFIG.
t ~
T
I
NO
PRINT MAP OF
PHYSICAL MEMORY
t
)
e
IS INTERNAL CORE MEMORY PRESENT?
$
CONFIGURE INTERNAL CORE MEMORY?
ALL
YES
NO
t
•
CONFIGURE
ALL INTERNAL
CORE MEMORY
DELETE ALL
INTERNAL CORE
MEMORY
I
I
f.4----------- -----,
MODULES/BLOCKS WITHIN CONTROLLER n?
ALL
t
CONFIGURE
ALL MODULES
I
I
NONE
SPECIFY
l
CONFIGURE
THE MODULES
SPECIFIED
DELETE ALL
MODULES
I
J
(N~~~ _ _ _ _ _ _ _
-1
INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT?
4
2
t
t
ALLOW UP
TO 4·WAY
INTERLEAVING
ALLOW UP
TO 2·WAY
INTERLEAVING
I
F
6
G
*For MOS memory only.
I
1
t
ALLOW NO
INTERLEAVING
I
NOTE 2: If there is no KL.CFG file, configure all memory.
NOTE 3: This question is repeated as many times al there are controllers.
The controller currently being configured is denoted by n.
Figure 5-3
KLINIT Operator Dialog (Cant.)
5-14
.H
MR-S-168-79
KLINIT
9
IS EXTERNAL CORE MEMORY PRESENT?
e
~
CONFIGURE EXTERNAL CORE MEMORY?
YES
NO
!
I
EXTERNAL CORE MEMORY BUS·MODE?
OPTIMAL
•
SET BUS MODE
FOR OPTIMAL
PERFORMANCE
I
r
1
•
r
I
4
•
SET BUS MODE TO:
I
1
I
I
I
2
2
I
•
4
I
I
IS MOS MEMORY PRESENT?
~
~
CONFIGURE MOS MEMORY?
YES
ALL
NO
•
+
DELETE
ALL MOS
MEMORY
CONFIGURE
ALL MOS
MEMORY
l
I
~-------------I
I
MODULES/BLOCKS WITHIN CONTROLLER n?
ALL
•
SPECIFY
NONE
•
CONFIGURE
ALL MODULES
+
DELETE
ALL MODULES
I
CONFIGURE
THE BLOCKS
SPECIFIED
I
~
II
I
I
I
I
I
I
I
I
I
I
____~~~~ ____ -1
M R-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-15
KLINIT
E
F
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
APPROPRIATE
BOOTSTRAP
MR-S·170·79
NOTE 4: If there i. no KL.CFG file, set switch to use
the default bootstrap program in BOOT.EXB.
Figure 5-3
KLINIT Operator Dialog (Cant.)
5-16
KLINIT
5.3
KLINIT MESSAGES
KLINIT issues four classes of messages:
informational, warning,
di.alog error, and system error messages.
These messages are listed in
sections 5.3.1 through 5.3.4 according to class.
5.3.1
Informational Messages
KLINIT prints a hardware environment message for each invocation of
the program.
If KLINIT is activated using the ENABLE and DISK
switches, the environment report appears immediately after KLINIT
prints its heading and version number.
If KLINIT is activated using
the ENABLE and SW/REGISTER switches and if the question KLI
ENTER
DIALOG
[NO,YES,EXIT,BOOT]?
is answered with YES or NO, the hardware
environment report follows immediately.
If this question is answered
with EXIT or BOOT, the hardware environment does not appear.
The hardware environment report contains the following information:
•
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 that 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-27 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 --".
5-17
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
started.
Any messages that follow are a
particular bootstrap program being used.
KL memory and
function of the
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-18
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
does not attempt to reconfigure MaS memory unless specifically
told to do so.
SYSTEM ACTION:
KLINIT proceeds 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-19
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 confiqures 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
RESTAR'1'
During an automatic reload,
KLINIT found that the physical
configuration of the system does not match the configuration
d€scribed 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 KLINrr
II
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.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 are try is successful;
5-20
KLINIT
other times you may require the assistance of your Field Service
Representative or Software Support Specialist. For any system error,
it is 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
IIKLI -- ? ".
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 is 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 xxx xxx 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
A hardware error has probably occurred while KLINIT was trying
to configure the cache memory.
(See accompanying messages for
additional information.)
OPERATOR ACTION:
Retry the operation; if the trouble persists, call your Field
Service Representative.
You can also temporarily reconfigure
with no cache memory.
5-21
KLINIT
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-IO 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 occured 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-22
the
trouble
KLINIT
KLI -- ? CAN'T DETERMINE KLIO HARDWARE ENVIRONMENT
This message is followed immediately 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 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 xxxxxx
in the KL Dispatch RAM did not match the
corresponding code in the appropriate microcode file.
5-23
KLINIT
the even
The actual contents of the locations are printed,
This line is
location first,
and the odd location next.
The
followed by the expected contents of the two locations.
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 KLINI1'
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" 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 Representativeo
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.
5-24
the
trouble
KLINIT
KLI -- ? DIRECTIVE ERROR -n ON FILE "filename"
A system error occurred while KLINIT was trying to access the
file "filename." The "n" is an octal error code for use by
software support.
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 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.
software bug. Contact a Software Support Specialist.
CES
This is
almost
No corrective action is possible.
certainly a hardware fault. Contact Field Service.
5-25
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
No corrective action is possible.
This
is a pure
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
Contact a Software Support Specialist.
software bug.
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
This
is a pure
No corrective action is possible.
software bug.
Contact a Software Support Specialist.
MFE
No corrective action is possible.
This halt often
indicates a memory controller failure, especially if the
hardware environment has not changed and you have been
able to boot memory in the past.
You may also have
uncovered a software bug.
If Field Service cannot find
the problem, contact a Software Support Specialist.
MMR
No corrective action is possible.
This is a pure
software bug.
Contact a Software Support Specialist.
MNA
No corrective action is possible.
If the hardware
environment has not changed, and you have been able to
boot memory successfully in the past,
the problem is
likely to be in the hardware.
If, on the other hand, you
have an odd hardware configuration,
you may have come
across a
software bug.
If Field Service is unable to
find the problem, contact a Software Support Specialist.
5-26
possible.
retry.
Contact
a
retry.
If
the
Software
If
the
KLINIT
Code
Corrective Action
NBS
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
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.
OOL
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.
POH
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 f~ilure. Contact Field Service.
SNR
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
ssa
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
TMO
No corrective action is possible.
This is a pure
software bug. Contact a Software Support Specialist.
UMB
No corrective action is possible.
If the hardware
environment has not changed, and you have been able to
boot memory successfully in the past, the problem is
likely to be in the hardware. If, on the other hand, you
have an odd hardware configuration, you may have come
across a software bug.
If Field Service is unable to
find the problem, contact a Software Support Specialist.
XOO
No corrective action is possible.
If the hardware
environment has not changed, and you have been able to
boot memory successfully in the past, the' problem is
likely to be in the hardware. If, on the other hand, you
have an odd hardware configuration, you may have come
across a software bug.
If Field Service is unable to
find the problem, contact a Software Support Specialist.
5-27
retry.
If
the
KLINIT
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.
the
front-end
KLI -- ? I/O ERROR -n ON FILE "filename"
An I/O error occurred
file "filename." The
by software support.
error codes and their
while KLINIT was trying to access the
"n" is an RSX-II octal error code for use
Refer to Appendix A for a list of these
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
DMA20
current
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 "BFI6NI.AII".
operation.
KLI -- ? INPUT RECORD LENGTH ERROR
An ~rror 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.
5-28
KLINIT
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.
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
was
A hardware or software error occurred while KLINIT
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".
5-29
KLINIT
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 "BFI6NI.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.
(irreparpble)
errors
while
OPERATOR ACTION:
Retry loading the microcode;
if the
your Field Service Representative.
trouble
persists,
call
KLI -- ? MICROCODE LOAD FAILED
A hardware or software error occurred while KLINIT was loading
the KL microcode.
(See accompanying messages for additional
information.)
OPERATOR ACTION:
Retry loading the microcode;
if the
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".
5-30
KLINIT
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 -- 1 NONEXISTENT MODULE/BLOCK
KLINIT attempted to configure a module or block that
exist in the controller.
does
not
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 does not corne up, call your Field Service
Representative.
KLI -- ? READ ERROR
A hardware or software error occurred while KLINIT
was
accessing KL.CFG,
the appropriate microcode file, or the KL
bootstrap file.
(See any accompanying messages for additional
information.)
OPERATOR ACTION:
Retry the operation;
if the trouble persists,
call your
Software Support Specialist.
If the file
in question is
KL.CFG, you can get around the read operation by renaming or
deleting the file.
KLINIT writes 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.
5-31
it
still
fails,
contact
your
KLINIT
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.
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.
Sections 5.4.1 through
5.4.3.2 describes the information contained in these maps and reports.
5~4.l
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
7 654 321 0
1024K
4 BUS MODE
EXTERNAL MEMORY RESPONSE
SIZE
ADDRESS
00000000 1024K
5-32
KLINIT
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
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:
5.4.2
ADDRESS
KL memory address
SIZE
KL memory size in K
INT
KL memory interleave mode
TYPE
memory controller type
CONTROLLER
memory controller number
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 654 321 0
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 3
5-33
KLINIT
NOTE
For the MF20 map each group can contain
four possible modules.
Group 0 can
contain modules 0,1,2,3 or any subset of
those modules. Group 1 can contain the
modules 4,5,6,7 or any subset of those
modules and so on for
the remaining
groups.
The number shown in the map
indicates the number of modules in that
group but does not
indicate
which
modules are present.
The number 3 in
the example above shows that 3 modules
of the set containing modules 0,1,2,3
are present.
It does not, however, show
which three modules are present.
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
0
of
some
controller
between
must
be
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-34
KLINIT
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.
NOTE
The MARK bit is ignored.
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 16-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)
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-35
KLINIT
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
Size
3
3
1
10
B
P
J
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 vary by location.
The following is an example of a DRAM error report:
vKLI -- ? D-RAM
KLI
BAD A:2
KLI
GOOD A:4
KLI
XOR A:6
DIFFERS
B:O P:O
B:O P:O
B:O P:O
Contents of
location 106
5.5
1.
AT 106
J:1002 A:2 B:O P:O J:1002
J:14l2 A:2 B:O P:l J:14l2
J:04l0 A:O B:O P:l J:04l0
Contents of
location 107
KLINIT DIALOG EXAMPLES
This example shows the output at your console terminal when you
load a TOPS-IO system using the DISK load switch.
KLINIT
automatically takes the default values without asking you any
questions.
However,
KLINIT tells 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 VE14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI
VERSION VA12-27 RUNNING
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
5-36
KLINIT
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
BOOT V23(114)
BTS>
2.
This example shows the output at your console terminal when you
load a TOPS-20 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 VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DB 0 : MOUNTED]
KLI -- VERSION VB12-27 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
TOPS-20
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 VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO: MOUNTED]
KLI -- VERSION VB12-27 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 654 321 0
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-37
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 CONFIGURATLON.
ADDRESS SIZE INT TYPE CONTROLLER
00000000 l28K
2
MA20 0 & 1
00400000 768K
4
MF2D 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 VE14-44 8:00 6-JAN-80
[SYO: REDIRECTED TO DBO:]
[DBO: MOUNTED]
KLI -- VERSION VA12-27
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLIO SIN: 2136., MODEL B, 60 HERTZ
KLI
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
7 654 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 -- MO~ULES/BLOCKS WITHIN CONTROLLER 1 [ALL,NONE,SPECIFY]?
KLI>0,1,2
KLI -- INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?
KLI>2
5-38
KLINIT
LOGICAL MEMORY CONFIGURATION.
ADDRESS SIZE INT
TYPE CONTROLLER
00000000 256K
2
MB20 0 & 1
KLI -- LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAMEJ?
KLI>YES
KLI -- CONFIGURATION FILE WRITTEN
KLI -- BOOTSTRAP LOADED AND STARTED
BOOT V23(114)
BTS>
5.
This example shows the console terminal output when the system is
loaded using the DECtape load switch.
KLINIT did not find a
KL.CFG file on the DECtape (%NO FILE messages);
therefore,
it
configured all cache and all available memory. Note that KLINIT
informs you whenever it writes a new KL.CFG file;
it does so
whenever you answer ALL or YES to the CONFIGURE KL MEMORY
question or if no previous KL.CFG file exists.
RSX-20F VA14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DTO:]
[DTO:MOUNTED]
KLI
VERSION VA12-27 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
BOOT 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 VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-27 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>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 VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-27 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
MICROCODE VERSION 231 LOADED
KLI -- ALL CACHES ENABLED
KLI -- % MOS MEMORY IS ALREADY CONFIGURED
LOGICAL MEMORY CONFIGURATION.
ADDRESS SIZE INT
TYPE CONTROLLER
00000000 l28K
2
MA20 0 & 1
00400000 768K
4
MF20 11
KLI
KLI
CONFIGURATION FILE WRITTEN
BOOTSTRAP LOADED AND STARTED
BOOT>
5-40
KLINIT
s.
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,
BOOT., 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 VA14-44 8:00 6-JAN-SO
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VA12-27 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO SIN: 1026., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
KLI>YES
KLI -- MICROCODE VERSION 231 LOADED
KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
KLI>BACK
KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
KLI>VERIFY
KLI -- MICROCODE VERSION 231 VERIFIED
KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
KLI>YES
KLI -- ENABLE WHICH CACHES [ALL,NONE,0-3]?
KLI>0,1,3
KLI -- CACHES 0,1,3 ENABLED
KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
KLI>YES
MEMORY RESOURCES:
CONTROLLER ADDRESS
4
TYPE MODULES/GROUPS
7 6 5 4 321 0
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>
5-41
KLINIT
9.
This example shows that an error occurred in verifying the
existing microcode.
Because the dialog is restarted after a
fatal error, the solution you should try is answering YES to the
RELOAD MICROCODE question the next time.
RSX-20F VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-27 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO S/N: 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>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
ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI
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 VB14-44 8:00 6-JAN-80
[SYO:REDIRECTED TO DBO:]
[DBO:MOUNTED]
KLI -- VERSION VB12-27 RUNNING
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- KLIO S/N: 2136., MODEL B, 60 HERTZ
KLI -- KLIO HARDWARE ENVIRONMENT
MOS MASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
5-42
KLINIT
KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
KLI>VER<ESC>
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YNOT
KLI -- COMMAND SYNTAX ERROR
KLI -- ENTER DIALOG [NO,YES,EXIT,BOOT]?
KLI>YES
KLI -- RELOAD MICROCODE [YES,VERIFY,FIX,NO]?
KLI>NO
KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
KLI>MAYBE
KLI -- COMMAND SYNTAX ERROR
KLI -- RECONFIGURE CACHE [FILE,ALL,YES,NO]?
KLI>NO
KLI -- CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?
KLI>NO
KLI -- LOAD KL BOOTSTRAP [YES,NO,FILENAME]?
KLI>"'Z
5-43
CHAPTER 6
RSX-20F UTILITIES
RSX-20F is designed to run with a minimum amQunt 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
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
Sections 6.1.1 through 6.1.4 describe the function and format
COP utility, provide examples and show error messages.
6.1.1
of
the
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
6-1
RSX-20F UTILITIES
of the installation floppies.
following:
To
use
the
COP
utility,
type
the
CTRL/\ (control backslash)
PAR> MCR COP
COP>
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
DXI:
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
~rhe
following command copies the contents of the floppy in DXO:
the floppy in DXI:
and verifies the copy.
COP>DXl:=DXO:/VF
6-2
onto
RSX-20F UTILITIES
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.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 (refer to Appendix A)
device Dxx at block number xxx,xxxxxx.
has
COP -- *FATAL* -- ILLEGAL SWITCH /xx
The switch /xx is not a legal COP switch.
6-3
been
detected
on
RSX-20F UTILITIES
COP -- *FATAL* -- NO DESTINATION DEVICE SPECIFIED FOR /CP
/ZE
OR
/VF
OR
This message is self-explanatory.
COP -- *FATAL* -- NO SOURCE DEVICE SPECIFIED FOR /CP OR /VF OR /RD
This message is self-explanatory.
COP -- *FATAL* -- SOURCE DEVICE SPECIFIED FOR /ZE
You specified a source device with the /ZE 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 (/) or the input
string was too long, or the block number was not separated from
the switch by a colon (:).
6.2
INI UTILITY
Sections 6.2.1 through 6.2.4 describe the function and format
INI utility, provide examples and show error messages.
6.2.1
of
the
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
To initiate the INI utility, type the following:
CTRL/\ (control backslash)
PAR>MCR INI
IN!>
6-4
(if
dual-ported
RSX-20F UTILITIES
6.2.2
Format
INI>dev:/switch /switch •.•.
where:
dev:
is the device
initialized.
of
the
volume
to
be
The INI utility accepts a string of switches.
A hyphen
(-)
can be
used as a
line terminator
to extend the INI comm9nd 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
to be used only 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.
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 that 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
the
BEG
at
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 WRLTE 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 proceedlng, 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
fil~
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
write-locked4
INI could,
device.
a device and
therefore,
do
found
the device
nothing with the
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.
tNT -- RSX-20F FILE SYSTEM ALLOCATED LESS 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 TOPS copy of the home block.
INI -- WRONG PACK - NO RSX-20F FILE SYSTEM ALLOCATED
INI was not able to find
specified pack.
on
the
Sections 6.3.1 through 6.3.4 describe the function and format of
MOU and DMOU utilities, provide examples and show error messages.
the
6.3
any
front-end
file
system
MOU AND DMO
6.3.1
Function
The MOU
device
RSX-20F
Number
and DMO utilities give information to RSX-20F that makes a
available to another user utility or takes away a device.
then allocates or deal locates buffer space and Logical Unit
(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 (RP04/06)
DXO:
DXl:
DTO:
DTl:
floppy drive 0
floppy drive 1
DECtape drive 0
DECtape drive 1
FEG: 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:
is the device on which the volume is to be mounted.
devices that have an Ancillary Control Processor
can be mounted. Devices that meet this criterion are
rigid disk, floppy disk, DECtape, and the FE: device.
dev:
On~y
The DMO utility declares that the volume or communication channel
specified is logically off-line. After a DMO op~ration, 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
~he
The device that holds the volume to be dismounted.
Examples
following command mounts the volume on device DKI:.
MOU>DKI:
The following command dismounts the volume on device DKI:.
DMO>DKI:
The following command deletes the volume control block (VCB) for DKI:.
DMO>DKI:
6-10
RSX-20F UTILITIES
6.3.4
Error Messages
This section lists the error messages that can arise during the
execution of MOU and DMO command strings.
Since they are presented in
alphabetic order, the messages that come only from DMO are listed
first,
followed by those that come only from MOU.
Finally, there are
a few messages that can come from either utility.
These are listed
with the string "xxx" substituted for one of the strings "DMO" or
"MOU" .
DMO -- DEVICE CANNOT BE DISMOUNTED
The device dismount command could not be executed.
DMO was
unable to determine the specific reason for the problem.
You
should never get this message from DMO;
if you do,
contact
your Software Support Specialist.
DMO -- DEVICE NOT MOUNTED
The specified device is not mounted.
DMO -- DISMOUNT ERROR xx
The attempt to dismount a device failed because an I/O error
was received.
Refer to 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.
Refer to 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
~rhe
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
Sections 6.4.1 through 6.4.5 describe the function,
format, switches
and subswitches of PIP, present examples, and show error messages.
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:
6.4.2
•
Copying files from one device or area to another
•
Deleting files
•
Renaming files
•
Listing file directories
•
Concatenating or appending files
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.filetypeiversion.
If
the
output filename, file type, and version are the
null set or *.*,*, the input filename, file type,
and version are preserved. If any part of the
output file specifier
(filename, file type, or
version) is entered, wildcards cannot be used for
the remaining file specifiers.
infile
The
input
file
specifier
in
the
form
device: [UIC]filename.file typeiversion.
If the
filename, file type, and version are null, then
*.*i* 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 DKI:
and appends the
contents of files TEST.DAT;2, FILE2.TXT;3, and PRACT.DAT;1 to it.
PIP>DKI:FILEI.DAT;1=TEST.DAT;2,FILE2.TXT;3,PRECT.DAT;1JAP
COpy (no switch)
Function
The COpy switch is used to create a copy of a file on the same or
another device.
COpy is the PIP default switch when only one
output file specifier and one input file specifier are contained
in a command line.
Format
PIP>outfile=infile
NOTE
If the output filename, file type, and version are either
null or *.*;*, the input filename, file type, and version
are preserved.
The following subswitch can be used with the COpy switch:
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.DAT;1
SAMP.DAT;I.
on
DK2:
to
DKI:
as
PIP>DKI:SAMP. DAT il=DK2:TEST.DAT;1
The following command copies all versions of all
.OAT from DKO:
to DKI:.
files
of
type
PIP>DKI:=DKO:*.DAT;*
DELETE Switch (jDE)
Function
The JDE switch allows the user to delete files from a directory.
Format
PIP>infile1[, 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
/LI lists the following information:
Filename.file type;version
Number of blocks used (decimal)
6-15
RSX-20F UTILITIES
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.TSK;7 9.
BOO.TSK;7 19.
EBOOT.EXB;15 36.
DMP.TSK;7 47.
LKDISC.TSK;7 5.
EDDT.EXB;l 52.
MTBOOT.EXB:l 35.
KLA213.MCB;213 36.
MOU.TSK:6 5.
C
C
C
C
C
19-Jl1L-79
19-JUL-79
20-JUN-79
19-JUL-79
19-JUL-79
13-JUN-79
19-JUN-79
12-JUL-79
29-JUN-79
10:58
10:58
09:17
15: 02
15:02
14:46
07:47
10:22
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 full 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
File code
null = noncontiguous
C
contiguous
L = locked
6-16
(decimal)
RSX-20F UTILITIES
Creation date and time
Owner UIC and file protection in the format:
[group, memberJ
[system, owner, group, worldJ
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 l32-column terminal, the complete
each file will be printed on one line.)
information
PIP)DBl:/FU
DIRECTORY DBl: [5,5J
25-JUL-79 10:53
BAD. TSK i 7 (7,1 7) 9. /9. C
[5,5J
[RWED,RWED,RWE,RJ
BOO.TSKi7 (10,33) 19./19. C
[5,5J
[RWED,RWED,RWE,RJ
EBOOT.EXBi15 (15,24) 36.36.
[5 , 5J
[ RWE D , RWE D , RWE , R J
RED. TSK i 7 ( 3 6, 1021) 6. /6. C
[5,5J
[RWED,RWED,RWE,RJ
KLI.TSKi5 (40,20) 64./64. C
[5,5J
[RWED,RWED,RWE,R]
SLP.TSKi7 (45,121) 41./41. C
[5 , 5J
[ RWE D , RWE D , RWE , R J
19-JUL-79
10:58
19-JUL-79
10:58
20-JUN-79
09:17
19-JUL-79
19-JUL-79
29-JUN-79
l2-JUL-79
19-JUL-79
10:58
11:04(5.)
15: 02
10: 20 (74.)
10:58
/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)DBl:/TB
TOTAL OF 2789.
BLOCKS IN 85.
FILES
MERGE Switch (/ME)
Function
The /ME switch is used to create a new file from two or more
existing files.
If an explicit output file specifier is used and
more than one input file is named without an appended switch, the
/ME switch becomes the default switch.
Format
PIP)outfile
infilel, infile2, ... infileN[/ME]
Example
The following command concatenates version 1 of the file TEST.DAT
and version 2 of NEW.DAT from DK2:
and generates the file
SAMP.DAT on DKl:.
PIP)DKl:SAMP.DAT=DK2:TEST.DAT;1,NEW.DAT;2/ME
PURGE Switch
(/PU)
The /PU switch allows you to delete obsolete versions of a file.
Format
PIP)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.DAT;1,TEST.DAT;2,TEST.DAT;5
Then the following command and switch are issued:
PIP)TEST.DAT/PU
After PIP has completed the
contains the following file.
purging
action,
the
directory
TEST.DAT;5
RENAME Switch (/RE)
Function
The /RE switch allows you to change the name of a
file.
The
subswitch /NV allows you to force
the version number of the
renamed file to be one greater than the latest version number of
the previously existing file.
6-18
RSX-20F UTILITIES
Format
PIP)outfile
infile/RE[/NV]
Example
PIP)TEST.DAT;1=TRIAL.DAT;5/RE
File TRIAL.DAT;5 is renamed TEST.DATil.
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 UFD
volume.
that
does
not
exist
on
was
not
the
specified
PIP -- CANNOT FIND FILE(S)
The file(s) specified in the
specified directory.
command
PIP -- CANNOT RENAME FROM ONE DEVICE TO ANOTHER
You attempted to rename a file across devices.
6-19
found
in
the
RSX-20F UTILITIES
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.
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.
6-20
the
RSX-20F UTILITIES
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.
switch
in
PIP -- ILLEGAL "*" COpy TO SAME DEVICE AND DIRECTORY
You attempted to copy all versions of a file into the same
directory that is being scanned for input files.
This results
in an infinite number of copies of the same file.
PIP -- ILLEGAL USE OF WILD CARD VERSION
The use of a wildcard version number in the attempted operation
results in inconsistent or unpredictable output.
6-21
RSX-20F UTILITIES
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 device is not mounted.
The hardware failed.
The volume is full
(output only) .
The input file is corrupted.
PIP -- EXPLICIT OUTPUT FILENAME REQUIRED
You failed to specify the output filename.
PIP -- NO DIRECTORY DEVICE
You issued a directory-oriented command to a device
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)
directory.
specified in the command are not in the
designated
PIP -- ONLY [*,*] IS LEGAL AS DESTINATION UIC
You specified a UIC other than [*,*] as the output file UIC for
a copy.
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.
6-22
RSX-20F UTILITIES
•
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
n*n
The version number of the specified
explicitly or as a wildcard.
6.5
file
must
be
expressed
RED
Sections 6.5.1 through 6.5.4 describe the function and format of
provide examples and show error messages.
6.5.1
RED,
Function
The RED utility allows the operator to redirect all I/O requests
previously directed to one system device to another system device.
The utility does not affect any I/O requests already in the I/O queue.
To initiate the RED utility, type the following:
CTRL/\ (Control backslash)
PAR>MCR RED
RED>
6.5.2
Format
RED>nud:=SY:
where:
nud
the new device to which subsequent requests are
redirected.
SY
the system
directed.
device
from
which
requests
NOTE
The device nud must be mounted
the RED command is given
6-23
before
have
to
be
been
RSX-20F UTILITIES
6.5.3
Examples
The following command redirects all I/O requests for SY:
to DBI:.
RED)DBI:=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 -- FIIACP 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 -- NEW SYSTEM NOT MOUNTED
FIIACP NOT FOUND ON SYSTEM
SYSTEM MUST BE RELOADED
RED -- SYNTAX ERROR
The command string contained a syntax error.
6.6
SAV
Sections 6.6.1 through 6.6.5 describe the function and format
SAV utility, provide examples, and show error messages.
6.6.1
of
the
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 UTILITIES
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
special format of task
image.
This special image is a task image
without a task header.
A system can either be booted by using the hardware bootstrap,
or by
using the BOOT command.
A system saved on one controller cannot be
booted from another controller.
When a user installs a
task,
the system stores the task's file
identification in the task header. When a system is saved, it places
the file identification rather than the files's logical block number
in the task control block. When the system is rebooted, it reopens
the task file and stores the new logical block number of the task
in
the task control block.
If a task has been deleted, the system cannot
open the task file when the system is rebooted.
In this case the
system automatically removes the task's control block from the system
task directory.
A saved system does not retain the physical disk addresses of
installed tasks.
However, the task control block entries contain task
file identifications, rather than logical block numbers after a system
save.
Thus, the system can function normally when it is rebooted.
When the bootstrap block is written, the physical disk-block address
of the system-image file is stored with it.
However, the file can be
deleted.
If file system activity occurs,
the blocks previously
allocated to the system image can be reallocated to another file.
A
subsequent bootstrap that uses the boot block can cause random data to
be loaded.
Since SAV is active when the memory-resident system image is copied to
disk,
SAV appears
in this image.
In fact, SAV is the program that
starts up the saved system after a disk boot.
6.6.2
Format
SAV> [/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 is not widely
used.
/EX
causes SAV to exit after writing the save
switch is the default condition.
6-25
file.
This
RSX-20F UTILITIES
6.6.3
/MO:dev
tells SAY that the specified device must be mounted
before the save file is written.
This switch is not
widely used.
/RH
indicates that SAY should read the home block to find
the front-end file system. This switch is the default
condition.
/WB
indicates that a boot block pointing to the system
image is to be written out to the system device.
The
new boot block points to the file that is saved by the
execution of this command. Thus, on the next hardware
bootstrap, this saved file will be loaded.
If the
command omits the /WB switch,
the file previously
pointed to by the boot block remains in effect;
that
is, the file is not overwritten.
/WS
causes SAY to write a save file.
default condition.
This
switch
is
the
Example
SAY>
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.
SAY was unable to find the second
floppy disk it expected.
SAY -- *DIAG* -- DBn:
NOT IN PROGRAMMABLE (A/B) MODE
SAY attempted to access disk DBn:
the correct mode.
and found that it was not in
SAY -- *DIAG* -- DEVICE ALREADY MOUNTED
You have used the /MO switch in the command string to
the device you requested is already mounted.
SAY
and
SAY -- *DIAG* -- dey NOT READY
SAY 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
(refer to 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.
Refer to 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.
Refer to 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.
6-27
the
RSX-20F UTILITIES
SAV -- *FATAL* -- CREATE SAVE FILE
(5,5) ERROR xx
SAV attempted to create a system image file and received an I/O
error.
Refer to Appendix A for a list of I/O error codes.
SAV -- *FATAL* -- dev CANNOT BE DISMOUNTED
You gave SAV the /DM svlitch 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.
Refer to 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 run.
to Appendix A for a list of the I/O error codes.
Refer
SAV -- *FATAL* -- MOUNT ERROR
You specified the /MO switch in the SAV command string and
was unable to mount the specified device.
SAV -- *FATAL* -- NO DTE-20
SAV could not find the DTE-20 it expected.
6-28
SAV
RSX-20F UTILITIES
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.
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
UFD - USER rILE DIRECTORY
Sections 6.7.1 through 6.7.4 describe the function and format
UFO utility, provide examples and show error messages.
6.7.1
of
the
Function
~~he
UFO 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
UFO being created will reside.
Default:
none;
must be specified.
[group,member]
The owning UIC for the UFO.
required syntax.
switch
The UFD utility accepts the following switch.
/ALL
The /ALL switch allocates space for
the UFD
and takes as an argument the number of blocks
to allocate.
Default:
/ALL:32
6-29
The brackets are
RSX-20F UTILITIES
6.7.3
Examples
PAR>MCR UFO
UFD>DB2: [10,lO]/ALL:900
6.7.4
Error Messages
UFO -- CAN'T READ MCR COMMAND BUFFER
This message indicates
command string.
that
UFO
was
unable
to
parse
your
UFD -- DEVICE NOT IN SYSTEM
UFO was unable to find the specified device on the system.
UFO -- DIRECTORY ALREADY EXISTS
The requested UFO already exists on the volume.
UFO -- FAILED TO CREATE DIRECTORY
No space exists on the volume, or an I/O error occurred.
UFO -- FAILED TO ENTER IN MFD
No space exists in the MFD or on the volume, or
occurred on the volume.
an
I/O
error
UFO -- NOT FILES-II DEVICE
The device specified for the UFO was not a Files-II device, and
therefore could not support a UFO.
UFO -- SYNTAX ERROR
UFO found a syntax error in your command string.
UFO -- VOLUME NOT MOUNTED
The volume was not mounted prior to the attempt to
UFO.
create
the
UFD -- WRITE ATTRIBUTES FAILURE
UFO encountered an error while writing the attributes of either
the MFD or the newly created UFO.
6-30
RSX-20F UTILITIES
6.8
ZAP
Sections 6.8.1 through 6.8.8 in detail the ZAP utility.
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:
•
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.
•
A set of internal registers that
registers.
•
Single character commands that,
in combination with other
command line elements, display, open, close, and manipulate
the values in task images and data files.
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
RS~20F.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 a of a nonoverlaid task
in absolute mode,
open
address 2000.
In task image mode, zip 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:
$$RESL: (RE,I,LCL,REL,CON)
MCR.OLD~l)
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-ll 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 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:
•
Open a location, display its contents, and store the contents
in the quantity register.
•
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
ZAP Open/Close Commands
>
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.
o
Display the jump and branch displacements from the
current locations to a target location.
return to MCR.
Display in octal, the value of the
the left of the equal sign.
R
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 0
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.
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
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
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)
6-37
RSX-20F UTILITIES
Separate a block number base value from an offset into
the block.
(used in most references to locations in a
file)
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:
SECTION
TITLE
. 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.
6-38
01
01
MCR.OLBil
MCR.OLBil
RSX-20F UTILITIES
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.
Relocation Register, Byte Offset Format
This format allows you to load a relocation register with the value of
a location to be used as a relocation bias.
This mode of addressing
locations in a task image is as follows:
relocreg,byteoffset
Specify relocreg in the form nR, where n is the number of the
relocation register.
Byte offset can then be addressed from the value
loaded in the relocation register as follows:
2:12032;3R
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
(I, ", %, \, 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.
6-39
~SX-20F
1
UTILITIES
Display the new contents of the location
by entering a slash (I) and a carriage
return.
002:1200001 44444
When ZAP displays the contents of the opened location, the format in
which the value 1S displayed is indicated by the special command
character immediately following the address portion of the location.
In this example the slash (I) 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 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 (ft) command is used to close the current location,
direct ZAP to the preceding location, and to open that location.
to
002:1201001
002:1201001 000000
002:1201021 000111
002:1201041 000222
202:1201061 000333
002:1201041 000222
The carriage return is used to close the first three open locations
and open the next location. The circumflex (ft) closes location 120106
and directs ZAP to open the preceding location, 120104.
Close a Location -- Open a Location at an
Counter
the
Location
•
Closes the current location
•
Directs ZAP to use the contents of this just-closed
as an offset
location
•
Adds this offset to the next sequential location
•
Opens that location
The underscore
Offset
from
( ) command is used as follows:
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 sequen 1cial 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 1S
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.
a;nK
Calculates the displacement
relocation register n.
between
address
The following example illustrates the use of the K command:
2:1172,OR
2:1232;lR
2 :1202/
002:000020/000111
K
=0,000010
O,lOOjlK
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 location. 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:1172;OR
0,101
002:000010/000005
0,200
00006>000003
0,30;2:12020
177756>17777767
6.8.7.3 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 @, i, and> cannot be used when a location is open
as a byte.
ZAP -- ERROR IN FILE SPECIFICATION
The file specification was entered incorrectly.
6-43
RSX-20F UTILITIES
ZAP -- ERROR ON COMMAND INPUT
An I/O error occurred while a command
could be a hardware error.
was
being
read~
thil:i
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.
ZAP -- SEGMENT TABLE
OVERFLO~l
ZAP does not have enough room in its partition to
segment table.
6-44
construct
a
RSX-20F UTILITIES
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 examlnlng the internals of the RSX-20F monitor, let us
the functions of an operating system. These functions are:
•
To provide service to the I/O devices in the form
drivers
•
To control the scheduling of the
monitor call and queue mechanism
•
To control the scheduling of tasks
•
To provide common routines that any program can use
device
drivers
of
via
recall
device
some
With these functions in mind, we will proceed to discuss the structure
of the RSX-2QF operating system. This chapter details the RSX-20F
Executive.
It then describes RSX-20F tasks and the scheduling of
these tasks, along with the actions performed by system traps.
Finally, the terminal service routines are 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.
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.
7-1
RSX-20F MONITOR
+-----------------------------------------------------+
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
DMSA~ - Send and Receive Directives
Sends data to and receives data from a task
Figure 7-1
RSX-20F Executive
7-2
0000
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 16-word block for a task to read
DMGMP - Get Partition Parameters Directive
Gets information about a partition and puts it
into a 16-word block for a task to read
RUN - Clock Tick Recognition Service
Checks time dependent flags at each
clock interrupt
QPRDRV
queued protocol
DTEDRV
DTE-20 device driver
TTYDRR
Terminal device driver
SCOMM
RSX-20F Executive Data Base
ARITH
Miscellaneous arithmetic functions
(multiply, divide, etc)
DBDRV
Dual-ported disk device driver
DTDRV
DECtape device driver
(TOPS-IO)
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
1----------------------------------------------------Figure 7-1
RSX-20F Executive (Cont.)
7-3
RSX-20F MONITOR
70000(apprx}
.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 biq
buffer used to store LPT RAM data or task information when a task i~;
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
----------------------------.FREPL
-----------------------------
100000
076000
070000 (approx)
RSX-20F EXEC
+-----------------------------+
Figure 7-2
7.2
000000
RSX-20F Memory Layout
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 ~re considered tasks and
must be scheduled:
DTEDRV
FEDRV
DBDRV
DXDRV
DTDRV
TTYDRV
DTE device driver
FE device driver
RP04 device driver
Floppy disk device driver
DECtape driver
Terminal device driver
7-5
RSX-20F MONITOR
LPTDRV
CDRDRV
FIIACP
QPRDTE
INSTAL
<optional>
NULL
LPT device driver
Card-reader device
Files-II Ancillary
Queued Protocol
Installs task into
Task chosen to run
Null task
driver
Control Processor
GEN partition
in GEN partition
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.
+--------------------------------------------------------+
Task Name
0 S.TN
(6 char in RADIX-50)
1-------------------------------------------------------Default Task Partition Address
1-------------------------------------------------------I
Flags Word
Default Priority
System Disk Indicator
4 S.TD
6 S.FW
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 Bit 1 Bit 2 Bit 14 Bit 15 Figure 7-3
Set
Set
Set
Set
Set
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
7-6
RSX-20F MONITOR
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.
+-------------------------------------------------------+
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)
(null)
Task's Run Priority
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
+-------------------------------------------------------+
34 A.PF
Status Bits (Byte 14)
TS.LRQ==02
TS.TKN==04
TS.LRF==06
TS.RUN==lO
TS.SUS==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
7-7
/A.RP
RSX-20F MONITOR
When you look at dumps of RSX-20F, you can find the location of
ATL node of the current task by examining the location .CRTSK.
the
Installing a task into the GEN partition consists of reading it into
memory from the gystem 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.
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
•
Control can
directive.
be
returned
to
the
task
that
issued
the
•
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.
•
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 loadE~d 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 is 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-8
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 decides
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 is terminated. If COMTRP concludes that this error
is serious enough to crash the system, the COMTRP routine issues a
This causes control to come right back to
. CRASH macro itself.
COMTRP. COMTRP sees that it was an lOT 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-9
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,
that which 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 Section 7.4.1.
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.
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. Th€ 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. Note, however, that the conventions do
not make it possible to connect every modem to every computer. Each
computer system has its own ml~thod 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-hand~ing techniques
can cause significant problems for the
computer system.
7-10
RSX-20F MONITOR
Data
Lines
Phone
Line
Remote
Terminal
Local
Modem
Remote
Modem
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.
(Figure 7-5 shows 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 describes the sequence
of events 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-11
RSX-·20F MONITOR
$DMINT
RSX·20F
RECEIVES
INTERRUPT
OFF
NO (CARRIER TRANSITION)
SET
CARRIER WAIT
SET RIP
TURN OFF
CARRIER WAIT
DISMISS
INTERRUPT
RAISE DTR
CLEAR RIP
SET
CARRIER
WAIT
RAISE RTS
YES
SET
RIP
DISMISS
INTERRUPT
CLEAR
UNE
YES
DISMISS
INTERRUPT
SEND
CONNECT
MESSAGE
TO KL
SElf"
AUTO·BAUD
WAIT
DISMI~
INTERR:J
DISMISS
INTERRUPT
MR-S-424-79
Figure 7-6
Modem Control Algorithm
7-12
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 ring or a carrier
transition.
If the interrupt is a 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 finally tells the KL to detach any process
currently associated with this line.
This prevents 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 atmospheric or other
environmental conditions have caused a temporary signal loss.
To
determine if the user has hung up, $DMINT sets the Carrier Wait flag,
which indicates that the line is waiting for a clean carrier signal to
be re-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.
(Refer to 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 noisy 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
n6t previously connected to the system, it determines 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 needs to be
auto-bauded, $DMINT sets the Auto-baud Wait flag (which is noticed by
$DHINP,
the character
input routine - refer to 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
carrier 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 modem control routine
therefore dismisses the interrupt.·
7.4.1.3 Modem Timeout Routine - This
timeout routine, which is labeled
flowchart of the algorithm.
7-13
section
.DMTMO.
describes the
modem
See Figure 7-7 for a
RSX-20F MONITOR
CALL FROM
TTYDRR
YES
NO
THIS LINE
ISOK;
PROCEED TO
NEXT LINE
HANG UP
PHONE
NO
CLEAR
RIP
FLAG
PROCEED TO
NEXT LINE
M R-S-425- 79
Figure 7-7
Modern Timeout Algorithm
Every 22 seconds, the terminal task routine calls the OM-IIBB modern
timeout routine,
.OMTMO.
.OMTMO is also called at startup time and
after a power-fail.
At startup time .OMTMO alters the nonexistent-device trap to handle a
missing OM-IIBB.
Since for each OM-IIBB device on the system there
should be a corresponding DH-ll,
.OMTMO first checks the OH-ll
associated with a given OM-IIBB to see if it exists.
If the OH-ll
does not exist .OMTMO marks the OMII-BB as nonexistent and proceeds to
the next OH-ll/ OM-IIBB pair.
If the OH-ll does exist .OMTMO tries to
initialize the associated DM-llBB.
If the DM-IIBB does not exist it
causes a nonexistent-device trap, and
.DMTMO marks the OM-lIB as
nonexistent and then proceeds to the next pair.
If both the DH-il and
the DM-IIBB exist,
.DMTMO initializes the device. This process is
repeated until all 16 possible pairs have
been
checked
and
initialized, or marked as nonexistent.
When .OMTMO is called during normal operation it already knows which
OHll's exist and which DM-IIBB's exist.
It checks the first DH-ll and
if it is nonexistent it checks the next OH-ll. When the routine finds
a DH-ll that exists, it checks the associated DM-IIBB.
If the OH-ll
does not exist the routine proceeds to the next pair.
If both the
OH-ll and the OM-IBB exist, .DMTMO checks to see if any lines are in
Carrier Wait. A line may be in the Carrier wait state as the result
of either a ring or a carrier loss. There are two bits associated
with Carrier Wait, TT.CRW
(Carrier Wait)
and TT.RIP
(Remote in
Progress). Both these bits are set when a line enters Carrier Wait.
7-14
RSX-20F MONITOR
If these bits are set,as the result of a ring, they are both cleared
when a carrier sign~l is asserted by the calling modem.
If they are
the result of a lost ¢arrier signal, then
.DMTMO determines if the
carrier wait is the result of a noisy carrier signal or if the line
has been hung up.
The first time that .DMTMO finds a line in carrier
wait,
that is with both the TT.CRW and TT.RIP bits set, it clears the
TT.RIP bit and continues examining the other lines.
The next time
.DMTMO is called, it looks at the bits.
If the TT.CRW is set and the
TT.RIP bit is cleared, then the line has not reasserted carrier for at
least twenty-two seconds.
The connection is assumed to be lost and
.DMTMO hangs up the line and clears the TT.CRW bit .
. DMTMO then examines Interrupt Enable bit for each DM-IIBB.
If .DMTMO
does not find Interrupt Enable bit set for a given DM-IIBB, it logs
this as an error to SYSERR and sets the Enable Interrupt bit.
Then,
on a line-by-line basis, it looks at the Line Enable Interrupt bit.
If this bit is not set, an error is logged to SYSERR,
the line is
reset,
and the Interrupt Enable bit is set to maintain the existing
connection •
. DMTMO examines the Request To Send bit for each line.
set, .DMTMO sets the Set Data Terminal Ready bit.
If the bit
is
7.4.1.4 The CTY and DL-IIE Timeout Routine - The
CTY
and
DL-IIE
timeout routine,
.DLTMO,
is called every 22 seconds.
It is also
called at startup and after a power-fail.
If .DLTMO is called at startup, it always assumes that the CTY exists.
If the CTY does not exist the system crashes. Also, at startup .DLMTO
alters the nonexistent-device trap to handle missing DL-IIE's.
.DLTMO
checks each possible DL-IIE to see if it exists.
If it encounters a
nonexistent DL-IIE, it marks it as nonexistent and checks the next
DL-IIE.
If the DL-IIE exists, .DMTMO enables the line and initializes
the software state of the line.
This is done for all four possible
DL-IIE interfaces.
When .DLTMO is called during normal operation, it already knows which
lines exist.
It checks existing DL-IIE's to see if the Hardware
Carrier and Data Terminal Ready bits are set,
and if the Interrupt
Enable bits are set.
If anyone of the Interrupt Enable bits is not
set, this fact is logged to SYSERR and the bit is set.
If both the
Hardware Carrier and Data Terminal Ready bits are set, the line is
actively connected.
.DLTMO then asserts Data Terminal Ready and
proceeds to the next DL-IIE interface.
If neither of these bits are
set the line is disconnected .
. DLTMO checks the Carrier Wait bit (TT.CRW) and the Remote In Progress
bit
(TT.RIP).
If the line has lost the carrier signal as a result of
either a noisy line or the line being hung up, then both these bits
are set.
To determine which condition caused the loss of the carrier
signal .DLTMO first clears the TT.RIP bit and then proceeds to the
next line.
The next time
.DLTMO is called, if it still finds the
TT.CRW bit set it hangs up the line.
7-15
R8X-20F MONITOR
794.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 are presented separately, while $DHOUT is described as
a unit.
7.4.2.1 Character Input Routine - Figure 7-8 is a flowchart that
depicts the algorithm used by R8X-20F to determine what to do with
input characters.
7-16
RSX-20F MONITOR
MODULE $DHINP
DH11
SUPPLIES
CHARACTER
NO
NO
DISMISS
CHARACTER
YES
SEND CONNECT
MESSAGE TO KL
TURN OFF
AUTO-BAUD
WAIT FLAG
DISMISS
CHARACTER
NO
INCREMENT
ERROR COUNT
-11
PERFORM
RELEVANT
OPERATION
MR-S-1695-81
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-472-79
Figure 7-8
Character Input Algorithm (Cont.)
7-18
RSX-20F MONITOR
c
CHECK FREE
POOL LIMITS
NO
STOP
THE
LINE
YES
EXIT
MR-S-472A-79
Figure 7-8
Character Input Algorithm (Cont.)
When a DE-II 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
(TT.ABW)
is on, $DHINP attempts to set the line speed.
It does this
by checking the character it has received against bit patterns for
both CTRL/C and carriage return at all applicable baud rates (110,
150, 300, 1200).
If a match is ~ound, $DHINP checks the current speed
set for
that line.
If both speeds are the same then that speed is
assumed to be the line speed.
If the speed
indicated by the bit
pattern is not the same as the speed currently set for that line,
$DHINP set the speed to the speed to that indicated by the bit pattern
and waits for another character.
There must be two consecutive
characters that can be recognized at the same speed before $DHINP sets
the line to that speed.
$DHINP then sends a message to the KL
informing it of the 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 at the
proper speed.
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
7-19
RSX-20F MONITOR
line.
$DHINP also creates a SYSERR entry that notes the
and the problem on that line.
line
number
If $DHINP gets a character cleanly (without a framing error) it first
clears the count of framing errors.
$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 c~ll to the
RSX-20F user interface.
If the character is not meant for the PDP-II,
the KL must be th~
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,
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 discards it. Otherwise, $DHINP
checks for protocol pause, the state between secondary and primary
protocol.
If this is the current state of protocol, $DHINP attempts
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 (BOl).
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 rE~acts.
The XOFF character requests the
front end to stop sending data temporarily because the requesting
device's buffer is full.
ThE~ timing of XOFF processing
is therefore
critical, because any data SE~nt 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
output
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.
Finally $DHINP checks the number of bytes available in the free pool.
If the number of bytes left is less than the INPUT-THRESHOLD-LOW value
stored in .IBFLO and currently set at 1600 bytes, the line is sent an
XOFF.
If the line sends another character or on the next clock tick
$DHINP sets the line speed to zero and echoes a bell to the line.
A
table of lines that have been shut down is stored in STSW2.
If the
line was shut down by RSX-20F bit 11 of this word is set.
Each clock tick RSX-20F checks to see if the number of bytes in the
free pool is greater than or equal to the value of .IBFOK, currently
set at 2000.
If the number of bytes in the free pool is greater than
or equal to this threshold, RSX-20F scans the table to see if there
are any lines that it has shut down.
If it finds any such lines it
resets the line speeds of these lines, one line per ,clock tick.
7.4.2.2 Terminal Timeout Routine - This
section
describes
the
terminal timeout routine, which is labeled .DHTMO.
Figure 7-9 is 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
YES
SET
LINE SPEED
GETDM
ADDRESS
SET
LlNE#
ENABLE
DATA·SET
INTERRUPT
MR-S-428·79
Figure 7-9
Terminal Timeout Algorithm
7-21
RSX-20F MONITOR
YES
NO
ENABLE
LI N E
-------
>----tl....
]
ENABLE
HARDWARE
INTERRUPTS
YES
NO
NEXT
LINE
HARDWARE
ENABLE
DH
NO
NEXT
[
~
--.--DH
MR-S-429-7!1
Figure 7-9
Terminal Timeout Algorithm (Cont.)
Every 22 seconds, the terminal task routine calls the DB-II timeout
routine,
.DHTMO.
.DHTMO is also called at startup,
and on a
power-fail restart. When .DHTMO is called at startup,
it does not
know how many communications interfaces exist on the system, therefore
.DHTMO assumes that all sixteen possible interfaces exist. At startup
it also alters the nonexistent-device trap vector,for initialization
only. When .DHTMO finds an interface that does not exist,
it marks
the device as nonexistent and sets the external page pointer for that
interface to O.
It then proceeds to the next interface.
This is
repeated for all sixteen possible interfaces.
If, on the other hand,
.DHTMO is called at some time other than startup, its internal table
will have recorded the actual interfaces in use by the system.
.DHTMO
therefore does not attempt to do anything with a
nonexistent
interface.
Once .DHTMO knows whether it is startup, and has taken the appropriate
action, the routine clears the reset flag.
This flag allows .DHTMO to
7-22
RSX-20F MONITOR
keep track of the hardware state of the communications interface .
. DHTMO then gets the UNIBUS address of the DH-ll communications
interface and checks all the possible lines from bottom to top (0-17).
At this point in the startup execution of .DHTMO, it may attempt to
reference a nonexistent DH-ll.
If this happens 'it marks all sixteen
lines in that controller as nonexistent and proceeds to the next
Dil-ll.
If it is not startup, the number of DH-lls connected to the
system is already known. When the routine has scanned all possible
Dil-ll's,
it proceeds to the exit code.
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 nonexistent memory locations and
lost interrupt enabled conditions.
If either of these hardware errors
has 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 comes at
startup, .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, or if the DH-ll has been reset, .DHTMO's next action
is to set the line speed for all sixteen lines.
.DHTMO may also find
that it needs to restart a single line.
This occurs when a
line has
had four
consecutive framing errors (Refer to Section 7.4.2.1 for a
dE!scription of framing error processing).
After four consecutive
framing errors occur, 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.
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 steps to the next controller.
In
either case, .DHTMO returns to clear the reset flag, and proceeds to
the next controller until all possible DH--ll's have been checked.
7.4.2.3 Character Output Routine - Figure 7-10
RSX-20F uses to process output to terminals.
7-23
shows
the
algorithm
RSX-20F MONITOR
MODULE $DHOUT
INTERRUPT
IS
GENERATED
SET UP
FOR
THIS DH
CHOOSE
NEW LINE
NO
YES
YES
NO
A
DISMISS
INTERRUPT
CALL-11
1/0
ROUTINES
DO INPUT
CONTROL
CHECKS
NO
B
MR-S-430-ao
Figure 7-10
Character Output Algorithm
7-24
RSX-20F MONITOR
YES
NO
COUNT S/A
DONE FOR
THIS LINE
COMPUTE
BYTES
PENDING
IN PACKET
NO
YES
YES
YES
DEALLOC
PACKET'S
NODE
NO
START
NO
STNXT
YES
S/A
YES
NO
.DHSTO
NO
START
NEXT
PACKET
c
MR-S-1668-81
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 independent 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
which 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 whE~n
the interrupt was generated.
Receiving an interrupt on an inactive
line is not necessarily an error condition,
but $DHOUT does 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 checks 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 ~ntiresystem, 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, STNXT calls the routine .TTACK to determine if an acknowledge
signal
(ACK)
can be sent
(refer to section 7.4.2.4).
$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
relinquishes control to $DHOUT so that $DHOUT can choose another
line
to be checked.
7-27
CHAPTER 8
DTE-20 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:
B.l
•
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 anotner 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-20 OPERATION
Figure 8-1 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
17
TOPID
20
CMPPT
21
STA'l'US
22
CMQCT
23
CMRLF
24
CMKAK
25
Other Sections for "To"
Processors
Other Communications Areas
+------------------------------+
Figure 8-1 KL Communications Region
8-2
DTE-20 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
+-----------------------------------------------------+
\
I \
I I \ _ _ _ __
Must be
zero
I
I
Processor number
blank
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+---------------------------------_._------------------+
---------------------------------------------------------1
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.
PIDENT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
I
I
I
\
CMVER
I \
I \
blank
I \
-----=C=P=V=E=R-----
I \ __
---=C=M=N=P=R----
CMTEN
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------~-----------------+
I \
~C=M=S=I=Z
I
CMNAM
The PIDENT word provides information about the owning processor
its area.
The separate fields in PIDENT 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 yontains the number of processors
this area, including the owning processor.
CMSIZ
This area contains the size of the entire
area in eight-word blocks.
8-3
represented
owning
and
it
in
processor's
DTE-20 OPERATION
CMNAM
This area contains the
that owns this area.
na~e
(serial number) of
the
processor
CMLNK Word:
+---------------------------------------------------_.-+
I 01 11 21 31 41 51 61 71 81 911011111211311411511611.71
+-----------------------------------------------------+
\--------~~~-POlnter to next
+---------------------------------------------------_.-+
11811912012112212312412512612712812913013113213313413:5I
+----------------------------------------------------.-+
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 91101111121131141151161171
+-----------------------------------------------------+
\-------=---r----.
Owning processor's
+---------------------_.-------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
/
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
+---------------------_._------------------------------+
118119120121122123124125126127128129130131132133134135I
+---------------------_.-------------------------------+
CONI PI, Word (Cont.)
8-4
/
DTE-20 OPERATION
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 refer to the DECsystem-10jDECSYSTEM-20 Processor
Reference Manual.)
CMPGWD Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\--------~~~~~~~---------------------------CONI PAG, Word
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+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 refer to 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 refer to the
DECsystem-10jDECSYSTEM-20 Processor Reference Manual.)
CMAPRW Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\------------~~~~~=-~-----------------------CONI APR, Word
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
--------------~~~~-=--~-----------------------j
CONI APR, Word
8-5
DTE-20 OPERATION
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, refer to the DECsystem-l0/DECSYSTEM-20 Processor
Reference Manual.)
CMDAPR Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\
DATAl APH, Word
+---------------------------------------------------_.-+
118119120121122123124125126127128129130131132133134135I
+----------------------_._-----------------------------+
------------~~~~=~~~~~--~~-------------/
DATAl APR, Word (Cont.)
The CMDAPR word is the storage area provided for reading the current
break conditions from the Arithmetic Processor.
The DATAI APR,
instruction puts the information here.
(For more information on break
conditions
and
the
Arithmetic
Processor,
refer
to
the
DECsystem-l0/DECSYSTEM-20 Processor Reference Manual.)
TOPID Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
11\
/\
/\
/\
CMPROI CMDTN
I
CMDTE
blank
CMVRR
+-----------------------------------------------------+
11811912012112212312412!;1261271281291301311321331341351
+------------------------------------------------------+
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.
8-6
in
between
the
use
this
DTE-20
between
DTE-20 OPERATION
CMSZ
This area contains
blocks.
the
size
of
this
block
in
eight-word
CMPNM
This area contains the processor number of the "To" processor.
CMPPT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
'\
----------~P~o~i-n~t-e-r--t-o~"=T~o~'~·-------------------------------
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+-----------------------------------------------------+
------------------~----~-------------------------/
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
+-----------------------------------------------------+
I
I
I
I \
/
I \
/
I
CMPWFICMINII
I
I
CML11 CMTST
blank
I
I
CMQP
blank
I
I
CMFWD
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+--------------------_._-------------------------------+
I I \
/ \
/
CMIP I
CMOIC
CMIIC
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.
CMLll
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 CMLll
(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 CMLll set, and performs a reload operation
for the owning processor.
CMINI
This bit is the initializatiori 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--20 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 initializes 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 receiving processor in the
sending processor's section of the receiving processor's area.
The bit is set when the sending processor sets the CMIP bit or
when the sender increments the queue count.
The receiving
processor clears this bit when it gets a To-receiver Done
interrupt.
The purpose of this procedure is to assure the
sending processor that the receiver has not lost a Done
interrupt.
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-ll 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
CMOIC area performs for the KL.
8-8
the
PDP-II
indicate
that
the
DTE-20 OPERATION
CMQCT Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\----------------------~--~------------------------blank
+-----------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+---------------------------------------------~-------+
_ _ _I \
I
Queue size
'rhis 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 2\ 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\--------------~~~~------~--~-------------------Reload parameter for
+------------------------------------------------------+
118119120121122123124125126127128129130131132133134135I
+------------------------------------------~----------+
------------------~~~--------------------------_I
"To" processor
This word contains a copy of the "To" processor's reload word.
The
copy is saved by the owning processor in case the "To" processor
crashes.
CMKAK Word:
+-----------------------------------------------------+
I 01 11 21 31 41 51 61 71 81 91101111121131141151161171
+-----------------------------------------------------+
\----------------~~~--~--~~--------------------Pointer to "To"
+-----------------------------------------------------+
1181191201211221231241251261271281291301311321331341351
+-----------------------------------------------------+
------------------------~----~~----------------_I
processor's owned area
This word contains the owning processor's co~y of the "To" processor's
Keep-Alive count for purposes of comparlson with the continuously
updated copy kept by the "To" processor.
8-9
DTE-20 OPERATION
8~2
DTE REGISTERS
The DTE-20 has sixteen registers, which are used in various types of
Figure 8-2 shows the registers along with their
transfer operations.
addresses, and offers an explanation of the function of each register.
DTEl, DTE2 and so on, use the
The addresses shown are for DTEO;
The precise location can be figured by adding
succeeding locations.
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*
TOIIBC
1774416
TOIOAD
1774420
TOIIAD
1774422
TOIODT
1774424
TOIIDT
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 rE~gisters 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-20 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.
Figure 8-3 illustrates the form of the Status Word in the read state.
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I Unusedl RAMISOI DXWRDII TOIODBI EBSEL I BPARERI DEXDONI INTSON
I
I
I
I
I
I
I
I
TOlODN TOIOER TOllDB MPEll TOllDN 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
TOlODN
TO-IO 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.
TOlODN is not set
if an error termination occurred.
See TOIOER if you
believe an error has occurred.
14
UNUSED
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 is set.
If this bit
(TOIOER) is set, TOlODN is not 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
TOllDB
KL REQUESTED PDP-II INTERRUPT
When this pit is set, the KL processor has requested
a PDP-II doorbell interrupt by means of a CONO DTEn,
TOllDB 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-20 OPERATION
Bit
Symbol
Function
09
MPEll
PDP-II MEMORY PARITY ERROR
If this bit is set, the PDP-II memory had a parity
error during a data fetch for a TO-IO byte transfer.
Parity errors can be detected only if the PDP-II has
one of the MFIIUP or MFIILP 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
TOIIDN
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 (DONIIS).
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 TOIIBC register).
04
BPARER
EBUS PARITY ERROR
This bit is set if the DTE-20 detects an EBUS parity
error during a TO-II DTE-20 byte transfer or examine
transfer.
03
RM
RESTRICTED MODE
If this bit is set,
the attached PDP-II is in
restricted
mode.
Otherwise,
the PDP-II is in
privileged mode.
The value of
this
bit
is
determined by the setting of the privileged switch
on the DTE-20.
02
DEXDON
DEPOSIT/EXAMINE DONE
This bit is set when the last deposit or examine
operation is finished.
No interrupt occurs when
this operation finishes;
the PDP-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 ERRIIS in the write version of the Status Word.
The TOIIDN bit in the read version is not set if
there is actually an error termination.
8-12
DTE-20 OPERATION
Bit
Symbol
Function
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).
Figure 8-4 illustrates the form of the Status Word in the write state.
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I DONlOCI ERRlOCI INTllCI INTlOSI DONllCI EBUSPCI EBUSPSI ERRllC
I
I
I
I
I
I
I
I
DONlOS ERRlOS 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
DONI OS
SET NORMAL TERMINATION STATUS
This bit on a write is provided for diagnostic
purposes only.
Writing a one to this bit sets the
TOlODN bit in the read version of the Status Word.
Writing a one does not terminate a transfer in
progress.
14
DONlOC
CLEAR NORMAL TERMINATION STATUS
Writing a one to this bit clears the TOlODN
the read version of the Status Word.
bit
in
13
ERRlOS
SET ERROR TERMINATION STATUS
Writing a one to this bit sets the TOlOER bit in the
read version of the Status Word.
12
ERRlOC
CLEAR ERROR TERMINATION STATUS
Writing a one to this bit clears the TOlOER
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 TOllDB 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.
8-13
DTE-20 OPERATION
Bit
Symbol
Function
08
INTIOS
SET KL INTERRUPT STATUS
Writing a one to this bit sets the TOIODB bit and
does a CONI
[TOIODB]. This results in a vectored
interrupt to location 104+B*N in the KL EPT.
07
DONIIS
SET TO-II TERMINATION STATUS
writing a one to this bit sets the TO-II normal
termination flag,
which is the TOIIDN 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
DONIIC
CLEAR TO-II TERMINATION STATUS
Writing a one to this bit clears
termination status flag, TOIIDN.
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
BPARER, which is bit 4 in the read
error flag,
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
ERRIIS
SET TO-II ERROR TERMINATION STATUS
Writing a one to this bit sets the TO-II error
termination flag,
which is bit 1, TOllER, in the
read version of the Status Word.
This bit on a
write is provided for diagnostic purposes only.
Writing a one does not terminate a transfer
in
progress.
00
ERRIIC
CLEAR TO-II ERROR TERMINATION STATUS
Writing a one to this bit clears the
termination flag, TOllER.
8-14
TO-II
error
DTE-20 OPERATION
8.2.2
Diagnostic Words
The three diagnostic words are used to communicate by way of the
diagnostic bus, which is electronically isolated from the other EBUS
communications. This means of communication is not normally used
except for diagnostic checks, or when other means have broken down.
For example, the PARSER can on occasion use the diagnostic bus, and of
course the diagnostic programs use it when necessary.
Diagnostic Word 1 has the following form when being written:
Bit
Symbol
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.
06
Function
This bit must be zero.
05
DIOll
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
DIOll 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-IO). Setting
the bit to a zero causes the data to be received
(TO-II).
01
00
Unused
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.
8-15
DTE-·20 OPERATION
Diagnostic Word 1 has the following form when being read:
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.
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~ll
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
01011
If this bit is a one,
the DTE-20 is in 10/11
diagnostic mode, that is, it diagnoses itself.
04
VEC04
This bit is set to vector interrupt address bit 4.
03-01
00
Function
Unused or
DCOMST
interface
major
state
is
ZE~ro.
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
15
RFMADO
RFMADO
14
RFMADI
EDONES
Function
RAM FILE MIXER (RFM) ADDRESS BIT 0
Read:
This bit is set to the contents
address bit o.
Write:
This bit must be zero.
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.
8-16
DTE-20 OPERATION
Bi.t
Symbol
Function
RFMAD2
RFM ADDRESS BIT 2
Read: This bit is set to the
address bit 2.
write: This bit must be zero.
13
RFMAD2
12
RFMAD3
RFMAD3
11-07
RFM ADDRESS BIT 3
Read: This bit is set to the
address bit 3.
Write: This bit must be zero.
contents
of
RFM
contents
of
RFM
Unused
Read: These bits are always zeros.
Write:
These bits must be zeros.
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.
0.5
04-01
Read: These bits are zero.
write:
Loads 04,
03,
02,
01 into minor state
counter 8, 4, 12, 1 for diagnostic use only. During
normal operation this bit must be zero.
00
Unused
Diagnostic Word 3 has the following form when being read or written:
Bit
Symbol
Function
15
SWSLLT
SWAP SELECT LEFT
Read: 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 only.
Write: This bit must be zero.
13-08
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.
UNIBUS Data Bits
INITIAL
1st Shift
2nd Shift
3rd Shift
4th Shift
Write:
D15
DI0
D05
DOO
D15
D14
D09
D04
A04
D14
D13
D08
D03
A03
D13
D12
D07
D02
A02
D12
D11
D06
DOl
AOI
Dll
This bit must be zero.
8-17
AOO
AOO
AOO
AOO
AOO
DTE-·20 OPERATION
Bit
Symbol
07-06
05
Function
Unused
Read:
This bit is zero.
write:
This bit must be zero.
SCD
04
DUPE
CDD
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.
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
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.
8-18
DTE-20 OPERATION
8.2.3
DTE-20 Data Transfer Registers
The remaining twelve DTE-20 registers are used in data transfer
operations.
This section briefly describes the function of each of
these registers, and illustrates their format.
TOIIDT
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
\
In Byte Mode:
/ \
In Byte Mode:
/
\
\
Data from KL
bits 28-35 or
20-27
/
\
/
\
In Word Mode:
Data from KL
bits 20-27
TOllDT
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 TOllDT 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.
TOIODT
+--------------------------------------------------------------+
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
TOIODT
This register contains the remainder of the data sent to the
KL during a TOKLIO byte transfer.
Its use is similar to
that of TOllDT.
8-19
DTE-·20 OPERATION
']~OllAD
+----------------------------_._--------------------------------+
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.
,]1010AD
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
Byte address in PDP-II memory
from which next byte t6 be
transferred is to be taken
TOIOAD
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.
'I'OllBC
+--------------------------------------------------------------+
11 5 11 4 11 3 11 2 III 11 0 I 0 9 I 08 I 07 I 06 I 0 5 I 0 4 I 0 3 I 02 I 01 I 00 I
+- ------------------------------------------------------------+
\
bits 11-00
Negative Byte Count
/
I
I I
I
I
I
I
I
1_ _ __
I
I
I
0
\
/
1
Set byte mode in DTE-20
Set word mode in DTE-20
1
Stop transfer on null character from
EBOX after storing in PDP-II memory;
do not increment T011AD
1
Interrupt both processors on normal
termination {ignored on error
termination)
Interrupt PDP-II only on normal
termination (ignored on error
termination)
o
o
TOI1BC
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.
8-20
DTE-20 OPERATION
TOIOBC
+--------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+_._------------------------------------------------------------+
I
I
I
I
\
bits 11-00
Negative Byte Count
/
lOp
I
I
0
1 _ _ _-
1
\
o
TOIOBC
/
Interrupt both processors at completion
of current TO-IO transfer
Interrupt KL only at completion of current
TO-IO transfer
When the KL loads this register
the DTE-20 initiates the
TO-IO 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 "$catter write").
DLYCNT
+-._------------------------------------------------------------+
115 114 113 112 III 110 109 108 107 106 105 104 103 102 101 1001
+--------------------------------------------------------------+
Negative Delay Count - number of 500 nanosecond /
\
/ \
\
/
\
\ /
T
1 _ _ _ _-
DLYCNT
units of delay between each byte transferred
in either direction
/
/
High order UNIBUS address bits (TO-II and
TO-IO transfers must be in same 32K memory
bank)
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 corne
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
/
\
DEXWDl-3
/
\
bits 0-3 /
\
/
During a deposit or examine operation,
the data being
deposited or examined appear 1n these three registers.
However, DEXWDI must always contain zeros in the high-order
bits.
8-21
DTE·-20 OPERATION
'rENADl-2
o
Address space
I
I
I
I
I
I
I
I
1
4
1
o
Deposit
Examine
/
/--\
/
\
/
EPT
Executive virtual
Physical
\
/
I
1 = Protection and relocation off
a = Protection and relocation on
/
/
All
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
8.3
The PDP-ll uses these two registers in examine and deposit
operations to specify the KL address.
When the PDP-II
wr i tes TENAD2 the deposi t/examine operation I is ini tiated;
thus,
all necessary data must be written to DEXWDl-3 before
TENAD2 is written.
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.
Sections 8.3.1 through 8.3.4 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 procE~ssor:
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 TENAD1 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
8-22
DTE-20 OPERATION
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 stringo The KL controls the address either to
or from the KL by byte pointers in the Executive Process Table (EPT).
The PDP-II controls the address to or from the PDP-II by 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
(with the delay count) and the type of
transfer. Bit 13 in the TO-ll 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 16-bit bytes.
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
TOIIBC
TOIIAD
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 gather reads. 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.
(See Figure 8-5.) The KL can be interrupted also if this
is desired.
The TO-IO transfer process is very similar to the TO-II process.
PDP-II loads the following registers:
Register
Data loaded
TOIOAD
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 TOIIDT;
that is, TOIIDT is a
temporary buffer used in conjunction with the delay count. The KL is
interrupted when the transfer is finished~
(See Figure 8-5.)
8-23
DTE-20 OPERATION
.DTINT
SAVE
REGISTERS
-I. .__
IN_T_L_P_S,
~-.....
SET UP OFFSET
POINTERS
YES
.CRASH
(TET)
.TEND~
TO-lO DONE
INTERRUPT
YES
.CRASH
(ETE)
YES
.ELEDN
TO-11 DONE
INTERRUPT
.DRBE~-L
DOORBELL
INTERRUPT
NO
DTEXIT
RESTORE
REGISTERS
JUMP TO
COMMON EXIT
••• INTX
MR-·S-1670-B1
Figure 8-5
DTE Interrupt Handler
8-24
(part I of 5)
DTE-20 OPERATION
.TENDN
CLEAR FLAG
NO
.CRASH
(DTF)
INDIRECT
COMPLETE
INDIRECT
PART 2
SET EVENT
FLAGS DECLARE
EVENT CLEAR
INDIRECT-INPROGRESS FLAG
DIRECT
COMPLETE
RESET INDIRECTPENDING FLAG
SET TRANSFER
SIZE IN
COMM. REGION
REMOVE AND
DEALLOCATE
NODE FROM
T010Q
SEND STATUS
T010
SET EVENT
FLAGS
.STTNQ
RING
DOORBELL
NO
START NEXT
NODE
YES
INTLPS
RETURN TO
MAIN LOOP
MR-S-1669-81
Figure 8-5
DTE Interrupt Handler (part 2 of 5)
8-25
D,]~E-:lO
OPERATION
.ELEDN
CLEAR TOLL
FLAG COMPUTE
BYTE COUNT
~N_O
___________________
~·I~
_
_
·C_R_A_S_H__
(DTB)
~
NO
NO
.CRASH
(PT1)
NO
.CRASH
(PT2)
YES
ENTELQ
POINT TO NEW
NODE LINK NEW
NODE SET
EF.TED DECLARE
SIG. EVENT
RETURN
~--------4 Pf~E-ALLOCATED
YES
BUFFER
TOITDN
NO
SET AND
SEND STATUS
TOlO
ENTELQ
YES
INTLPS
ADJUST BYTE
COUNT SET
FLAGS START
TRANSFER
•
MR-S-1674-81
Figure 8-5
DTE Interrupt Handler
8-26
(part 3 of 5)
DTE-20 OPERATION
.DRBEL
CLEAR
DOORBELL BIT
DBLEPX
READ STATUS IN
COMM REGION
TO FIND REASON
FOR DOORBELL
ERROR
EXIT
DBLEPP
NO
START
PROTOCOL
PAUSE
YES
DBLRLD
YES
YES
CLEAR
PROTOCOLS
SET FLAGS
SET EVENT
FLAG
.CRASH
(UIE)
B
C
MR-S-1671-81
Figure 8-5
DTE Interrupt Handler
8-27
(part 4 of 5)
DTE-20 OPERATION
B
.CRASH
(PT3)
START
SECOND PART
OF INDIRECT
TRANSFER
I.JPDATE
LUECOUNT
.CRASH
(ILO)
EADCOMM
~
REGION GET
NODE SIZE
.CRASH
(PT4)
~
START
TRANSFER OF
DIRECT PACKET
t
L-_ _ _ _ _ _ _ _ _ _ .
DBLDON
aOUEUE
STATUS SEND
IT T010
INTLPS
MR-S-1672-81
Figure 8-5
DTE Interrupt Handler (part 5 of 5)
8-28
DTE-20 OPERATION
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 this bit is set,
the DTE-20
generates an interrupt in the KL with a status bit set in the CONI
word (bit 26 in TOIODB) to indicate that the PDP-II CPU has requested
an interrupt of the KL.
(See Figure 8-5.)
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.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 isolated portion of the EBUS known as
the diagnostic bus.
This bus contains Diagnostic Select lines to tell
the KL which 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
(DIKLlO) 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 levels are included in this protocol:
Secondary
Protocol and Primary Protocol.
8.4.1
Secondary Protocol
Secondary Protocol uses the Doorbell and Deposit/Examine features of
the DTE-20.
This protocol is only used in special situations such as
booting the KL, or in emergencies where normal communications with the
KL are not available.
The code to support Secondary Protocol is in
module BOOT of RSX-20F.
Only the privileged PDP-II can run Secondary
requires privileged Deposits and Examines.
8-29
Protocol
because
it
DTE-20 OPERATION
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 the data in a queue and wait
their turn.
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 bet~een 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 devi~e 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
I
Request for Initial Status
2
Here is CTY Alias
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
8-30
DTE-20 OPERATION
Code
Function
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.
15
Unused
16
Device Hang-up
This function causes the PDP-II to hang
dataset line.
up
the
all
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.
8-31
and
disable
input
DTE-20 OPERATION
Code
Function
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.
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
35
36
37
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
Break Through Write
This function sends the associated packet to the
the output queue.
front
of
Set Host Debug
This function set the KL to debug mode.
No message
printed during a KL halt and no reloads are performed.
is
Clear Host Debug
This function causes the KL to exit debug mode.
If the KL
halts the system message is sent and the KL is reloaded.
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 through 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 to
which it is connected.
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.
8-32
DTE-20 OPERATION
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
DTE-20 DRIVER LOGIC
The DTE-20 driver is responsible for the exchange of data between the
front end and the KL.
It can transfer data in both directions
simultaneously. There are three types of data packets transfered
across the DTE-20:
8.6.1
•
direct packets
•
extended direct packets
•
indirect packets.
TO-IO Direct Packets
A TO-IO direct packet always contains at least 12
(octal)
contiguous
bytes and consists of a Header and one or more words of data. A
Header is always sent across the DTE-20 as a single transfer.
+================================+
Forward Pointer
Backward Pointer
Over
Head
Node Size
1
1
Current Queue Size
v
Packet Size
01
Function
Device
Spare
Data
Unused
+================================+
The first four words of the packet are not transfered to the KL. They
contain information necessary to manage the queue in PDP-II memory.
The packet that is actually transfered across the DTE-20 during a
direct transfer is always 12
(octal)
bytes and consists of words
beginning with Packet Size and ending with the Data word.
8-33
DT'E-20 OPERATION
8.6.2
TO-II Direct Packets
TO-II direct packets are essentially the same as TO-IO direct packets.
However, during a TO-II direct transfer the spare word is discarded by
the DTE-20 device driver when a packet is received by the front end,
also the byte size and function code are compressed into one word.
Direct transfers are used to transfer a single data word. The sender
always considers the direct transfer to be a single transfer. The
receiver may fragment the transfer and hide the TO-II Done interrupt
from the sender until the entire transfer has been completed.
+===================~============+
E.FN+l
1
Forward Pointer
1
1--------------------------------1
1
Node Size
1
1--------------------------------1
1
Bytes in Entry 1 Function
1
1--------------------------------1
Device
1--------------------------------1
First Function Word
1--------------------------------1
Data
1
1
Overhead
v
E.FN+O
1
1
E.DV
1
1
E.FW
1
1
+================================+
8.6.3
TO-IO Extended Direct Packets
A TO-IO extended direct packet consists of a Header and more than one
data word. The Header portion contains a count of the number of bytes
in the extended portion of the packet. Direct packets can only be
sent from a contiguous buffer. The extended ~irect data packet has
the following format.
+================================+
Forward Pointer
1
1
Backward Pointer
Over
Head
Node Size
1
1
Current Queue Size
v
Packet Size
01
1
Function
Device
1-------------------------------Spare
1
1-------------------------------Data
/
/
/
/
1--------------------------------1
1
Data
1
+================================+
8-34
DTE-20 OPERATION
8.6.4
TO-IO Indirect Packets
A TO-IO indirect packet consists
of a Header portion and a data
portion.
The header and data portions do not necessarily occupy
contiguous locations in PDP-II memory. The header portion contains
the total size of the entire transfer and a pointer to the indirect or
data portion of the packet. The Header is always 12 octal bytes long.
TO-IO Indirect packets have the following format:
+================================+
1
Forward Pointer
1
1--------------------------------1
1
1
Backward Pointer
Over
Head
1--------------------------------1
1
Node Size
1
1-------------------------------Current Queue Size (12)
v
1-------------------------------Current Entry Size (12)
1-------------------------------1
Function
1-------------------------------Device
,1-------------------------------Spare Word
1-------------------------------Byte Count
Line Number
1-------------------------------Data Address
(ADDR:)
-----------+
1-------------------------------Spare
1-------------------------------Spare
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
+================================+
1
1
+--------------------------------------------+
1
1
1
1
+--) ADDR:
+================================+
1 Byte Count 1 Line Number 1
1--------------------------------1
Data
1
1
1--------------------------------1/
/
1--------------------------------1
1
Data
1
1================================1
An indirect transfer takes place in two parts;
first the header
portion and then the data.
Not all of the header shown above is
transfered across the DTE-20. The Header transfer always consists of
12
(octal)
byte starting with the function word and ending with the
data address word.
The Indirect Flag set in the function word indicates that the transfer
is an indirect transfer.
8-35
DTE'-20 OPERATION
8.6.5
TO-II Indirect Packets
The To-eleven Indirect packet is essentially the same as the TO-IO
indirect
packet.
However
the TO-II indirect packet occupies
contiguous memory locations in PDP-II memory.
+================================+
Forward Pointer
1
1-------------------------------Node Size
1-------------------------------Bytes in Entry
Function
1-------------------------------Device
1-------------------------------First Function Word
1-------------------------------Data
1-------------------------------/
...
/
1
Overhead
1
E.FN+I
1
1
1
v
E.FN+O
1
E.DV
1
E.FW
1
1--------------------------------1
Data
1
1
+================================+
8.6.6
Register Conventions
The DTE-20 driver uses the following register conventions:
RO
Points to the base address of the DTE-20 in the I/O page.
RI
Points to the DTE-20 Status Register in the I/O page.
R3
Points to the
8.6.7
Process~r
Table in the data base.
DTE-20 Device Driver Functions
The DTE-20 Device driver performs the following
f~nctions:
•
.DTINT - Interrupt Head and service dispatch
•
.TENDN - Services the IO-Done interrupt
•
.ELEDN - Services the II-Done interrupt
•
.DRBEL - Services the Doorbell interrupt
•
.STELD - Starts a TO-II Direct Transfer
•
.STELI - Starts a TO-II Indirect Transfer
•
.KPALV - Does Keep-Alive processing
•
.STTNQ - Starts a TO-IO Transfer
8-36
DTE-20 OPERATION
Whenever a request for a transfer of data between the KL and the front
end
processor is made .DTINT handles the request.
.DTINT is
responsible for the following:
•
Saving all registers on the stack.
•
Restoring all registers from the stack.
•
Setting up register RO with a pointer
DTE-20.
•
Setting up register Rl with a pointer to
Register.
•
•
•
Setting up register R3 with a pointer to the Processor Table.
to
the
the
base
DTE-20
of
the
Status
Checking for TO-IO or TO-II termination errors (TET) .
Checking for TO-II Memory Parity errors (ETE) •
A TO-II transfer ytarts when the KL rings the doorbell indicating that
a transfer is reaQy. The KL has already set up pointers to the packet
to be transferred in the TO-II Communications Region.
It has also set
up its pointer in the DTE-20 hardware. RSX-20F reads the size of the
transfer in .QSIZ~ word in the Communications Region.
A .QSIZE word containing a count greater than 12 octal indicates that
the transfer is an extended direct. The RSX-20F DTE-20 Driver then
attempts to allocate a buffer from the Free Pool to accept the
transfer.
If the allocation fails RSX-20F blocks the DTE-20,
inhibiting any further transfers until the buffer can be allocated.
Each time a buffer is returned to the Free Pool an attempt is made to
unblock the DTE-20.
Once the buffer has been allocated. RSX-20F
conditions the DTE-20 not to show the next TO-II Done interrupt to the
sending processor (the KL). RSX-20F then reads the Header portion
into its fixed bUffer in low core. A TO-II Done interrupt signals
that the Header transfer is complete. This interrupt is not seen by
the KL, but indicates that the DTE-20 has completed its transfer of
the Header portion. The Header portion is then copied from the fixed
buffer to the allocated buffer and the DTE-20 is set to point to the
allocated buffer. The DTE-20 is then conditioned to show the next
TO-II done interrupt to both processors. This decision is based on
the the transfer size in the .QSIZE word.
If the size of the transfer
is exactly 12 octal bytes both processors are interrupted at the
completion of the transfer.
Otherwise, only the the PDP-II is
interrupted.
The Function Word in the fixed buffer is cleared to
indicate that the packet may be entered into the TO-II Queue on the
next
TO-II
done interrupt.
The remainder of the message is
transferred across the DTE-20 to the allocated buffer.
When the
extended portion has been transferred to the allocated buffer, a TO-II
Done interrupt seen by both processors.
In other words, the KL does not see a TO-II Done interrupt until the
entire transfer is complete.
RSX-20F, on tbe other hand, sees two
TO-II Done interrupts. The first indicates that the Header portion of
the transfer has been completed;
the second inoicates that the entire
transfer has be~n completed. At this point, t~e packet is entered
into the TO-II Queue.
If RSX-20F receives a Doorbell interrupt and the .QSIZE word indicates
a transfer of exactly 12 octal bytes,
it sets up for a direct
transfer.
First it attempts to allocate a buffer from the Free Pool
to accept the transfer.
If the allocation fails RSX-20F blocks the
DTE-20 until a buffer is available. Once a buffer becomes available,
RSX-20F transfers the Header into its fixed buffer in low core. Note
8-37
DTE-·20 OPERATION
that since the transfer is exactly 12 octal bytes both processors are
interrupted.
The DTE-20 driver then examines the Indirect semaphore
in the Function Word.
If this semaphore is not set the transfer is a
simple direct transfer and RSX-20F copies the Header into the
allocated buffer and immediately enters that buffer into the TO-II
Queue.
If the Indirect semaphore is set in the Function Word the transfer is
an indirect transfer and only the Header has been read.
The size of
the entire transfer is contained in this Header. Since the allocated
buffer contains only enough space for the header portion, RSX-20F
returns it to the Free Pool. The Header portion remains in the fixed
buffer in low core in anticipation of the second part of the indirect
transfer. The KL has seen the TO-II done interrupt indicating that
the Header has been successfully transfered.
The KL will later set the Indirect-in-Progress semaphore and ring the
Doorbell to indicate that the indirect portion of the transfer is
ready.
RSX-20F
answers
the
Doorbell
and
sees
that
the
Indirect-in-Progress semaphore is set.
It then checks to see if the
Header in the fixed buffer contains an indirect Header
(the Indirect
semaphore in the function word is set).
RSX-20F now attempts to
allocate a buffer to accept the entire transfer.
That is both the
Header and the data portion of the transfer will be stored in
contiguous locations in the PDP-II's memory.
If the allocation fails,
R8X-20F blocks the DTE-20 until the buffer becomes available. Once
the buffer is allocated, RSX-20F copies the Header from the fixed
buffer into the allocated buffer then starts the transfer of the
indirect portion across the DTE-20 into the allocated buffer.
When
the transfer is complete, both processors see a TO-II Done interrupt
signaling the completion of the transfer.
An indirect transfer is essentially two separate transfers.
First the
Header portion (12 octal bytes) is transferred.
This is treated like
a direct transfer until R8X-20F reads the Indirect Flag in the
Function word.
It then expects that the next transfer will be the
indirect portion of the message.
The Header contains the byte count
of the entire transfer. When the KL signals that the indirect portion
is ready by ringing the Doorbell R8X-20F reads the indirect portion
and stores the entire message in the contiguous buffer that has been
allocated.
8-38
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.
RSX-20F also transmits its
Keep-Alive count once every 256 DTE-20 transfers.
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 schedules the TKTN task to run.
TKTN shuts down the
protocol, prints a message, and schedules the KLERR.
Refer to Section
9.3.3 for TKTN messages.
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
When the front end notices that the KL has not responded by the
Keep-Alive Count mechanism, KLERR checks the status of the Retry flag
(refer to 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 oth~r hand, the Retry flag is set, the front end gives 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 determines 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.)
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 ~he KL by performing function reads over the
diagnostic portion of the EBUS.
KLERR stores the information it
retrieves in the PARSER. LOG file in the front-end file system.
When
KLERR has completed its function, TKTN schedules the KLINIT task to
restart the KL.
9-1
ERROR DETECTION AND LOGGING
9~3
ERROR LOGGING
There are two types of errors for which some information is logged on
the CTY. KLERR logs information for KL errors and describes the state
of the KL, as well as it could be determined by the front end.
The
EXECUTIVE logs information about PDP-II errors. These error types are
described in Sections 9.3.1 through 9.3.5
9.3.1
KL Error Logging
KLERR provides the operator with useful information about the state of
the KL upon execution.
Included in the KLERR printout are:
•
Contents of the DTE-20 registers
•
EBUS parity information
•
Fast memory parity information
•
Some textual information on the
DTE-20
state
of
the
KL
and
the
The information is ,logged to the file PARSER. LOG and when the KL
returns to a rurtning state,
is transfered to SYS.ERR by the task
LOGXER. The following examples show the compact format of the KLERR
output.
The first example shows the KLERR output from a CRAM error.
The second example shows the output from a KL BUGHALT.
Refer to
Section S.2 for descriptions of the functions of the various DTE-20
registers.
Example
*******
LOGGING STARTED
OUTPUT DEVICES:
KLE>EXAMINE KL
lS-FEBRUARY-Sl 15:27 ,RSX-20F YB14-44
T~Y,LOG
PAR -- [EXAMINE] CFH - CAN'T FIND KL HALT LOOP
KLE>CLEAR OUTPUT TTY
OUTPUT DEVICES: LOG
KLE>SET CONSOLE MAINTENANCE
CONSOLE MODE: MAINTENANCE
KLE>SHOW HARDWARE
KLIO SIN: 2102., MODEL B, 60. HERTZ
MOS ~ASTER OSCILLATOR
EXTENDED ADDRESSING
INTERNAL CHANNELS
CACHE
KLE>EXAMINE DTE
DLYCNT: 000000
DEXWD3: 000000
DEXWD2: 000000
DEXWDl: 000000
KLIO DATA=OOOOOO 000000
TENADl: 010000 TENAD2: 000022
ADDRESS SPACE=EPT
OPERATION=DEPOSIT
PROTECTION-RELOCATION IS ON
9-2
ERROR DETECTION AND LOGGING
KL10 ADDRESS=22
T010BC: 010000 T011BC: 130000
T010AD: 070514 T011AD: 067663
T010DT: 000000 T011DT: 000000
DIAG1 : 006200
KL CLOCK ERROR STOP
KL IN RUN MODE
MAJOR STATE IS TO-10 TRANSFER
DIAG2 : 000000
STATUS: 012504
RAM IS ZEROS
DEX WORD 1
11 REQUESTED 10 INTERRUPT
E BUFFER SELECT
DEPOSIT-EXAMINE DONE
DIAG3 : 002000
KLE)FREAD 100:177
FR 100/ 000377 612604
FR 101/ 000000 002600
FR 102/ 000042 410242
FR 103/ 000024 212420
FR 104/ 000000 023074
FR 105/ 000000 000021
FR 106/ 000000 601400
FR 107/ 000000 654602
FR 110/ 000003 055164
FR 111/ 000112 000000
FR 112/ 007740 025337
FR 113/ 000000 014626
FR 114/ 000121 000012
FR 115/ 001107 040144
FR 116/ 001400 012003
FR 117/ 001100 002000
FR 120/ 570651 767636
FR 121/ 000761 737216
FR 122/ 672274 324773
FR 123/ 000000 203044
FR 124/ 314631 463146
FR 125/ 000000 000000
FR 126/ 000000 000000
FR 127/ 000000 203044
FR 130/ 003271 000000
FR 131/ 060010 660000
FR 132/ 010072 360000
FR 133/ 020440 454000
FR 134/ 131274 444003
FR 135/ 120034 244003
FR 136/ 110051 604003
FR 137/ 002470 244003
FR 140/ 730405 130006
FR 141/ 100000 000000
FR 142/ 141210 000000
FR 143/ 640003 131510
FR 144/ 750405 130006
FR 145/ 560000 000000
FR 146/ 721210 000000
FR 147/ 160003 131510
FR 150/ 000101 002100
FR 151/ 000101 040004
FR 152/ 000001 002100
FR 153/ 000024 000100
FR 154/ 000001 202400
FR 155/ 000001 250125
FR 156/ 000001 202520
9-3
ERROR DETECTION AND LOGGING
FR 157/ 000024 000120
FR 160/ 211003 017027
FR 161/ 211006 276703
FR 162/ 211004 204017
FR 163/ 211000 000523
FR 164/ 211003 017163
FR 165/ 211006 276763
FR 166/ 211004 204017
FR 167/ 211000 000237
FR 170/ 360000 026762
FR 171/ 000040 635722
FR 172/ 111600 037220
FR 173/ 200102 277322
FR 174/ 164000 177664
FR 175/ 237400 127345
FR 176/ 001200 335365
FR 177/ 760000 533305
KLE>WHAT AC
AC-BLOCK: 0
KLE>SWEEP
KLE>XCT CONI 0,15!
CONI
~",PR,15
PAR -- [XCT] CES - CLOCK ERROR STOP - ERROR STOP, CRAM,
KLE>EXAMINE TEN 15
PAR -- [EXAMINE] KCN - KL CLOCK IS OFF
KLE>XCT BLKI 4,15!
RDERA
PAR -- [XCT] CES - CLOCK ERROR STOP - ERROR STOP, CRAM,
KLE>EXAMINE TEN 15
PAR -- [EXAMINE] KCN - KL CLOCK IS OFF
KLE>XCT CONI 4,151
CONI PI,15
PAR -- [XCT] CES - CLOCK ERROR STOP - ERROR STOP, CRAM,
KLE>EXAMINE TEN 15
PAR -- [EXAMINE] KCN - KL CLOCK IS OFF
KLE>XCT DATAl 10,15!
DATAl PAG,15
PAR -- [XCT] CES - CLOCK ERROR STOP - ERROR STOP, CRAM,
KLE>EXAMINE TEN 15
PAR -- [EXAMINE] KCN - KL CLOCK IS OFF
KLE>XCT CONI 10,15!
CONI PAG,15
PAR -- [XCT] CES - CLOCK ERROR STOP - ERROR STOP, CRAM,
KLE>EXAMINE TEN 15
PAR -- [EXAMINE] KCN - KL CLOCK IS OFF
KLE>SET OUTPUT TTY
OUTPUT DEVICES: TTY,LOG
KLE>CLEAR OUTPUT LOG
******* LOGGING FINISHED
18-FEBRUARY-81 15:27
KLI
KLI
KLI
KLI
1672
000000 000000 005002 10
000000 000000 105002 10
000000 000000 100000 00
? C-RAM DIFFERS AT
BAD 001675 105200
GOOD 001675 105200
XOR 000000 000000
****** END OF KLERR ENTRY ***.***
--------
9-4
ERROR DETECTION AND LOGGING
Example
*******
LOGGING STARTED
23-FEBRUARY-81 15:11 ,RSX-20F YB14-44
OUTPUT DEVICES: TTY,LOG
KLE>EXAMINE KL
PC/ 5302
VMA/ 5302
PI ACTIVE: OFF, PION: 177, PI HOLD: 000, PI GEN: 000
OVF CYO CY1 FOV BIS USR UIO LIP AFI AT1 ATO
X
X
KLE>CLEAR OUTPUT TTY
OUTPUT DEVICES: LOG
KLE>SET CONSOLE MAINTENANCE
CONSOLE MODE: MAINTENANCE
KLE>SHOW HARDWARE
PAR -- [SHOW] MRH - HARDWARE OPTIONS MUST BE READ
KLE>EXAMINE DTE
DLYCNT: 000000
DEXWD3: 160000
DEXWD2: 060323
DEXWD1: 000000
KL10 DATA=014064 760000
TENAD1: 000000 TENAD2: 000024
ADDRESS SPACE=EPT
OPERATION=EXAMINE
PROTECTION-RELOCATION IS ON
KL10 ADDRESS=24
T010BC: 010000 T011BC: 130000
T010AD: 067540 T011AD: 070012
T010DT: 000152 T011DT: 103400
DIAG1 : 001100
KL IN HALT LOOP
MAJOR STATE IS TO-II TRANSFER
DIAG2 : 040000
STATUS: 012504
RAM IS ZEROS
DEX WORD 1
11 REQUESTED 10 INTERRUPT
E BUFFER SELECT
DEPOSIT-EXAMINE DONE
DIAG3 : 026000
KLE>FREAD 100:177
FR 100/ 000177 602664
FR 101/ 000000 002600
FR 102/ 000013 410202
FR 103/ 000020 212024
FR 104/ 000000 032434
FR 105/ 000000 003421
FR 106/ 000000 642000
FR 107/ 000000 715642
FR 110/ 000003 043142
FR 111/ 000104 000000
FR 112/ 007740 002610
FR 113/ 000000 000514
FRl14/ 000043 000126
FR 115/ 001107 060144
FR 116/ 001400 012003
FR 117/ 001100 002000
FR 120/ 000000 000000
FR 121/ 000000 000000
FR 122/ 001100 002000
9-5
FUF
NDV
ERROR DETECTION AND LOGGING
FR 123/ 000000 270164
FR 124/ 002000 020000
FR 125/ 000000 000000
FR 126/ 000000 000001
FR 127/ 000000 000001
FR 130/ 000072 000000
FR 131/ 070054 060000
FR 132/ 014064 760000
FR 133/ 000020 414000
FR 134/ 130066 404003
FR 135/ 120024 224003
FR 136/ 104052 604003
FR 137/ 002004 264003
FR 140/ 750505 050203
FR 141/ 100200 000000
FR 142/ 110000 001010
FR 143/ 600202 061407
FR 144/ 540001 050705
FR 145/ 510000 000000
FR 146/ 540000 001010
FR 147/ 111212 070407
FR 150/ 000000 000000
FR 151/ 000000 002004
FR 152/ 000000 000100
FR 153/ 000024 002100
FR 154/ 000000 000000
FR 155/ 000000 002405
FR 156/ 000000 000120
FR 157/ 000024 002520
FR 160/ 001003 017024
FR 161/ 001006 276700
FR 162/ 001006 206014
FR 163/ 001000 000520
FR 164/ 001003 017320
FR 165/ 001006 276764
FR 166/ 001006 206014
FR 167/ 001000 000670
FR 170/ 360000 126722
FR 171/ 000000 735722
FR 172/ 011600 137230
FR 173/ 200102 377322
FR 174/ 164010 177664
FR 175/ 265240 127375
FR 176/ 000200 337375
FR 177/ 760200 533305
KLE>WHAT AC
AC-BLOCK: 0
KLE>SWEEP
KLE>XCT CONI 0,151
KLE>EXAMINE TEN 15
15/ 007740 000003
KLE>XCT BLKI 4,151
KLE>EXAMINE TEN 15
15/ 402000 005302
KLE>XCT CONI 4,151
KLE>EXAMINE TEN 15
15/ 000000 000177
KLE>XC'I' DATAl 10,151
KLE>EXAMINE TEN 15
15/ 700100 003535
KLE>XCT CONI 10,15!
KLE>EXAMINE TEN 15
15/ 000000 060137
CONI APR,15
RDERA
CONI PI,15
DATAl PAG,15
CONI PAG,15
9-6
ERROR DETECTION AND LOGGING
KLE>SET OUTPUT TTY
OUTPUT·DEVICES: TTY,LOG
KLE>CLEAR OUTPUT LOG
******* LOGGING FINISHED
23-FEBRUARY-81 15:12
****** END OF KLERR ENTRY ******
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 i~ picked up by the crash
routine.
For a disk-based PDP-II operating system, the lOT instruction is used
for error reporting.
The irystruction 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 information 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 IDTBI would result in the following:
+---------------------+
TOO
11---------------------1
Par.Errorl
B
+---------------------+
2
When looking at the source listings of RSX-20F, notice that a macro is
used
instead of the lOT instruction.
The macro is .CRASH and expands
to the lOT plus ASCIZ crash code as stated above.
9.3.3
TKTN MESSAGES
TKTN prints a message before scheduling the KLERR task.
possible messages and their causes follows.
A list of the
CLOCK ERROR STOP
This is a hardware error.
It could be caused by
error.
If
the
error persists,
call your
Representative.
9-7
an FM parity
Field Service
ERROR DETECTION AND LOGGING
E-BUS PARITY ERROR
If
This is a hardware error.
Service Representative.
it
persists,
call
your
Field
KEEP ALIVE CEASED
This can be either a hardware or software problem.
Reload the
system.
If the problem persists, call your Software Support
Specialist.
KL HALTED
The KL is in a halt loop.
end reloads the KL.
If the reload flag is set,
the
front
your
Field
PI LEVEL 0 INTERRUPT FAILURE (DEX)
This is a hardware problem.
Service Representative.
If
it
persists,
call
POWER-FAlL-RESTART
TKTN prints this message on a reload following a power fail.
PROTOCOL TIME OUT
TKTN prints this message when the protocol being used switches
from primary protocol to protocol pause.
If primary protocol
does not return within 30 seconds,
the system crashes and is
reloaded.
RE-BOOT REQUESTED
The TOPS-IO or TOPS-20 monitor has requested a reload.
end reloads the system.
9.3.4
The front
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.
9-8
ERROR DETECTION AND LOGGING
KL Clock Error Stop
A check of diagnostic register I 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 ~hould 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.
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.
9-9
ERROR DETECTION AND LOGGING
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.
PARSER. LOG File Creation Failed
Creation of the error file failed.
Unable to Enter PARSER. LOG into Directory
An error occurred when
directory file.
the
file
name
was
inserted
into
the
Unable to Extend PARSER. LOG file.
KLERR was denied access when it tried to append to PARSER. LOG.
UNABLE TO WRITE PARSER. LOG file
An error occurred when KLERR was writing the PARSER. LOG file.
9.4
LOGXFR
LOGXFR 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 PARSER. LOG file.
LOGXFR 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
9-10
ERROR DETECTION AND LOGGING
TOPS-10/TOPS-20. The last thing that SETSPD does is to make a request
for LOGXFR to run.
LOGXFR transfers the log file, if it exists, to
TOPS-10/TOPS-20 through the DTE-20. TOPS-10 or TOPS-20 then appends
the information to ERROR.SYS,
the master error file.
Finally.
PARSER. LOG is deleted from the front-end file area.
Any errors
detected by LOGXFR will be preceded by
XFR -and a one-line explanation of the error.
9-11
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).
Much 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.)
Section 10.1 describes FEDDT. Once you are familiar with FEDDT, you
can proceed to examine locations in the dump file and attempt to
determine the cause of the crash. Although much of the data in a dump
file is rather obscure, several locations contain data that is almost
always useful in this attempt. These locations are identified, and
the meaning of the data they contain is related.
Finally, a complete
list of all the information in the Front End Status Block is
presented.
10.1
USING FEDDT
FEDDT is a tool for symbolic debugging of dumps taken of front end
crashes.
FEDDT runs only on TOPS-20.
(Unfortunately, no TOPS-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
E~xplicit 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.
Lowercase
letters denote information typed by the user.
Example:
@feddt
[FEDDT]
$$y
SYMBOL FILE: exec.map
READ 291 SYMBOLS
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
"'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 adds
value.
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 adds
value.
10-2
and
multiplies
it
to
it
the
by
the
current
ERROR DEBUGGING
Effect
Command
Ends the current expression,
current value.
and
subtracts
it
from
the
Contains the value of the current location.
/
Makes the current location the current value, opens it, and
prints the contents.
Following an ASCII string of six or fewer characters,
defines the ASCII string as a symbol whose value is to be
made the current value.
Ends the current expression,
number in the current radix.
and
types
its
value
as
a
\
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
Effect
Command
$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 user
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.
$F
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
or
by
ERROR DEBUGGING
Command
Effect
$X
Compares selected portions of memory with the file already
selected with the $$X command
(see below for the $$X
command).
The command requests an output filename.
$Y
Reads in a binary dump file.
Requests the input file
description.
This command resets the job starting address~
so that FEDDT can be saved with a dump read in and then
restarted.
$$A
Sets address mode permanently.
$$B
Sets byte mode permanently.
$$C
Sets constant mode permanently.
$$K
Complements the Suppress All Symbols switch.
$$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
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
ERRO~
The following points should be
dumps from RSX-20F.
DEBUGGING
~ept
in mind while
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 each crash is different from another, 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/1090's, E for
1091's, or B for .TOPS-20, and yy and zz are the version and edit
numbers, respectively.
You can find out which 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 to which instruction the PC pointed.
(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 DTO, 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.
This 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 appear 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 to the top of the stack at all times. Note that R7 almost
always contains 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 causes crashes of the B02/B03/BFl tYPE~.
RSX-20F uses three areas for stoiage:
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 TPY 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
(TOIOQ)
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 TOIOQ and use the <TAB> command until the contents of the
location you open is TOIOQ. To examine the entire TO-II queue, you
open the location TOIIQ 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>ODUMPII.BIN
CORE SIZE IS 28K
$T
2/
0/
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-II 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
7i236/ 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 remaining bytes in six
sections, each section being forty bytes long (or 20 word~).
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
EHROR DEBUGGING
All the terminals and line printers have empty thread lists.
Thus,
the Send-all service alone must be the cause of the crash. The final
step is to read the actual Send-all messages .
. SNDBF/
66574/
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
FE STATUS BLOCK
RSX-20F VERSION 14-44
COMMON GLOBAL DATA
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 9- (EF.FCP)fault continuation in progress
bit 10- (EF.CRI)comm region is invalid
bit 11- (EF.PFR)powerfai1 restart in progress
bit 12- (EF.RKP)KLINIK parameters received
bit 13- (EF.PR2)secondary protocol running
bit 14- (EF.CTC)control C bit
bit 15- (EF.PRl)primary protocol running
001014
2
.SERFG
Significant event flag
bit 0- (EV.SE)sig event to be recognized
bit 1- (EV.AS)power fail is required
bit 7- (EV.PF)power down has occured
001016
2
.SEWFL
Significant event wait flag
bit 0- (EV.SE)sig event to be recognized
bit 1- (EV.AS)power fail is required
bit 7- (EV.PF)power down has occured
001020
2
SPSAV
Save area for stack pointer during crash
001022
4
PARSAV
Save area for parity registers when parity error
001026
2
.PFAIL
Indicates power fail in progress if non-zero
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)
10-11
FE status block
COMMON GLOBAL DATA
ADDRESS SIZE
NAME
USE
001116
2
EMTSTK
SP saved during EMT execution
001120
2
TRPASV
Saved PS during EMT/trap execution
001122
1
.NOERR
Don't recognize KL errors if non-zero
001123
1
.NOHLT
Don't recognize KL halts if non-zero
001124
2
.TKTN
TKTN required if non-zero, checked by null task
001126
2
.KLITK
KLI requested, read by TKTN
bit 0- (KS.TSP)ten halted
bit 1- (KS.CES)c10ck error stop
bit 2- (KS.EPE)E box parity error
bit 3- (KS.DEX)deposit/examine error
bit 4- (KS.CST)keep alive stopped
bit 5- (KS.~RR)ten request's re-boot
bit 6- (KS.PFT)power fail restart
bit 7- (KS.PTO)protoco1 timeout
001130
2
.KLERQ
KL crash snapshot flag for PARSER
l=take snapshot
O=no snapshot
001132
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.SPF)start at 10c 70 (power fail)
bit 6- (KL.LCA)load cache
bit 7- (KL.SSC)start at loc 407 (system crash)
bit 8- (KL.CFL)if 0, configure from file
bit 9- (KL.KAC)keep alive ceased error
bit 10- (KL.DEF)operator reboot from switches
bit 11- (KL.REQ)KLINIT requested
bit 12- (KL.ABO)KLINIT canceled
001134
2
.TICKS
Unrecognized clock tick counter
001136
2
.CLKSW
Clock overflow switch
001140
2
.DATE
Front-End date valid flag
001142
2
.YEAR
Decimal year (1979)
001144
1
.DAY
Day of month
001145
1
• MaN
Month of year
001146
1
.DST
Daylight savings time flag
001147
1
.DOW
Day of week index
10-12
FE status block
COMMON GLOBAL DATA
ADDRESS SIZE
NAME
USE
001150
4
.SSM
Elapsed time in seconds since midnight
001154
2
.TKPS
Clock rate in jiffies
001156
2
.SYUIC
System UIC ([5,5])
001160
2
.BTPRM
Boot parameter from switch register
bit 0- (BP.SWR)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,l=DL,O=default
bit 7- (BP.RP4)load from RP04/rp06
bit 8-10- (BP.UNT)boot unit or DH unit
bit 11-14- (BP.CLN)CTY line no. (within DH/DL)
bit 15- (BP.ERR) indefinite error load retry
001162
2
.BTSCH
Character saved for secondary protocol
001164
2
.ACKAL
Send acknowledge-all protocol message
001166
2
.KLERW
KLI word for error reporting by SETSPD
001170
2
.FEMOD
Front-End console mode flag for PARSER
1= (LG.OPR)operator
3= (LG.PRM)programmer
7= (LG.ALL)maintenance
001172
1
.KLRLD
KL automatic reload flag
001173
1
.KLFCF
KL Fault Continuation Flag
001174
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.SPM)single pulse EBOX mode
bit 11- (KF.SMC)single pulse MBOX mode
bit 12- (KF.SIM)single instruction mode
bit 13- (KF.MRS)master reset flop set
bit 14- (KF.RUN)run flop nn
bit 15- (KF.CLK)clock running
10-13
FE status block
KLI~IK
ADDRESS SIZE
DATA BASE
USE
NAME
0.0.1176
2
.KLNPB
KLINIK parameter block length (26)
0.0.120.0.
2
.KLNBC
Byte count for transfer (24)
0.0.120.2
2
.KLNFT
KLINIK enable start time
0.0.120.4
4
.KL~FD
KLINIK enable start date
0.0.1210.
2
.KLNTT
KLINIK enable end time
0.0.1212
4
.KLNTD
KLINIK enable end date
0.0.1216
2
.KLNMD
KLINIK console mode
byte 0.- console mode
1= (LG.OPR)operator
3= (LG.PRM)programmer
7= (LG.ALL)maintenance
byte 1- status
D=disabled
l=remote
-l=user
0.0.1220.
6
.KLNPW
ASCII password for KLINIK
0.0.1226
2
.KLNSW
KLINIK line status
byte 0.- line use
D=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
FE status block
QUEUED PROTOCOL DATA BASE
ADDRESS SIZE
USE
NAME
001230
2
COMBSE
Base of communication area
001232
2
PRMEMN
My processor number
001234
2
DEPOF
Deposit offset from examine
001236
12
PROTBL
Processor
word 1word 2word 3word 4word 5-
001250
2
.CRQZ
Size of current TO-10 buffer
001252
2
.CPFN
Function in current TO-10 buffer
001254
2
.CPDV
Device in current TO-10
001256
2
.CRSZ
Size left in current TO-10 buffer
001260
2
.CRPB
Pointer to open word in current TO-10 buffer
001262
2
.CRHD
Head of current TO-10 queue
001264
2
.CRSB
Pointer to current function/size in TO-10 buffer
001266
2
DTEMSK
DTE device event flag mask
001270
2
DTEADR
DTE device indirect flag address
001272
2
T011NP
Pointer to current received node
001274
2
T011HD
Count of bytes in this queue
001276
2
T011FN
Current received TO-II function code
001300
2
T011DV
Current received
001302
2
TOl1SP
Space
001304
2
T011FW
First word of function
001306
2
T011GW
Guard word for DTE20 (-1)
001310
2
T011AS
Address save
001312
2
TOI1BS
Byte count of TO-II transfer saved
001314
2
T010SZ
Byte count of transfer
001316
2
T010AS
TO-IO transfer address saved
001320
6
STSTT
TO-10 status
001326
4
T010Q
Listhead for TO-10 queue
identification table
(DTENM)DTE addr to access this proc
(EMYN)addr to read from proc 0
(DMYN)addr to write to proc 0
(EHSG)addr from general
(EHSM)addr from specific
10-15
TO~ll
buffer
device number
FE status block
Queued Protocol Data Base
ADDRESS SIZE
USE
NAME
001332
2
EQSZ
TO-II queue size
001334
2
TOIIQ
Head of TO-II queue
001336
6
STATI
Status/scratch word for examine/deposit
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
DEXTMI
Deposit/examine word 1 for retry
001354
2
.PRADR
Address of priviledged offset table entry
001356
2
.PRSTA
Address of priviledged DTE20 status (174434)
001360
2
.PRDTE
Address of priviledged DTE20 (174400)
001362
2
.PRDCT
Doorbell counter for KLINIT
001364
1
.DXRTY
DEX error processing flag
l=no error
O=retry succeeded
-l=retry failed
001365
1
.EBRTY
EBUS parity error processing flag
l=no error
O=retry succeeded
-l=retry failed
001366
2
.EBPEQ
Pointer to EBUS/DEX error snapshot queue
001370
2
.EBPEC
Count of nodes in EBUS/DEX error queue
001372
1
.PRPSE
Protocol pause flag
-l=pause state
O=no pause
001373
1
TOXQIP
TO-IO queue in progress
001374
2
.DTBLK
Holds re-entry point to start blocked DTE
transfer
10-16
F'E suatus block
KEEP
ADDRESS SIZE
NAME
A~IVE
DATA BASE
USE
001376
6
KPALO
Current KL10 keep alive value
001404
2
OKPALO
KL10 saved keep alive value
001406
2
KPALl
Current RSX-20F 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
FE status block
CORE MANAGER DATA BASE
ADDRESS SIZE
NAME
U~
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
FE status block
CLOCK REQUEST LIST
ADDRESS SIZE
USE
NAME
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.SD)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
FE status block
TERMINAL SERVICE DATA BASE
ADDRESS SIZE
USE
NAME
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
.BRKeH
Break character
002632
2
.TTPII
TTY PDPII input in progress flag
002634
2
.CTYPT
CTY line pointer
002636
2
.KLNPT
KLINIK line pointer
002640
2
$UNIT
DH unit number if CTY
002642
2
$BTMSK
Mask to start CTY if DH
002644
2
DMTMP
Saved DMII/BB controller number
002646
2
DHTMP
Saved DBII controller number
002650
2
DLTMP
Saved DLII controller number
002652
2
DHSTSV
Saved DHII table pointer from PS
002654
2
.TTELQ
Terminal error logging queue ptr
002656
2
.TTELC
Count of nodes in error logging queue
002660
2
.TTELB
Temp buffer ptr for error logging
002662
2
TMOCNT
Timeout counter
byte 0- terminal(lO)
byte 1- modem(22)
002664
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 typed 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)
10-20
(control \)
FE status block
Terminal Service Data Base
ADDRESS SIZE
NAME
USE
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)multi-echo byte count
byte 1- {FLBYT)fill byte
word 6- {MEBUF)multi-echo buffer address
word 7- {MBUFR)dynamic multi-echo buffer
word 8- {HORPS)horizontal position of carriage
word 9- {DHBUF)DH character buffer if CTY a DH
002724
2
CNT
I/O packet size
002726
2
BYCNT
I/O packet size
002730
2
CRADR
Current I/O address
002732
2
TTPKT
I/O packet address
10-21
FE status block
TERMINAL DRIVER DATA BASE
ADDRESS SIZE
NAME
USE
002734
40
DMTBL
DMll/BB table
2 word entries (8 entries)
word 1- DMll/BB base address
word 2- pointer to DHll table entry
002774
2
DMTBE
End of table marker(O)
002776
10
DLTBL
DLll/C table
4 word entry for each DLll/C line (1 entry)
word 1- (THRED)out~ut thread word pointer
word 2- (TTYEXP)device base address
word 3- (STSWO)status word 0
DLll- input flag
DHll- 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.SIP)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.SNI) increment send-all index
bit 14-15- (TT.SND) index of next send-all
003006
40
DLETBL
DLll/E table
4 word entry for each DLll/E line (4 entries)
see above
003046
2000 DHTBL
DHll table
4 word entry for each DHll line (128 entries)
see above
005046
2
.TTS2F
Flag for clock service
005050
2
.S2IDC
Current count of locally disabled lines
005052
2
.S2ITP
Table position of last locally enabled line
005054
2
.IBFLO
Input buffer low threshold
005056
2
.IBFOR
Input buffer ok threshold
10-22
FE status block
Terminal Driver Data Base
ADDRESS SIZE
005060
412
NAME
STSW2
USE
Terminal input control table(133 entries)
bit 0-7- (S2.CHR)deferred write char
bit 8-9- (S2.CNT)wait count field
bit 9- (S2.SSZ)set input speed to zero
bit 10- (S2.ACK)owe this line an ack
bit 11- (S2.LCL)input XOFF'd,local request
bit 12- (S2.ENB)deferred input XON request
bit 13- (S2.DIS)deferred input XOFF request
bit 14- {S2.DIP)input XOFF in progress
bit 15- (S2.DDN)input is XOFF'd
10-23
FE status block
FLOPPY DRIVER DATA BASE
(TOPS- 2 0 ONLY)
ADDRESS SIZE
NAME
*
USE
005472
2
DXRTC
Error retry count (8)
005474
2
DXCNT
Byte count of transfer
005476
2
DXBUF
Address of buffer
005500
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(O-77.)
status register after interrupt
005514
2
DXUNIT
Current unit number
005516
2
DXPKT
I/O packet address
*
note: TOPS-20=2040,2050,2060,1091
10-24
FE status block
DECTAPE DRIVER DATA BASE
(TOPS-10 ONLY)
ADDRESS SIZE
NAME
*
USE
005472
2
DTRTC
Error retry count and reset flag
005474
2
DTRNA
Request node address
005476
4
DTBUF
DECtape buffer
005502
2
DTCNT
Buffer size
005504
2
DTCW2
005506
2
DTCW3
005510
10
*
Pad to floppy driver size
note: TOPS-10=1090
10-25
Fg status block
DISC DRIVER DATA BASE
ADDRESS SIZE
USE
NAME
005520
2
RPRTC
Error retry count (8)
005522
2
RPRNA
Address of request node
005524
4
RPBUF
Address of buffer
word 1- high order of address
word 2- low order of address
005530
2
RPCNT
Transfer size
005532
2
RPUNIT
Current unit number
005534
2
RPCW2
005536
2
.RPELQ
RH-ll error logging queue
005540
2
. RPELC
Count of nodes in RH-ll error queue
10-26
FE status block
FE DRIVER DATA BASE
ADDRESS SIZE
005542
10
USE
NAME
FETBL
Table of FE device states
1 word per FE device ( 4 )
bit 10- {FE.DET)more data
bit 11- {FE.DTE)more data
bit 13- {FE.SER)servicing
bit 14- {FE.STR)servicing
11
10
11
10
005552
2
NODADR
Current request node address
005554
2
ADRSAV
Address saved
005556
2
BYTESA
Byte count of transfer
005560
4
STSWD
I/O status words
005564
22
T010PK
11 request to 10 packet address
005606
2
DNBLK
Response to 10 request
005610
6
DNFCN
Function
005616
6
DNSTS
Status
005620
40
BLKTT
Data buffer
005664
2
. RPUNT
RP unit number
005666
2
.FEACT
FE device available for DB access
005670
4
. RPADR
005674
4
.RPSIZ
10-27
to 10 to be sent
to 11 expected
transfer request
transfer request
FE status block
CD-II DRIVER DATA BASE
ADDRESS SIZE
NAME
USE
005700
2
CREVFG
Address of CR task's event flags
005702
2
CRCEVF
Current event flags
005704
2
CRHUNG
Count of times CR found hung
005706
2
.CRPFL
Power fail flag for card reader
005710
2
CRSTBH
Header word of status block
005712
16
CRSTBK
Status return block to 10
word 1- 1st status word
bit 0- (DV.NXD)non-existent device
bit 1- (DV.OFL)dovice off-line
bit 2- (DV.OIR)hardware error, apr required
bit 3- (DV.SCN)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)un-recoverable error
bit 8- (DV.Fll)error on from 11 request
bit 9- (DV.HNG)device hung
word 2- 2nd status word, device dependent
bit 0- (DD.RCK)read check
bit 1- (DD.PCK)pick check
bit 2- (DD.SCK)stack check
bit 3- (DD.HEM)hopper empty
bit 4- (DD.SFL)stacker full
word 3- control and status register
word 4- column count register
word 5- bus address register
word 6- data buffer register
005730
2
CRBUFH
Header word of data buffer
005732
240
CRBUFF
Data buffer from CDll
006172
2
006174
2
CRTHD
Threaded list pointer
006176
2
CREXP
Device external page address
006200
2
CRSTS
Status bits
bit 8- (CR.NSF)not stacker full
bit 9- (CR.NXD)non-existent 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.SST)device status changed
bit 15- (CR.HNG)CR hung
006202
2
Data buffer overrun area
Unused
10-28
FE status block
LP-20 DRIVER DATA BASE
ADDRESS SIZE
NAME
USE
006204
2
LPUNIT
LP unit number from PS on interrupt
006206
2
LPEVFG
Address of where to set event flags for LP task
006210
2
LPCEVF
Current event flags
006212
2
LPHUNG
Count of times LP was hung
006214
2
.LPPFL
Power fail flag
006216
2
LPSTBH
Header word of status block
006220
30
LPSTBK
Status return block to 10
word 1- 1st status word
bit 0- (DV.NXD)non-existent device
bit 1- (DV.OFL)device off-line
bit 2- (DV.OIR)hardware error, opr required
bit 3- (DV.SCN)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)un-recoverable error
bit 8- (DV.Fll)error on from 11 request
bit 9- (DV.HNG)device hung
word 2- 2nd status word, device dependent
bit 0- (DD.PGZ)page counter passed zero
bit 1- (DD.CHI)character interrupt from RAM
bit 2- (DD.VFE)VFU error
bit 3- (DD.LER)error with VF/RAM file
bit 4- (DD.OVF)printer has optical VFU
bit 5- (DD.RME)RAM parity error
word 3byte 0- no. bytes device dependent info (2.)
byte 1- no. bytes 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-29
FE status block
LP-20 Driver Data Base
ADDRESS SIZE
USE
NAME
006250
20
LPTBL
LP first device table
4 word entry for unit 0
word 1- (LPSTS)status bits
bit 0-1- (LP.UNT)unit number
bit 7- (LP.EOF)end of file encountered
bit 8- (LP.F10)from 10 request queued
bit 9- (LP.LIP)load VFU in progress
bit 10- (LP.CLR) clear RAM required
bit 11- (LP.WAT)LP waiting for response
bit 12- (LP.MCH)mu1ti-char printing
bit 13- (LP.PZI)page zero interrupt enabled
bit 14- (LP.SST)send status to 10
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
006270
20
LPTBL2
LP second. device table
4 word entry for unit 0
word 1- (LPMCB)mu1ti-character buffer
word 2- (LPCSM)accumu1ated checksum
word 3- (LPRTY) retry counter
word 44 word entry for unit 1
006310
20
LPTBL3
LP third
4 word
word
word
word
word
4 word
006330
4
LPUTBL
Unit table pointer
word 1- unit 0 pointer in LPTBL
word 2- unit 1 pointer in LPTBL
device table
entry for unit 0
1- (LPRMA)VFU data address
2- (LPRMZ)VFU data buffer size
3- (LPRMC)current ptr into VFU data
4entry for unit 1
10-30
FE status block
SYSTEM TASK DIRECTORY
ADDRESS SIZE
NAME
USE
006334
2
.STDTA
Pointer to STD list
006336
2
.STDTC
Maximum STD list size (18 entries)
006340
2
.STDTZ
Current size of STD list
006342
44
.STDTB
STD table
18 pointers to task's STD entries
word 1- card reader driver
word 2- DTE driver
word 3- FE driver
word 4- floppy(TOPS-20) *,DECtape(TOPS-lO) *
word 5- FllACP task
word 6- line printer driver
word 7- queued protocol task
word 8- disk driver
word 9- terminal driver
word 10- install task
006406
40
STDDTE
DTE driver STD entry
16 word task STD entry
word 1- (S.TN)task name .(lst 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.ST)system task
word 5byte 0- (S.DP)default prior~ty
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.SP)initial SP
word 11- (S.RF)send/req queue forward ptr
word 12- (S.RB)send/req queue backward ptr
word 13- (S.SS)SST vector table address'
word 14- (S.DL)load image low disk address
word 15- load image high disk address
word 16- zero
see above
* note: TOPS-20=2040,2050,2060,109l
TOPS-lO=1090
10-31
FE status block
System Task Directory
ADDRESS SIZE
NAME
USE
006446
40
STDFED
FE driver STD entry
see above
006506
006504
40
40
STDDX
STDDTP
Floppy driver STD entry (TOPS-20)
DECtape driver STD entry (TOPS-IO)
see above
006546
40
STDFII
FIIACP STD entry
see above
006606
40
STDRPT
RP device STD entry
see above
006646
40
STDINS
Install STD entry
see above
006706
40
STDLPT
LP driver STD entry
see above
006746
40
STDCDR
CR driver STD entry
see above
007006
40
STDTTY
TTY driver STD entry
see above
007046
40
STDQPR
Queued protocol STD entry
*
note:
TOPS-20=2040,2050,2060,1091
TOPS-IO=1090
10-32
*
*
FE status block
ACTIVE TASK LIST
ADDRESS SIZE
NAME
USE
007106
4
.ATLLH
ATL header
word 1- forward pointer (DTE)
word 2- backward pointer (null task)
007112
40
DTETSK
DTE task ATL entry
16 word ATL entry
word 1- forward linkage
word 2- backward linkage
word 3- (A.SP)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.SUS)task suspended
14= (TS.WFO)waiting for flag 1-16
16= (TS.WFl)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-33
FE status block
Active Task List
ADDRESS SIZE
NAME
USE
007152
40
TTYTSK
TTY task ATL entry
see above
007212
40
RPTSK
RP task ATL entry
see above
007252
40
LPTSK
LP task ATL entry
see above
007312
40
CDTSK
CD task ATL entry
see above
007352
007352
40
40
FETSK
DTTSK
FE task ATL entry (TOPS-20) *
DECtape task ATL entry (TOPS-IO)
see above
007412
40
DXTSK
Floppy task ATL entry (TOPS-20)
007410
40
FETSK
FE task ATL entry (TOPS-IO)
see above
007452
40
QPRTSK
Queued protocol task ATL entry
see above
007512
40
NULTSK
Null task ATL entry
see above
*
note: TOPS-20=2040,2050,2060,1091
TOPS-IO=1090
10-34
*
*
*
FE status block
TASK PARTITION DIRECTORY
ADDRESS SIZE
NAME
USE
007552
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
007572
20
DTETPD
DTE TPD entry
see above
007612
20
FETPD
FE TPD entry
see above
007632
20
TTYTPD
TTY TPD entry
see above
007652
20
LPTPD
LP TPD entry
see above
007672
20
CDRTPD
CR TPD entry
see above
007712
20
QPRTPD
Queued protocol TPD entry
see above
007732
007732
20
20
DXTPD
DTTPD
Floppy TPD entry (TOPS-20)
DECtape TPD entry (TOPS-IO)
see above
007752
20
RPDTE
RP TPD entry
see above
007772
20
F11TPD
FI1ACP TPD entry
see above
010012
20
GENTPD
GEN partition TPD entry
see above
*
note: TOPS-20=2040,2050,2060,1091
TOPS-IO=1090
10-35
*
*
FE status block
DEVICE QUEUE POINTERS
ADDRESS SIZE
NAME
USE
010032
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
010072
20
.DQDHO
DHll queue
Entry for DHll lines
010112
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-36
FE status block
LOGICAL UNIT TABLES
ADDRESS SIZE
010232
50
USE
NAME
TTPEN
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 offline
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.SDI)single directory device
bit 5- (UC.SQD)sequential device
bit 6- (UC.ETB)18 bit mode
bit 8- (UC.NB) intermediate buffered
bit 9- (UC.SWL)software write locked
bit 10- (UC.ISP)input spooled
bit 11- (UC.OSP)output spooled
bit 12- (UC.PSE)pseudo device
bit 13- (UC.COM)communications channel
bit 14- (UC.Fll)files 11 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 offline
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)vo1ume 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.SL)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-37
F'E status block
Logical Unit Tables
ADDRESS SIZE
NAME
USE
010302
50
RPPEN
1st disk PUD entry
see above
010352
50
.RPIPE
2nd disk PUD entry
see above
010422
50
.RP2PE
3rd disk PUD entry
see above
010472
50
.RP3PE
4th disk PUD entry
see above
010542
50
.RP4PE
5th disk PUD entry
see above
010612
50
.RP5PE
6th disk PUD entry
see above
010662
50
.RP6PE
7th disk PUD entry
see above
010732
50
.RP7PE
8th disk PUD entry
see above
011002
011000
50
50
DXOPEN
DTOPEN
1st floppy PUD entry (TOPS-20)
1st DECtape PUD entry (TOPS-I0)
see above
*
011052
011052
50
50
DXIPEN
DTIPEN
2nd floppy PUD entry (TOPS-20)
2nd DECtape PUD entry (TOPS-I0)
see above
*
011122
50
LPOPUD
Line printer PUD entry
see above
011172
50
FEOPUD
FE PUD entry
see above
011242
50
SYOPUD
System PUD entry
see above
*
note: TOPS-20=2040,2050,2060,1091
TOPS-I0=1090
10-38
*
*
FE status block
HARDWARE OPTIONS
ADDRESS SIZE
USE
NAME
011312
2
.CPUSN
KLIO CPU serial number
O=not read
<l=can't be read
>l=valid serial number
011314
2
.HRDWR
Hardware
bit 0bit 1bit 2bit 3bit 4bit 50=60
1=50
0011316 1
.MISC
Miscellaneous bit
bit 0- used by PARSER to see if
it is time to do the TAKE
command
bit 1- PARSER has been requested
0011317 1
.ATOTA
AUTO-take flag
options
undefined
MOS master oscillator
extended addressing
internal channels
cache
line frequency
hertz
hertz
10-39
FE status block
EMERGENCY STACK
ADDRESS SIZE
NAME
USE
011316
106
INITLM
Once only initialization code
011424
o
EMGSTK
Emergency stack base address
10-40
FE status block
I/O PAGE DUMP
BLOCK
ADDRESS
UNIBUS
ADDRESS
SIZE
100020
760020
20
DHll
DH terminal controller #1
100040
760040
20
DHll
DH terminal controller #2
100060
760060
20
DHll
DH terminal controller #3
100100
760100
20
DHll
DH terminal controller #4
100120
760120
20
DHll
DH terminal controller #5
100140
760140
20
DHll
DH terminal controller #6
100160
760160
20
DHll
. DH terminal controller #7
100200
760200
20
DHll
DH 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
110540
770540
10
DM.ll-BB
Modem controller #5
110550
770550
10
DMll-BB
Modem controller #6
110560
770560
10
DMll-BB
Modem controller #7
110570
770570
10
DMll-BB
Modem controller #8
113000
773000
1000
BM873-YH
Bootstrap ROM
114400
774400
40
DTE-20
KLIO interface device
115400
775400
20
LP20
Line printer #1 interface
115420
775420
20
LP20
Line printer #2 interface
115610
775610
10
DLll-E
DL terminal interface #1
115630
775630
10
DLll-C
DL terminal interface #2
115640
775640
10
DLll-C
DL terminal interface #3
115650
775650
10
DLll-C
DL terminal interface #4
116700
776700
50
RHll
RP04/06 disk interface
117160
777160
10
CDll
Card reader interface
DEVICE
NAME
USE
10-41
PE status block
I/O Page Dump
BLOCK
ADDRESS
UNIBUS
ADDRESS
SIZE
NJ~ME
117170
777170
10
RXll
Floppy disk interface (TOPS-20)
117340
777340
20
Tell
DECtape 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
*
TOPS-20=2040,2050,2060,1091
TOPS-I0=1090
note:
DEVICE
USE
10-42
*
*
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
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.
B05
TTYDRR
BUFFER OVERFLOW 5
The Front-End does not have the buffer space to to
send an XON or an XOFF to a line.
.
CBR
PF
CROBAR ERROR
DTE-20 power did;not
restart.
RSX-20F
reappear.
return
allows
after a power-fail
it 30 seconds to
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.
A-I
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Module
Meaning
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 trans~erred.
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.
ETE
QPRDTE
TO-II TRANSFER ERROR
A DTE interrupt occurred with the TOllER
in the DTE status register
bit
set
(register 34).
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.
A-2
R5 and
.CRTSK point to
(ATL) node of the aborted
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Module
Meaning
lAS
SCH
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.
lLF
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
Rl
along
data path between KL and PDP-II.
R4 contains
contains the function code times two.
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
TOlOQC is the count the PDP-II expects.
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 l14).
The memory status
registers are stored starting at location PARSAVE.
(Refer
to the PDP-II Processor Handbook for
details.)
A-3
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Module
Meaning
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-lIn
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.
PT4
QPRDTE
PROTOCOL ERROR 4
The KL \",ants to send a packet to the
the packet size is greater than
allowed size of 1 00.
PDP-II, but
the maximum
possible Cause:
Same as PTI above.
RED
RED
The size is in EQSZ.
REDIRECr ERROR
A fatal error has occurred during an MCR REDIRECT
command.
The file control service is corrupted.
Call your Software Support Specialist.
A-4
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Module
Meaning
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.
Refer
to the
PDP-II
Processor
Handbook for further details.
possible Cause:
PDP-II software is corrupted or a PDP-II
malfunction occurred*
TBT
LC
hardware
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-bit
is set.
(See the PDP-ll
Processor Handbook for further details.)
possible Cause:
Corrupted PDP-ll
malfunction.
TET
QPRDTE
software
or
PDP-II
hardware
TO-IO-TRANSFER ERROR
A DTE-20 interrupt has occurred with either TOIOER
(TO-lO 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-ll 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-ll 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-ll
doorbell.
The currently implemented functions are
KL-RELOAD REQUEST and KL POWER FAIL.
Any other
bits that are set cause this halt.
A-5
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Module
Meaning
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.
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-ZOF, 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 overrun
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 1D, file number check
-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
A-6
RSX-20F STOP CODES AND I/O ERROR CODES
Code
Message
-36
-37
-38
-39
-40
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
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
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
A-7
APPENDIX B
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
Normally the KL and the PDP-II transfer any data that needs to be
passed
between
them without any human intervention.
However,
occasionally, 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
lexample, you could not find a KL-readable copy of the front-end map
Eile,
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-lO 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 RSXTlO<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 exawple, temporary files are not supported by
Nor can RSXTIO write to a loq file when takinq 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 dialog with RSXTIO~
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 RSXTIO, 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.
control
B-2
to
the
TOPS-IO
Monitor
or
the
FILE TRANSFERS BETWEEN TOPS-lO/TOPS-20 AND RSX-20F
[NO] IGNORE (FILE FORMAT ERRORS)
File format errors produce warning messages only if this
has previously been issued.
command
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~lO 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:
•
7-BIT-ASCII
•
DOS-BINARY
•
DEFAULT
•
IMAGE-BINARY
•
MICRO-CODE
•
RSX-ASCII
•
RSX-BINARY
•
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 BETWgEN TOPS-IO/TOPS-20 AND RSX-20F
B.2
TRANSFERRING FILES
The act of transferring files
is logically separate from
the
reformatting process,
since the reformatting can occur at different
points depending on the direction of the transfer.
To accomplish the
actual transfer, the FE program must be running, the FE: device must
be assigned, and the user must invoke several tasks with the PARSER.
These actions are discussed more fully in the following sections.
B.2.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-IO, 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 (CAPABILITIES)
$FE<CR>
"c
@DETACH (AND) CONTINUE
When running under TOPS-lO,
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.
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
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)]
B-4
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
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.
The quantity
164mod400 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 n~tify 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 arid 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
the~selves
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.2.4
File Tr.ansfer Dialog
The following sequence of steps is used to transfer files both to
from the front-end file system:
1.
Assign the FE:
device to your job at monitor level.
2.
Run (and detach) FE.
3.
Use the MOUNT task to mount the RSX-20F FE:
4.
Use PIP to transfer the file{s).
B-5
device.
and
FILE TRANSFERS BETWEEN TOPS-IO/TOPS-20 AND RSX-20F
5.
Dismount the RSX-20F FE:
device using DMOUNT.
6.
Go back to monitor level and stop FE.
7.
Deassign the FE:
device from your job.
However,
This basic sequence is used for all file transfers.
reformatting always takes place on the KL,
regardless of which
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 opposi.te sides of
the equal sign.
@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,5]TEST.TXT
PIP>TEST.TXT/LI
DIRECTORY DBO: [5,5]
2S-JUN-79 12:50
TEST.TXT;l 1.
TOTAL OF 1.
2S-JUN-79 12:49
BLOCKS IN 1.
B-6
FILE
FILE TRANSFERS BETWEEN TOPS-10/TOPS-20 AND RSX-20F
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
FED:
Read, Append, D. (16)
2
<SUBSYS>FE.EXE.2
Read, Execute
1
<SYSTEM>EXEC.EXE.51
Read, Execute
Devices assigned to/Opened by this job: FED, TTY2D5
$CLOSE (JFN) 3,4
4
TEST.TXT.2
3
FED:
[OK]
$DEASSIGN FED:
$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.
FIlACP.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.
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.
LOGXFR.TSK
LOGXFR
LOGXFR transfers PARSER. LOG (the snapshot taken by
KLERR) across the DTE to the KL, where it is placed In
the ERROR.SYS file. LOGXFR 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 perfcirms
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
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.
Termination Program
outputs task termination notification and provides
the orderly termination of front-end tasks. It
acts as an interface between ~LINIT and KLERR.
runs in the GEN partition.
C-l
FRONT-END TASKS
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 pa~tition.
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 TOP~-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.
KLINIK
security checks are vorified,
KLRING runs in the FIITPD partition.
and
the
i c·
.~
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-li by the KLINIT task and deposited
over
the DTE into KL memory where
they perform their specific
functions.
BOOT.EXB
BOOT.EXB
TOPS-IO Bootstrap Program
TOPS-20 Bootstrap Program
BOOT loads the KL monitor system image file into memory
from rigid disk (BOOT.EXB is an executable binary file).
BOOTM.EXB
MTBOOT.EXB
TOPS-lO 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.EXB and
MTBOOT.EXB are executable binary files).
C-3
APPENDIX D
KLINIK ACCESS DIALOG
The RSX-20F KLINIK link allows DIGITAL Field Service or Software
Support personnel at remote locations to access e 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
mechahism.
This appendix lists the events that are loooeo by RSX-20F,
describes the KLINIK access parameters.
It also documents
commands used in the access dialog from the point of view of both
computer operator and the Field Service or Software Support person
wishes to access a remote KL.
D.l
and
the
the
who
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:
D.2
•
Each occurrence of a SET KLINIK command (the parameters given
in the command are also saved)
•
Each occurrence of a CLEAR KLINIK command
•
Each occurrence of a DISCONNECT command or a DLIIE hang-up
•
Each occurrence of a successful LOGON (the mode
also saved)
•
Each occurrence of an unsuccessful
attempts is also saved)
LOGON
(the
selected
is
number
of
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
D-l
KLINIK ACCESS DIALOG
time at which the link will take place and the type of
remote user will have.
Specifically, they must agree on:
access
•
Whether the remote user of the link wishes to have
CTY or simply a timesharing terminal
•
Which password will allow the remote user access
system, if the user has requested a remote CTY
to
•
The date and time the remote user will
access by way of the KLINIK link
request
•
The highest console mode the remote user will be allowed
dial
up
a
the
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 0.3.1.
D.2.1
Usage of the Remote Terminal
The remote user can access the system in two ways:
as a normal
timeSharing user, or as a remote operator.
If the remote terminal is
set up for timesharing, the remote user can deal with the system just
as any other timesharing user~
thus, the KLINIK link could be used as
a special dial-up line.
Alternatively, the remote terminal can be
declared to be the system's CTY, thereby allowing the remote user to
access the system as if the user were present at the local CTY.
In
this case,
both the remote user and the system operator have the
ability to enter commands to RSX-20F and to see all output,.
In fact,
it is possible to execute PARSER commands that are entered by two
people typing alternate characters from the two consoles.
The system operator declares the usage of the remote terminal when the
PARSER requests the usage mode in the dialog following the SET KLINIK
command.
The legal replies are REMOTE and USER~
no defaults exist.
D.2.2
Access Password for Remote CTY's
The system operator must declare to RSX-20F that the remote user
wishes to have a terminal of the agreed-upon type.
If the remote user
is to have a CTY, the operator must also give RSX-20F a password that
the remote user must repeat to establish the KLINIK link.
The operator declares the password when the PARSER requests it in the
dialog following the SET KLINIK command.
This password must be one to
six numeric or uppercase alphabetic characters with no embedded or
trailing blanks.
D.2.3
KLINIK Access Window
The date and time at which the remote user plans to establish the link
is specified by 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.
D-2
KLINIK ACCESS DIALOG
The operator specifies the access window dates and times in response
to the PARSER's prompt in the SET KLINIK dialog.
The access window
dates are specified in the following format:
DD-MMM-YY
DD-MMM-YYYY
DD MMM YY
DD MMM YYYYY
where DD is the day, MMM is the alphabetic representation of the
month,
and YY or YYYY is the year.
The year can be specified either
by using the entire Gregorian year, or by using only the last two
digits of the year number.
If only the last two digits are specified,
the PARSER assumes that the first two digits should be 19.
The access window times are specified in the following format:
HHMM
HH:MM
where HH is the hour in 24-hour format and MM is the minute.
HH
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.
]).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 which type of access the remote user is to have.
(Refer to
Section
4.3,
PARSER
Console Modes,
for a discussion of the
capabilities of the various modes.)
'rhe operator specifies the console mode of the remote terminal in the
dialog following
the SET KLINIK command.
The legal replies to the
PARSER's request for the console mode are MAINTENANCE, PROGRAMMER, and
OPERATOR.
There are no default replies to this question.
The local
operator should make sure that sufficient capabilities are supplied to
the remote user
initially, since it is not possible for either the'
operator or the remote user to raise the console mode while the KLINIK
link is active.
D.3
OPERATOR DIALOG WITH KLINIK
The system operator, through dialog with the PARSER,
sets parameters
for establishing the KLINIK link, checks those parameters, terminates
the KLINIK link, and disconnect~ the remote modem.
The dialog that
the operator uses to accomplish these tasks is presented below.
D-3
KLINIK ACCESS DIALOG
D.3.1
Setting Access Parameters
The system operator must declare to RSX-20F that a remote user will be
accessing the system before the remote user can actually attempt to
establish the link. When the parameters discussed in Section D.I have
been set using the SET KLINIK command, the remote user can dial up and
attempt to establish the KLINIK link, assuming that the user does so
during the agreed-upon time window.
You should use the following dialog to set the access parameters.
1.
Type CTRL/\ (Control-Backslash) to enter the PARSER.
2.
When you receive the PARSER's prompt, enter the SET KLINIK
command to tell the PARSER you wish to set KLINIK parameters.
3.
Answer the PARSER's prompt (KLINIK MODE:) with the console
mode you wish to allow the remote user: REMOTE to give the
user a remote CTY, or USER to make the remote terminal into a
normal timesharing terminal. If you respond with something
other than REMOTE or USER, one of the following error
messages appears:
PAR
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 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 "e"
where "c" is the offending character.
After printing the relevant error messags, the PARSER
the SET KLINIK command.
D-4
aborts
KLINIK ACCESS DIALOG
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 "xxx"
If the keyword you specified for the month is ambiguous,
get:
PAR
you
[SET] AMB - AMBIGUOUS KEYWORD "xxx"
In both of
keyword.
the
previous
cases,
"xxx"
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,
PROGRAMMER, and OPERATOR.
There is no default reply to this
question.
(Refer to Section 4.3, PARSER Console Modes, for a
discussion of the capabilities of the various modes.)
D-5
KLINIK ACCESS DIALOG
If the PARSER does not recognize the console
specify, you get the following error message:
PAR
mode
you
to
the
[SET] NSK - NO SUCH KEYWORD "xxx"
where "xxx" is the offending keyword.
If you enter only
prompt, you get:
a
carriage
return
in
response
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 1S 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:
18-JUNE-1979 13:04
ACCESS WINDOW CLOSE:
19 -·JUNE-197 9 13: 04
KLINIK MODE:
REMOTE
HIGHEST CONSOLE MODE:
OPERATOR
PAR>
D-6
by
the
following
KLINIK ACCESS DIALOG
D.3.2
Examining the Current KLINIK Parameters
The KLINIK parameters that are displayed at the end of the SET KLINIK
dialog can be displayed at will by the use of the WHAT KLINIK command.
The format of the information is exactly the same as the display
following
the SET KLINIK dialog when the KLINIK parameters have been
set.
In two cases, however, the format is different.
One is the time
when no KLINIK parameters have been set.
In this case, the following
line (only) will be displayed in response to the WHAT KLINIK command:
KLINIK DISABLED
The other exceptional case is when the KLINIK link is active after a
reboot of the system software.
(This situation is described more
fully in Section D.4.) In this case the response to the WHAT KLINIK
command is in the form shown below:
KLINIK ACTIVE FROM REBOOT
KLINIK MODE: REMOTE
HIGHEST CONSOLE MODE:
MAINTENANCE
Normal use of the WHAT KLINIK command is illustrated by the
example:
following
PAR>WHAT KLINIK
KLINIK INACTIVE
ACCESS WINDOW OPEN:
20-JUNE-1979 13:49
ACCESS WINDOW CLOSED:
21-JUNE-1979 13:49
KLINIK MODE: REMOTE
HIGHEST CONSOLE MODE: MAINTENANCE
PAR>
D.3.3
Terminating the KLINIK Link
The system operator can terminate the KLINIK link at any time by the
CLEAR KLINIK command.
The CLEAR KLINIK command clears the KLINIK
parameters, but does not hang up the modem.
If the remote user has a
remote CTY,
the user can also terminate the link by the same method.
In either case, the link is not completely cleared until the operator
issues the DISCONNECT command.
This command hangs up the modem, thus
ending the link.
Breaking up the termination into two commands has
the advantage of allowing the link to be terminated (by use of the
DISCONNECT command) without clearing the parameters. Thus, the remote
user can try again to establish the link, but the operator does not
need to reenter the parameters.
When the operator issues the CLEAR KLINIK command during the time the
link is in use, the following messages are printed on both terminals:
KLINIK DISABLED
KLD -- KLINIK ACCESS TERMINATED BY OPERATOR
When the operator issues the DISCONNECT command, the following message
is printed on both terminals:
KLD -- KLINIK LINE DISCONNECTED
This message signals the end of the link, since the modem is
by the DISCONNECT command.
D-7
hung
up
KLINIK ACCESS DIALOG
If the remote user tries again to gain access to the system before the
parameters are reset, access is denied, and the following messages
appear on both the remote and local terminals:
KLR
KLINIK RING - WINDOW CLOSED
KLD
KLINIK LINE DISCONNECTED
The termination dialog 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 DIALOG 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 0.1.1, the remote terminal can be
either a normal timesharing user or a remote CTY.
0.4.1
Logging In as a Remote Operator
RSX-20F answers the OLlIE 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 DIALOG
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 messag~s 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:
If you wish to be
In response, you must type either REMOTE or USER.
You then receive the
connected to RSX-20F, you must type REMOTE.
following notification from RSX-20F:
KLR
KLINIK LINE CONNECTED TO RSX-20F
KLR -- CONSOLE MODE LIMIT:
[<mode>]
where <mode> can be MAINTENANCE, PROGRAMMER, or OPERATOR.
You can login to the local system as a timesharing user even though
the KLINIK MODE was declared by the operator to be REMOTE.
If you
wish to do this, simply reply to the KLINIK MODE: prompt with USER.
If you do this,
you receive the following message before RSX-20F
routes the line to the KL monitor:
KLR -- KLINIK LINE CONNECTED TO TOPS-xx
where "xx" is either 10 or 20.
The next line printed
is
herald, just as a normal timesharing user would receive.
The following
remote user.
KLINIK MODE:
example shows
a timesharing
1.
[the password will not echo on the terminal]
KLR -- INCORRECT PASSWORD
PASSWORD:
[this time it is correct]
KLINIK MODE:
KLR
KLR
system
examples illustrate the dialog 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
REMOTE
KLINIK LINE CONNECTED TO RSX-20F
CONSOLE MODE LIMIT:
[MAINTENANCE]
D-9
KLINIK ACCESS DIALOG
2.
KLR -- KLINIK RING - VALIDATING ACCESS
PASSWORD:
[the password will not echo on the terminal]
KLINIK MODE:
USER
KLR -- KLINIK LINE CONNECTED TO TOPS-20
SYSTEM 2116 THE BIG ORANGE, TOPS-20 MONITOR 4(3117)
@
D.4.2
Logging In as a Timesharing User
If the local system operator has declared
the usage of the remote
terminal to be USER,
the link
is routed to the KL monitor after
RSX-20F prints
KLR -- KLINIK LINE CONNECTED TO TOPS-xx
where "xx" is either 10 or 20.
The next line printed is the system
message from the particular system, just as a normal timesharing user
would receive.
The following example shows the messages printed when
logs in to the system as a timesharing user.
a
remote
user
Example D-6
KLR -- KLINIK LINE CONNECTED TO TOPS-20
SYSTEM 2116 THE BIG ORANGE, TOPS-20 MONITOR 3A(20l3)
@
D.5
KLINIK INTEGRITY OVER A REBOOT
The computer system attempts to maintain the integrity of a KLINIK
link over a reload of system software.
Both the KL processor and the
front-end processor are aware of the KLINIK link, and both store the
current KLINIK parameters.
This allows one processor to remind the
other of the current state of the KLINIK link should one of the two
processors be reloaded.
If the link was set up to be REMOTE MODE, the
following messages are printed on both terminals:
SAV
*DIAG*
SAV -- *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
D-IO
KLINIK ACCESS DIALOG
KL to provide the correct KLINIK parameters.
Since in this situation
there
is no way for the KL to know the original KLINIK parameters, it
is unable to supply the parameters.
Thus, when the 45-second wait is
over,
RSX-20F sets up default parameters and continues the link. The
parameters are set up for REMOTE MODE with the highest console mode
being MAINTENANCE.
The messages printed are the same as those printed
on reloading only one of the processors.
In the event that the KL monitor has difficulty starting or restarting
the Primary or Secondary Protocols, the following message is printed
on the local console:
SAV -- *FATAL* -- PROTOCOLS NOT RUNNING
This problem usually requires a
system.
reload
D-ll
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 provides assistance in making sure you supply all the needed
information to allow DIGITAL personnel to determine what the problem
is.
The items you should include with an SPR, or have ready when you make
a hot line call, are listed below. Providing this information to the
Software SJpport 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-2PF 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 tiroing
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 tol~ 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
~o 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 DeE
<
<
<
>
>
<
<
<
<
<
<
<
<
<
<
>
>
>
>
>
>
>
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
Negative 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)
(DD)
120
108.2
110
125
111/112
113
(SCA)
(CD)
(CG)
(CE)
(CH/CI)
(DA)
INDEX
$DHINP routine,
7-17, 7-18,
$DHOUT routine,
7-24, 7-25,
$DMINT routine,
7-13
7-13,
7-19,
7-16,
7-26,
7-11,
7-16,
7-20
7-23,
7-27
7-12,
.BGBUF location, 10-6
.CRASH macro, 7-9
.CRTSK location, 7-8, 10-5,
10-11
.DHSTO routine, 7-27
.DHTMO routine, 7-20, 7-21,
7-22, 7-23
.DLMTO routine, 7-15
.DLMTO startup routine,
7-15
.DMTMO routine, 7-13, 7-14
.DMTMO system startup
routine, 7-14
.FREPL location, 10-6
.POLLH location, 10-6
.STDTB table, 7-7
ODUMPll.BIN file, E-l, 10-1,
10-4
ABORT PARSER command, 4-6
Absolute mode, 6-32
ZAP, 6-33
AC block error check, 4-24
AC block parity check, 4-24
Access dialog,
KLINIK, D-l
Access parameters,
KLINIK, D-l
setting KLINIK, D-5, D-6,
D-7
Access password,
KLINIK, D-2, D-9
Access window,
KLINIK, D-2, D-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-8,
10-33
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 Comm Reg, 8-5
Area,
pointer to next Comm Reg,
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-8
ATL, 7-7
ATL entry for CD task,
10-34
ATL entry for DTE-20 task,
10-33
ATL entry for FE task,
10-34
ATL entry for floppy disk
task, 10-34
Index-l
INDEX
ATL entry for LP task,
10-34
ATL entry for null task,
10-34
ATL entry for queued prt
task, 10-34
ATL entry for RP task,
10-34
ATL entry for terminal task,
10-34
ATL node, 7-7
ATL node of current task,
7-8, 10-5
ATL scan routine, 7-8
Auto-baud reset, 7-15
Auto-baud Wait flag, 7-13,
7-19, 7-23
Auto-bauded lines,
count of, 10-20
Auto-bauding, 7-19
AUTO-TAKE PARSER command,
CLEAR, 4-7
Automatic baud rate
determination, 7-19
Automatic reload flag,
10-13
Available space,
listing, 6-13, 6-15
(CONT.)
Blocking the dte-20, 8-37
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 subdirs with, 5-2
BOOT.EXB file, 5-1, 5-7
Booting the KL, 8-29
BOOTM program, 5-41
BOOTM task, C-3
BOOTS task, C-3
Bootstrap device, 5-8
Bootstrap device number,
5-5
Bootstrap program, C-3
KL, 5-1
loading, 5-1, 5-7
starting, 5-1, 5-7
Bootstrap program BOOT.EXB,
default, 5-2
Bootstrapping errors, 5-5
BPARER DTE-20 bit, 8-12
BR ,requests, 1-4
PDP-II, 8-13
Branch displacement, 6-36,
6-43
Break conditions,
APR, 8-6
Buffer,
Big, 7-4, 10-6
CD-II data, 10-28
free space in Big, 10-6
Buffer pointer,
Send-All, 10-20
Buffer space, 10-6
Buffer's current device,
TO-lO, 10-15
Buffer-overflow crashes,
10-6
Bus,
diagnostic, 8-15
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-23
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
Big Buffer, 7-4, 10-6
Big Buffer,
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
vLrtual, 2-2
Volume Contro1, 6-9
Block file,
bad, 2-4
Block Number,
Virtual, 2-2
Block number/byte offset
format, 6-38
Index-2
INDEX (CONT.)
Cache memory,
configuring, 5-1, 5-8,
5-41
enabling, 5-1, 5-8, 5-38
Calls,
hot line, E-l
Card reader data base,
10-28
Carrier,
lost, 7-15
Carrier transition, 7-11
Carrier transition
interrupt, 7-13
Carrier Wait, 7-14
Carrier wait,
DH-IIE, 7-15
Carrier Wait flag, 7-13,
7-20
Causing a doorbell
interrupt, 8-13
CD task,
ATL entry for, 10-34
CD-II current event flags,
10-28
CD-II data buffer, 10-28
CD-II driver,
STD entry for, 10-32
CD-II status bits, 10-28
CDD DTE-20 bit, 8-18
Character input routine,
7-13, 7-16, 7-17, 7-18,
7-19, 7-20
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 AUTO-TAKE PARSER
command, 4-7
CLEAR CONSOLE PARSER
command, 4-4, 4-7
CLEAR DATE PARSER command,
4-7
CLEAR FAULT-CONTINUATION
PARSER command, 4-8
CLEAR FS-STOP PARSER
command, 4-8
CLEAR INCREMENT PARSER
command, 4-8
CLEAR KLINIK command, D-8
CLEAR KLINIK PARSER command,
4-8
CLEAR MEMORY PARSER command,
4-8
CLEAR NOT PARSER command,
4-8
CLEAR OFFSET PARSER command,
4-8
CLEAR RELOAD PARSER command,
4-9
CLEAR REPEAT PARSER command,
4-9
CLEAR RETRY PARSER command,
4-9
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,
Comm Reg, 8-8
CMIIC bit,
Comm Reg, 8-8
CMAPRW word,
Comm Reg, 8-5
CMDAPR word,
Comm Reg, 8-6
CMDTE bit,
Comm Reg, 8-6
CMDTN bit,
Comm Reg, 8-6
CMFWD bit,
Comm Reg, 8-8
CMINI bit,
Comm Reg, 8-7
CMIP bit,
Comm Reg, 8-8
CMKAC DTE-20 word, 9-1
CMKAC word,
Comm Reg, 8-4
CMKAK word,
Comm Reg, 8-9
CMLll bit,
Comm Reg, 8-7
CMLNK word,
Comm Reg, 8-4
CMLRF word,
Comm Reg, 8-9
CMNAM bit,
Comm Reg, 8-4
CMNPR bit,
Comm Reg, 8-3
CMPDWD word,
Comm Reg, 8-5
CMPGWD word,
Comm Reg, 8-5
CMPIWD word,
Comm Reg, 8-4, 8-5
CMPNM bit,
Comm Reg, 8-7
CMPPT word,
Comm Reg, 8-7
Index-3
INDEX (CONT.)
CMPRO bit,
Comm Reg, 8-6
CMPWF bi t,
Comm Reg, 8-7
CMQCT word,
Comm Reg, 8-9
CMQP bit,
Comm Reg, 8-8
CMSIZ bit,
Comm Reg, 8-3
CMSZ bit,
Comm Reg, 8-7
CMTEN bit,
Comm Reg, 8-3
CMTOT bit,
Comm Reg, 8-8
CMTST bit,
Comm Reg, 8-8
CMVER bit,
Comm Reg, 8-3
CMVRR bit,
Comm Reg, 8-6
CNUPE DTE-20 bit, 8-18
Comm area,
owning processor's, 8-3
Comm Reg,
APR flags in, 8-5
Comm Reg area,
pointer to next, 8-4
Comm Reg CMOIC bit, 8-8
Comm Reg CMIIC bit, 8-8
Comm Reg CMAPRW word, 8-5
Comm Reg CMDAPR word, 8-6
Comm Reg CMDTE bit, 8-6
Comm Reg CMDTN bit, 8-6
Comm Reg CMFWD bit, 8-8
Comm Reg CMINI bit, 8-7
Comm Reg CMIP bit, 8-8
Comm Reg CMKAC word, 8-4
Comm Reg CMKAK word, 8-9
Comm Reg CMLll bit, 8-7
Comm Reg CMLNK word, 8-4
Comm Reg CMLRF word, 8-9
Comm Reg CMNAM bit, 8-4
Comm Reg CMNPR bit, 8-3
Comm Reg CMPDWD word, 8-5
Comm Reg CMPGWD word, 8-5
Comm Reg CMPIWD word, 8-4,
8-5
Comm Reg CMPNM. bit, 8-7
Comm Reg CMPPT word, 8-7
Comm Reg CMPRO bit, 8-6
Comm Reg CMPWF bit, 8-7
Comm Reg CMQCT word, 8-9
Comm Reg CMQP bit, 8-8
Comm Reg CMSIZ bit, 8-3
Comm Reg CMSZ bit, 8-7
Comm Reg CMTEN bit, 8-3
Comm Reg CMTOT bit, 8-8
Comm
Comm
Comm
Comm
Comm
Comm
Reg CMTST bit, 8-8
Reg CMVER bit, 8-3
Reg CMVRR bit, 8-6
Reg CPVER bit, 8-3
Reg PIDENT word, 8-3
Reg Pre Header word,
8-3
Comm Reg protocol version
number, 8-3
Comm Reg STATUS word, 8-7
Comm Reg TOPID word, 8-6
Comm Region version number,
8-3
Command,
di~gnostic, 8-16
Command file,
indirect, 4-25
Command lines,
continuing PARSER, 4-2
Command start,
clearing diagnostic, 8-15
setting diagnostic, 8-15
Commands,
RSXFMT, B-2
RSXTlO, 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-22, 7-23
Communications Region, 8-1,
8-2, 8-3, 8-4, 8-5, 8-6,
8-7, 8-8, 8-9, 8-32,
9-1
Communications Region,
area in, 8-1
initializing, 8-1
KL, 9-1
Communications Region
header, 8-1
Communications Region
section, 8-1
COMTRP location, 9-7
COMTRP routine, 7-9
Configuration,
reversing memory, 5-9
Configuration file, 5-1,
5-6, 5-9
Configuration file,
writing, 5-11
Configuration maps,
external memory, 5-32
internal memory, 5-32,
5-33
Index-4
INDEX (CONT.)
Configuration maps (Cont.)
logical memory, 5-32,
5-33, 5-34
physical memory, 5-32
Configuring cache memory,
5-1, 5-8, 5-41
Configuring external core
memory, 5-10
Configuring internal core
memory, 5-10
Configuring KL memory, 5-1,
5-9
Configuring MOS memory,
.5-11
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-10
Continuing PARSER command
lines, 4-2
Controlling TO-lO data
transfers, 8-21
Controlling TO-II data
transfers, 8-20
Conventions,
DTE-20 register, 8-36
COP task, C-l
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-10
Core memory bus-mode,
setting external, 5-10
CORIMG.SYS;l file, 2-4
Count,
file revision, 2-3
Keep-Alive, 8-4, 8-9, 9-1,
10-17
Send-All terminal, 10-20
TO-lO delay, 8-23
TO-II queue entry, 10-15
Count of auto-bauded lines,
10-20
Counter,
hardware program, 1-4
timeout, 10-20
CPU serial number,
KL, 10-39
CPVER bit,
Comm Reg, 8-3
CR task,
TPD entry for, 10-35
CRAM error report, 5-35
CRAM malfunction, 8-16
Crash,
checking queues after a,
10-6
Crash codes,
RSX-20F, 9-7, A-I, 10-5
.CRASH macro, 7-9, 9-7
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
CTY,
redirecting the, 5-5
remote, D-2, D-9, D-lO
CTY line speed, 10-13
CTY queue, 10-36
CTY startup routine, 7-15
CTY status block, 10-20
CTY timeout routine, 7-15
Current event flags,
CD-ll, 10-28
LP-20, 10-29
Current interrupt status,
8-14
Current task,
ATL node of, 7-8, 10-5
Current task pointer, 10-11
Index-5
INDEX (CONT.)
Cycle,
generating a clock, 8-15
DIOll DTE-20 bit, 8-15,
8-16
Data,
transferring string, 8-23
Data base,
card reader, 10-28
core manager, 10-18
DECtape driver, 10-25
disk driver, 10-26
FE device driver, 10-27
floppy disk driver, 10-24
Keep-Alive, 10-17
KLINIK, 10-14
LP-20 driver, 10-29
queued protocol, 10-15
Data between processors,
transferring, 8-8, 8-19,
8-20, 8-21, 8-22, 8-30
Data buffer,
CD-II, 10-28
Data in front-end memory,
depositing, 10-1
examining, 10-1
Data line scanner queue,
10-36
Data packets, 8-33
transferring indirect,
8-8
Data Terminal Ready signal,
7-11
Data transfer, 8-33
TO-IO, 8-16, 8-23
TO-II, 8-16, 8-23
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-21
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-32
DECtape driver data base,
10-25
DECtape load switches, 5-5
DECtape PUD entry, 10-38
DECtape switch register,
5-5
DECtape task,
TPD entry for, 10-35
Default radix, 4-2
Delay count,
TO-IO, 8-23
Deleting files, 6-12, 6-13,
6-14
DEPOSIT AR PARSER command,
4-10
Deposit DTE-20 operation,
8-12
Deposit operation, 8-33
DTE-20, 8-21, 8-22
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 driver data base,
FE, 10-27
Device drivers, 1-5, 7-4
Device drivers,
interfacing, 8-30
Device number,
bootstrap, 5-5
Device priority levels, 1-3
Device Queue Pointers,
10-36
Device tables,
physical unit, 10-37
DEX DTE-20 bit, 8-15, 8-16
DEXDON DTE-20 bit, 8-12
DEXWDl-2 DTE-20 register,
8-22
DEXWDl-3 DTE-20 register,
8-21
DFUNC DTE-20 bit, 8-15
DH-ll communications
interface, 7-22, 7-23
Index-6
INDEX (CONT.)
DH-ll queue, 10-36
DH-ll table, 10-22
DH-llE carrier wait, 7-15
$DHINP routine, 7-13, 7-16,
7-17, 7-18, 7-19, 7-20
$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-15
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 selection code,
8-15
Diagnostic Word 1,
DTE-20, 8-15, 8-16, 8-17
Diagnostic Word 2,
DTE-20, 8-16
Diagnostic Word 3,
DTE-20, 8-16
Diagnostic words,
DTE-20, 8-15
Diagnostics,
KL hardware, 1-6
Dialog,
entering KLINIT, 5-6
exiting KLINIT, 5-42
file transfer, B-5
KLINIK access, D-l
KLINIK operator, D-4
KLINIT operator, 5-7, 5-8,
5-9, 5-10, 5-11, 5-13,
5-14, 5-15, 5-16
remote user KLINIK, D-9
restarting KLINIT, 5-6,
5-42
terminating KLINIT, 5-6
Dialog error messages,
KLINIT, 5-17, 5-20
Dialog examples,
KLINIT, 5-36, 5-37, 5-38,
5-39, 5-40, 5-41, 5-42
Dialog mode,
KLINIT, 5-1
Dialog reports,
KLINIT, 5-32
Differences,
RSX-20F/RSX-llM, 1-7
DIKLIO DTE-20 bit, 8-15
Direct packets,
To-eleven, 8-34
To-ten, 8-33
To-ten extended, 8~34
Direct transfer, 8-33
extended, 8-37
to-II, 8-37
Directive service routine,
7-4, 7-8
Directives, 1-4, 1-7
Directives,
performing, 7-9
Directories,
listing file, 6-12
Directory,
Master File, 2-4
System Task, 7-6, 10-31
Task Partition, 10-35
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-11, D-8
Disk,
copying a floppy, 6-1
Disk block,
starting, 6-32
Disk driver, 1-7
STD entry for floppy,
10-32
Disk driver data base,
10-26
floppy, 10-24
Disk load switches,
floppy, 5-3
Disk PUD entry,
floppy, 10-38
Disk switch register,
floppy, 5-3
Disk task,
ATL entry for floppy,
10-34
TPD entry for floppy,
10-35
Dismounting a device, 6-9
Displacement,
branch, 6-36, 6-43
jump, 6-36, 6-43
DL-llE startup routine,
7-15
DL-IlE timeout routine,
7-15
DLll queue, 10-36
Index-7
INDEX (CONT.)
DLll/C table, 10-22
DLll/E table, 10-22
.DLMTO routine, 7-15
.DLMTO startup routine,
7-15
DLYCNT DTE-20 register,
8-21, 8-23
DM-IIBB, 7-14
DMII/BB table, 10-22
$DMINT routine, 7-11, 7-12,
7-13
DMO error messages, 6-11
DMO task, C-2
DMO utility, 6-9, 6-10
.DMTMO routine, 7-13, 7-14,
7-20
.DMTMO system startup
routine, 7-14
DONIOC DTE-20 bit, 8-13
DONIOS DTE-20 bit, 8-13
DONIIC DTE-20 bit, 8-14
DONllS DTE-20 bit, 8-14
Done interrupt, 8-8
To-II, 8-37
Doorbell function, 8-29
DTE-20, 8-1
Doorbell interrupt, 8-7,
8-8, 8-10, 8-12
Doorbell interrupt,
c a us i ng a, 8 -13
DPS4[N] DTE-20 bit, 8-17
DRAM error report, 5-36
DRAM malfunction, 8-16
DRESET DTE-20 bit, 8-17
Driver,
disk, 1-7
DTE-20, 1-7
STD entry for CD-II,
10-32
STD entry for DECtape,
10-32
STD entry for DTE-20,
10-31
STD entry for FE, 10-32
STD entry for floppy disk,
10-32
STD entry for LP, 10-32
STD entry for terminal,
10-32
Driver data base,
DECtape, 10-25
disk, 10-26
FE device, 10-27
floppy disk, 10-24
LP-20, 10-29
Driver logic,
DTE-20, 8-33
Driver routine,
terminal, 7-11, 7-12 1
Driver routine (Cont.)
7-13
Drivers,
device, 1-5, 7-4
interfacing device, 8-30
Driving the DTE-20, 1-7
DSOO-DS03 DTE-20 bit, 8-16
DSOO-DS06 DTE-20 bit, 8-15
DS04 DTE-20 bit, 8-16
DS05 DTE-20 bit, 8-16
DS06 DTE-20 bit, 8-16
DSEND DTE-20 bit, 8-15
Dte-20,
Blocking the, 8-37
DTE-20,
driving the, 1-7
memory deposits across,
8-1, 8-8
memory examines across,
8-1, 8-8
privileged, 9-9, 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-18
CNUPE, 8-18
DIOll, 8-15, 8-16
DCOMST, 8-15, 8-16
DEX, 8-15, 8-16
DEXDON, 8-12
DFUNC, 8-15
DIKLIO, 8-15
DONI. OC, 8-13
DONI0S, 8-13
DONIIC, 8-14
DONllS, 8-14
DPS4[N],8-17
DRESET, 8-17
DSOO-DS03, 8-16
DSOO-DS06, 8-15
DS04, 8-16
DS05, 8-16
DS06, 8-16
DSEND, 8-15
DUPE, 8-18
DURE, 8-18
DXWFD1, 8-11
EBSEL, 8-12
EBUSPC, 8 -14
EBUSPS, 8-14
EDONES, 8-16
ERRIOC, 8-13
ERRI0S, 8-13
ERRIIC, 8-14
Index-8
INDEX (CONT.)
DTE-20 bit (Cont.)
ERRllS, 8-14
INTI0S, 8-14
INTI1C, 8-13
INTllS, 8-13
INTROF, 8-14
INTRON, 8-14
INTSON, 8-13
MPEll, 8-12
NULSTP, 8-12
NUPE, 8-18
PERCLR, 8-13
PULSE, 8-15
RAMISO, 8-11
RFAMDO, 8-16
RFMADl, 8-16
RFMAD2, 8-17
RFMAD3, 8-17
RM, 8-12
seD, 8-18
SWSLLT, 8-17
TOI0, 8-16
TOI0BM, 8-18
TOI0DB, 8-12
TOI0DN, 8-11
TOI0ER, 8-11
TOll, 8-16
TOIIDB, 8-11
TOIIDN, 8-12
TOllER, 3-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 Word 1,
8-15, 8-16, 8-17
DTE-20 Diagnostic Word 2,
8-16
DTE-20 Diagnostic Word 3,
8-16
DTE-20 diagnostic words,
8-15
DTE-20 doorbell function,
8-1
DTE-20 driver, 1-7
STD entry for, 10-31
DTE-20 driver logic, 8-33
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-29
DTE-20 register, 8-10
DEXWDl-2, 8-22
DEXWDl-3, 8-21
DLYCNT, 8-21, 8-23
STATUS, 8 -1 0
TENADl-2, 8-21, 8-22
TOI0AD, 8-20, 8-23
TOI0BC, 8-10, 8-20, 8-23
TOI ODT, 8-19
TOIIAD, 8-19, 8-23
TOIIBC, 8-20, 8-23
TOIIDT, 8-19
DTE-20 register conventions,
8-36
DTE-20 registers,
examining, 10-6
locations of, 8-10
using the, 8-22
DTE-20 routines, 8-36
DTE-20 status register,
8-36
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-33
TPD entry for, 10-35
DTE-20 word,
CMKAC, 9-1
.DTINT routine, 8-37
DTR signal, 7-11, 7-13
Dump analysis,
sample RSX-20F, 10-7,
10-8, 10-9, 10-10
Dump file,
examining locations in a,
10-1
producing, E-l
reading a front-end, 10-1
Dumps,
interpreting RSX-20F,
10-4, 10-5, 10-6, 10-7,
10-8, 10-9, 10-10
DUPE DTE-20 bit, 8-18
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
Index-9
INDEX (CONT.)
EBUSPS DTE-20 bit, 8-14
EDONES DTE-20 bit, 8-16
EIA pin definitions, F-1
Emergency Stack, 10-40
EMT instruction, 7-9
Enabling cache memory, 5-1,
5-8, 5-38
Enabling PDP-II interrupts,
8-13, 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
EPT, 8-32
ERR10C DTE-20 bit, 8-13
ERR10S DTE-20 bit, 8-13
ERR11C DTE-20 bit, 8-14
ERR11S DTE-20 bit, 8-14
Error codes,
RSX-20F I/O, A-I, A-6
Error logging,
KL, 9-2
PDP-II, 9-7
RSX-20F, 9-2
Error messages,
DMO, 6-11
KLINIT dialog, 5-17, 5-20
KLINIT system, 5-17, 5-21,
5-22, 5-23, 5-24, 5-25,
5-26, 5-27, 5-28, 5-29,
5-30, 5-31, 5-32
MOU, 6-11
PARSER, 4-3, 4-29
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 report,
CRAM, 5-35
DRAM, 5-36
Error reports,
microcode verification,
5-35
Error termination of byte
transfer, 8-12
ERROR.SYS file, C-1, C-2,
D-1, E-2
Errors,
bootstrapping, 5-5
Evaluation of arithmetic
expressions, 4-3
Event,
significant, 1-5, 1-7
Event flags,
CD-II current, 10-28
global common, 10-11
LP-20 current, 10-29
significant, 10-11
EXAMINE AB PARSER command,
4-12
EXAMINE AD PARSER command,
4-12
EXAMINE ADX PARSER command,
4-12
EXAMINE AR PARSER command,
4-13
EXAMINE ARX PARSER command,
4-13
EXAMINE BR PARSER command,
4-13
EXAMINE BRX PARSER command,
4-13
EXAMINE CRADDR PARSER
command, 4-13
EXAMINE CRLOC PARSER
command, 4-13
EXAMINE DRADDR PARSER
command, 4-13
EXAMINE DTE-20 PARSER
command, 4-14
EXAMINE EBUS PARSER command,
4-14
EXAMINE FE PARSER command,
4-14
EXAMINE FLAGS PARSER
command, 4-14
EXAMINE FM PARSER command,
4-14
EXAMINE KL PARSER command,
4-11
EXAMINE MQ PARSER command,
4-15
Examine operation," 8-33
DTE-20, 8-12, 8-2111 8-22
EXAMINE PC PARSER command,
4-11
EXAMINE PI PARSER command,
4-15
EXAMINE REGISTERS PARSER
command, 4-15
EXAMINE SBR PARSER command,
4-15
EXAMINE SECTION PARSER
command, 4-15
EXAMINE VMA PARSER command,
4-15
EXAMINE VMAH PARSER command,
4-15
Examines,
verifying memory, 8-8
Index-10
INDEX (CONT.)
Fast Memory parity error,
8-16
FCS file structure, 2-4
FE device driver data base,
10-27
FE driver,
STD entry for, 10-32
FE program, B-1, B-4
FE program,
running, B-4
FE PPD entry, 10-38
FE task,
ATL entry for, 10-34
TPD entry for, 10-35
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-16
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-4
File extension header, 2-3
File header, 2-3
File header checksum, 2-3
File ID, 1-7, 2-2, 2-3
File name, 2-3
primary, 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
Examines across DTE-20,
memory, 8-1, 8-8
Examining a crashed system,
7-4
Examining current KLINIK
parameters, D-7, D-8
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
RSX-20F, 7-1, 7-2, 7-3,
7-4
Executive partition, 1-5
Executive Process Table,
8-32
Executive tasks, 7-5
Exiting KLINIT dialog, 5-42
Exiting PARSER, 4-1
Expiration date,
file, 2-3
Expressions,
evaluation of arithmetic,
4-3
Extended direct packets,
To-ten, 8-34
Extended direct transfer,
8-37
Extension,
file, 2-4
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-32
External page, 1-3, 7-4
FllACP, 7-4
STD entry for, 10-32
FllACP task, C-l
TPD entry for, 10-35
FllTPD partition, 1-5, 7-4
Index-II
INDEX (CONT.)
File system,
front-end, 1-7
File transfer dialog, B-5
File type, 2-4
File version number, 2-2,
2-4
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
Files-II directory file
entry, 2-3
Files-II file, 2-2
Filoq-ll index file, 2-4
Files-II medium, 2-1
Files-II partition, 1-5
FiLes-II tasks, 1-7
Files-II volume, 2-1, C-2
Finding contents of memory
locations, 7-4
Finding last instruction
executed, 10-5
Fixed-length records, 2-4
Floppy disk,
copying a, 6-1
zeroing a, 6-2
Floppy disk driver,
STD entry for, 10-32
Floppy disk driver data
base, 10-24
Floppy disk load switches,
5-3
Floppy disk PUD entry,
10-38
Floppy disk switch register,
5-3
Floppy disk task,
ATL entry for, 10-34
TPD entry for, 10-35
FM parity error check, 4-24
Format register,
ZAP, 6-37
Framing error, 7-19, 7-23
FREAD PARSER command, 4-15
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-29
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
Function,
front-end, 1-6
Functions of queued
protocol driver, 8-30
FWRITE PARSER command, 4-16
FXCT PARSER command, 4-16
GEN partition, 1-5, 1-7,
4-1, 7-4
GEN partition,
installing tasks in, 7-8
TPD entry for, 10-35
General partition, 1-5
General PDP-II registers,
1-4
Generating a clock cycle,
8-15
Generating parity, 8-18
Getting help on RSX-20F,
E-l
Global common event flags,
10-11
Index-12
HALT PARSER command, 4-16
Halting the KL, 8-16
Handling,
trap, 7-9
Hardware,
modern handling, 7-10
Hardware diagnostics,
KL, 1- 6
Hardware interface, 8-1
Hardware operations,
DTE-20, 8-1
Hardware options available,
10-39
Hardware program counter,
1-4
Hardware stack pointer, 1-4
INDEX (CONT.)
Head,
TO-lO queue current,
10-15
Header,
Communications Region,
8-1
file, 2-3
file extension, 2-3
linkage to extension, 2-3
Header area, 2-3
Header checksum,
file, 2-3
Header word,
Comm Reg Pre, 8-3
Help facility,
PARSER, 4-4
Help on RSX-20F,
getting, E-l
High address of Executive,
10-11
Hot line calls, E-l
I/O,
redirecting, 6-23
I/O error codes,
RSX-20F, A-I, A-6
I/O page, 1-3, 7-4
I/O requests, 1-5
ID,
file, 1-7, 2-2, 2-3
Ident area, 2-3
Identification table,
processor, 10-15
Ignoring KL halts, 10-12
Image file,
core, 2-4
Index file,
Files-II, 2-4
Indexed file,
positioning in an, 6-5
INDEXF.SYSil file, 2-4
Indirect command file, 4-25
Indirect data packets,
transferring, 8-8
Indirect packets,
To-II, 8-36
To-ten, 8 -35
Indirect transfer,
To-II, 8-38
Indirect-in-progress
semophore, 8-38
Informational messages,
KLINIT, 5-17, 5-18
IN! task, C-2
INI utility, 6-4
/FULL, 6-5
/INDX, 6-5
INI utility (Cont.)
/INF, 6-5
Initialization,
KL, 1-6
INITIALIZE PARSER command,
4-16
Initializing a volume, 6-4
Initializing Communications
Region, 8-1
Input routine,
character, 7-13, 7-16,
7-17, 7-18, 7-19, 7-20
Install task,
TPD entry for, 10-35
Installation,
task, 6-24
Installing tasks in GEN
partition, 7-8
Instruction executed,
finding last, 10-5
Instruction set,
PDP-II, 1-4
INTlOS DTE-20 bit, 8-14
INTllC DTE-20 bit, 8-13
INTllS DTE-20 bit, 8-13
Interface,
DH-ll communications,
7-22, 7-23
Interfacing device drivers,
8-30
Interleaving KL memory, 5-1,
5-10
Internal core memory,
configuring, 5-10
Internal memory
configuration maps,
5-32, 5-33
Internal registers,
ZAP, 6-34
Interpreting RSX-20F dumps,
10-4, 10-5, 10-6, 10-7,
10-8, 10-9, 10-10
Interrupt,
doorbell, 8-7
To-II done, 8-37
Interrupt enable bit, 7-15
Interrupt priorities, 1-3
Interrupt status,
current, 8-14
Interrupt system,
Priority, 8-5
Interrupts,
disabling PDP-II, 8-14
enabling PDP-II, 8-13,
8-14
vector, 1-3
INTROF DTE-20 bit, 8-14
INTRON DTE-20 bit, 8-14
INTSON DTE-20 bit, 8-13
Index-13
INOEX (CONT.)
lOT instruction, 9-7
IOTTRP location, 9-7
IOTTRP routine, 7-9
JSYS's,
TOPS-20, 1-4
Jump displacement, 6-36,
6-43
JUMP PARSER command, 4-16
Keep-Alive count, 8-4, 8-9,
9-1, 10-17
Keep-Alive data base, 10-17
Keep-Alive-Cease error, 9-1,
10-5, 10-6
KL,
booting the, 8-29
halting the, 8-16
loading the, 5-1
KL bootstrap program, 5-1
KL Communications Region,
9-1
KL CPU serial number, 10-39
KL error logging, 9-2
KL halts,
ignoring, 10-12
KL hardware diagnostics,
1-6
KL initialization, 1-6
KL memory,
configuring, 5-1, 5-9
interleaving, 5-1, 5-10
KL microcode,
loading, 5-1, 5-8
verifying, 5-1, 5-8, 5-42
KL state flag, 10-13
KL status,
sampl ing, 8-15
KL. CFG file, 5-1, 5-8, 5-9,
5-11, 5-28, 5-32
KL/POP-ll interface, 8-1
KLA.MCB file, 5~1
KLOISC task, C-2
KLERR, 9-1
running, 9-1
KLERR functions, 9-1
KLERR messages, 9-8
KLERRO.SNP file, 9-1
KLI task, C-l
KLINIK, C-2
KLINIK access dialog, 0-1
KLINIK access parameters,
'0-1
KLINIK access parameters,
setting, 0-5, 0-6, 0-7
KLINIK access password, 0-2,
0-9
KLINIK access window 1 0-2,
0-3
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-9
KLINIK events, 0-1
KLINIK integrity over
reboot, 0-11, 0-12
KLINIK line status flag,
10-14
KLINIK link, 4-8
terminating, 0-8
KLINIK operator dialog, 0-4
KLINIK parameters,
examining current, 0-7,
0-8
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-42
restarting, 5-6, 5-42
terminating, 5-6
KLINIT dialog ~rror
messages, 5-17, 5-20
KLINIT dialog examples,
5-36, 5-37, 5-38, 5-39,
5-40, 5-41, 5-42
KLINIT dialog mode, 5-1
KLINIT dialog reports, 5-32
KLINIT from PARSER,
entering, 5-6
KLINIT informational
messages, 5-17, 5-18
KLINIT messages, 5-17
KLINIT operator dialog, 5-7,
5-8, 5-9, 5-10, ~)-ll,
5-13, 5-14, 5-15, 5-16
KLINIT system error
messages, 5-17, 5-21,
5-22, 5-23, 5-24, 5-25,
5-26, 5-27, 5-28, 5-29,
5-30, 5-31, 5-32
KLINIT tracking capability,
5-7
Index-14
INDEX (CONT.)
KLINIT warning messages,
5-17, 5-18, 5-19, 5-20
KLRING task, C-2
KLX.MCB file, 5-1
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-5
floppy disk, 5-3
Loading a specified file,
5-11
Loading bootstrap program,
5-1, 5-7
Loading KL microcode, 5-1,
5-8
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
Log file, C-l
Logging,
KL error, 9-2
PDP-II error, 9-7
RSX-20F error, 9-2
Logical memory
configuration maps,
5-32, 5-33, 5-34
Logical Unit Number, 2-1,
6-9
Logical Unit Tables, 10-37
LOGXFER,
running, 9-11
LOGXFER task, 9-10
LOGXFR task, C-l
Loop-back test,
DTE-20, 8-15
Index-IS
Lost carrier, 7-15
LP driver,
STD entry for, 10-32
LP PUD entry, 10-38
LP task,
ATL entry for, 10-34
TPD entry for, 10-35
LP-20 current event flags,
10-29
LP-20 driver data base,
10-29
LP-20 status block, 10-29
LPT thread lists, 7-4
LPTBL location, 10-30
LUN, 2-1
Magnetic tape boot program,
C-3
Maintenance moae, 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-32
internal memory
configuration, 5-32,
5-33
logical memory
configuration, 5-32,
5-33, 5-34
physical memory
configuration, 5-32
MARK-MICROCODE PARSER
command, 4-16
Master File Directory, 2-4
MB20 memory,
reconfiguring, 5-38
MCR PARSER command, 4-16
Medium,
Files-II, 2-1
Memory,
configuring cache, 5-1,
5-8, 5-41
configuring external core,
5-10
configuring internal core,
5-10
configuring KL, 5-1, 5-9
configuring MOS, 5-11
depositing data in
front-end, 10-1
enabling cache, 5-1, 5-8,
5-38
INDEX (CaNT.)
Memory (Cont.)
examining data in
front-end, 10-1
examining front-end, 10-4
interleaving KL, 5-1,
5-10
reconfiguring MB20, 5-38
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-32
internal, 5-32, 5-33
logical, 5-32, 5-33, 5-34
physical, 5-32
Memory deposits across
DTE-20, 8-1, 8-8
Memory examines,
verifying, 8-8
Memory examines across
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-16
PDP-II, 8-11, 8-12, 8-13
Memory parity option,
MFllLP, 8-12
MFllUP, 8-12
Memory size in blocks,
10-11
Merging files, 6-13, 6-18
MFllLP memory parity option,
8-12
MFllUP memory parity option,
8-12
MFD, 2-4
Microcode,
loading KL, 5-1, 5-8
verifying KL, 5-1, 5-8,
5-42
Microcode file, 5-1
Microcode verification
error reports, 5-35
MIDNIT task, C-2
Mode,
maintenance, 4-4
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-10
Modem handling concepts,
7-10
Modem handling hardware,
7-10
Modem handling routine,
7-11, 7-12, 7-13
Modem strapping options,
7-10
Modem timeout routine, 7-13,
7-14
Monitor,
TOPS-IO default, 5-1
TOPS-20 default, 5-1
Monitor from subdirectories,
loading, 5-2
MaS memory,
configuring, 5-11
MOU error messages, 6-11
MOU task, C-l
MOU utility, 6-9, 6-10
Mounting a device, 6-9
MPEll DTE-20 bit, 8-12
MTBOOT task, C-3
MTBOOT.EXB file, 5-41
Name,
file, 2-3
owning processor's, 8-4
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-8
ATL entry for, 10-34
NULSTP DTE-20 bit, 8-12
Number,
processor, 10-15
NUPE DTE-20 bit, 8-18
Index-16
INDEX (CONT.)
Obsolete files,
purging, 6-13, 6-18
Offset, 4-3
relative, 6-33
Operation,
deposit, 8-33
deposit DTE-20, 8-12
DTE-20 deposit, 8-21,
8-22
DTE-20 examine, 8-12,
8-21, 8-22
examine, 8-33
Operator dialog,
KLINIK, D-4
KLINIT, 5-7, 5-8, 5-9,
5-10, 5-11, 5-13, 5-14,
5-15, 5-16
Operator mode, 4-4
Operators,
precedence of arithmetic,
4-3
OUTPUT command,
SET NO, 4-22
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's comm
area, 8-3
Owning processor's name,
8-4
Owning processor's serial
number, 8-4
PaGket address, 10-21,
10-24
Packet size, 10-21
Packets,
data, 8-33
To-II indirect, 8-36
To-eleven direct, 8-34
To-ten direct, 8-33
To-ten extended direct,
8-34
To-ten indirect, 8-35
transferring indirect
data, 8-8
Page,
external, 1-3, 7-4
I/O, 1-3
Pager process status, 8-5
Pager system status, 8-5
Parity,
generating, 8-18
Parity check,
AC block, 4-24
Parity error,
EBUS, 8-12, 10-16
Fast Memory, 8-16
NPR UNIBUS, 8-11
PDP-II memory, 8-11, 8-12,
8-13
UNIBUS, 8-17, 8-18
Parity error check,
FM, 4-24
Parity flip-flop,
UNIBUS, 8-18
Parity network,
testing, 8-18
PClrity option,
MF11LP memory, 8-12
MFIIUP 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 AUTO-TAKE, 4-7
CLEAR CONSOLE, 4-4, 4-7
CLEAR DATE, 4-7
CLEAR FAULT-CONTINUATION,
4-8
CLEAR FS-STOP, 4-8
CLEAR INCREMENT, 4-8
CLEAR KLINIK, 4-8
CLEAR MEMORY, 4-8
CLEAR NOT, 4-8
CLEAR OFFSET, 4-8
CLEAR RELOAD, 4-9
CLEAR REPEAT, 4-9
CLEAR RETRY, 4-9
CLEAR TRACKS, 4-9
CONTINUE, 4-10
DEPOSIT AR, 4-10
DISCONNECT, 4-11, D-8
EXAMINE AB, 4-12
EXAMINE AD, 4-12
EXAMINE ADX, 4-12
EXAMINE AR, 4-13
EXAMINE ARX, 4-13
EXAMINE BR, 4-13
EXAMINE BRX, 4-13
Index-17
INDEX (CONT.)
PARSER command (Cont.)
WHAT AUTO-TAKE, 4-26
WHAT CLOCK, 4-26
WHAT CONSOLE, 4-4, 4-26
WHAT DATE, 4-26
WHAT FAULT-CONTINUATION,
4-26
WHAT HARDWARE, 4-26
WHAT INCREMENT, 4-26
WHAT KLINIK, 4-27
WHAT MEMORY, 4-27
WHAT OFFSET, 4-27
WHAT OUTPUT, 4-27
WHAT PARITY-STOP, 4-27
WHAT RELOAD, 4-27
WHAT REPEAT, 4-28
WHAT RETRY, 4-28
WHAT TRACKS, 4-28
WHAT VERSION, 4-28
XCT, 4-28
ZERO, 4-29
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-3,
4-29
PARSER help facility, 4-4
PARSER prompts, 4-1
PARSER TAKE command, 4-25
PARSER task, C-1
PARSER. LOG file, 9-11, C-1
Partition,
Executive, 1-5
F11TPD, 7-4
GEN, 1-5, 7-4
installing tasks in GEN,
7-8
Partition Directory,
Task, 10-35
Password,
KLINIK access window,
10-14
Patching a task image, 6-31
PDP-II BR requests, 8-13
PDP-II date, C-2
PDP-II error logging, 9-7
PDP-II features, 1-3
PDP-II instruction set, 1-4
PDP-II interrupts,
disabling, 8-14
enabling, 8-13, 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
PARSER command (Cont.)
EXAMINE CRADDR, 4-13
EXAMINE CRLOC, 4-13
EXAMINE DRADDR, 4-13
EXAMINE DTE-20, 4-14
EXAMINE EBUS, 4-14
EXAMINE FE, 4-14
EXAMINE FLAGS, 4-14
EXAMINE FM, 4-14
EXAMINE KL, 4-11
EXAMINE MQ, 4-15
EXAMINE PC, 4-11
EXAMINE PI, 4-15
EXAMINE REGISTERS, 4-15
EXAMINE SBR, 4-15
EXAMINE SECTION, 4-15
EXAMINE VMA, 4-15
EXAMINE VMAH, 4-15
FREAD, 4-15
FWRITE, 4-16
FXCT, 4-16
HALT, 4-16
INITIALIZE, 4-16
JUMP, 4-16
MARK-MICROCODE, 4-16
MCR, 4-16
QUIT, 4-17
REPEAT, 4-17
RESET, 4-17
RESET ALL, 4-17
RESET APR, 4-18
RESET DTE-20, 4-18
RESET ERROR, 4-18
RESET I/O, 4 -18
RESET INITIALIZE, 4-18
RESET PAG, 4-18
RESET PI, 4-18
RUN, 4-18
SET AC-BLOCK, 4-19
SET CONSOLE, 4-4
SET DATE, 4-20
SET FAULT-CONTINUATION,
4-21
SET FS-STOP, 4-21
SET INCREMENT, 4-21
SET KLINIK, 4-21
SET NOT, 4-21
SET OFFSET, 4~22
SET RELOAD, 4-22
SET REPEAT, 4-23
SET RETRY, 4-23
SET TRACKS, 4-23
SET UTO-TAKE, 4-19
SHOW, 4-23
SHUTDOWN, 4-23
START MICROCODE, 4-24
START TEN, 4-24
SWEEP, 4-24
UNMARK-MICROCODE, 4-25
Index-18
INDEX (CONT.)
PDP-II registers (Cont.)
general, 1-4
PDP-II stacks, 1-4
PDP-II time, C-2
PERCLR DTE-20 bit, 8-13
Performing directives, 7-9
Peripheral Interchange
Program, 6-12
Phone ring interrupt, 7-13
Physical memory
configuration maps,
S-32
Physical unit device tables,
10-37
PIDENT word,
Comm Reg, 8-3
Pin definitions,
EIA, F-l
PIP, B-1
PIP error messages, 6-19,
6-20, 6-21, 6-22, 6-23
PIP subswitches, 6-13
PIP switches, 6-13
PIP task, C-l
PIP utility, 6-12
IFR, 6-lS
lAP, 6-13
IDE, 6-14
ILl, 6-lS
IME, 6-18
IPU, 6-18
IRE, 6-18
Pointer to next Comm Reg
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 bit, 8-7
Power-fail restart, 7-22
Power-fail startup, 7-14
Power-fail trap, 7-9
Prc Header word,
Comm Reg, 8-3
Precedence of arithmetic
operators, 4-3
Primary file name, 2-3
Primary protocol, 7-20,
8-30
Primary protocol,
switching to, 8-30
Primary Protocol functions,
10-1
Priorities,
interrupt, 1-3
Priority Interrupt system,
8-S
Priority levels,
device, 1-3
Privileged DTE-20, 9-9,
10-16
Privileged DTE-20 mode,
8-12
Privileged front end, 8-29
Privileged tasks, 1-6
Process status,
Pager, 8-S
Processor,
Arithmetic, 8-S
owning, 8-3
Processor identification
table, 10-lS
Processor number, 8-7,
10-lS
Processor number,
protocol, 8-1
Processor reload word, 8-9
Processor Status save area,
10-12
Processor table, 8-36
Processor's comm area,
owning, 8-3
Processor's name,
owning, 8-4
Processor's serial number,
owning, 8-4
Processors,
transferring data between,
8-8, 8-19, 8-20, 8-21,
8-22, 8-30
transferring files
between, B-1
Producing dump file, E-l
Progra.m counter,
hardware, 1-4
Programmer mode, 4-4
Prompts,
PARSER, 4-1
Protection code,
file, 2-3
Protocol,
DTE-20, 8-29
primary, 7-20, 8-30
queued, 8-8, 8-30
secondary, 7-20, 8-29
STD entry for queued,
10-32
switching to primary,
8-30
Protocol data base,
queued, 10-lS
Protocol driver,
functions of queued, 8-30
Index-19
INDEX (CONT.)
Protocol driver (Cont.)
queued, 8-30
Protocol functions,
Primary, 10-1
Protocol pause, 7-20
Prutocol pause flag, 10-16
Protocol processor number,
8-1
Protocol task,
queued, 1-7
Protocol version number,
8-6
Comm Reg, 8-3
Prs command,
SET CLOCK NORMAL, 4-19
Prt task,
ATL entry for queued,
10-34
TPD entry for queued,
10-35
PUD entry,
DECtape, 10-38
FE, 10-38
floppy disk, 10-38
LP, 10-38
RP, 10-38
system, 10-38
terminal, 10-37
PUD tables, 10-37
PULSE DTE-20 bit, 8-15
Purging obsolete files,
6-13, 6-18
Queued protocol driver
(Cont.)
functions of, 8-30
Queued protocol task, 1-7
Queued prt task,
ATL entry for, 10-34
TPD entry for, 10-35
Queues after a crash,
checking, 10-6
QUIT PARSER command, 4-17
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
Reading a front-end dump
file, 10-1
Reading RSX-20F symbol
files, 10-4
Reboot,
KLINIK integrity over,
D-ll, D-12
Receiver error,
UNIBUS, 8-18
Reconfiguring MB20 memory,
5-38
Records,
fixed-lenqth, 2-4
variable-length, 2-4
Recovering from front-end
crashes, 10-1
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
Register,
DTE-20 status, 8-36
Register conventions,
DTE-20, 8-36
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
Quantity register,
ZAP, 6-37
Queue,
CTY, 10-36
data line scanner, 10-36
DH-ll, 10-36
DLll, 10-36
TO-IO, 10-15
Queue current head,
TO-IO, 10-15
Queue entry count,
TO-II, 10-15
Queue pointer,
TO-IO, 10-6
TO-II, 10-6
Queue Pointers,
Device, 10-36
Queued protocol, 8-8, 8-30
Queued protocol,
STD entry for, 10-32
Queued protocol data base,
10-15
Queued protocol driver,
8-30
Index-20
INDEX (CONT.)
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-9, D-IO
Remote in Progress, 7-14
Remote KLINIK terminal, D-2
Remote lines,
enabling, 10-20
Remote terminal,
console mode of, D-3
Remote user KLINIK dialog,
D-9
Remote user terminal, D-ll
Renaming files, 6-12, 6-13,
6-18
REPEAT PARSER command, 4-17
Request list,
clock, 10-19
Request To Send signal,
7-11
Reset,
auto-baud, 7-15
RESET ALL PARSER command,
4-17
RESET APR PARSER command,
4-18
RESET DTE-20 PARSER command,
4-18
RESET ERROR PARSER command,
4-18
RESET I/O PARSER command,
4-18
RESET INITIALIZE PARSER
command, 4-18
RESET PAG PARSER command,
4-18
RESET PARSER command, 4-17
RESET PI PARSER command,
4-18
Resident tasks, 1-6
Restart,
power-fail, 7-22
Restarting KLINIT dialog,
5-6, 5-42
Restricted DTE-20 mode,
8-12
Retry flag, 9-1, 10-17
Reversing memory
configuration, 5-9
Revi.sion count,
file, 2-3
Revision date,
file, 2-3
Revision time,
file, 2-3
RFAMDO DTE-20 bit, 8-16
RFMADI DTE-20 bit, 8-16
RFMAD2 DTE-20 bit, 8-17
RFMAD3 DTE-20 bit, 8-17
Ring interrupt,
phone, 7-13
RIP flag, 7-13
RM DTE-20 bit, 8-12
Routine,
.DTINT, 8-37
Routines,
DTE-20, 8-36
RP PUD entry, 10-38
RP task,
ATL entry for, 10-34
TPD entry for, 10-35
RSX-llD, 1-1
RSX-llM, 1-1, 1-4, 1-6
RSX-llM utility programs,
1-7
RSX-20F,
getting help on, E-l
loading, 5-6
starting, 5-6
RSX-20F crash codes, 9-7,
A-I, 10-5
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-6
RSX-20F memory layout, 7-5
RSX-20F overlays, 7-1
RSX-20F scheduler, 7-4
RSX-20F scheduling, 7-5
RSX-20F SPR's, E-l
RSX-20F stop codes, 9-7,
A-I, 10-5
RSX-20F symbol files,
reading, 10-4
RSX-20F tasks, 7-5, C-l
RSX-20F version number,
10-11
RSX-20F/RSX-llM differences,
1-7
RSXFMT, B-1
RSXFMT commands, B-2
RSXTlO, B-1
RSXTIO commands, 8-2
Index-2l
INDEX (CONT.)
RTS signal, 7-11, 7-13
RUN PARSER command, 4-18
Running FE program, B-4
Running KLERR, 9-1
Running LOGXFER, 9-11
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-25
/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-8
Scanner queue,
data line, 10-36
Scatter writes, 8-23
SCD DTE-20 bit, 8-18
Scheduler,
RSX-20F, 7-4
Scheduling,
RSX-20F, 7-5
task, 1-5, 7-8
Secondary protocol, 7-20,
8-29
Section,
Communications Region,
8-1
Selection code,
diagnostic, 8-15
Semophore,
Indirect-in-progress,
8-38
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-39
owning processor's, 8-4
Service routine,
terminal, 7-13
SET AC-BLOCK PARSER command,
4-19
SET CLOCK NORMAL Prs
command, 4-19
SET CONSOLE PARSER command,
4-4
SET DATE PARSER command,
4-20
SET FAULT-CONTINUATION
PARSER command, 4-21
SET FS-STOP PARSER command,
4-21
SET INCREMENT PARSER
command, 4-21
SET KLINIK command, D-5
SET KLINIK PARSER command,
4-21
SET NO OUTPUT command, 4-22
SET NOT PARSER command,
4-21
SET OFFSET PARSER command,
4-22
SET RELOAD PARSER command,
4-22
SET REPEAT PARSER command,
4-23
SET RETRY PARSER command,
4-23
SET TRACKS PARSER command,
4-23
SET UTO-TAKE PARSER command,
4-19
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-5, D-6,
D-7
Setting word transfer mode,
8-18
SHOW PARSER command, 4-23
SHUTDOWN PARSER command,
4-23
Signal,
acknowledge, 7-27
Data Terminal Ready, 7-11
DTR, 7-11, 7-13
Request To Send, 7-11
RTS, 7-11, 7-13
Significant event, 1-5, 1-7
Significant event flags,
10-11
Index-22
INDEX (CONT.)
Single-stepping the DTE-20,
8-11, 8-12
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
Stacks,
PDP-II, 1-4
Start date,
KLINIK access window,
10-14
START MICROCODE PARSER
command, 4-24
START TEN PARSER command,
4-24
Start time,
KLINIK access window,
10-14
Starting bootstrap program,
5-1, 5-7
Starting disk block, 6-32
Starting KLINIT, 5-6
Starting PARSER, 4-1
Starting RSX-20F, 5-6
Startup,
power-fail, 7-14
Startup routine,
. DLM TO , 7 -1 5
.DMTMO system, 7-14
CTY, 7-15
DL-IIE, 7-15
• D LM TO , 7 -1 5
.DMTMO system, 7-14
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-28
Status block,
CTY, 10-20
Status Block,
Front End, 10-10
Status block,
LP-20, 10-29
STATUS DTE-20 register,
8-10
Status register,
DTE-20, 8-36
STATUS word,
Comm Reg, 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-32
STD entry for DECtape
driver, 10-32
STD entry for DTE-20 driver,
10-31
STD entry for FIIACP, 10-32
STD entry for FE driver,
10-32
STD entry for floppy disk
driver, 10-32
STD entry for LP driver,
10-32
STD entry for queued
protocol, 10-32
STD entry for terminal
driver, 10-32
STD node, 7-6, 7-7
STD table, 10-31
.STDTB table, 7-7
STNXT routine, 7-27
Stop codes,
RSX-20F, 9-7, A-I, 10-5
Storage bitmap file, 2-4
Strapping options,
modem, 7-10
String data,
transferring, 8-23
STTYDN routine, 7-27
Subdirectories,
loading monitor from, 5-2
SWEEP PARSER command, 4-24
Switch register,
DECtape, 5-5
floppy disk, 5-3
Switch register bit
definitions, 5-5
Switch register boot
parameter, 10-13
Switching to primary
protocol, 8-30
SWSLLT DTE-20 bit, 8-17
Symbol files,
reading RSX-20F, 10-4
Index-23
INDEX (CaNT.)
Symbolic debugger,
FEDDT, 10-1, 10-2, 10-3,
10-4
Symbols loaded,
saving FEDDT with, 10-2
Synchronous traps, 1-3, 7-8
SYSERR program, 7-15, 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-17, 5-21, 5-22,
5-23, 5-24, 5-25, 5-26,
5-27, 5-28, 5-29, 5-30,
5-31, 5-32
System PUD entry, 10-38
System startup routine,
.DMTMO,7-14
System startup time, 7-22
System Task Directory, 7-6,
10-31
System traps, 7-8
T20ACP task, C-2
Table,
Processor, 8-36
TAKE command,
PARSER, 4-25
Tape boot program,
magnetic, C-3
Task,
ATL node of current, 7-8,
10-5
COP, C-l
FIIACP, C-l
INI, C-2
KLI, C-l
LOGXFER, 9-10
LOGXFR, C-l
MOU, C-l
null, 7-8
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-31
Task image,
patching a, 6-31
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-8, 10-33
Task Partition Directory,
10-35
Task pointer,
current, 10-11
Task scheduling, 1-5, 7-8
Task that crashed,
determining the, 10-5
Tasks, 1-5
Executive, 7-5
Files-II, 1-7
nonprivileged, 1-6
nonresident, 1-6
pr ivileged, 1-6
resident, 1-6
RSX-20F, 7-5, C-l
Tasks in GEN partition,
installing, 7-8
TENADl-2 DTE-20 register,
8-21, 8-22
Terminal,
remote KLINIK, D-2
Terminal count,
Send-All, 10-20
Terminal driver,
STD entry for, 10-32
Terminal driver routine,
7-11, 7-12, 7-13
Terminal PUD entry, 10-37
Terminal service routine,
7-10, 7-13
Terminal task,
ATL entry for, 10-34
TPD entry for, 10-35
Terminal timeout routine,
7-20, 7-21, 7-22, 7-23
Terminating KLINIK link,
D-8
Terminating KLINIT dialog,
5-6
Termination of byte
transfer,
error, 8-12
Test condition,
Field Service, 8-16
Testing parity network,
8-18
Thread lists,
LPT, 7-4
TTY, 7-4
Time,
file creation, 2-3
file revision, 2-3
Index-24
INDEX (CaNT.)
Time (Cont.)
PDP-II, C-2
Timeout counter, 10-20
Timeout routine,
CTY, 7-15
DL-llE, 7-15
modem, 7-13, 7-14
terminal, 7-20, 7-21,
7-22, 7-23
TKTN messages, 9-7
TKTN task, 9-1, C-l, 10-12
TO-IO buffer's current
device, 10-15
TO-IO data transfer, 8-16,
8-23
TO-IO data transfer across
DTE-20, 8-1
TO-IO data transfers,
controlling, 8-21
TO-IO delay count, 8-23
TO-IO queue, 10-15
TO-IO queue current head,
10-15
TO-IO queue pointer, 10-6
TO-II data transfer, 8-16,
8-23
TO-II data transfer across
DTE-20, 8-1
TO-II data transfers,
controlling, 8-20
To-II direct transfer, 8-37
To-II done interrupt, 8-37
To-II indirect packets,
8-36
To-II indirect transfer,
8-38
TO-II queue entry count,
10-15
TO-II queue pointer, 10-6
To-II transfer, 8-37
To-eleven direct packets,
8-34
To-ten direct packets 7 8-33
To-ten extended direct
packets, 8-34
To-ten indirect packets,
8-35
TOIO DTE-20 bit, 8-16
TOIOAD DTE-20 register,
8-20, 8-23
TOIOBC DTE-20 register,
8-10, 8-20, 8-23
TOIOBM DTE-20 bit, 8-18
TOIODB DTE-20 bit, 8-12
TOlODN DTE-20 bit, 8-11
TOIODT DTE-20 register,
8-19
TOIOER DTE-20 bit, 8-11
Tall DTE-20 bit, 8-16
TOllAD DTE-20 register,
8-19, 8-23
TOllBC DTE-20 register,
8-20, 8-23
TOIlDB DTE-20 bit, 8-11
TOllDN DTE-20 bit, 8-12
TOllDT DTE-20 register,
8-19
TOllER DTE-20 bit, 8-12
TOPID word,
Comm Reg, 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 subdirs with
BOOT.EXB, 5-2
TPD entry for CR task,
10-35
TPD entry for DECtape task,
10-35
TPD entry for DTE-20 task,
10-35
TPD entry for FllACP task,
10-35
TPD entry for FE task,
10-35
TPD entry for floppy disk
task, 10-35
TPD entry for GEN partition,
10-35
TPD entry for install task,
10-35
TPD entry for LP task,
10-35
TPD entry for queued prt
task, 10-35
TPD entry for RP task,
10-35
TPD entry for terminal task,
10-35
Tracking capability,
KLINIT, 5-7
Transfer,
data, 8-33
direct, 8-33
error termination of byte,
8-12
extended direct, 8-37
TO-IO data, 8-16, 8-23
To-II, 8-37
TO-II data, 8-16, 8-23
to-II direct, 8-37
To-II indirect, 8-38
Transfer across DTE-20,
TO-lO data, 8-1
frO-II data, 8-1
Index-25
INDEX (CONT.)
UNIBUS parity error,
NPR, 8-11
UNIBUS parity flip-flop,
8-18
UNIBUS receiver error, 8-18
Unit device tables,
physical, 10-37
Unit Tables,
Logical, 10-37
Unmapped system, 1-5
UNMARK-MICROCODE PARSER
command, 4-25
User File Directory, 1-7,
2-1, 6-29
User Identification Code,
2-1
User KLINIK dialog,
remote, D-9
User mode, 4-4
User terminal,
remote, D-ll
Using the DTE-20 registers,
8-22
Utility programs, 7-5
RSX-IIM, 1-7
UUO's,
TOPS-IO, 1-4
Transfer dialog,
file, B-5
Transfer mode,
byte, 8-23
diagnostic data, 8-15,
8-16
normal data, 8-15
setting byte, 8-18
setting word, 8-18
word, 8-23
Transfer rate,
data, 8-21
Transferring data between
processors, 8-8, 8-19,
8-20, 8-21, 8-22, 8-30
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-IO data,
8-21
controlling TO-II data,
8-20
data, 1-4
Transition,
carrier, 7-11
Trap,
power-fail, 7-9
Trap conditions, 7-8
Trap handling, 7-9
Trap vectors, 1-3, 7-8
Traps, 1-3
asynchronous, 1-3, 7-8
synchronous, 1-3, 7-8
system, 7-8
TT.CRW bit, 7-14, 7-15
TT.RIP bit, 7-14, 7-15
TTY thread lists, 7-4
Type,
file, 2-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-8
Verification error reports,
microcode, 5-35
Verifying KL microcode, 5-1,
5-8, 5-42
Verifying memory examines,
8-8
Version number,
Comm Reg protocol, 8-3
Comm Region, 8-3
file, 2-2, 2-4
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
UA.MCB file, 5-1
UB.MCB file, 5-1
UFD, 2-1
UFD error messages, 6-30
UFD task, C-2
UFD utility, 6-29
/ALL, 6-29
UIC, 2-1
UNIBUS, 1-3
UNIBUS parity error, 8-17,
8-18
Index-26
INDEX (CONT.)
Volume number,
relative, 2-2
Wait,
Carrier, 7-14
Warning messages,
KLINIT, 5-17, 5-18, 5-19,
5-20
WEP DTE-20 bit, 8-18
WHAT AUTO-TAKE PARSER
command, 4-26
WHAT CLOCK PARSER command,
4-26
WHAT CONSOLE PARSER command,
4-4, 4-26
WHAT DATE PARSER command,
4-26
WHAT FAULT-CONTINUATION
PARSER command, 4-26
WHAT HARDWARE PARSER
command, 4-26
WHAT INCREMENT PARSER
command, 4-26
WHAT KLINIK command, D-8
WHAT KLINIK PARSER command,
4-27
WHAT MEMORY PARSER command,
4-27
WHAT OFFSET PARSER command,
4-27
WHAT OUTPUT PARSER command,
4-27
WHAT PARITY-STOP PARSER
command, 4-27
WHAT RELOAD PARSER command,
4-27
WHAT REPEAT PARSER command,
4-28
WHAT RETRY PARSER command,
4-28
WHAT TRACKS PARSER command,
4-28
WHAT VERSION PARSER command,
4-28
Word transfer mode, 8-23
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-27
XCT 71, 9-1
XCT PARSER command, 4-28
XOFF character, 7-20, 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-37
ZAP internal registers,
6-34
ZAP modes, 6-32
ZAP quantity register, 6-37
ZAP read-only mode, 6-32
ZAP registers, 6-36
ZAP relocation register,
6-33, 6-36
ZAP task image mode, 6-33
ZAP utility, 6-31
lAB, 6-32
ILl, 6-32
IRO, 6-32
ZERO PARSER command, 4-29
Zeroing a floppy disk, 6-2
TOPS-IO/TOPS-20
RSX-20F
System Reference Manual
AA-H352B-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.
Did you find errors in this manual? If so, specify the error and the page number.
Please indicate the type of reader that you most nearly represent.
[J Assembly language programmer
[J
[J
[J
[J
Higher-level language programmer
Occasional programmer (experienced)
User with little programming experience
Student programmer
[J Other (please specify) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Name ______________________________________ Date ________________________
Organiza tion _____________________________ Telephone ___________________
Street ____________________________________________________________________
City _______________________
State ____ Zip Code _____
or Country
,,
I
,
,
1
1
- - - -00
Not Tear - Fold Here and Tape - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - .- -
~DmDD
.•
•
aI
IIIIII
BUSINIESS REPLY MAIL
FIRST CLASS PERMIT NO. 33 MAYNARD MASS.
POSTAGE WILL BE PAID BY ADDRESSEE
SOFTWARE IPUBLICATIONS
200 FOREST STREET MR1-2/E37
MARLBOROUGH, MASSACHUSETTS 01752
-- - -
1
-I
J
No Postage
Necessary
if M~ilecl in the
United States
--_.
--_.
-----------------------..___-1_-
Do Not Tear - Fold Here and Tape - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - _. - - -
i
1
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