Filer ligger i clusters och INTE i sektorer. En cluster r egentligen bara tv
sammanhngande sektorer, eller 1K i lngd. FATen r en lista ver vad som finns
p alla clusters p hela disketten. De ligger s att om du tittar p frsta
FAT entryt s visar den frsta clustern, och om du tittar p den
andra FAT entryt visar den vad som finns i den andra clustern...osv.
Lngden p hela FATen r konstigt nog lika lng p bde enkel och dubbelsidiga
disketter.

P floppy disketter r varje FAT 12 bitar lng, eller 1.5 bytes.
12 bits betyder att ett FAT entry kan ha vrdet $000 till $FFF. P en hrddisk
r dremot varje FAT 16 bits ($0000 to $FFFF).

Om ett entry r noll, d r den clustern ledig. Om $FF1 till FF7 r den
clustern oanvndbar pga ett formateringsfel eller annat. Om ett entry
innehller vrdet $FF8 till FFF d betyder det att denna cluster r slutet p
en fil. (P hrddisk kar vrdena med $F0000).
Alla andra nummer betyder att denna cluster r del av en fil och numret r lika
med NSTA cluster som tillhr samma fil.

I directoryn ligger frsta clustern av den filen. TOS lser in den cluster som
directoryn pekar p och hoppar sen tillbaka till den FAT fr clustern som just
lstes in och lser av den. Denna FAT pekar p NSTA cluster att lsa in.
Denna lses ocks och sedan gr TOS tillbaka till FATen och lser vrdet hr
som allts r NSTA cluster att lsas in, TOS hller p s tills den trffar p
vrdet $FF8 till $FFF i FATen d den slutar lsa.
Varje "entry" r en lnk till NSTA clustern i filen.

De frsta tv "entry"rana av FATen (entry 0 och 1: tre bytes;1,5 bytes per
entry!) bstmmer diskformatet och INTE till en speciell cluster!!
De nsta tv bytesen r lika med $FF och r till fr att peka p slutet av
directoryn, men gr det inte och r oanvnda.

Frsta Clustern ledig p en disk kallas fr Cluster tv (det finns ingen 1a!!).
Den referarar till sektorerna 18 och 19. Fr att f fram vilken sektor FATen
pekar p; tar du entry numret, ta bort tv (Det fanns ju ingen etta!!!!),
gngra med tv (sektorer per cluster) och addera 18 (frsta sektoren med data
r faktiskt sektor 18).

Eftersom TOS anvnder sig av denna metod kan den effektivt fylla en diskett
till bristnings grnsen. Det betyder tyvrr ocks att den minsta storleken p
filer r 1kb...:-(

FATen och directoryn lses in i minnet (adressen r specificerad i byte $2A)
och stannar kvar dr tills man byter diskett (annat SERIAL nummer, se BOOT.TXT),
detta kan skapa konstiga effekter s ibland blir man tvungen att byta diskett
drfr att man vill ha directoryn uppdaterad i minnet.



    Lite luddigt frklarat? Det beror mest p att jag inte r riktigt
    sker p hur FATen funkar..:-(


                             Av.. Unok (the great:-))

