On Fri, Jan 11, 2002 at 06:45:05AM +0100, Thierry Godefroy wrote:
 
> NOT AT ALL !!!   This is perfectly documented: the documentation for the
> IOSS (see the QDOS/SMS reference manual) DOES says that A0 must stay
> unchanged or at least be restored if the device driver did not recognize
> its own device in the name during an open call, and it also says that
> this is because A0 is reused after by the other device drivers.

there are enough examples where some registers weren't preserved across
trap calls by QDOS which are now preserved in Minerva and maybe SMSQ. 
Nowhere is it stated that it is allowed to change a0 and expect meaningfull
results - actually you are saying it very clearly in the quoted paragraph.

> > why this complication? The IOSS will be of very little help for you, all 
> > "facilites" it provides are usefull only for very limited filesystems
> > like the original MDV one. Instead it limits unnecessarily 'key' and
> > uses valuable drive definition blocks which are still very limited 
> > resource.
> 
> I NEED to implement it as a legal directory device driver for a few reason:
> at the user (and utility programmers) level, you must register it so or
> the device (here cdr1_) will never be found as a mass storage (e.g. in
> QPAC2 or Cueshell).

fine, a DDEV that gets never called for io.open will do the same job,
iirc this has been done a few time.

>        At the driver programming level, I will use (although
> differently than TT does) the slave blocks for caching (in fact caching
> will occur ONLY when less than a CD-R data block (=2048 bytes) read is
> requested).

good luck with that part.. my impression is that it might be easier
and safer to use completely custom buffering.

Bye
Richard

Reply via email to