From: drew@caesar.cs.colorado.edu (Drew Eckhardt)
Newsgroups: comp.os.linux,comp.sys.ibm.pc.hardware
Subject: Re: Help: Straighten Me Out on SCSI Controller Cards (Host Adapter?)
Date: 7 Apr 92 05:58:24 GMT
Organization: University of Colorado at Boulder

In article <1992Apr7.024452.10136@trantor.harris-atd.com> sonny@trantor.harris-atd.com (Bob Davis) writes:
>
>	I am *so* confused about SCSI -- all aspects of it. And I can't
>seem to locate answers. First, what do I get for the $250 for an Adaptec 1542
>SCSI controller that I don't get with the $150 controllers , or with the $35
>Seagate ST02?

The 1542 : 

Bus mastering - the controller will take over the bus and handle 
transfers itself.  

Other better SCSI hosts : 

The host has inteligence on it, and may have some amount of buffering,
where as the Seagate is (Trust me on this)... very dumb.  The card 
handles the ACK / REQ handshaking during asyncrhonous transfer, 
but that's about it.  You have to manually check what phase 
of the transfer you're in, weather or not your target is 
still online, etc.  This takes a LOT of time, and degrades 
performance.

The seagate hosts are not very well suited to a multi-tasking
environment :  they need the host CPU's attention 100% of the
time during a scsi command. (They can disconnect and generate interrupts on 
a reconnect, elimanating some overhead, but some braindamaged
drives don't support disconnect / reconnect, and you still have
the actual data transfer) 

This also means that no other 
tasks will be scheduled during an read / write operation from
seek to message out from the target.  On a better host, 
it will get back to you when it's done or time to 
actually transfer data.

>	I have an ST02 but I cannot get it to format a drive. Do I need
>a special piece of low level formatting software? I've tried using DOS
>DEBUG and g=C800:5 to run the BIOS format routine in the ST02 card ROM
>but it seems never to recognize that a hard drive is connected. I've
>programmed the Drive address to 000 for logical unit 0, but the BIOS
>routine keeps insisting that "unit 0 is not connected to this controller"
>when I tell it to format unit 0.

Disk mangler will format the drive, the BIOS calls should do it.

>	If you can recommend a file on the net, or a book, or any material
>for me to read that might make someone who is intimately familiar with
>LL formatting, partitioning, and FORMATting MFM and RLL hard drives feel
>comfortable with doing the analogous things to a SCSI drive, I'd like
>to hear about it. (How do I tell the system about Cylinders, Heads, and
>Sectors on a SCSI drive? How do I set up CMOS to tell it what kind of

You don't.  The SCSI host doesn't know about cylinders and the 
like - the SCSI device appears as an error free block device,
with logical block numbers from 0 to whatever (bad ones
can be mapped out).

In fact, many of the better drives use ZBR, and have zones of 
different densities (say 70 sectors on the outer tracks,
less on the inner tracks), and X sectors per track, Y 
cylinders per drive are reserved for spares.  This means
"normal" disk geometries do not apply.


Note that the SCSI BIOS will make the drive "appear" to have 
a normal BIOS interface, with cylinders, heads, etc.  This 
is just a facade, and can be pure fiction.  

>drive is connected?) I am lost...

You don't tell CMOS a drive is connected.  If the SCSI disk is your only
disk, tell it you don't have a hard disk.  The SCSI BIOS will then 
handle it.
Newsgroups: comp.os.linux