hyc@math.lsa.umich.edu (Howard Chu) (06/17/90)
In article <12378@cbmvax.commodore.com> jesup@cbmvax (Randell Jesup) writes: >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: [copyrighted material omitted...] This seems like a lot of trouble to go to. The Atari ST has a lobotomized version of SCSI on the main board. Atari and a few other companies make host adapters that translate between Atari DMA and a full SCSI interface. All of these guys give you their own device driver with their host adapter, but all of the drivers work with all of the host adapters. (I've mixed and matched since some of them support external real-time clocks, one performs write verification, some generate "media changed" signals for removable media, etc...) They all use the common command set and they all work fine with just about any disk I've been able to find. I had assumed that the same case existed on the Mac and Amiga, and always wondered why it was so much trouble adding new drives to Suns & such. (With a PC it's a foregone conclusion that there's no standard way to do anything. But that's what you get when the basic computer design lists keyboards, displays, and disk drives as optional equipment...) When I add a drive to my ST, I run the formatter program, click on a SCSI ID & LUN, and the drive name & geometry appear onscreen. I can set it up with GEMDOS, MSDOS, Minix, or Mac-HFS partitions with equal ease. On the other hand, adding a brand X drive to a Sun or DECstation can only be described as an extended exercise in meaningless frustration. Assuming you can find the right cables and connectors, and determine whether X "official" peripheral has internal termination or not, you then have to tell the stupid formatters what kind of drive you're trying to use, how many heads, cylinders, sectors per track, etc. etc... You have to calculate partition sizes in blocks, calculate offsets for start of each partition, etc., and god help you if you newfs and mount overlapping partitions. (Of course, prior to getting even this far, you need to know what kind of SCSI controller is installed and what address it lives at on the bus... Geeze! Kernels autoconfigure themselves, what's so hard about configuring a disk automatically?) -- -- Howard Chu @ University of Michigan ... the glass is always greener on the side ...
jesup@cbmvax.commodore.com (Randell Jesup) (07/17/90)
In article <1990Jun17.113043.20473@math.lsa.umich.edu> hyc@math.lsa.umich.edu (Howard Chu) writes: >In article <12378@cbmvax.commodore.com> jesup@cbmvax (Randell Jesup) writes: >> 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: >[copyrighted material omitted...] > >This seems like a lot of trouble to go to. The Atari ST has a lobotomized >version of SCSI on the main board. Atari and a few other companies make >host adapters that translate between Atari DMA and a full SCSI interface. It's not much trouble, it's only used for "unusual" uses of the SCSI bus, where the programs needs real control. Normal usage (read,write,format, etc) go through the normal device-independant exec device interface. Note that SCSIDirect made is quite simple to write very user-friendly automated setup programs that can work on any controller. There are a couple different ones, and they work interchangably. To deal with %&*# companies that don't correctly support SCSI we use a number of fall-backs in determining a reasonable geometry (while SCSI is entirely block-based, our filesystems still want to partition on "cylinder" boundaries). The final fall-back if nothing else works is a read capacity to find the size of the drive, and then another to find the first "slowdown" on the drive (and assume that's the cylinder size). Overall, this works pretty well, and wastes few blocks, even on zone-recorded disks. -- 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!"