<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>