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 >
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
