Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 2528

programming • Re: Implementing *CONFIGURE FS

$
0
0
I would have thought the way to do it, using the sideways ROM associated with the real-time clock and configuration memory, would be some code to issue the OSWORD &13 call to set the file server and printer server numbers on a hard reset, using the values stored in the non-volatile memory. This would avoid having to poke values into the Econet workspace. It might need the current filing system number to be saved, then Net selected to do the OSWORD call and then the previous FS restored.
The problem is, it has to happen after the filesystem is set up, (otherwise I don't think OSWORD &13 will work) but before it loads a BOOT file (otherwise, the BOOT file will come from the wrong server). Since both of these happen in service call 3, there is no "good" way to do it, other than patching the NFS rom. I think I can probably do it in service call 3 (provided I am higher priority than NFS) but OSWORD &13 simply writes the fileserver number to &E00, which will only work if NFS becomes the filing system at boot. If some other FS is the boot filing system, then I need to write it to byte &15 of the private workspace, which OSWORD &13 doesn't bother to do.

A bit more detail (I've spent a lot of time pouring over this!): The only time &0E00 is copied to private &15 is FSCV 6 when NFS already owns the FS vectors; the only time private &15 is copied to &0E00 is service call &12,5. I'm pretty sure neither of these occur during the break sequence. What NFS does is set up its variables in public workspace before claiming it (and the vectors) and assumes that no-one else will do the same.

Statistics: Posted by Barneyntd — Mon Feb 17, 2025 11:54 pm



Viewing all articles
Browse latest Browse all 2528

Trending Articles