On Mon, 31 Jan 2022, Fred Cisin via cctalk wrote:
File sizes were stored as the last 4 bytes of each
DIRectory entry, with a
signed 32 bit number. So, a file could be from
-2,147,483,648 to 2,147,483,647
Unfortunately, they never successfully finished the implementation, so copying
a negative size file to the drive did not increase the free space. Since they
didn't make THAT work, perhaps they should have used an UNSIGNED 32 bit
number, to permit files up to 4,294,967,295
Consider the file seek operation however: with the file size limited to
the 31-bit positive range of the signed 32-bit data type you can move the
file offset backwards and forwards through the entire range with a single
operation using the same data type. It would not be possible if the data
type was unsigned and all the 32 bits used for the file size.
Maciej