Help with PDP-11 Unibus Map Hardware / Software under RT-11
Jerome H. Fine
jhfinedp3k at compsys.to
Tue Aug 7 14:49:11 CDT 2007
Hopefully, this request is clear enough to be understood. Both the
software and the hardware portion of the questions are independently
important, so please answer one aspect even if you can't help with
Over the past 30 years of using PDP-11 software (RT-11 over 95%)
and hardware, I have never had occasion to use a Unibus system with
more than 256 KB of memory (such as a PDP-11/34).
I would appreciate help in understanding the Unibus Map hardware which
(if I understand its purpose correctly) is to convert 18 bit addresses given
to a Unibus controller into 22 bit addresses for real physical memory for
systems like a PDP-11/84 and perform DMA from / to the hard drive.
Also helpful would be an explanation of the related software used under
RT-11 along with exactly where the Unibus Map hardware is located
on a real DEC system (on the CPU board I presume) since the identical
CPU board is used for both the Qbus and the Unibus with both the
PDP-11/84 and the PDP-11/94.
DO NOT READ THE FOLLOWING if you don't use RT-11!!!!!!!
By way of context, I have successfully modified the HD0: device driver
originally written by John Wilson which obviously executes ONLY under
E11. Last week, John mentioned in a private e-mail that it is possible to
direct the HD0: "controller" (all references to hardware in quotes refers
to E11 software) to ignore the "Unibus Map hardware". Since I execute
under E11 using Qbus emulation in order to stay totally compatible with
the real DEC PDP-11/23, PDP-11/73 and PDP-11/83 systems (all Qbus
and all with 4 MB of physical memory) which I have available for comparison
testing, user buffers in physical memory above 256 KB are often a situation
which can't be avoided.
Consequently, it had always been a high priority to have a 22 bit device
for HD0: under E11 BECAUSE HD0: is TWICE as fast as MSCP (DUX.SYS
device driver). In addition, I have also been able to write code that
overhead of using the HD0: device driver which makes HD0: FOUR times as
fast as MSCP and also allows for direct access of 2 TB of disk space via a
32 bit block number. Since I have an immediate application for a data base
of 32 GB (I have a disk drive of 160 GB, so 32 GB is only 20% of its
although under RT-11 15 years ago in 1992, 32 GB would have been only a
dream), the code which I have written will actually be used quite soon.
However, I would very much like the HD0: device driver to be able to execute
under both "Qbus" and "Unibus" hardware. And while I can test the code for
a "Qbus" and for a "Unibus" without a "Unibus Map", I am not clear about
what is required for a "Unibus" with a "Unibus Map" such as a PDP-11/84
running under RT-11.
Megan are you still watching the list? Allison, if you can't answer,
but Megan help? Is anyone else familiar enough with the "Unibus Map" that
you can suggest what RT-11 actually needs to do with the "Unibus Map"?
A solution is to check the "hardware" configuration and refuse to allow the
HD0: device driver to LOAD or .Fetch if the modified version is not
executing under "Qbus hardware".
By the way, if anyone who is thinking of a controller for the Qbus which is
able to use SATA drives, I would be happy to modify an RT-11 device
driver to an HD0: type device that is able to handle drives up to 2 TB
in the same manner that DU(X).SYS can handle drives up to 8 GB.
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.
More information about the cctech