On Sep 21, 2015, at 3:49 PM, Jerome H. Fine
<jhfinedp3k at compsys.to> wrote:
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. ...
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.
RSTS isn't as frugal with memory as RT11 is. It has a bit of per-unit memory whether
the device is present or not. But the kernel can be built with all sorts of device
drivers for devices that aren't actually present. If so, those are disabled at boot.
So for RSTS, it certainly makes sense to have a multi-lingual boot block, if you're
dealing with a medium that can be installed into several types of drives with different
controllers.
The RX01/RX02 case doesn't occur for RSTS since those aren't supported as boot
devices. But the analogous scenario does apply to magtape. The RSTS magtape boot block
works with every PDP-11 controller capable of supporting that tape, so 1600 BPI tapes can
boot on TU16, TS80 (gag) and TMSCP controllers. Yes, that's a fun bit of code.
paul