FAT16 is limited to 4G
But DOS and Win9x limits it to 2147483647 (NTx permits 4G).
The 2G limitation is due to the use of signed long ints in places that
should have an UNSIGNED long int. Because of that, it can have files with
a NEGATIVE size!
Fred, I think another reason for this limit is that DOS only allows the
allocation unit (cluster) size be an even power of two. That leaves out a
lot of possible values. If Bob is willing to "forgive" DOS compatibility,
he could allow any allocation unit size that fits in a byte (so 255
theoretically, but he could also choose a 16- or 32-bit factor), allowing
for a much higher limit. --Patrick