Don North wrote:
> > Yes, I'm finding the RT11 file system API offers even less than CP/M.
> > I find I'm inevitably writing essentially a full filing system with
> > RT11 being essentially the "block access API", rather that writing a
> > file system interface.
>
> That seems strange to me.
> Why do you find .LOOKUP/.ENTER, .READW/.WRITW, then .CLOSE insufficient?
I can't do handle=open("readme.txt") I have to do
translate("readme.txt") to Radix50
if device="", make device="dk"
maintain a list of handles
pick a free handle
check device for radixname exists
lookfor(radixname,handle)
I can't do read(handle,memory,1) to read a byte, I have to do
allocate some memory for a file buffer
maintain a file pointer
if (filepointer && 511)=0 read(handle, buffer, 1 block, filepointer DIV 512)
get byte from buffer
increment file pointer
...at least that's what I'm finding I'm having to do. Similar to what I've
had to do in CP/M. But with the complication that RT11 seems to bomb out
to the monitor if you make the slightest assumption about something that
turns out to be absent, insead of returning some sort of 'not found'
status return.
Just as I thought I was getting CLOSE working, it's suddenly decided to
die and drop to the monitor with KMON-F-Bad channel errors - instead of
/returning/ a 'bad channel' status to me.
(I'm only doing this because I'm increasingly running out of things to
keep me occupied through Lockdown. ;) There's only so much rewiring I
can do to the flat, and so much weeding I can do in the garden.)
jgh