[comp.sys.atari.st] DCformat makes IBM-compatible disks

braner@batcomputer.tn.cornell.edu (braner) (07/29/87)

[]

The reports on problems with the "write IBM boot sector" option in
DCFORMAT led me to examine the relevant sectors with a sector editor
("Tinytools").  DCFORMAT replaces the TOS boot sector (which holds the
BIOS parameters only) with an IBM-type boot sector (MS-DOS 3.2), which
includes executable 8086 code.  (The ST, with TOS in ROM, ignores that code.)

I noticed a funny thing: if you don't click on "2 sides" first, DCFORMAT
will write an IBM boot sector that declares the disk as _single_sided_,
even if the disk was already formatted as double-sided.  Of course, that
will lead to erroneous I/O, on either the IBM _or_ the ST.  That can be
fixed by running DCFORMAT again and doing it right.

What DCFORMAT does _not_ do is change the first byte of the FAT (a disk-
format ID) from $F7 (what TOS puts there, even though it puts $F9 in the
boot sector!) to $F9 (what the IBM uses).  I don't know if that FAT byte
matters.

The only other difference I could find between the ST and IBM formats is
that the IBM uses 3-sector FATs and the ST uses 5.  That should not matter
as long as the right info is in the boot sector.

Can somebody tell us where, in the boot sector (?), is the info whether the
FAT entries are 12- or 16-bits long?  Perhaps the $F9 ID is the only place?

- Moshe Braner