FAT

0

Ma ktos jakas specyfikacje lub konkretny opis po polsku systemow plikow FAT ??
ort! interesuje mnie FAT12 :)

PS. Wiem ze na OSRC jest ale to in english :)

0

Witam

Kiedyś do któregoś Chipa była dołączona płytka Windows2000 ResourceKit
Tam był jeden rozdział o systemach plików i jeden o dyskach twardych gdzie był opisany MBR(tablice alokacji plików) sektory startowe partycji, ale FAT12(dyskietek) tam chyba nie było opisane. Możesz zajżeć.

Pozdrawiam.

0

hmm mam jednego problema :)
w wpisach w root dir bajty 26-27 to cluster entry value, czyli chyba wskaznik do pierwszego sektora (klastra) pliku na dyskietce,. u mnie ten wpis wyglada tak: eb07 czyli liczba 7eb co daje 2027, nastepnie przeliczam ta wartosc na prawdziwy numer sektora:

((2027 - 2) * 1) + 33 = 2058;

czyli dane znajdowac powinny sie od bajtu: 2058 * 512 = 1053696
jak zrobilem sobie na freebsd obraz dyskietki, i otworzylem go w hex edytorze to rzeczywiscie moje dane znajdowaly sie pod tym adresem.

no i tera musialem uzyc funkcji 02h z przerwania int 13h, ktora odczytuje sektor do pamieci, gdy sobie przeliczylem sektor 2058 na glowica/sciezka/sektor to wyszlo, 1/34/6, probuje odczytac i zonk - nic tam nie ma :|

Gdy w borland c zrobilem sobie programik ktory odczytuje sa pomoca int 13h sektor po sektorze okazalo sie ze w rzeczywistosci moje dane sa w sektorze 1033: czyli 0/57/7, gdy podalem do odczytania te wartosci wszystko bylo ok.

wiec tera pytanko :
jakim cudem z 2058 zrobilo sie 1033 [glowa] :-8 [???] :-| ;-(

0

Numer sektora na ścieżce = (Numer sektora logicznego) mod (liczba sektorów na ścieżce)
Absolutny numer ścieżki = (Numer sektora Logicznego) div ( liczba sektorów na ścieżce)
Numer Głowicy = (absolutny numer ścieżki) mod (liczba głowic)
Numer ścieżki = (absolutny numer ścieżki) div (liczba głowic)

czyli liczymy :
numer sektora na ścieżce = 2058 mod 18 = 6
Absolutny numer ścieżki = 2058 div 18 = 114
Numer głowicy = 114 mod 2 = 0
Numer ścieżki = 114 div 2 = 57

czyli wynik to 0 / 57/ 6; Czasami matematyka jest za trudna :D hyhy
Rozmawiałem z autrem tego postu na GG... i później sie okazało że chodziło o adres 2059. Tą odpowiedź zamieściłem dla innych osób które miały podobny problem :P LICZCIE DOKŁADNIEJ :P

0

juz sie duch nie <ort>wymodrzaj </ort>:-D ;-)

0

a nie lepiej korzystać z rozszerzonego zapisu i odczytu??
tam wpisujesz tylko nr sektora, no ale nie wiem czy dyskietki też to obsługuje, a co do tych h/t/s to nie jestem pewien, ale możliwe, że dyskietce można zrobić low-level formata, tak, że te numerki h/t/s są troszke inne, ale nadal po zsumowaniu tworzą logiczną całość :p

1 użytkowników online, w tym zalogowanych: 0, gości: 1