<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 17 Jul 2000 14:25:35 -0700 (PDT)
From   : Angus Duggan <angus@...>
Subject: Implementing Filing System ROMs

Thomas Harte writes:
>I am trying to do as in the title. But I have a few questions.
>
>Firstly, when changing the filing system pointers (OSFILE, OSFIND, OSBGET,
>etc, etc), how am I supposed to make these point to my ROM? That is to say,
>loading them with &8079 or whatever is all well and good, but how can I
>ensure it is my ROM that is paged in? Also, how can I ensure the 'change of
>filing system' service call is sent out after I have done as such?

Use the extended vectors (AUG 15.1.3) for entry into paged ROM. Call OSBYTE
&8F to issue a service ROM request. Here's what HDFS does when a *DISC is
issued:

1) Call FSCV with A=6 to shut the previous filing system down gracefully
2) Use the extended vectors to initialise entry into the ROM service points.
3) Call OSBYTE &8F and issue service request &F (vectors claimed)
4) Call OSBYTE &8F and issue service request &A (static workspace claim - not
   strictly necessary at this point)
5) Initialise static workspace, Tube, etc

>Secondly, what am I supposed to make of unlisted service calls (I seem to be
>receiving &15 and &fe)?

&FE is Tube post-initialisation, you can use it to determine if BREAK was
pressed, and re-initialise if necessary. I don't know what &15 is (is this a
Master or a normal beeb?)

a.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>