h6. [[FileCore]] h6(. » [[FileCore Technical Details|Technical Details]] h6((. » Disc Addresses h2(#discadd). Disc Addresses h3(#def). Definitions used table(bordered). |_<^{width:8em}. Term |_<^. Meaning | |<^. _object_ |<^. Used to define a single file or a directory | |<^. _disc object_ |<^. Used to define a logical group of fragments on a new map disc, that may contain one or more objects | h3(#discaddtype). Types of Disc Addressing There are two different types of disc address that [[FileCore]] currently uses. They are: table(bordered). |_<^{width:8em}. Type |_<^. Description | |<^. "Physical":#physical |<^. Uses actual physical address disc address of the disc, using an offset given in sectors | |<^. "Internal":#internal |<^. Used by new map discs, they refer to shared objects, specifying them in terms of it's fragment id, and their offset within within that __disc object__ | h3(#physical). Physical Disc Addresses Because Physical Disc Addressing uses an offset given in sectors to determine the disc address to read/write. To calculate the physical disc address of a byte you need the know several pieces information about the disc. They are: table(bordered). |_<^{width:8em}. Identifier |_<^. Description | |<^. h |<^. Head number | |<^. t |<^. Track number | |<^. s |<^. Sector number | |<^. b |<^. Number of bytes into the sector | |<^. H |<^. Number of heads on the Drive | |<^. S |<^. Number of sectors per track | |<^. b |<^. Number of bytes per sector | |<^. x |<^. Number of defective sectors earlier on the disc. *Note:* only applicable for old map hard discs. Use zero for old map floppy discs or new map discs | <br /> h3(#internal). Internal Disc Addresses Internal disc addresses are not used by the [[FileCore Disc Map Old|old disc map]], only [[FileCore Disc Map New|new map discs]]. An __object__'s internal disc address is in the following *binary form*: <pre> ddd00000 0fffffff ffffffff ssssssss </pre> table(bordered). |_<^{width:8em}. Identifier |_<^. Description | |<^. ddd |<^. Disc number (not used outside of FileCore itself) | |<^. fffffff ffffffff |<^. Fragment Id | |<^. ssssssss |<^. Offset within the object in units of 2[^__share_size__^]. Where __share_size__ comes from the [[FileCore Disc Record Large|large disc record]]. | You must ensure that if you format a disc, __share_size__ is sufficiently large for the following to be true: smallest fragment size ≤ (254 × 2[^__log2secsize__^] × 2[^__share_size__^]) This ensures that FileCore can then share all the space within a shared disc object.