Date : Sun, 18 Jan 2004 14:10:11 GMT
From : Pete Turnbull <pete@...>
Subject: Re: [Announce] BBC Hard Drive Package Update
On Jan 18, 5:41, Richard Gellman wrote:
> The Acorn Winchester Service Manual - on The BBC Lives!.
>
> See also any convenient SCSI Set 1 Command Set (you only need
commands
> 1B, 08, and 0A).
Hmm, well, *most* of the time. For a workable emulation you need more.
It's true that ADFS only uses Read and Write commands in normal use and
it uses 1BH (Start/Stop Unit) when mounting a drive or parking
(dismounting) one. I can't remember if it uses the basic Read (08H)
and Write (0A) or the extended versions (28H and 2AH) -- I think it's
the basic ones.
However, it uses more than those under certain circumstances. It might
(I can't remember if it actually does, but I think so) use 00H (Test
Unit Ready) which is mentioned in the Winchester User Guide, and I'm
sure it uses 01H (Rezero Unit -- which does a seek to track 0) as part
of error recovery, and also 0BH (Seek). It might also read some of the
drive information using Mode Sense (15H) when first initialising. It
probably doesn't, given that the Xebec controllers I used worked
without that, though I might have had to use *FADFS instead of *ADFS.
I'm fairly sure ADFS must use Request Sense (03H) to get error/status
values (some of the codes it uses are the values returned by that
command).
Support software intended for anything other than an ACB4000 controller
will definitely need 0CH (Initialise Drive Characteristics) to tell the
controller what type of drive is connected.
Acorn's *VERIFY definitely uses 2FH (Verify) and some other versions of
*VERIFY (like mine) use 09H (the former is supported on Adaptec ACB4000
series but not Xebec S1410; the latter is supported on S1410 but not
ACB4000).
Then, for any emulated drive, high-level formatting will be needed to
create the root directory and free space map. This would require
either a new formatter (one which just dumps an empty structure on the
file holding the emulated disk) or support for the commands used by
SuperForm: Mode Sense, Mode Select, Verify, Translate, and Format Unit
(which would presumably be emulated by a NOP!). I suppose the emulated
drive could be provided "ready formatted", but no doubt some users will
want to "reformat" it at some point -- that's the
officially-recommended way of clearing a drive.
So it's not just three commands. However, most of the additional ones
could be NOPs or are trivial variants of the main three. For example,
Verify (09) is just Read (08) but with the data discarded; extended
Verify (2F) is extended Read (28H) with the data discarded; extended
read (28H) is normal Read (08H) but with larger address fields.
--
Pete Peter Turnbull
Network Manager
University of York