On at 2024-05-23 11:42 +0100, Liam Proven via Freedos-devel wrote:
On Tue, 21 May 2024 at 19:22, E. C. Masloch via Freedos-devel
<freedos-devel@lists.sourceforge.net> wrote:
64 Ki * 16 KiB = 1024 MiB. (The actual maximum amount of clusters is of
course slightly less than 64 Ki, to be exacting.) So you're off-by-one,
a "2 GB" file system cannot possibly be fully utilised with FAT16 at a
16 KiB per cluster size.
Ah, OK. My apologies.
Off-by-one errors are of course one of the two hardest problems in
computer science, along with cache invalidation and naming things.
Ha!
Hence tom's suggestion of FAT17.
Clearly there's a joke here but I don't see it or get it. Ah well.
Perhaps mine above will meet a similar reception.
It's simple. FAT16 has 16 (significant) bits per FAT entry, so it can
address a FAT of nearly 64 Ki entries. If there was a FAT variant with
17 (significant) bits per FAT entry, the available space for FAT entries
would double to nearly 128 Ki, so your initial numbers (2 GiB FS at 16
KiB / cluster) would be correct.
(Because FAT32 actually has only 28 significant bits in its FAT entries
some have called it "FAT28".)
So, 1GB-2GB FAT16 partitions used 32kB clusters, and it was the
orginally-NT-only 64kB clusters that were for 2-4GB drives.
Precisely. (Except for how you're using SI base 1000 prefixes in the
JEDEC base 1024 meaning. I think that "KB" should be all-caps in the
JEDEC use.)
Regards,
ecm
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel