MSCP Boot Block Code Size for PDP-11 (Was: Defining Disk Image Dump Standard)

From: Jerome Fine <jhfine_at_idirect.com>
Date: Wed Jun 7 08:36:09 2000

>Sellam Ismail wrote:

> >On Mon, 5 Jun 2000, Jerome Fine wrote:
> > PDP-11 for RT-11 is also a squeeze. And while including the mapping
> > table for eight RT-11 partitions made life difficult (only a 16 word
> > table was used), I challenge anyone to manage to add the other 56
> > available partitions and make all 64 RT-11 partitions allowable for
> > boot purposes since it would seem that a 128 word mapping table would
> > be required. I don't think it is possible to fit
> HA! The Woz's boot code generates the requisite table on the fly! ;)
> (but it sounds like we're talking about a different kind of table :)

Jerome Fine replies:

In RT-11, the MSCP mapping table is used to specify which physical
partition is to be used for each logical DUn: unit. The RT-11 command is:
"SET DUn: PORT=p,UNIT=u,PART=m"
where the PORT stands for which controller the drive is connected to, the
UNIT is the physical unit number of the drive and the partition is the physical
number of the 32 MByte portion of the drive. Since there is an almost infinite
number of different possibilities if you consider all possible combinations
for each entry (actually only 4 * 256 * 256 = 262144), it is somewhat difficult
to have the mapping table be done on the fly. And even if only one controller
is allowed, there are still 65536 possibilities for each entry. With an 8 entry
mapping table, that is a lot of combinations. When 64 entries are used, the
boot block gets sort of crowded. Whenever the SET command is used to
change an entry in the primary table, the boot block entry must also be changed.

Now, while a hardware boot from EPROM does not allow a non-zero partition
(or at least the version DEC wrote never does), once RT-11 has been booted
on any device, it becomes possible to use the RT-11 software to help the boot
process along, while under a hardware boot, the allowable combinations are:
"SET DUn: PORT=0,UNIT=n,PART=0" since the PDP-11 boot code does
not know anything about partitions and the logical unit number must match the
physical unit number for everything to work correctly.

However, at present, the standard DEC distribution for MSCP software holds
only an 8 entry mapping table in the boot block even though the primary mapping
table can hold up to 64 entries. But, I suspect that it is entirely possible to extend
the mapping table in the boot block to hold 64 entries and thereby allow RT-11
to perform a software boot of all 64 possible partitions specified in the primary
mapping table.

As pointed out in both of our notes, the challenge is to squeeze the needed code
and data into a very limited number of bytes.

Sincerely yours,

Jerome Fine
Received on Wed Jun 07 2000 - 08:36:09 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:00 BST