[Coco] FAT vs. FAT

Joel Ewy jcewy at swbell.net
Mon Jan 29 12:22:49 EST 2007


I'm constantly using floppy disks to move files between the PC and the
CoCo.  I use PORT.EXE and DSKINI.EXE to transfer individual files and
disk images.  Too many times I get I/O errors and have to find a
different disk, or reformat it in one drive or another.  The whole thing
would be simplified if I could just write individual files on a DOS
formatted floppy on the PC and read them on the CoCo, or vice-versa.

Ok, so I know that there are similarities, and significant differences
between the DECB FAT file structure and the MS-DOS FAT file structure. 
256 vs. 512 byte sectors is one difference.  Numbers of sectors per
track, and tracks per disk, and sectors per allocation unit, et cetera. 
But it would seem to me that it wouldn't be all that difficult to write
a single, generalized FAT file system handler for which CoCo FAT and
MS-DOS FAT are just specific cases.

My guess is that the main challenge for doing such a thing on the CoCo
would be ensuring that there is sufficient RAM for the data structures
needed to implement a more generalized FAT system, and more importantly,
wedging those data structures into BASIC's not-so-easily modified memory
map.

NitrOS-9 has assembly source for a DOS FAT file manager, but
unfortunately, the only way to access RS-DOS disks is using the
considerably more awkward 'rsdos' util.  In OS-9 a more generalized FAT
file manager that could also handle both CoCo FAT and MS-DOS disks would
be much easier to implement, I think, at least in that you don't have to
worry about stepping on BASIC's data structures.

In addition to sneaker-net applications, more generalized FAT code in
RS-DOS could make it more feasible to create large(r) filesystems on
hard drives/CF that the CoCo could access natively, instead of a gillion
floppy-sized images.

Thoughts, ideas? (aside from "Get DriveWire".  :)  One of these days I
will.)

JCE




More information about the Coco mailing list