[Simh] porting RL01 images to RL02

Johnny Billquist bqt at softjar.se
Sun Feb 5 16:20:36 EST 2017


On 2017-02-05 22:15, Johnny Billquist wrote:
> On 2017-02-05 21:31, Mark Pizzolato wrote:
>> A concept related to this discussion is simh's auto sizing of disks.
>> In the PDP11 and
>> VAX simulators the RQ and RP disks use the sim_disk library to perform
>> I/O to disk
>> Images and/or physical disk devices.
>>
>> A relatively new feature that this code performs is that it make an
>> attempt to peek
>> into the image file being attached and determine the size of the file
>> system that
>> is in the container file.  Currently there is support for detecting
>> the size of ODS2/5
>> file systems and Ultrix partition tables.
>>
>> Peeking into the disk structure of these disks is necessary to
>> properly auto size them.
>> This is necessary since if disk images were created using a simh 3.x
>> simulator, there
>> was no auto sizing available AND a 3.x disk container only got to be
>> full sized if some
>> operation in the operating system actually wrote to the end of the
>> disk.  RP disk
>> images often got to be full sized when they were initially created
>> when the BAD 144
>> data was written to the last track when simh created the disk. RQ disk
>> images didn't
>> have this.  The simh 4.x code writes to the last simulated sector
>> whenever a disk is
>> created, so auto sizing merely based on size works for that case, but
>> VMS and other
>> OS disk images certainly exist that were created with a 3.x
>> simulator.  Auto sizing is
>> the default behavior when RQ and RP disks are attached, so a
>> consistent way to
>> determine (and verify) a disk's size must look into the disk's contents.
>
> Ouch. Thanks for that bit of information, Mark. A bit ugly, but I can
> see that there is no easy solution to the problem.
>
>> So, I'd like to expand the set of file system types that the auto
>> sizing logic can perform
>> to include RSTS disks and whatever might be commonly used with RSX and
>> RT11.
>>
>> If anyone wants to take a direct crack at this, I'll be glad to
>> include the results, and
>> also add the validation logic to the other disk types that these
>> systems supported
>> (RK, RL, etc...).
>>
>> Alternatively, If someone has precise information about the file
>> system data
>> structures and how to walk them to determine the a disk's size, I'll
>> take that.
>
> I can certainly give all the information you need for ODS-1, which is
> what RSX use. The structures are pretty similar to ODS-2, so if you
> already have that, it should be very simple to add the ODS-1 stuff.
> Unfortunately, this will only cover RSX systems. For RT-11 (as well as
> RSTS/E and others), you'll have to get someone else to help. I suspect
> Paul should know RSTS/E, if he just have the time.
>
> Anyway, the gist in ODS-1 is that the size of the device is contained in
> a file called BITMAP.SYS (FID 2,2,0). In there, there is a 32-bit value
> saying what the size of the disk is in logical blocks.
>
> The trick is finding BITMAP.SYS, given only the home block, which is the
> only known block at the start. The home block (which also happens to be
> a part of INDEXF.SYS (FID 1,1,0)) holds a pointer to where the file
> header bitmap area is (which is also a part of INDEXF.SYS) and the size
> of the file header bitmap. Continguous with this is the first 16 file
> headers, and each file header is one block. So, with this information,
> you can find the file header for BITMAP.SYS, and from there you get the
> size.
>
> Now, I know this is way too fuzzy to actually implement from, but if you
> recognize this from ODS-2, then I can just give you the small details
> needed to adopt for ODS-1, and you should be set.

Actually, I suspect that the ODS1 spec is not secret anyway, so I 
figured I might as well make it publicly available.
http://mim.update.uu.se/ods1
And I'm happy to answer any questions.

	Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the Simh mailing list