<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sat, 26 Feb 2005 10:21:32 +0000 (GMT)
From   : Sprow <info@...>
Subject: Re: ADFS OSWord &72 control block byte zero

In article <050225225502@...>,
   Jonathan Graham Harston <jgh@...> wrote:
> Does anybody know what the byte at XY+0 indicates in OSWord &72?
> The documents say that when calling OSWord &72 it should be set to
> zero, and the result is returned there, and all programs I've
> examined do that. However, within the ADFS ROM all calls, except
> 'PARK', set that byte to &01 before calling the code that OSWord
> &72 calls.
>
>  This indicates that OSWord &72 expects XY+0 set to &00 or &01 to
> indicate something - but what?
>  
> I've been thinking of "appropriating" that byte to allow calling
> OSWord &72 with raw IDE commands.

I can think of two possibilities:

1. You enter with XY+0=0 and a non-zero return is to allow the caller to 
   deduce that ADFS is fitted and at least had a go at the call. Thus on a 
   machine with no ADFS the XY+0 would still be 0 after the call.

   Admittedly V=1 would be another hint that the call failed, but you can't 
   pass the V flag back over the tube - so it's Tube proof too.

   A return of XY+0=1 is "No error encountered"? Looking in ADFS it looks
   like it may be possible to get other answers, say if the disc was
   write protected.

2. You enter with XY+0=0 to say "ADFS, you fill in the controller number
   for me". Thus a machine could support more than one 1770, the default
   being controller 1 is the one on the main PCB.

All speculation of course,
Sprow.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>