Jerry Weiss wrote:
On Nov 25,
2015, at 10:41 PM, Jerome H. Fine <jhfinedp3k at compsys.to> wrote:
For example, the DSD 880/30 (from Data Systems Design of course) emulates
3 RL02 disk drives using a single internal (non-removable) hard drive. The box
also holds a single RX03 floppy disk drive (8" floppy disk drive which supports
using single-sided media specified by DEC as an RX02 floppy in addition to
media which have the same physical interface, but which are double-sided).
For a Qbus system, the dual module controller was the interface to both the
three RL02 hard drives and the single RX03 floppy drive. I don't know if
DSD also made a separate controller for the Unibus for the DSD 880/30.
With regard to the address support by the controller for the Qbus, the floppy
drive definitely supported only an 18-bit address. That 18-bit ONLY support
by DSD was identical to the 18-bit support that DEC provided for its Qbus
controller for the RX02, so both DEC and DSD needed a bounce buffer
managed by software to support the RX02 floppy disk for systems with more
than 256 KB of physical memory.
As for DSD support for the RL02 for a 22-bit buffer address, a quick look
at the DSD manual was not able to say one way or the other. However,
it seems more likely the the DSD controller for the RL02 supported ONLY
an 18-bit address. I have all the DSD hardware, but it is not operational
at this point. If anyone else has experience with the DSD controller for
the emulated RL02, let us know if there was 22-bit address support for
its emulated RL02 drive.
Confirming that the original DSD 880 only had support for 18 bits DMA. There are
only 2 bits
in the CS register for extended addressing. I doubled checked the RT-11 handlers I had.
There was a Unibus controller for the original 7.8Mbyte RL02 reduced drive.
Google 040018-01 DSD 880 Users Manual May81
As I mentioned, a quick (about 15 minutes) look in the DSD 880/30
manual did not suggest that the RL02 emulation included hardware
to support a 22-bit address.
My first drive was, indeed, the DSD 880/8, if I remember the number
correctly, which did have only the 7.8 MB RL02 reduced drive which
you just specified. This reply is confirmation and a bit of clarification
that the part number was the DSD 880/8 as opposed to the enhanced
model, DSD 880/30, which emulated three full sized RL02 drives.
Note that both the DSD 880/8 and the DSD 880/30 included a single
RX03 floppy drive. And, of course, both also used a dual module
as the controller in the Qbus. Also, as is noted above there must
have been a controller for the Unibus.
Thank you for confirming that the RL02 emulation supported only
an 18-bit address.
The Sigma SDC RXV31 controller supported 22 bit DMA.
See 400255-C SDC-RXV31 Floppy Ctrl Man Aug86
I saw that model at one point. It was the only one I ever saw, so I
did not bother to include 22-bit support in the DYX.SYS device
handler - mostly because I would not have been able to test the code.
I used both, but double sided compatibility between the
two products was
occasionally spotty. Never did determine if it was a controller, floppy drive or media
issue.
Both the DSD 880/8 and the DSD 880/30 supported double-sided
media for the RX03 floppy drive. A check of the DSD 880/30 manual
from 1981 includes directions to modify the DYX.SYS
device driver
to support double sided operation with V04.00 of RT-11. Inspection
of the file, DY.MAC from V04.00 of RT-11, confirms that DEC had
code which supported double-sided media and even the CSR specs
in the DEC RXV21 controller specifies, as far as I can remember, a
bit to determine if the RX03 floppy drive has detected a double-sided
floppy in the drive. Note that the DEC RX02 floppy drive did not have
that electronics or hardware to detect double-sided media. It is possible
that DEC did produce an in-house RX03 drive, but I am not aware of
DEC actually selling RX03 drives to customers. PLUS, the code in the
file, DY.MAC from V04.00 of RT-11, has bugs (at least in the distribution
copy released with V04.00 of RT-11) which would prevent the correct
operation of a double-sided media. One other point of interest is that
by 1983 when DEC released V05.00 of RT-11, the extra code with
support for double-sided media had been removed from DY.MAC.
It probably should be mentioned that a different position is used for
the index hole for double-sided media (about 1/2" more to the right)
as opposed to the location of the index hole for single-sided media.
The DSD 880/30 RX03 floppy drive has TWO detection circuits
in the two possible positions to determine which media was present
in the drive. Because every floppy media that I ever saw has been
coated on both sides and could support double-sided operation
even if the index hole was in the single-sided location within the
cardboard jacket, I experimented with adding the index holes
required for double-sided operation and covered up the single-sided
index holes. After that worked successfully, I became disappointed
that I had to deface the floppy media with the extra holes. The
simple solution was to use a DPDT switch and flip the detection
circuits so that the RX03 drive would signal a double-sided media
what there was a single-sided index hole and the DPDT switch was
in the alternate position. To add to the success of that extra switch,
the DSD 880/30 supported an off-line LLF (Low Level Format)
which, of course, no DEC controller ever supported for 8" floppy
media.
In answer to the question of support for double-sided media, there
are two methods of using both sides of the floppy. One method
is to read all of one side, then read all of the other side of the floppy
media. The second method is to read both sides of the media for
each cylinder, then increment to the next cylinder. Based on the
code for DY.MAC which was present in V04.00 of RT-11, DEC
choose the former method. It seems possible that if you were using
floppy media written via one method and read by the opposite
method, there would obviously be some confusion. The SMS-1000
(I hope I have remembered the part number correctly) includes
an 8" RX03 type of drive which can handle both single-sided and
double-sided media - although the built-in controller is MSCP based
and both the internal hard drive and the single RX03 floppy drive are
considered DU: or MSCP devices under RT-11. When single-sided
floppy media are used, there is no difficulty. However, if an 8" media
that is double-sided is inserted and files are written to that floppy,
the results can'r be read on the DSD 880/30 using a modified DYX.SYS
device driver which supports double-sided operation since it is quite
obvious that the MSCP controller in the SMS-1000 wrote both sides
of the floppy before changing cylinders. This might have been the
cause of the problem between the two floppy drives. I agree it is
doubtful, but I can't think of anything else.
FINALLY, due to the 18-bit address restriction with all DYX.SYS
device drivers under RT-11, I added code to support a bounce buffer
that allows the user buffer to be in a 22-bit location, but still be able
to support DMA to the silo on the controller. The bounce buffer must
be in the first 256 KB of memory, but the device driver performs
the extra transfer one word at a time between the bounce buffer and
the user buffer if the latter is above the 256 KB boundary.
Jerome Fine