fatFAT12 = 0;
|
|
fatFAT16 = 1;
|
|
fatFAT32 = 2;
|
|
|
fatDotName = '.';
|
|
fatDotDotName = '..';
|
|
fatNameCount = 8;
|
|
fatExtCount = 3;
|
|
|
fatLabelMask = '*';
|
|
fatLabelCount = 11;
|
|
|
fatOemName = 'MSWIN4.1';
|
|
fatDefaultName = 'NO NAME';
|
|
|
fatFlagNone = $00;
|
|
fatFlagName = $08;
|
|
fatFlagExt = $10;
|
|
fatFlagBoth = $18;
|
|
|
lfnMaxName = 2048;
|
Buffer size for lfn handling
|
lfnMaxAlias = 999999;
|
Max number of lfn aliases (ie ~999999)
|
lfnMaxNameAlias = 4;
|
|
lfnMaxHashAlias = 999;
|
|
lfnMaxHashShift = 16;
|
|
|
fatMaxFileSize = 4294967295;
|
Max size in bytes of a File (4GB)
|
fatMaxDirectorySize = 2097152;
|
Max size in bytes of a Directory (2MB = 65536 * 32)
|
|
fatMinClusterSize = 512;
|
|
fatMaxClusterSize = 65536;
|
|
|
fat12MinClusters = 3;
|
|
fat16MinClusters = 4085;
|
Smallest Number of Clusters on a FAT16 volume, is FAT12 if less
|
fat32MinClusters = 65525;
|
Smallest Number of Clusters on a FAT32 volume, is FAT16 if less
|
|
fat12MinSectors = 6;
|
Number of Sectors at which we cannot create a FAT12 (Not possible due to 512 Root entries)
|
fat12MinSectors = 798;
|
Number of Sectors at which we cannot create a FAT12
|
fat12MaxSectors = 32623;
|
Number of Sectors at which we insist on creating FAT16
|
|
fat16MinSectors = 8400;
|
Number of Sectors at which we cannot create a FAT16
|
fat16MaxSectors = 1048576;
|
Number of Sectors at which we insist on creating FAT32
|
|
fat32MinSectors = 66600;
|
Number of Sectors at which we cannot create a FAT32
|
fat32MaxSectors = $FFFFFFFF;
|
No limit on maximum size of a FAT32
|
|
Note: In FAT12 EOC will be >= $0FF0 due to Media ID on Floppy
|
fat12EndOfFile = $0FF0;
|
Some Code sets values from $0FF0 - $0FFF as EOF
|
fat12EndOfFile = $0FF8;
|
Some Code sets values from $0FF8 - $0FFF as EOF
|
fat12EndOfCluster = $0FFF;
|
EOF Mark, Check for >= $0FF0 - See Above
|
fat12FreeCluster = $0000;
|
Available for Use
|
fat12BadCluster = $0FF7;
|
Bad Cluster Mark - Do Not Use
|
fat12MediaCluster = $0F00;
|
First Cluster - $0F00 + MediaID from BPB Usually $0FF8
|
fat12Reserved0 = $0FF0;
|
Reserved Cluster Nos - Do Not Use (Due to Media ID on Floppy)
|
fat12Reserved1 = $0FF1;
|
|
fat12Reserved2 = $0FF2;
|
|
fat12Reserved3 = $0FF3;
|
|
fat12Reserved4 = $0FF4;
|
|
fat12Reserved5 = $0FF5;
|
|
fat12Reserved6 = $0FF6;
|
|
|
fat16EndOfFile = $FFF8;
|
Some Code sets values from $FFF8 - $FFFF as EOF
|
fat16EndOfCluster = $FFFF;
|
EOF Mark, Check for >= $FFF8 - See Above
|
fat16FreeCluster = $0000;
|
Available for Use
|
fat16BadCluster = $FFF7;
|
Bad Cluster Mark - Do Not Use
|
fat16MediaCluster = $FF00;
|
First Cluster - $FF00 + MediaID from BPB Usually $FFF8
|
|
fat32EndOfFile = $0FFFFFF8;
|
Some Code sets values from $0FFFFFF8 - $0FFFFFFF as EOF
|
fat32EndOfCluster = $0FFFFFFF;
|
EOF Mark, Check for >= $0FFFFFF8 - See Above
|
fat32FreeCluster = $00000000;
|
Available for Use
|
fat32BadCluster = $0FFFFFF7;
|
Bad Cluster Mark - Do Not Use
|
fat32MediaCluster = $0FFFFF00;
|
First Cluster - $0FFFFF00 + MediaID from BPB Usually $0FFFFFF8
|
|
fat16CleanShutdown = $8000;
|
Second Cluster - EndOfCluster + Bits
|
fat16HardError = $4000;
|
Second Cluster - EndOfCluster + Bits
|
|
fat32CleanShutdown = $08000000;
|
Second Cluster - EndOfCluster + Bits
|
fat32HardError = $04000000;
|
Second Cluster - EndOfCluster + Bits
|
fat32ReservedBits = $F0000000;
|
Bits 31-29 must be preserved on FAT32
|
|
fatBootSector = 0;
|
|
fatFreeCluster = 0;
|
|
fatStartCluster = 2;
|
Lowest allocatable cluster number
|
fatUnevenCluster = $00000001;
|
|
fatUnknownCluster = $FFFFFFFF;
|
|
|
fatEntryFree = $E5;
|
|
fatEntryFreeAll = $00;
|
|
fatEntrySpecial = $05;
|
If real first char is $E5
|
fatEntryPadding = $20;
|
Padded with spaces (32)
|
|
fatEntrySize = 32;
|
Size of a FAT Directory Entry (or LFNDirectoryEntry)
|
|
lfnEntryMax= $3F;
|
Maximum count of an LFN entry
|
lfnEntryLast = $40;
|
Marker for LFN last entry
|
lfnEntryMask = $BF;
|
Mask for LFN entry count
|
lfnEntryChars = 13;
|
Number of characters per LFN entry
|
|
lfnEntryNull = $0000;
|
Null terminator on LFN when applicable
|
lfnEntryPadding = $FFFF;
|
Empty LFN chars padded with (65535)
|
|
lfnAttributeMask = (faReadOnly or faHidden or faSysFile or faVolumeID);
|
Not Used - See faLongName
|
|
fatBootSignature = $29;
|
|
|
fat32LeadSignature = $41615252;
|
RRaA
|
fat32StructSignature = $61417272;
|
rrAa
|
fat32TrailSignature = $AA550000;
|
Standard Boot Sector signature
|
|
fatDotChar:Byte = $2E;
|
Checked separately from Invalid chars due to . and .. entries
|
fatSpaceChar:Byte = $20;
|
|
fatBaseChars:set of Byte = [$00..$19];
|
0..31 (Dont include $20 as that is checked separately)
|
fatInvalidChars:set of Byte = [$22,$2A,$2B,$2C,$2F,$3A,$3B,$3C,$3D,$3E,$3F,$5B,$5C,$5D,$7C];
|
34,42,43,44,47,58,59,60,61,62,63,91,92,93,124 (Dont include $2E as that is checked separately)
|
fatLowercaseChars:set of Byte = [$61..$7A];
|
97..122 (These dont account for the code page)
|