[Simh] Disk sizing

Timothe Litt litt at ieee.org
Sun Feb 5 17:48:07 EST 2017


On 05-Feb-17 16: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.
>
>> 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. 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.
>
For ODS-2, you want the SCB, which is contained in BITMAP.SYS.  It gets
tricky, especially where geometry is involved and where the emulated
disk image is a physical copy of media that doesn't match the SCB.

I have code that navigates ODS-2 and attempts to identify the correct
disk based on the recorded geometry.  It's part of an ODS-2
reader/writer.  I need to get back to that project and finish some
higher-level stuff; when it's released you can extract that code for
SimH.  It's about 5 down on my stack, which I'm unlikely to reach before
April/May.

ODS-1 and 2 differ in a number of respects - closer to cousins than
brothers.

I did the original autosize code - which relies on the DEC 144 tracks
being written, or in my case, the fact that I created SimH disks by
block-for-block copy of real disks.  I suppose I should contribute the
VMS code that does that (it does logical IO under VMS, but writes its
file to an FTP server.)  One more thing for my list...

> 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.
>
>     Johnny
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4577 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20170205/93dc448b/attachment-0001.bin>


More information about the Simh mailing list