Trailing-Edge
-
PDP-10 Archives
-
bb-x130a-sb
-
ksdmr.doc
There are 6 other files named ksdmr.doc in the archive. Click here to see a list.
1.0 INTRODUCTION
The 7.02 release of the TOPS-10 monitor contains unsupported
code to run DMR11s on a KS10. Although this code has been
used successfully on in-house systems, it is not an official
part of the Monitor.
This document describes the known limitations and advantages
of using a DMR11 on a KS10. It also describes the process
necessary to install and use the software. Hardware
installation considerations are also discussed.
No representation is made that this document is complete or
correct in all respects. Although every effort has been
made by the author to ensure its correctness, Digital
disclaims any responsibility for the use of unsupported
hardware and/or software, whether or not such use is in
accordance with information contained in this document, or
any other.
2.0 LIMITATIONS AND RESTRICTIONS
Use of a DMR11 in a KS10 represents a change to both the
hardware and software environment, and may impact the
perceived performance of the system.
The DMR11 hardware's inherent performance exceeds the
ability of the 2020 to drive it. As a consequence,
configuring a 2020 which includes DMRs requires evaluating a
complex set of trade-offs. Although this document will
attempt to present some of the considerations involved in
this evaluation, you should enlist the help of a qualified
network analyst in applying them to your situation.
The "standard" 2020 configuration has extremely limited
backplane space. It is not possible to install DMR11s in a
maximally configured 2020 system without the purchase of
additional hardware. Installing DMR11s in a smaller system
may limit future expansion.
We strongly urge any site considering installing this option
to consult with their local Field Service and Software
Services representatives prior to making any final decision.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 2
3.0 ADVANTAGES
The DMR11 provides the following advantages over KDP
(KMC/DUP) synchronous interfaces:
o The DMR11 supports V.35, RS-422-A, RS-423-A, and
coaxial cable interfaces, in addition to RS-232-C.
o The coax DMR11 can operate over a distance of up to
6 km (19,685 feet) without an external modem.
o The DMR11 will operate in half-duplex mode. Half
duplex mode is supported by the software for
DECnet, ANF-10, and Program use.
o The DMR11 will operate over a switched (dial-up)
line, and will provide the necessary modem control.
o The DMR11 runs self diagnostics upon startup. The
monitor will not use a DMR that fails
microdiagnostics.
o The DMR11 does all DDCMP protocol (including
retransmissions) without help from the KS10 CPU.
This results in slightly lower overhead.
o The DMR11 can have more than two buffers
outstanding at any one time.
o The DMR11 does not require a user-mode microcode
loader.
4.0 PERFORMANCE CONSIDERATIONS
Preliminary testing indicates that the performance of a
DMR11 on a 2020 is approximately the same as that of a KDP.
Thus, although the DMR11 hardware is capable of higher
speeds than the KDP, the DMR should not be viewed as a way
of getting higher network thruput from a 2020.
Setting the speed of a DMR link higher than the 2020 can
accept data will cause retransmissions, and if taken to
extremes, may cause the other node to declare the link down.
Such retransmissions cause unnecessary Unibus traffic on
both nodes, and unnecessary KSBus traffic on the 2020. Such
traffic can impact the performance of other applications on
the system(s).
Although there is no experimental data supporting it, we
expect that the DMR11 may perform significantly better than
a KDP over links which have a high error rate, and which
pipeline effectively. (eg. Satellite links) This is
KSDMR.BWR - Beware file for KS DMR (non-)support Page 3
because the format of network messages is changed to
accomodate the KS10 UBA whenever a message is given to an
interface for transmission. This is a fairly expensive
operation, and is one of the limits of a 2020's network
performance. Because the DMR holds the buffer containing
the external form of the message until it has been DDCMP
ACK'd, the DMR's retransmissions have lower cost than a
KDP's. A DMR can also manage up to 64 outstanding buffers
(if you can afford the core).
5.0 HARDWARE OPTIONS
The DMR11 used for a 2020 is the same as that used for
PDP-11 and VAX applications. The basic DMR11 subsystem
(DMR11-AD) includes the microprocessor and line unit
modules, documentation, test connectors, and a module
interconnect cable. Customers should NOT order the DMR11-AD
option. Instead, one of the four DMR11 packages should be
ordered, depending on the interface type desired. These
are:
o DMR11-AA - RS-232-C/RS-423-A
The RS-232-C/RS-423-A distribution panel mounts
inside the KS10 cabinet. Connection to the
external modem requires purchase of a BC05D-25
cable for RS-232-C modems, or a BC55D-33 cable for
RS-423-A modems.
o DMR11-AB - CITT V.35
This package includes a 25 foot (BC05Z-25) cable
that terminates in a 37 pin DataPhone Digital
Service (DDS) connector.
o DMR11-AC - Integral modem (Coax)
Interconnecting two DMRs requires TWO cables for
full duplex operation. Only one cable is required
for half duplex. For 2020 data rates, purchase
BC55N-98 twinax cable. (98 feet long) Longer
cables can be purchased on special order thru
Digital's Accessories and Supplies group.
o DMR11-AE - RS-422-A
The RS-422-A distribution panel mounts inside the
KS10 cabinet. Connection to the external modem
requires purchase of a BC55D-33 cable.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 4
6.0 HARDWARE INSTALLATION
6.1 Backplane Requirements
Each DMR11 requires 2 hex-height SPC slots on UBA 3. The
DMR11 can co-exist with KDP lines. A fully configured 2020
has no free hex-height slots. Reasonable trade-offs
include, but are not limited to:
o 1 DMR and no KDP lines. Use slots 2 and 4.
o 2 DMRs and no KDPs. Use slots 2,3,4, and 5. This
implies that no more than 24 terminal (DZ11) lines
exist.
Of course, it is possible to add a DNHXX-AA/AB expansion box
to hold the DMRs. In this case, you must order a DD11-DK
backplane, as the expansion box comes empty. The DNHXX will
be mounted to the left of the current CPU box to keep the
Unibus length within specifications. This may require
changing Massbus cables to disks or tapes.
6.2 Power Requirements
Each DMR11 requires 8 Amps of +5 volts, .1A of +15 Volts,
and .2A of -15 Volts. The BA11-K mounting boxes which are
used in the KS10 have a capacity of 50A of +5V (split
between 2 25A regulators), 4A of +15V, and 10A of -15V.
Field Service must verify that any DMRs added to a system do
not require more power than is available in the box, and
that the power capacity of the backplanes involved is not
exceeded. (A DD11-DK can power no more than three DMR11s.)
6.3 Unibus Loading
Each DMR11 represents 1 Unibus DC load, and 5 Unibus AC
loads.
6.4 Address/Vector/Priority
The KS puts DMR11s into the Unibus "user" address space in
the IO page. DMR addresses are assigned starting at 764000,
and proceed sequentially in increments of 10 for each DMR
installed. DMR vectors start at 610. DMRs are expected to
operate at their default BR level, 5.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 5
6.5 Installation Considerations
The information presented here is intended to supplement
that presented in the DMR11 Technical Manual. It is not
complete, and should be used in conjunction with the
instructions in chapter 2 of that manual.
Backplane voltages should be checked with a DMM, and
adjusted if necessary both before and after installation of
each DMR11. Both slots of each DMR should be checked. +5
is on C1A2, +15 is on C1U1, and -15 is on C1B2.
The NPG backplane jumper must be removed from CA1-CB1 of the
backplane slot used for the microprocessor (M8207-RA)
module.
Caution
Failure to remove this jumper
may damage the M8207, as well
as result in incorrect system
operation.
6.6 Jumpers and Switches
6.6.1 M8207 (Microprocessor Module) -
The "normal" configuration from the technical manual is
correct, except with respect to addressing. The KS does not
use floating addresses for the DMR. See above.
Thus, W1, W2 are installed. E28-7 is ON, E28-8 is OFF, and
E85-1 is ON.
6.6.2 M8203 (Line Unit Module) -
Jumpers should be exactly as specified in table 2-8 of the
technical manual. Note in particular that W17 should be
OUT, even for "half duplex" operation. Some DMRs have been
known to arrive mis-jumpered, so check!
Switch pack E39 - set per customer requirements.
Switch pack E121 - SW1-8 should all be ON. SW9-10 should be
ON, unless a DMC is on the other end of the link, in which
case SW9 is OFF and SW10 is ON.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 6
Switch pack E134 - SW1-8 should all be OFF. SW10 should be
OFF. SW9 should be ON for non-switched lines (eg null
modems, leased lines), OFF otherwise (dial-up). Except in
unusual cases, everything will work with SW9 OFF even on
non-switched lines.
For DMR11-AAs, refer to table 2-13 (p 2-27) for distribution
panel jumper selections.
For DMR11-ACs, Make sure that the terminators are installed
per figure 2-7 or 2-8 (p 3-35/6). Note that only one
terminator is installed per cable, and that it goes at the
RCV end. Also ensure that the HDX/FDX switch is set
correctly on the distribution panel.
6.6.3 Ribbon Cables And Berg Connectors -
All of the ribbon cables and other Berg connectors in a DMR
can be inserted two ways. ONLY ONE OF THEM WORKS. Here are
a few hints on getting it right the first time:
o The ribbon cable that goes between the line unit
and the microprocessor modules has no twists when
installed correctly. The cable is marked on the
smooth side at each end with AA and VV. Make sure
that the AA edge of the cable is inserted into the
AA end of the module connector, and that the VV
edge of the cable is inserted into the VV end of
the module connector.
o The Ribbon cables that go from the M8203 to
RS232/RS442 or RS423 distribution panels are
similarly marked. But note that the Ribbed side
faces out.
o The COAX cables that go to the Integral Modem
(DMR11-AC) distribution panel install
counter-intuitively; when correctly inserted, the
cable from the connector runs toward the FRONT of
the BA11 box and is squeezed tightly along the
M8203 edge. The plastic tab faces away from the
module.
6.6.4 Mounting Distribution Panels -
The DMR11-AA/AB/AE (eg all but V.35) all run a ribbon cable
from the M2803 to a metal distribution panel. For proper
operation, the distribution panel must be properly grounded
to the frame of the 2020 cabinet. Scrape both the panel and
the cabinet rail, and use lockwashers liberally. Also, make
KSDMR.BWR - Beware file for KS DMR (non-)support Page 7
sure that the spot you pick will allow clearance and
sufficient cable slack for the BA11 box to slide in/out and
rotate for service, and that the rear cabinet door will
close with connectors inserted into the panel.
6.6.5 Site Management Guide -
Installation of DMR11(s) on a 2020 system is not complete
until the site management guide has been updated to reflect
the new hardware and software.
The following is recommended:
o General Information Page
Add an item stating that unsupported DMR11 hardware
is installed.
o Bus Layout/Configuration
Add the new device(s) to the bus in their proper
locations. Add the BR, CSR, and vector assignments
both here and on the label on top of the BA11 box.
o System and Diagnostic Software
Insert a copy of this document, and the console
output of a complete successful run of the
diagnostics. Include the location of the
diagnostics.
7.0 DIAGNOSTICS
7.1 Availability
Diagnostics for the DMR11 are available to Digital Field
Service personnel from the DMR11 TOPS-10 developer.
7.2 Restrictions
The 2020 DMR11 diagnostics run in PDP-11 compatibility mode.
Certain diagnostics (noted below) will incorrectly report
failures.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 8
7.3 Reference Documentation
Information on operation of the DMR11 diagnostics can be
found in the DMR11 Synchronous Controller Technical Manual,
and in the Maintenance Documentation Service microfiche set.
7.4 Operation
The DMR11 diagnostics are loaded from a TOPS-10 system pack
by MONBTS. They are provided as PDP-10 .EXE files, and
operate under a special version of DDT11.
Five diagnostics are provided. These are:
o ZDMPB0 - M8207 Static Diagnostic #1
This diagnostic is equivalent to the PDP-11
diagnostic CZDMPB0. It performs basic tests of the
microprocessor, and should be the first diagnostic
run.
o ZDMQB0 - M8207 Static Diagnostic #2
This diagnostic is equivalent to the PDP-11
diagnostic CZDMQB0. It performs extended tests of
the microprocessor, and should be the second
diagnostic run.
You should note that the normal position of the Run
switch (SW7 E28) is ON, while the default for the
diagnostic's prompt is OFF. Tests 9, 27, and 42
will fail if the run switch is ON and the
diagnostic is not told.
Test 31 will usually fail even with a good M8207;
it is dependent on CPU timing, and a KS is not a
PDP-11. The expected error is "ERR 100 CLOCK TIME
TOO FAST".
Test 32 will also fail; the KS does not support
remote load detect. The expected errors are "ERR
17 FORCE POWER FAIL ERROR" and "ERR 35 FORCE POWER
FAIL ERROR".
o ZDMRD0 - M8203 Static Diagnostic #1
This diagnostic is equivalent to the PDP-11
diagnostic CZDMRD0. It performs basic tests of the
line unit. It assumes that the microprocessor is
in working order, since it is dependent on it to
access the M8203; the M8203 is not accessible from
the UNIBUS.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 9
The microprocessor Run switch (SW7 E28) can also
cause test failures if set incorrectly; however in
this case, the default is correct.
o ZDMSD0 - M8203 Static Diagnostic #2
This diagnostic is equivalent to the PDP-11
diagnostic CZDMSD0. It performs extended tests of
the line unit. It should be run after ZDMRD0 runs
successfully.
This diagnostic is most useful if you install
turnaround connectors someplace; the diagnostic
allows for 4 places to put them. One should be
suitable for your site.
The diagnostics asks for the contents of three
M8203 registers that are derrived from switch
settings. If you change the SW P-table, you can
get test 11 to print them for you. Of course, you
still get to check that what it prints corresponds
to what you intended to set.
o ZDMIC0 - DMR11 Functional Tests
This diagnostic is equivalent to the PDP-11
diagnostic CZDMIC0. It performs functional testing
of the DMR11 subsystem, and should be run after the
static diagnostics.
Test 2 will print out the revision level of the
DMR11 CROMs.
Test 10 will generally fail even with a good DMR11.
It depends on CPU timing. The expected error is
"ERR 19 M8207 PROGRAM TIMER OUT OF RANGE".
7.5 Loading and Starting Diagnostics
The DMR11 diagnostics are started in the same way as a
monitor is.
Type Control/Backslash (\) to get the KS10> prompt. Then BT
to load BOOT. Type DSKB:diagnostic[6,6]<CR> to load and
start DDT11. When you get the "Input: " prompt, enter the
magic string "/UBA:3/LA36/PATCH/GO". Typing errors may
cause alarming failures; if they do, start over. When you
get a prompt of a blank line, type 200<ESC>G to start
execution. From this point on, the dialog is the same as
that for the PDP-11 diagnostic.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 10
For example, the following shows loading and starting
ZDMRD0:
^\
KS10>BT
KS10>USR MOD
BOOT V1(4)
BOOT>DSKB:ZDMRD0[6,6]
[Loading from DSKB:ZDMRD0[6,6]]
DDT11 5(55)-3
Input: /UBA:3/LA36/PATCH/GO
200$G
beginning execution @pc = 200
DIAG. RUN-TIME SERVICES-D-0
M8203 STATIC LOGIC TESTS - PART 1 OF 2
INIT IS M8203
50 HZ (L) N ?
LSI (L) N ?
DR>STA/PASS:1/FLAGS:PNT
# UNITS (D) ? 1
UNIT 0
DEVICE CSR ADDRESS : (O) 164000 ?
DEVICE VECTOR ADDRESS : (O) 610 ?
DEVICE PRIORITY LEVEL : (O) 5 ?
M8207 RUN SWITCH (E28 SW7) - TYPE 0 IF OFF, 1 IF
ON : (O) 1 ? 1
TST:001
TST:002
...
TST:042
CZDMR EOP 1
0 CUMULATIVE ERRORS
DR>
KSDMR.BWR - Beware file for KS DMR (non-)support Page 11
8.0 SOFTWARE INSTALLATION
8.1 Rebuild MONGEN
Building a monitor with DMR support requires that MONGEN be
re-assembled with FTUNSUPPORTED turned on.
8.2 HDWGEN differences
When FTUNSUPPORTED is turned on, the dialogue differs in
many places from the docunentation in the Software
Installation Guide. Only the DMR-specific changes are
discussed here.
Following the section on KDPs, a new section on DMR lines
appears.
# DMR11 Lines(0,0-8)[Number of DMR11 synchronous line
controllers.]:
Reply with the number of DMR11s installed in your 2020.
If a DMR is not found at run time, a message is issued,
but the system will function without it.
The following questions are repeated for each DMR in the
configuration:
DMRn line type(ANF10,DECNET,USER,IBM):
Reply with a one of the listed keywords. Your reply
indicates which of the protocols listed is allowed use
of this DMR. USER allows you to OPEN the DMRn device
and run your own protocol. IBM has never been tried.
DMRn switched line(Y,N)[
Does DMRn control a switched (dial-up) line]:
Reply "Y" or "N" as appropriate. Switched lines are
sensitive to DSR glitches. Non-switched lines ignore
them. If you answer "N", the remaining questions are
skipped, as they only apply to switched lines.
DMRn half duplex(Y,N)[
Does DMRn control a half duplex line]:
Reply "Y" or "N" as appropriate. "Y" causes the DMR to
be initialized in half-duplex mode. This setting must
be consistent at both ends of the physical link. If
you answer "N", the remaining question is skipped, as
it only applies to half duplex lines.
Is DMRn secondary(Y,N)[
Exactly one end of the link should be a secondary station.
Secondary status controls link startup only]:
Half duplex DDCMP requires that the start timers on
each end of a physical link differ in order to
guarantee that a START message can get thru. "Y"
KSDMR.BWR - Beware file for KS DMR (non-)support Page 12
causes a three second timer to be used. "N" causes a
one second timer to be used. DMC11s use a one second
timer. The timer value must be DIFFERENT at the other
end of the physical link.
8.3 Changing The Number Of Buffers Assigned
Each DMR is assigned static buffer space in COMMON. Two
variables in NETPRM.MAC determine how many buffers are
available to each DMR, and how much memory is allocated. In
general, the defaults should be adequate. But for satellite
links, for example, you may want to increase them.
DR%NBF is the number of buffers assigned to each DMR
channel. Each DMR has two channels (transmit and receive),
so each DMR uses 2*DR%NBF buffers. DMRPPL is the number of
pages to be allocated per DMR line. These pages are
permanently allocated in COMMON, and are used as DMR scratch
and buffer space. The exact formulae for allocation of this
space may be found in NETPRM and DMRSER (D8RINT.MAC). A
reasonable rule of thumb for the current software is that
increasing DR%NBF by one costs about 700(8) words of DMR
buffer space.
If increasing DR%NBF will make the maximum message size too
small, DMRPPL should be increased as well. For small values
of DR%NBF, there is a one for one correspondence between
increasing DR%NBF and DMRPPL.
8.4 Monitor Build
The rest of the monitor assembly and build proceeds
normally. You should assemble D8RINT.MAC in some convenient
place (after the universal files) , and include D8RINT.REL
in the LINK command string someplace after MONBTS and before
TOPS10.REL.
8.5 Considerations For Half-Duplex ANF-10 Links
Half duplex links will work with no further effort to
another KS system. Use of half duplex links to a PDP-11
based ANF node requires the following (unsupported) patch:
In your C.P11 file, add the following symbol definitions for
each half duplex DMC/DMR line:
KSDMR.BWR - Beware file for KS DMR (non-)support Page 13
LnHDX=1 ;Makes the line half duplex
LnSEC=x ;1 makes line "secondary" (3 sec timer)
"n" is the synchronous line number of the line you want to
change. Half duplex will only work with DMC/DMR lines.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 14
File 1) BLKK:DNCDMC.P11[7,7023] created: 1555 27-May-82
File 2) DSKP:DNCDMC.702[30,5742,TL] created: 1540 13-Jul-82
1)5 DMCLB0: .WORD 0 ;ADDRESS OF FIRST DMC-11 LINE
****
2)5 LSXHDX=B3 ;LINE IS TO BE RUN IN HDX MODE
2) LSXSEC=B4 ;LINE IS A SECONDARY STATION
2) DMCLB0: .WORD 0 ;ADDRESS OF FIRST DMC-11 LINE
**************
1)11 BIT #LSXMAI,LB.STX(J) ;IF MAINT MODE,
1) BNE 10$ ; THE REST IS DONE DIFFERENTLY.
****
2)11 BIT #LSXHDX,LB.STX(J) ;WANT TO RUN HDX MODE?
2) BEQ 5$ ;NO, NORMAL (FDX) MODE
2) BIS #MC.HD,R2 ;YES, SET THE BIT
2) BIT #LSXSEC,LB.STX(J) ;WANT TO USE LONG START TIMER?
2) BEQ 5$ ;NO, WE ARE MASTER STATION
2) BIS #MC.SEC,R2 ;YES, SET SECONDARY BIT
2) 5$: BIT #LSXMAI,LB.STX(J) ;IF MAINT MODE,
2) BNE 10$ ; THE REST IS DONE DIFFERENTLY.
**************
KSDMR.BWR - Beware file for KS DMR (non-)support Page 15
File 1) BLKK:DNLBLK.P11[7,7023] created: 1558 27-May-82
File 2) DSKP:DNLBLK.702[30,5742,TL] created: 1601 15-Jul-82
1)1 .WORD 0 ;LB.ST2
1) .IF NE,LBTOT
****
2)1 .WORD 0 ;LB.STX
2) .IF NE,LBTOT
**************
1)1 .ENDM X
****
2)1 .IF DF LB.STX
2) .IF GT DMCN
2) .IIF NDF,L'Q'HDX,L'Q'HDX=0
2) .IIF NE,L'Q'HDX,L'Q'HDX=1
2) .IIF NDF,L'Q'SEC,L'Q'SEC=0
2) .IIF NE,L'Q'SEC,L'Q'SEC=1
2) .=.-<LB.SIZ-LB.STX>
2) .WORD <L'Q'HDX*LSXHDX>+<L'Q'SEC*LSXSEC>
2) .=<.-2>+<LB.SIZ-LB.STX>
2) .ENDC
2) .ENDC
2) .ENDM X
**************
KSDMR.BWR - Beware file for KS DMR (non-)support Page 16
File 1) BLKK:DNDCMP.P11[7,7023] created: 0856 07-Jul-82
File 2) DSKP:DNDCMP.702[30,5742,TL] created: 1140 16-Jul-82
1)1 MOV LB.SLA(J),R3 ;GET THE HARDWARE ACCESS ADDRESS FOR LINE
****
2)1 .IIF DF,LB.STX, CLR LB.STX(J) ;NOT DMC, DUPS WANT ST2 CLEAR
2) MOV LB.SLA(J),R3 ;GET THE HARDWARE ACCESS ADDRESS FOR LINE
**************
KSDMR.BWR - Beware file for KS DMR (non-)support Page 17
File 1) BLKK:DNCNFG.P11[7,7023] created: 0900 07-Jul-82
File 2) DSKP:DNCNFG.P11[30,5742,TL] created: 1220 18-Jul-82
1)22 X ZER,0 ;FIRST WORD TO ZERO ON A RESET
1) .IF NE FTDUP11!DMCN ;AN EXTRA STATUS WORD FOR THE DUP-11 AND DMC11
****
2)22 .IF NE FTDUP11!DMCN ;AN EXTRA STATUS WORD FOR THE DUP-11 AND DMC11
**************
1)22 .IF NE,FTDUP11
****
2)22 X ZER,0 ;FIRST WORD TO ZERO ON A RESET
2) .IF NE,FTDUP11
**************
KSDMR.BWR - Beware file for KS DMR (non-)support Page 18
9.0 REFERENCES
The following documents may be consulted for additional
information:
o DMR11 Synchronous Controller Technical Manual
Describes the detailed installation and programming
of the DMR11 hardware. DEC order number
EK-DMR11-TM-002.
o M8203 Line Unit Technical Manual
Describes the operation of the line unit module.
Appendix B contains the technical data for Integral
Modem (COAX) cables. DEC order number
EK-M8203-TM-002.
o KS10-Based DECsystem-2020 Technical Manual
Describes the operation of the KS10. Power,
cabling, and Unibus limitations are included.
Also, IO programming and module utilization. DEC
order number EK-0KS10-TM-002.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 19
10.0 PROGRAMMING THE DMR: DEVICE
The DMR: device is programmed in a manner similar to the
KDP and DTE devices. Since these devices may not be
documented elsewhere, this section will provide the
information necessary to program the DMR: device.
Caution
The DMR: device is provided
primarily for DEC in-house
use. The information
presented in this section is
subject to change without
notice.
The DMR: device is programmed like any ordinary buffered
mode device, with the following exceptions/notes:
10.1 Dynamic DDBs
The DMR: device does not have a pre-allocated DDB.
Instead, the DDB is built at OPEN time. Thus, a RESOURCES
command will not show its availibility. DMR device support
is automatically included when DMRs are included in a
MONGEN.
10.2 OPEN and the DMR: device
There is one DMR: device (DMRn:) available for each
physical DMR built into the monitor. A DMR: DDB can only
be built by an OPEN UUO from a job which has POKE (JP.POK),
JACCT, or [1,2] privileges. FILOP., and random commands
will return "no such device", as will OPEN UUOs from an
unprivileged job.
10.3 Buffer Size
The DMR: device will allow you to use variable length
buffers. The default buffer size is constant for any given
monitor load, but varies as a function of the NETPRM
parameters DMRPPL and DR%NBF. Thus, you should not count on
the default buffer size in any program, unless you obtain it
from a DEVSIZ UUO.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 20
10.4 IO Modes
Only byte mode (IO.BYT) is allowed to the DMR: device.
Byte mode has a default byte size of 8 bits. Asynchronous
IO (UU.AIO set in the OPEN block) is supported. The DMR:
device supports simultaneous input and output; no implicit
WAIT UUOs are done by the monitor which would force half
duplex operation.
10.5 Software Interrupts
The usual software interrupts for asynchronous IO work for
the DMR: device; Input Done, Output Done, Input Error,
Output Error.
When DDCMP prototocol comes up on a line, an ON-LINE
interrupt is generated. When DDCMP goes down, an OFF-LINE
interrupt is generated.
10.6 File Status Bits
The following File Status (GETSTS) bits are defined for the
DMR: device:
10.6.1 IO.IMP - Set if you attempt to use a DMR that is
assigned to another protocol (DECnet, ANF10, IBMcomm). Also
set if a maintenance message is received while normal DDCMP
is running.
10.6.2 IO.DTE - Set if you attempt IO to a line that
doesn't have DDCMP running yet. (Normal mode only) This
error can occur in any mode if a switched line hasn't been
connected yet. In any case, IO.DTE is a soft error, and
should be retried after a suitable delay.
10.6.3 IO.DER - Set if protocol on the line is (went) down.
Cleared when protocol starts. Set when protocol goes down.
KSDMR.BWR - Beware file for KS DMR (non-)support Page 21
10.6.4 IO.BKT - Set if a message is received or transmitted
that exceeds the maximum message size allowed. A received
message that is too large causes the DMR to shut down the
line.
10.6.5 IO.MAI - If set, indicates that the line is to run
in DDCMP maintenance mode. If clear, indicates that the
line is to run in DDCMP normal mode.
10.6.6 IO.SRM (1B28) - Not currently set by the monitor.
If set, means that a DDCMP START was received by the DMR
while in maintenance mode. This condition can not be
dectected by the DMR11. But if set, this bit is treated as
an error condition.
10.6.7 IO.MRN (1B29) - Not currently set by the monitor.
If set, means that a DDCMP MOP message was received by the
DMR while in normal mode. Currently, this condition is
reported by IO.IMP. But if set, this bit is treated as an
error condition.
10.7 Errors
Error bits are not cleared automatically by the monitor. If
any error bit is set, the monitor will refuse to initiate
further IO. You can clear any of the error bits via OPEN or
SETSTS.