On Thursday, April 12, 2018 at 1:35 PM, Johnny Billquist wrote:
> On 2018-04-12 22:31, Johnny Billquist wrote:
> > On 2018-04-12 21:24, Johnny Billquist wrote:
> >> On 2018-04-12 02:41, Mark Pizzolato wrote:
> >>> On Tuesday, April 10, 2018 at 10:15 AM, Johnny Billquist wrote:
> >>>> On 2018-04-10 10:26, Mark Pizzolato wrote:
> >>>>> On Monday, April 9, 2018 at 11:51 PM, Johnny Billquist wrote:
> >>>>>> On 2018-04-10 00:25, Mark Pizzolato wrote:
> >>> [...]
> >>>>> Some OSes leverage the encoded value to correspond specifically
> >>>>> with a particular model of DEC disk and run from there potentially
> >>>>> presuming details about disk size or geometry.
> >>>>
> >>>> I certainly hope not. Like I said, this is cosmetic. MSCP reports
> >>>> disk size directly, and the id is just for information. Anything
> >>>> that is mad enough to assume size based on the id instead of the
> >>>> size reported by the device would be some seriously broken
> >>>> software.
> >>>
> >>> Well, most of the third party MSCP controllers provided a constant
> >>> Media ID that identified the drive as an RA81.  In general, since
> >>> that was really cosmetic it shouldn't have mattered.  I vaguely
> >>> recall that some Ultrix file system generation logic used the drive
> >>> type to determine presumed values for the disk geometry for cylinder
> >>> boundary alignment, but no matter what that choice really didn't matter.
> >>
> >> Some definitely allowed you to select it to some degree, and some
> >> might have been even more clever.
> >
> > Ok, I decided to locate the documentation on how this value/string is
> > encoded, since Mark said he'd not seen it.
> > It's in the MSCP Basic Disk Functions Manual, page 4-37 to 4-38.
> > The media type identifier is a 32-bit number, and it's coded like this:
> > The high 25 bits are 5 characters, each coded with 5 bits. The low 7
> > bits is a binary coded 2 digits.
> >
> > Looking at it, you have:
> > D0,D1,A0,A1,A2,N
> >
> > For an RA81, it would be:
> >
> > D0,D1 is the preferred device type name for the unit. In our case,
> > that would be "DU".
> > A0,A1,A2 is the name of the media used on the unit. In our case "RA".
> > N is the value of the two decimal digits, so 81 for this example.
> >
> > And for letters, the coding is that A=1, B=2 and so on. 0 means the
> > character is not used.
> >
> > So, again, for an RA81, we would get:
> > 4,15,12,1,0,81
> >
> > That's all in decimal, and you have the size of each bitfield.
> 
> And I'm an idiot. For the letters, that actually turned out to be hex, and not
> decimal...

I've added this to the pdp11_rq.c to describe these values:

/*

MediaId

Is defined in the MSCP Basic Disk Functions Manual, page 4-37 to 4-38:

The media type identifier is a 32-bit number, and it's coded like this:
The high 25 bits are 5 characters, each coded with 5 bits. The low 7 
bits is a binary coded 2 digits.

Looking at it, you have:
D0,D1,A0,A1,A2,N

For an RA81, it would be:

D0,D1 is the preferred device type name for the unit. In our case, 
that would be "DU".
A0,A1,A2 is the name of the media used on the unit. In our case "RA".
N is the value of the two decimal digits, so 81 for this example.

And for letters, the coding is that A=1, B=2 and so on. 0 means the 
character is not used.

So, again, for an RA81, we would get:

Decimal Values:        4,    21,    18,     1,     0,      81
Hex Values:            4,    15,    12,     1,     0,      51
Binary Values:     00100, 10101, 10010, 00001, 00000, 1010001
Hex 4 bit Nibbles:    2     5     6     4   1     0     5   1

The 32bit value of RA81_MED is 0x25641051

 */

Thanks.

I'm wondering if the leading first two characters (DU) of the ID is used when a 
device is "MSCP Served" by one system out to a cluster at large.  This might 
facilitate connecting the serving system's local driver to the remote requests.

- Mark
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to