Hardware controller to emulate Ersatz-11's HD:

Jerome H. Fine jhfinedp3k at compsys.to
Fri Sep 28 16:51:22 CDT 2007

This request is actually more than on topic since the software in
question was written in 1995.  Specifically, John Wilson wrote
HD.MAC in 1995 as a temporary substitute for DU(X).SYS
to use large (up to 32 MB) disk drives under Ersatz-11.

Being a bit of an RT-11 nut (OK a lot of an RT-11 nut, addict),
I finally enhanced HDX.SYS to use 22 bit addresses under the
Qbus so that I could replace VMX.SYS after I noticed that using
HDX.SYS was so much faster than both VMX.SYS (3 times as
fast) and DUX.SYS (twice as fast).  PLUS, my minimum version
of the LOADed code for HDX.SYS is smaller than VMX.SYS,
supports a full 65536 block RT-11 partition (sort of obvious vs
less than 8192 blocks for VM: on the PDP-11) and also supports
the commands:
SET  HD:  NAME  (allows an RT-11 user to COPY  HD.SYS  VM.SYS)
SET  HD:  UNIT=nn (n = 0 to15) (allows the RT-11 user to specify the 
Ersatz-11 unit)
SET  HD:  [NO]WRITE (allows the RT-11 user to make the disk RONLY)

In addition, I have written code which executes at the user level
which, under Ersatz-11, avoids the overhead associated with
an EMT request and is twice as fast again as using the HDX.SYS
device driver.  Whereas:
takes over 2 seconds,
takes just about 1 second
and my user subroutines take about 0.5 seconds to copy the same
32 MB RT-11 partition.  Compare that with about 5 minutes for an
RD53 to RD53 copy and about 4 minutes for an ESDI to ESDI
copy (using either Maxtor or Hitachi drives) on a PDP-11/83.  The
comparison figures are for a 750 MHz Pentium III.  I imagine that
a 3+ GH Pentium 4 will be about 4 times as fast, maybe even faster
using SATA 2 hard drives of (1 TB?).

Well, no good effort goes unpunished and one thing led to another.
I am testing other versions including support for 64 units under
RT-11 and I have a solution looking for a problem.  I know that
a few people have discussed a Qbus controller for the PDP-11
to use the current large disk drives.  Well, MSCP emulation might
be the final goal, however, I would be VERY pleased to support
the HD(X).SYS code for anyone who might want to develop the
hardware to interface this almost trivial example of an interface to
the PDP-11 which uses 8 IOPAGE registers as detailed by John
Wilson in his hobby version of E11 in the source file HD.MAC,
although there are 2 essential details omitted in the documentation
concerning 22 bit Qbus operation and size requests.  The key point
is that John Wilson's interface (based on a Russian idea which used
only 4 IOPAGE registers) is a simple as any concept might be needing
only the byte count, block number and user buffer address for each
read or write request.

Finally, I will also suggest to Bob Supnik or anyone else who may be
interested that SIMH might also make use of HD(X).SYS since the
interface should be just as efficient under that emulator as Ersatz-11.

Does anyone reading this agree and if so, is Bob Supnik the best person
to make this suggestion to?  Does anyone reading this have both the
interest and the ability to write the interface code for SIMH to handle
an HD: type of disk drive?  Can you suggest who might be interested
or have that ability.  For myself, while I also use SIMH, it lacks two
essential features:
(a)  Built in VT100 emulation
(b)  Is only about 1/10 the speed of Ersatz-11

Can anyone help with a contact address for Bob Supnik and anyone else
who may wish to consider my request?

Sincerely yours,

Jerome Fine

More information about the cctech mailing list