Showing changes from revision #1 to #2:
Added | Removed | Changed
Feature | FileCore version | OS version | Expansion in |
Even bigger maps | 3.75 | 5.24 | FileCore format |
2K and 4K sectors | 3.63 | 5.22 | Disc handling and Filecore format |
4GB-1 file size | 3.56 | 5.20 | FileCore format |
64-bit byte addressing for user API | 3.31 | 5.03 | Disc handling |
Big directories and big maps | 3.21 | FileCore format | |
Big disc sizes and sector addressing | 2.91 | 3.60 | Disc handling and FileCore format |
See big maps below. Now FileCore can handle an idlen
of up to 21 bits, meaning even smaller objects are possible, relative to total partition size.
Allow sectors to be 2K and 4K bytes (previously could be 256, 512 or 1024 bytes). Since device drivers use 29-bit sector addressing for the largest discs, this means the total addressable space increases from
2^29 * 1024 = 512 GB
to
2^29 * 4096 = 2 TB
Previously a file could have a maximum size of 2 31 – 1 bytes (“2GB – 1”). Now it can have a size of 2 32 – 1 bytes (“4GB – 1”)
The user API introduces the DiscOp command set FileCore_DiscOp64. These take exactly the same parameters as FileCore_DiscOp except rather than a 32-bit disc address (3-bit drive number and 29-bit byte address) it now takes a 32-bit pointer to a three-word structure of drive number and 64-bit byte address. This does not imply that the whole address space can be used in practice, since there has been no change to the internal interface between FileCore and device driver; however using this SWI ensures forward compatibility.
It now becomes possible to exceed the 77 object limit in a directory, and filename length goes from 10 characters to 255 characters.
The maximum possible idlen
in the format goes from 16 bits to 19 bits. This means disc objects can be smaller than before, for a given partition size.