goran@infovax.UUCP (G|ran Bostr|m) (03/17/90)
I'm intended to create a device driver for a non-IBM format device. It's to be a block device. A look in DOS Technical Reference (3.30) shows a bit in the attribute field (bit 13) to be set if not IBM-format. Can somewone tell the mainline of this feature? G|ran Bostr|m. ================================================================
dixon@sagittarius.crd.ge.com (walt dixon) (03/17/90)
In a previous request G|ran Bostr|m writes: >I'm intended to create a device driver for a non-IBM format device. >It's to be a block device. A look in DOS Technical Reference (3.30) >shows a bit in the attribute field (bit 13) to be set if not IBM-format. >Can somewone tell the mainline of this feature? The basic difference between IBM compatible and non IBM compatible is the way in which BPB requests are handled. For IBM compatible media, DOS passes the driver a pointer to the first FAT sector, and for non IBM compatible this pointer contains the address of a scratch buffer. For IBM compatible disks an implication of this behavior is that the first sector of the FAT is located at the same sector address for all possible media. (The previous information is in the technical reference manual). The Tech Ref manual also states that IBM compatible drives must use media byte = media descriptor byte. DOS maintains a cache for directory, fat blocks, etc. By the time DOS gets around to loading drivers referenced in config.sys, the size of these cache blocks has been set. DOS uses the largest sector size of all the built in block drvers to set the cache size. Since DOS makes frequent use of these buffers in dealing with drivers, they must really be large enough to accommodate the device sector size. If you're working on a device with larger than normal sectors, you will probably have to patch IBMBIO.COM. Walt Dixon {arpa: dixon@crd.ge.com } {us mail: ge crd } { po box 8 } { schenectady, ny 12301 } {phone: 518-387-5798 } Walt Dixon dixon@crd.ge.com