bmarsh@cod.NOSC.MIL (William C. Marsh) (08/21/89)
Hello, fellow netters! I am having problems with a disk device driver under DOS 4.01. This is a driver I wrote to support a different format on 3.5" disks. (It's not a really different format, just a different cluster size...). This driver works perfectly well for reading and writing for all DOS versions tried, and that includes 2.x, 3.x and 4.0x. The formatting routines were added for DOS 3.2, and work perfectly well for 3.2 and 3.3, but they do not work for 4.0X. What happens is DOS formats the disk fine, writes the boot sector, and then complains that it couldn't write 'BOOT', track 0 bad, etc. However, the sector is written properly, according to both Norton and a INT-13 sniffer I wrote. The driver only uses the BIOS routines for interfacing to the disk. Since formatting isn't really covered in any book I have found in detail, I need to turn to the Net! If anyone can point out a reference (DOS technical reference 3.2, and the new Advanced Dos book have equal coverage) or advice I would appreciate it very much! Thanks in advance! Bill Marsh, Naval Ocean Systems Center, San Diego, CA {arpa,mil}net: bmarsh@cod.nosc.mil uucp: {ihnp4,akgua,decvax,dcdwest,ucbvax}!sdcsvax!nosc!bmarsh "If everything seems to be coming your way, you're probably in the wrong lane."
kenneth@cogsci.berkeley.edu (Kenneth Kindsfater) (08/28/89)
According to my release of MSDOS 4.01 from Unisys. Format has a bug that gives the error message you describe; however, I thought it was only for formatting hard disks > 32 meg. Anyways my 4.01 came with a patch disk that came with a new version of format and a patch to the secondary cache (comes up if you use expaneded memory and have > 32 meg disk partitions and some more conditions ). kenneth kindsfater
bmarsh@cod.NOSC.MIL (William C. Marsh) (08/30/89)
>What happens is DOS formats the disk fine, writes the boot sector, and >then complains that it couldn't write 'BOOT', track 0 bad, etc. However, >the sector is written properly, according to both Norton and a INT-13 >sniffer I wrote. The driver only uses the BIOS routines for interfacing >to the disk. Here is some more data about the formatting process. After FORMAT is finished formatting the drive, it does an INT 26 to write the BOOT sector onto the disk. This returns OK. Then, it does a Generic IOCTL call, with CX = 0846h. 08 means disk access, but 46 is un- documented as far as I can tell. I have looked into many DOS books (including Advanced Dos (including 4.0)), and this sub-function is not documented. I have a DOS 4.0 Tech Reference on order... I have a feeling this call concerns the serial numbers added in version 4.X, but I can't support what I don't know! I also changed the Generic IOCTL handler in the driver to always return OK if it doesn't understand the sub-function, and the drive formatted OK with no errors... Help! Thanks in advance! Bill Marsh, Naval Ocean Systems Center, San Diego, CA {arpa,mil}net: bmarsh@cod.nosc.mil uucp: {ihnp4,akgua,decvax,dcdwest,ucbvax}!sdcsvax!nosc!bmarsh "If everything seems to be coming your way, you're probably in the wrong lane."