Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!cbmvax!jesup From: jesup@cbmvax.commodore.com (Randell Jesup) Newsgroups: comp.periphs.scsi Subject: Re: Trouble in SCSI-Land: On PC-computers, it isn't really standard! Message-ID: <10232@cbmvax.commodore.com> Date: 18 Mar 90 05:52:51 GMT References: <1990Mar15.042028.16024@Octopus.COM> Reply-To: jesup@cbmvax (Randell Jesup) Organization: Commodore, West Chester, PA Lines: 39 In article <1990Mar15.042028.16024@Octopus.COM> pete@octopus.COM (Pete Holzmann) writes: >Based on experiences during the past 6 months, I've come to the sorry >conclusion that SCSI is not defined well enough as an interface standard, >at least in the PC world. [If SCSI is the base I/O scheme for peripherals, >as in the Mac, etc, then I'm sure things ought to be much better...] Well, on the Amiga it's rapidly becoming the standard I/O interface. In addition, Commodore and it's 3rd-parties have agreed on two standards: one for storing partitioning information on a drive (including executables for custom filesystems used by partitions on that drive). The other standard is a common I/O device interface to allow software to send direct SCSI commands (this is an extension of the base-level disk driver interface standard, and is even supported by some non-scsi drives). The low-level drivers are either in ROM on the controller, or loaded off your boot disk automatically. This allows some nice things: we can take a drive from one system, attach it to another (on a different manufacturers controller), and it comes up with all partitions (you can even boot off it). We can use anyone's partitioning program to partition a drive, regardless of controller/driver. Since we can use direct SCSI commands, partitioning programs can use MODE_SENSE, INQUIRY, READ_CAPACITY, etc to get all the info needed to set up the drive. >2) There is no standard way for a DMA-based SCSI controller to deal with > the '386 or '486 CPU's, which make a habit of changing memory maps > on the fly. This requires some OS support I suspect - for example, a VirtualToPhysical(addr,&length) that returns the physical address for DMA, and modifies length (if needed) to avoid any discontinuities. Almost all controllers on the Amiga are DMA. -- 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!"