> While, at the time, 2G seemed
"infinite", even then, I was amused at the 2G
> limitation being due to the use of a SIGNED 32 bit number. The size can be
> anywhere from -2147483648 to 2147483647.
> By switching to an UNSIGNED 32, NT and the like made the limit 4G.
On Fri, 1 Jan 2016, Jim Brain wrote:
I think it was actually the sectors per cluster
number, which was -64 to 63,
I believe and then got changed to 0-128, meaning cluster sizes of 128
512-byte sectors, or 64K clusters
Quite likely more than one place with limits. It seems likely.
There was probably a tendency to treat all numbers as signed.
I do know that the 32 bit file size field in the DIRectory entries was
processed by some DOS operations, including DIR as a signed number.
Replacing those four bytes with FF FF FF FF would result in a reported
file size of -1 bytes. Replacing it with 00 00 00 80 (LSB first) gave a
reported file size of -2147483648
I know folks will hate on the format, but I am
extremely impressed with the
FAT format. To go all the way from floppies to 4TB drives is impressive.
I think that it is just fine. I prefer it over a list of blocks, that
might result in needing multiple directory entries, such as CP/M or
TRS-DOS. I much prefer it over the need for contiguous space
Even the original Macintosh disk format was essentially the same
algorithms as MS-DOS FAT.
Besides MS-DOS, Microsoft made some "Stand-Alone BASIC" designs that used
the same idea of DIRectory and separate linked list. Albeit at seek
center instead of track 0. Radio-Shack Color Computer, NEC, Okidata,
etc. I've even seen a disk from a Russian computer with that type of
Some of the histories of MS-DOS say that Tim Paterson, in building his
QDOOS ("Quick and Dirty OS") place-holder while waiting for CP/M-86, got
the idea for FAT from seeing Microsoft Stand-Alone BASIC "for NCR" at
Microsoft's West Coast Computer Faire booth. I was at that show, and saw
NEC machines with it, but I've never seen an NCR Stand-Alone BASIC - did
the histories goof?