bevans@convex.UUCP (04/17/88)
>> I have: >> ... an Everex 1800B (Club AT) with >> ... a 3.5"/1.44MB floppy (B:) >> ... and DOS 3.3. >> >> I can read both 720KB and 1.44MB disks (written on a different >> machine) in drive B:, but I can't format or write an already >> formatted disk of either kind in that drive. Yup. Classic behavior. I helped work on a Floppy controller to talk to 3.5" drives and I witnessed a entire plethora of failures (we did get it to work). And yes, you've got to have DOS 3.3 to talk to 720K and 1.44M 3.5" drives, although, 3.2 will also work with a 720K (only) 3.5" drive, also. You see, it works this way ... When DOS boots up, it determines drive media type by attempting to "walk" the floppy drive head across the media to track 50. If it can, (i.e., no errors returned from the controller) it assumes that the media (drive) is an 80 track device. If not, 40 tracks are assumed. That's how the machine "knows" what media type it is attempting to boot from (9 sectors/track are assumed w/40 track device and 15 sectors/track w/80 track device; its in the BIOS). If the media is formatted, DOS can tell what kind it is by attempting to read Track 0 by trying a various number of sector/track combinations (but DOS doesn't pass this info to the DOS disk-write services because DOS makes certain assumptions that a drive/disk combination may change at any time). It does this drive parm permutation from looking at internal drive tables set up in the INT 13 code (and only 3.3 has the 1.44m drive parms built in). That's why DOS has to know from the outset what a drive type AND media type is before writing or formatting. Now then: Drive Tracks Sectors/Track Sector Size Data Rate RPM ------------------------------------------------------------------ 360k 40 9 512 250K 300 720 80 9 512 250K 300 1.2M 80 15 512 500K 360 1.44M 80 18 512 500K 300 If DOS is confronted with a device that it KNOWS is 80 tracks, it STILL has to know how many sectors/track and the **FORM FACTOR**. That's how DOS knows the DRIVE TYPE, in addition to the media type. So the following two lines in CONFIG.SYS will tell DOS that a 1.44M logical drive and a 720K logical drive are installed: DEVICE=C:\DRIVER.SYS /D:1 /T:80 /S:18 /H:2 /F:7 /* 1.44M drive type */ DEVICE=C:\DRIVER.SYS /D:1 /T:80 /S:09 /H:2 /F:2 /* 720K drive type */ ^^^^ >> The behavior is: I go FORMAT B:<cr>, get the standard "insert &c" >> message, do so, and hit <cr>. I see the usual line that tracks >> head/cylinder counts during formatting, but it stays at 0/0 for >> about 3 seconds (the drive access light is on), then comes the >> dreaded message: Invalid media or Track 0 bad - disk unusable/ >> Format failure. It isn't the physical disk, which formats fine >> in the nearby PS/2. I've tried specifying /n:18/t:80 (though the >> manual says not to), and I even tried installing DRIVER.SYS (though >> it's an internal drive). >> When formatting, DOS also needs to know what to tell the format routine, (INT 13, Func #(I forget)) what to do. It doesn't matter if the drive is internal or external, for a 1.44m drive, DRIVER.SYS has to be installed, AND you HAVE (yeah, i know what the DOS book says B-) ) to tell FORMAT what to do with the media you're formatting. What's happening is if DRIVER.SYS is installed, AND the FORMAT program left w/o a clue to the media type, FORMAT gets confused because it makes certain assumptions about the device (which are wrong) and reports "bad media -- format failure". So: format b: /N:18 /T:80 /* 1.44m */ format b: /N:09 /T:80 /* 720k */ Now you *could* write a file on a 1.44m disk that DOS _thought_ was a 1.2m. What happens is *if* the file requires more than 15 sectors, DOS will write on what it *thinks* is sector X of the next available track and mark it so in the FAT. But it wasn't sector X, it was sector Y on 1.44m media and DOS reports read errors, truncation, etc. >> ... the Club folks tell me my BIOS is the correct one ... Its helpful if your BIOS is up-to-date, but is doesn't HAVE to be. DOS 3.3 was designed to let 3.5" drives be installed in _older_ PCs and overlays the INT13 code in those BIOS, too. Hope this helps, Bruce Evans ************************************************************************* Bruce C. Evans Convex Computer Corporation 701 N. Plano Road Richardson, TX 75081 UUCP: {ihnp4,uiucdcs,ut-sally,sun}!convex!bevans (america) UUCP: {cvxfr,connie,eurodem}!convex!bevans (europe) Views!? Opinions?! Are the above mine? Absotively impossible, I just found the above growing in my refrigerator one morning ... "This time it was right, it would work, and nobody would have to get nailed to anything ..." - Douglas Adams
bkliewer@iuvax.cs.indiana.edu (Bradley Dyck Kliewer) (04/19/88)
>So the following two lines in CONFIG.SYS will tell DOS that a 1.44M logical >drive and a 720K logical drive are installed: > >DEVICE=C:\DRIVER.SYS /D:1 /T:80 /S:18 /H:2 /F:7 /* 1.44M drive type */ >DEVICE=C:\DRIVER.SYS /D:1 /T:80 /S:09 /H:2 /F:2 /* 720K drive type */ > ^^^^ >format b: /N:18 /T:80 /* 1.44m */ >format b: /N:09 /T:80 /* 720k */ > >Its helpful if your BIOS is up-to-date, but is doesn't HAVE to be. DOS 3.3 >was designed to let 3.5" drives be installed in _older_ PCs and overlays the >INT13 code in those BIOS, too. But, there must be something in the BIOS that DOS needs. I have a 1.44M in a _very_ old IBM AT, and try as I may, I cannot get it to work even with DOS 3.3 and the parameters you give above. I use a device driver from Bastech (and I'd rather not since it is copy protected). Even with the Bastech driver, I still have major problems formatting 720K diskettes (the format program is also Bastech's). I get ERROR CLEARING FAT on about 60% of 720K floppies. I can read and write other 720K's fine, and I have no problems with the ones I can format. So far, I haven't had any problems with 1.44M's, but then I haven't used many since they are rather expensive. Bradley Dyck Kliewer Hacking... bkliewer@iuvax.cs.indiana.edu It's not just an adventure It's my job!