[Simh] file system conversion [not really Re: Way out idea for simh]

Rich Alderson simh at alderson.users.panix.com
Thu Apr 21 15:47:45 EDT 2016


> From: Johnny Billquist <bqt at softjar.se>
> Date: Wed, 20 Apr 2016 23:57:38 +0200

> On 2016-04-20 20:48, Ken Cornetet wrote:

>> Again, you don't need OS support for foreign file systems, you just need to
>> be able to read the disk blocks in a raw mode.

> And what Rich said (again) is that you cannot mount a foreign file system in
> Tops-10. The concept don't exist.

It's a little more complex than that, even.

When Tops-10 starts, it looks at all the devices on the system.  For disks, it
looks for a HOM block in a particular sector (actually, primary and secondary
HOM blocks, which must match except for the defined sector numbers, and each
has a pointer to the other).  If there is no HOM block, the disk is empty and
can be formatted with a Tops-10 file system.

Two other operating systems to my personal knowledge use the same HOM block
format, WAITS (which began life as a highly divergent Tops-10, well really
PDP-6 monitor) and TOPS-20 (which despite the name shares no code and no I/O
model with Tops-10).  If Tops-10 sees either of these OS names (or presumably
any other) in the HOM block (which has a location for this information), it
MARKS THE DISK OFFLINE.  Unavailable for any interaction, even raw I/O.

The solution, if you need to use a Tops-10 tool to look at the disk, is to
patch the monitor before bringing it up so as not to mark the disk(s) in
question as offline.  I used this method to build a WAITS file system on 3 RP07
disk images (since WAITS never had an installation tool which did this) using
FILDDT.

(NB: I could have done the same thing under TOPS-20, with that version of
 FILDDT, but the difference in file system data structure--128-word sector
 vs. 512-word page--would have made it more difficult than it already was.)

> From: "Veit, Holger" <holger.veit at iais.fraunhofer.de>
> Date: Thu, 21 Apr 2016 09:56:01 +0200

> Some structures, like Files-11, are well documented, other might not, or
> not fully. If the data structures used are sufficently known, whether
> simple or not, one can write host software that converts a user file and
> extracts or injects it into the expected data structure.

Yes.

Once I had an empty WAITS file system, I had to populate it.

The SAILDART Archive has available HTML-encoded versions of all the files ever
backed up to tape on the SAIL system (which is where WAITS originated, and was
one of three systems running WAITS).  In addition, there are "blob" files
associated with each marked-up file which contain the original data encoded as
lines 12-digit octal numbers, and all of the system metadata for each file is
encoded into the index file for each directory.

I wrote 3 tools on TOPS-20:  A text-to-binary program which grovels over a
directory full of the blob files and generates files of 36-bit words in aother
directory; a program which converts the metadata from a massaged index.html
file to the form it would take as a header on a DART backup tape created under
WAITS and prepends it to the output of the T2W program; and a program which
grovels over a directory of prefixed binaries and creates a DART-format tape
image.

Tools are always possible, the simpler the better.  (I could have packaged all
of the processing outlined in the previous paragraph into a single program, but
then it would have been much harder to correct mistakes in interpretation of
the scant documentation--mostly program source code--of DART and the WAITS file
system.)

                                                                Rich


More information about the Simh mailing list