A430@HASARA11.BITNET (Dept. of Mol. Biology, Section of Mol. Cytology) (06/08/91)
My 3.5 inch floppy drive always made much more noise under MINIX than under DOS when using 1.44 Mb disks. I'll explain the solution I found to this, so that others can profit from it too. I have only one floppy drive in my AT, a Teac FD235HF 3.5 inch, which can handle both 1.44 Mb and 720 Kb disks, this includes writing and formatting the 720 Kb disks and exchanging them with disks written by XT's. I had a look at the Diskette Parameter Table under DOS in order to compare it with the floppy disk driver. My Diskette Parameter Table looks as follows: (hex) DF, 02, 25, 02, 09, 1B, FF, 54, F6, 01, 08. The fifth byte is the number of sectors per track, which is 9 here, rather than the expected 12 (hex). I verified that this remained the same no matter what disk actions were performed like formatting a 1.44 Mb disk. The D in the first byte is the stepping rate during seek operations. The MINIX floppy disk driver has an A here for 1.44 Mb disks. I changed the A to a D and all the grinding noise disappeared! Also, my drive is now some ten percent faster with 1.44 MB disks. Perhaps something like the following could be a general patch: *** floppy.c0 Sun Dec 23 01:07:02 1990 --- floppy.c Mon May 6 21:24:18 1991 *************** *** 239,244 **** --- 239,246 ---- cim_floppy(); /* ready for floppy interrupts */ + if (!ps) spec1[6] = 0xDF; + /* Here is the main loop of the disk task. It waits for a message, carries * it out, and sends a reply. */ After I fixed this I made further comparisons between the Diskette Parameter Table and floppy.c and saw that the head settle time (tenth byte in DPT) is only one millisecond. Floppy.c gives 3.5 inch drives a head settle time of 2 clockticks (= 33 milliseconds) per seek or recallibration and 5.25 inch drives nothing. According to my Phoenix BIOS manual both 3.5 inch drives and 1.2 Mb drives require 15 milliseconds and 360K drives need 20 to 25 milliseconds. I found out that my drive doesn't need any head settle time at all, other than that resulting from the code between a seek request and a read/write request. Finally, according to my BIOS manual 3.5 inch drives always have a sector gap (sixth byte in DPT) of 1B (hex) rather than the 2A (hex) given by floppy.c to 720 Kb disks. I modified this in my floppy.c but didn't observe any effects. Bert Gijsbers