Subject: Re: RL01 support in NetBSD?
To: Megan <>
From: Johnny Billquist <bqt@Update.UU.SE>
List: port-vax
Date: 02/19/2000 18:05:06
On Sat, 19 Feb 2000, Megan wrote:

> >. You can only have one file open for writing on the disk at the same
> >  time.
> Not at all true...  When you create a file for the first time, you specify
> the size you need.  This can be
> 	1) A specific size
> 	2) The largest continguous space
> 	3) 1/2 the largest, or the second largest (whichever is larger)
> If you attempt to write beyond the end of the space allocated, you get
> an EOF indication.  Most of the utilities have the capability of having
> multiple files open for writing at one time -- how else would you expect
> MACRO to produce an OBJ file and a LST file at the same time, and for
> LINK to produce a SAV, MAP and symbol table file.

Well Megan. I can see you haven't played around with OS/8. :-)
MACREL there has just this problem. Actually, the solution is simple. You
do several passes, doing one thing each pass. Pass 1: Generate symbol
table. Pass 2: Output object file. Pass 3: Generate list file. Pass 4:
Cross reference.

But I can see that RT-11 is an improvement over OS/8 here. (And John
Wilson also pointed this out).

> When you close the file, it closes to the highest block number actually
> written.  If you want to *extend* a file, you have to go through some
> real gyrations.

OS/8 don't support extending files. You might fix it by fiddling with the
directory block yourself, if you have an empty slot after your file.

> >. The directory is a few blocks at the beginning of the disk.
> True.  Directory begins in block 6 of the disk, and extends to no more
> than block 67.  Directory segments (which contain directory entries)
> are two blocks long each.  So the first segment is blocks 6/7.  You
> can have up to 31 segments.  Other than the primary directory segment,
> blocks 6/7, other directory segments can be used in any order, and so
> they are a linked list.  Each used segment points to the next one in
> the list.  Last has a null pointer.

Sounds very much like OS/8 here. But if you have a bootable system, the
first directory block is at 60 instead of 7. (Might remember the block
numbers wrong, however...)


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