
|
Beschrijving van de FAT CYBERNETICS, 01-09-94
De File Allocation Tabel (FAT)
================================
De FAT start op sector 1. De lengte (aantal sectoren) is afhankelijk van het
mediumtype. De FAT is opgedeeld in groepjes van 1,5 bytes, ofwel groepjes van
12 bits. De groepjes kunnen de volgende inhoud hebben:
Inh.: Betekenis:
==============================================================================
000 - Het cluster is vrij (wordt niet gebruikt).
FF7 - Het cluster bevat een "bad" sector. Het betreffende cluster zal door
MSXDOS niet worden toegekend aan een file.
FF8 - FF8 of hoger geeft het laatste aan een file toegekende cluster aan.
xxx - Elke andere waarde dan een hiervoor genoemde waarde geeft het nummer
van het volgende cluster in de file aan.
FAT: bitnr: _7__6__5__4__3__2__1__0_
byte 0 |___________ | <--- FAT element 0
byte 1 | |____________|
byte 2 |________________________| <--- FAT element 1
byte 3 |___________ | <--- FAT element 2
byte 4 | |____________|
byte 5 |________________________| <--- FAT element 3
Om de FAT te kunnen lezen dient u de volgende procedure aan te houden:
- Vermenigvuldig het laatst gebruikte clusternummer met 1,5. Het gehele deel
van het resultaat van de vermenigvuldiging is een pointer.
- Gebruik de pointer om de FAT-entry van het in gebruik zijnde cluster te
lezen. In deze entry vindt u het clusternummer van het volgende cluster dat
door de file wordt gebruikt (zie hierna).
- Lees de 3 bytes vanaf het byte dat met de pointer wordt aangewezen.
- Indien het laatst gelezen clustereen even nummer had, dan bevatten de 12
least significant bits van de 3 bytes het nummer van het volgende cluster in
de file. Had de laatst gelezen cluster een oneven nummer, dan bevatten de 12
most significant bits van de 3 bytes het nummer van de volgende cluster in
de file.
- Trek 2 af van het gevonden clusternummer (het volgende clusternummer in de
file).
- Vermenigvuldig het resultaat van de aftrekking met het aantal sectoren per
cluster.
- Tel de gevonden waarde op bij het sectornumer van de eerste data sector en u
hebt het sectornummer, waarop het betreffende cluster (het volgende cluster
in de file) begint, gevonden. (Nvdr. is dat alles?)
|