[comp.periphs.scsi] NEC CDR-35 portable CDROM drive

mattioli@took.enet.dec.com (John R. Mattioli) (06/06/90)

	I'm looking at getting myself a CDROM drive for my PC and have a bit of
a situation on my hands.  To begin with, I have an adaptec 1542 SCSI controller
in my machine.  It's currently only hooked up to my hard drive.  I find the
controller to be a great piece of hardware.

	The NEC CDR-35 is a portable CDROM drive.  It hooks up to a SCSI
controller.  NEC sells a SCSI controller, but I don't want to buy it because
I've already got one.  Even so, the NEC technical rep tells me I'll need to buy
their controller unless Adaptec has a device driver for their CDROM drive.  He
claims that SCSI controllers are not standard and the NEC driver will not work
on the Adaptec controller.

	If it's true that SCSI controllers don't adhere to a standard (with
respect to port layout etc), has Adaptec written a driver?

	I'd really like to put a CDROM into my system at home, but I also have a
system at work.  If I can save the cost of two controllers (about $300) I'd be a
happier person.  I don't see why I should have two SCSI busses in my systems.

	If anyone could shed some light on this problem, please respond via mail
or reply here.  The CDROM technology is so great it would be a sin to cripple it
by forcing it to be attached to a nonstandard SCSI controller.

	Somebody please explain?
-----------------------------------------------------------------
					John Mattioli
	Most improved skier (american blind skiers association 1989)
					and humble to!

(DEC E-NET)	TOOK::MATTIOLI
(UUCP)		{decvax, ucbvax, allegra}!decwrl!TOOK.dec.com!MATTIOLI
(ARPA)		MATTIOLI@TOOK.dec.com
                MATTIOLI%TOOK.dec.com@decwrl.dec.com
(US MAIL)	John Mattioli
		550 King St. LKG2-2/BB9
		Littleton, Ma. 01460

Smyers.S@AppleLink.Apple.COM (Scott Smyers) (06/07/90)

In article <12215@shlump.nac.dec.com> mattioli@took.enet.dec.com (John R. 
Mattioli) writes:
> I don't see why I should have two SCSI busses in my systems.
> 
>         If anyone could shed some light on this problem, please respond 
via mail
> or reply here.  The CDROM technology is so great it would be a sin to 
cripple it
> by forcing it to be attached to a nonstandard SCSI controller.

There's nothing "standard" about SCSI controllers in the PC world.  The 
only thing that's standard is the SCSI bus which goes to the outside 
world, but as far as DMA, interrupts, control registers, on board RAM and 
everything else, each SCSI controller has its own way of doing things.  
This is not a problem which is unique to CDROM drives - try buying another 
HD from a different vender, or a scanner, or a SCSI printer, or a tape - 
they're all going to try to sell you yet another SCSI controller, even 
though they could all play on the same bus, if someone took the time to 
write device drivers for each device for your one SCSI controller.  The 
problem is that venders don't know what SCSI controllers their customers 
have, and SCSI controllers are relatively easy to design, so everybody 
makes their own, then writes a device driver for their device which only 
works with that SCSI controller.

Hopefully this state of affairs will improve in the future.  The SCSI CAM 
committee has formed to address this exact issue.  I was a member of that 
committee for about the first 10 meetings and at every meeting someone 
brings up a problem exactly like you're describing - "I already have a 
SCSI bus on my PC - why can't I buy brand X SCSI device and plug it in?"  
God and ANSI willing, some day, you will.

------------------------------
The ideas presented here are my own, not Apple's.

jesup@cbmvax.commodore.com (Randell Jesup) (06/07/90)

In article <8575@goofy.Apple.COM> Smyers.S@AppleLink.Apple.COM (Scott Smyers) writes:
>Hopefully this state of affairs will improve in the future.  The SCSI CAM 
>committee has formed to address this exact issue.  I was a member of that 
>committee for about the first 10 meetings and at every meeting someone 
>brings up a problem exactly like you're describing - "I already have a 
>SCSI bus on my PC - why can't I buy brand X SCSI device and plug it in?"  
>God and ANSI willing, some day, you will.

	We already have this on the Amiga.  We have a protocol called
"scsidirect" which allows you to pass a control structure to the device
driver, which will then send your command (and optionally retrieve any
sense information).  The structure used looks like this:

/*
**	(C) Copyright 1988 Commodore-Amiga, Inc.
**	    All Rights Reserved
*/
...
struct SCSICmd {
    UWORD  *scsi_Data;		/* word aligned data for SCSI Data Phase */
				/* (optional) data need not be byte aligned */
				/* (optional) data need not be bus accessable */
    ULONG   scsi_Length;	/* even length of Data area */
				/* (optional) data can have odd length */
				/* (optional) data length can be > 2**24 */
    ULONG   scsi_Actual;	/* actual Data used */
    UBYTE  *scsi_Command;	/* SCSI Command (same options as scsi_Data) */
    UWORD   scsi_CmdLength;	/* length of Command */
    UWORD   scsi_CmdActual;	/* actual Command used */
    UBYTE   scsi_Flags;		/* includes intended data direction */
    UBYTE   scsi_Status;	/* SCSI status of command */
    UBYTE  *scsi_SenseData;	/* sense data: filled if SCSIF_[OLD]AUTOSENSE */
				/* is set and scsi_Status has CHECK CONDITION */
				/* (bit 1) set */
    UWORD   scsi_SenseLength;	/* size of scsi_SenseData, also bytes to */
				/* request w/ SCSIF_AUTOSENSE, must be 4..255 */
    UWORD   scsi_SenseActual;	/* amount actually fetched (0 means no sense) */
};

	The scsi_Flags also specifies if you want automatic request sense,
as well as direction (read or write).

	Most of our 3rd-party scsi controller developers are now using this,
making things very nice.  Combined with a standard partitioning method, we
can take a drive from one 3rd party controller and plug it into a different
controller, and all the partitions will appear (or even boot off it).  You
can take standard archive programs that talk to scsi tape drives, and use them
on any controller, etc, etc.

	For hard drives, there are several programs for partitioning that
read/write the partitioning standard (RigidDiskBlock).  Most of these are
quite good at doing all the setup of a drive for you automatically, using
Inquiry, Read Capacity, etc via the scsidirect protocol.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
Common phrase heard at Amiga Devcon '89: "It's in there!"