Hi all, releasing yet another update. Getting closer. For the testers: this is format 0.91i final, which comes after 0.91i pre-release 3. Next versions will be called 0.91j and so on. http://www.coli.uni-sb.de/~eric/stuff/soft/by-others/ format-0.91i.zip (103k) Changes: - drive_specs array only used for initial floppy format selection now. All other places use parameter_block.bpb! - improved total / available space calculations, - more verbose error messages if broken metadata sector found. - some mixed bugs and inconsistencies fixed. - fixed floppy root directory size rounding. - fixed FAT32 root directory allocation-and-BPB bugs. Especially the last 2 bugs were important: The first of them caused FORMAT to create a bigger-than-standard root directory on some floppy sizes, and the other bug caused general FAT32 confusion (for example with SYS). It was DOSFSCK 2.10 for Linux which finally explained the wrong values good enough to point me to the bug. Thanks to Bernd for the checking. Both Bernd and Tyler (thanks for all the testing!) could generate working FAT32 formats now, but MS scandisk is still not 100% happy. However, DOSFSCK and a few other filesystem checkers now are 100% happy with the filesystem. By the way, MS chkdsk even of Windows never checks FAT32. So I think it is no problem at all that we have different tools for FAT32 and FAT12/FAT16 checking, too (dosfsck and chkdsk, I think Imre has a DOSFSCK 2.10 DOS port update somewhere... thanks ;-)). Other fixes: The progress information now displays 100% before it displays the done message. People seem to get confused if this is not done and the display jumps from 99% to "done". The 1680k disk size and other over-sized formats were broken in 0.91g and 0.91h and are fixed now again (gave a division by zero in the broken versions because they could not walk the list past the empty entry which marks the beginning of the special sizes list). Note that 1680k will work OFTEN but that HIGHER formats will try to use more than 80 tracks which will NOT work often (because many drives cannot seek further). 720k in 1440k drives still seems to work very unreliably. Known bugs and TODOs: - 720k works very unreliably - list of bad clusters is not preserved when formatting quick or safe - maybe there should be a warning that harddisk format does not wipe the data area and does not do a surface scan by default (rather, it only does that if you use /U mode explicitly) - in FAT32, bad clusters are detected (only if surface scan is used, of course) but not marked in the FAT yet. Just shown on the screen. - safe format (saving UNFORMAT data) does not support FAT32 yet - 1,234,567 style display should be NLS-aware - maybe set 40:[9x] to use special baud rates even on XT floppy bioses? at least a display for current value would look nice. By the way, I think DOSEMU returns zeroed-out DDPT (except sectors-per-track value), this is a bit oversimplifying things. - size of kernel / shell should be measured and displayed in some way if you use FORMAT /S (which calls SYS). - does not work on certain Tandy 1000 models ;-)... Please test whether those bugs are fully / partially fixed: bug 998 - crash during FAT32 format bug 1022 - cannot format multiple floppies in one go bug 1024 - something which may be related to fdisk and kernel bug 1197 - something which may be related to fdisk bug 1295 - divide error during harddisk format (FAT16) bug 1647 - 720k /Q formatting of a disk which was 720k before... bug 1664 - lowlevel format for 720k does not work - probably STILL does not work bug 1708 - format formatted 1 track too much in version 0.91 floppy format bug 1714 - the YES/NO prompt confused people bug 1719 - the error message for the write protected boot sector case was wrong http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=9999 is the general syntax to jump to bug 9999 directly. Phew! This FORMAT is a neverending story. But at least it looks as if this newest release is, finally, actually useful for quite a few tasks . Cheers, Eric. PS: Nobody could test for 2.88 MB drives and DD drives (360k and 720k) yet. 1.2 MB and 1.44 MB drives work for 1.2 MB and 1.44 MB, and 1.68 MB in 1.44 MB drive works, too (notice that non-FreeDOS kernels may need an extra driver if you use non-standard formats. Linux and FreeDOS are examples of kernels which have builtin drivers for such formats. Actually, just a few extra checks). First tests suggest that DD formats in HD drives still do not lowlevel-format properly. Plain logical format should work, though.