Multi-platform distribution format (Was: Backups [was

Jerome H. Fine jhfinedp3k at compsys.to
Mon Sep 21 14:49:11 CDT 2015


 >Johnny Billquist wrote:

> >On 2015-09-21 17:03, Paul Koning wrote:
>
>> And it would certainly be possible to write a driver that can handle 
>> both controllers; it would start by determining which controller it's 
>> dealing with, and then run the one or the other set of algorithms.  
>> Since a boot block is just a small driver, the same is true there, so 
>> long as the whole body of code fits in the available space.  I 
>> suspect in this case that's doable; most bootloaders (other than MSCP 
>> ones) require only a small fraction of the available space. 
>
> You are absolutely right.
> And I don't know the actual size of the boot blocks. It might very 
> well be that they both fits in the same boot block, which would be nice.
> I know that the M9312 have separate boot roms for the RX11 and the 
> RX211, but those boot roms are pretty tiny...
>
> And I don't know if the RX211 boot rom also deals with RX01 floppies, 
> but I would assume it does. 

I don't know how RSX-11 and RSTS/E manage their device
drivers and allocate the memory for that code.  BUT, under
RT-11, each device driver uses memory which the user program
can't use.  Plus in almost every case, the RX01 controller and
drive are never present when the RX02 controller and drive are
present.  The reason is probably that the RX02 drive can read
and write RX01 floppies, so why bother.

I would guess that both an RX01 and an RX02 could be
present in the Qbus (and likely in the Unibus) at the same
time, but the CSR and VECTOR would then have to be
set to different values - whereas normally when only one
or the other is present, the same CSR and VECTOR
address is assigned.  Also, the CSR of both controllers
has the same bit, but in one controller it is 0 and the
other controller it is 1 - at least as far as I can remember.

That said, a device driver which is able to handle both
an RX01 and RX02 would require both sets of the code
which is very different along with the additional code to
determine which hardware is actually being used.  So
for RT-11, it seems reasonable that DEC kept the
DX(X).SYS device drivers to be used only for the
RX01 drive and the DY(X).SYS device drivers to be
used only for the RX02 drive.  There was one sort of
exception when the installation code was produced.
Each device, DX or DY, driver checks to make sure
that the CSR being tested is for the device which
would be installed.  The installation code for both DX
and DY are executed if the CSR is present when the
system is booted and the device driver which passes
the test is installed.

Finally, while the boot code could certainly support both
the RX01 and the RX02 drive, there would be no point
since the code in the device driver supports only one
drive.

Under RSX-11 where the memory is used somewhat
differently, I presume that the device drive could have
supported both the RX01 drive and the RX02 drive.
But I would need Johnny to comment on that possibility.

Jerome Fine


More information about the cctalk mailing list