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 [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
