Date : Sun, 18 Jan 2004 14:17:21 +0000
From : Richard Gellman <splodge@...>
Subject: Re: [Announce] BBC Hard Drive Package Update
Mark Usher wrote:
>Well the commands don't have anything to do with the interface. The
>
>
This is true, but without knowing the command block structure, or even
what command codes to issue, emulating the interface won't get very far.
Unlike say the WD1770 chip that has a more controlling interface (head
step, head direction, read data line, side select, etc) the HD interface
uses the SCSI (or SASI, the actual differences are not relevant, as the
commands used are identical in both cases) commands to read and write data.
>commands are passed by the interface between the devices. Commands 1B,
>08 and 0A that are used by ADFS (I think that statement is correct),
>OSBYTE &72, implements a standard SCSI command block to which any
>command can be sent, not just 1B(Start/Stop Unit), 08(Read) & 0A(WritE).
>You will find that are few more than that are used to dance with a disk,
>such as 15(Mode Select), (4)Format etc. I have a program that currently
>uses 00, 03, 04, 12, 15, 1C, 1D in addition to 1B, 08 & 0A.
>
>
You'd be surprised. During the development of the SCSI interface for the
Domesday Emulation project (which is a slightly modified Winchester SCSI
host adapter board) I started with the hard drive (of which there was
known documentation), and then adapted the code to work with the SCSI
board in the Domesday M128. The ADFS does actually (in normal use) only
use those three commands. As I have mentioned in a previous post, the
ADFS is somewhat lazy in its SCSI system. There is little else it needs
to do with the hard drive at the SCSI level because it already has what
it needs in terms of drive layout from the free space map on sectors
0-1. The ADFS only really bothers to issue 0x1B just to keep the
adapter card happy, and could quite easily make do with just read and
write sectors.
OSWORD &72 does indeed allow any SCSI command to be passed on, and to
the floppy disk (an emulation wrapper is used, oddly enough, within the
ADFS itself to map SCSI read/write/format commands into WD1770 actions)
as well as the hard drive. My point previously was that only 1B, 08, and
0A are NEEDED in order to facilitate a working hard drive emulation.
Keep in mind that the ADFS is a 16k ROM running on a 2Mhz CPU; trying to
do clever things like work out when sectors are being copied and find
the appropriate SCSI command is kinda pointless. Just a simple interface
to get the job done will do it, and thats how the ADFS operates.
>Yes, there is the Winchester Service manual on the Doc project. I have a
>lot of ACB 4000 docs too which I have not yet released - although they
>are not of too much use as all that unit does is translate two MFM/RLL
>hard drives to SCSI ID 0 / LUN 0 & 1. Also there is the HardDrive1-2.zip
>file (also on TBL) which contains a home made interface, aswell as
>several programs that show acessing the hard drive.
>
>Seagate have a good SCSI command set document on their web site aswell
>as some other documents for other interfaces - ATA, MFM etc.
>http://www.seagate.com/support/disc/manuals/scsi/38479j.pdf
>
>Be warned though that some of the commands/command subsets are vendor
>specific.
>
>-Mark
>
>
>
>
>
>>-----Original Message-----
>>From: Majordomo List Manager [mailto:majordomo@...]
>>On Behalf Of Richard Gellman
>>Sent: Sunday, January 18, 2004 6:42 AM
>>To: BBC Micro Mailing List
>>Subject: Re: [BBC-Micro] [Announce] BBC Hard Drive Package Update
>>
>>
>>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).
>>
>>-- Richard Gellman
>>
>>Tom Walker wrote:
>>
>>
>>
>>>Does anyone have any documentation for the hard drive
>>>interface? If so, hard drive emulation might find its
>>>way into B-em 0.7, due around spring (which should
>>>also have the Windows speed/timing issues sorted).
>>>
>>>Tom
>>>
>>>_____________________________________________________________
>>>
>>>
>>___________
>>
>>
>>>Yahoo! Messenger - Communicate instantly..."Ping"
>>>your friends today! Download Messenger Now
>>>http://uk.messenger.yahoo.com/download/index.html
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
>
-- Richard Gellman