rozpoznawanie formatów fdd

mam jeszcze jedno pytanko do specjalistów z tej grupy, jak odbywa się rozpoznawanie formatów dyskietek przez kontrolery?

Ktoś mi kiedyś napisał, że czytasz jakiś format i sprawdzasz czy się przeczyta...

ale...

to nie jest takie proste, weźmy na przykład 720kB i 360kB...

pierwszy ma 80 drugi 40 ścieżek, jeśli sformatujemy czystą dyskietkę to może i w.w. sposobem uda się rozpoznać, ale jeśli sformatujemy dyskietkę która miała format 720kb na 360 kb, to na parzystych ścieżkach zostaną sektory, więc w.w. sposób zawiedzie...

jak poprawnie zrobić takie rozpoznanie gęstości?

Reply to
identifikator: 20040501
Loading thread data ...

Użytkownik "identifikator: 20040501" snipped-for-privacy@go2.pl napisał w wiadomości news:ia183n$qen$ snipped-for-privacy@mx1.internetia.pl...

W dyskietkach są jeszcze wycięcia które decydują o tym czy dyskietka jest np. 720KB czy 1,44MB.

Marek

Reply to
tarnus

Pan Marek napisał:

Te wycięcia, to sprawa odrębna -- mówią o tym, jaką maksymalną pojemność

*może* mieć dyskietka. Związane są z własnościami materiału magnetycznego użytego do produkcji dyskietki. Ale dyskietka oznaczona jako 1,44MB może być sformatowana na 720MB.

Żeby dowiedzieć się wszystkiego o formacie dyskietki, wystarczy przeczytać pierwszy sektor. W nim są zawarte informacje na temat organizacji pozostałej części. Z tym że rozpoznawaniem zajmuje się nie kontroler, a komputer. Kontroler musi natomast rozpoznać długość sektora (bo wcale nie musi mieć on 512 bajtów). Ale z tym nie ma problemu.

Swoją drogą ciekawe jest, jaki ma sens zadawanie takich pytań. Jeśli ktoś nie ma pojęcia o formacie danych na dyskietce (a są to rzeczy powszechnie dostępne), to po co mu rozpoznawanie, z którym to nieznanym mu formatem akurat ma do czynienia?

Reply to
Jarosław Sokołowski

W czasach DOSu używałem programu FDRead. Umożliwiał on uzyskanie pojemności

1,72MB na dyskietkach 1,44. Aby system zobaczył dyskietkę 1,72MB należało najpierw wczytać ten program i można było korzystać z dyskietek 1,72 Kiedyś przez przypadek odkryłem że wystarczy wgrać program FDRead w odpowiednie miejsce na dyskietce, aby można go było odczytać pomimo że w systemie nie był wczytany FDRead. Wczytanie FDRead powodowało że reszta dyskietki stawała się dostępna. Morał z tego że kontroler nie do końca kontroluje pojemność dyskietki. Funkcja Biosu 13h/08h podaje parametry stacji dysków, nie dyskietki. Chyba, że użyć funkcji 13h/17h (13h/18h) - ustaw typ dyskietki do formatowania. Funkcja zwraca rodzaj dyskietki.
Reply to
Desoft

Użytkownik "Jarosław Sokołowski" snipped-for-privacy@lasek.waw.pl> napisał w wiadomości news: snipped-for-privacy@falcon.lasek.waw.pl...

Chyba w BIOSie kazdego PCta są podstawowe funkcje i obsługa przerwań do tych celów.

Marek

Reply to
tarnus

aż zaglądnąłem do pdfa... nie ma żadnego bajtu mówiącego o formacie dyskietki, fotosik:

formatting link
no więc jak to jest, poza tym problem o którym pisałem, 720 czy 360 kb albo

360 czy 180 kb?
Reply to
identifikator: 20040501

poza tym fizyczna struktura dyskietki formalnie jest nieosiągalna z poziomu procesora, tym zajmuje się fdc... teraz to już zupełny kosmos...

Reply to
identifikator: 20040501

Ale w pecetach masz boot sektor z podanym formatem.

A twoej pierwsze watpliwosci .. pamietam jeszcze "czemu nie nalezy zapisywac dyskietek 360k w napedzie 1.2M"

J.

Reply to
J.F.

a to czemu? chyba można, jedynie nie da się zapisać 360 na dyskietce HD, też nie wiem czemu?

Reply to
identifikator: 20040501

No przeciez sam pisales - glowica tam waska, nie wiadomo czy skutecznie skasuje stary, szeroki zapis. Zeby bylo smieszniej to naped 1.2 odczyta co zapisal, problemy moga byc z napedami 360kB.

Wyzsza koercja materialu wymagajaca wyzszych pradow ?

P.S. Macie jakis pomysl jak namagnesowac dyskietki ? Wlasnie sobie pomyslalem ze mozna by uzyc jako tarcze enkoderow, tylko najpierw trzeba namagnesowac, a potem sprawdzic czy jakis czujnik to odczyta :-)

J.

Reply to
J.F.

identifikator: 20040501 starał się napisać (ale słabo się starał):

Jest tak, jak można było się spodziewać i jak zawsze jest w podobnych sytuacjach -- jeśli ktoś ma aż takie trudności z pisaniem, to i z czytaniem u niego zwykle nietęgo (to już komputer do spółki z kontrolerem radzą sobie lepiej -- przeczytają pierwszy sektor i wiedzą wszystko bez zaglądania do pedeefa).

Jarek

Reply to
Jarosław Sokołowski

no cóż trudno, już nic lepiej nie pisz w tym wątku

Reply to
identifikator: 20040501

Pan J.F napisał:

Namagnesować tym, co będzie odczytywać, czyli głowicą stacji. W inne rozwiązenia niebardzo wierzę. To namagnesowanie cienkiej warstwy magnetycznej nie może być specjalnie silne -- nawet lekko zabrudzona głowica, która niedokładnie przylega do powierzchni dyskietki, ma problem z odczytaniem. Coś mi się ten cały pomysł słaby wydaje.

Reply to
Jarosław Sokołowski

Albo cos tu nie tak, albo wpisywales go w boot sektor. Pecet/MSDOS nie mial zwyczaju czytac i uruchamiac programow z dyskietki w sposob nieproszony - za wyjatkiem startu systemu.

Zeby nie powiedziec ze prawie wcale. Wpisujesz co chcesz, a robi co kazales, albo zglasza blad ze sie nie udalo. Zakres ma bardzo szeroki.

Jeszcze po drodze stoi BIOS i moze przeszkadzac, o ile sie go uzywa.

Ale jak sie obsluguje HD to juz nie wiem - jakos musieli to dokleic.

J.

Reply to
J.F.

Użytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news: snipped-for-privacy@4ax.com...

Coś mi się wydaje że najlepszym enkoderem to będzie jak ją podziurkujesz :)))

Marek

Reply to
tarnus
Reply to
identifikator: 20040501

Czujnikiem hallotronowym ? :-)

Poki sie nie sprawdzi to sie czlowiek nie dowie. Ale sprawdzenie trzeba zaczac od namagnesowania :-)

J.

Reply to
J.F.

Pan J.F napisał:

O halotronowych głowicach do taśm magnetycznych gdzieś czytałem, ale na żywo nie widziałem. W każdym razie taką co normalnie jest w stacji namagnesować się da.

Machnąć magnesem neodymowym i popatrzeć co na takie namagnesowanie powie czujnik halotronowy. Czarno to widzę.

Reply to
Jarosław Sokołowski

Pan J.F napisał:

I jeszcze do tego system by musiał chyba startować z takiej dyskietki. Bo normalnie, w uruchomionym systemie, z całego bootsectora czytana jest tylko tablica BPB z danymi o formacie. Tak mi się przynajmniej wydaje.

Ja używałem często w stacji 1,2M dyskietek 360k formatowanych na 800k. Nie było to żadnym nadużyciem -- stacja 1,2M miała dwa razy więcej ścieżek niż 360k, co daje już 720k, a miejsce na dziesiąty sektor i tak się na nośniku marnowało. Tyle że pomimo informacji w BPB na temat struktury i mimo możliwości technicznych stacji, goły system nie rozpoznawał takich dyskietek. Trzeba go było na żywca patchować programem rezydentnym (np. 800.com, ale ten FDRead może robił to samo).

Reply to
Jarosław Sokołowski

identifikator: 20040501 napisał:

Trochę się ten wątek rozgałęził, zahaczył o mniej trywialne kwestie, więc z tym "lepiej" jest inaczej.

Akurat w tym wątku od razu padła odpowiedź na postawione pytanie (o sposób rozpoznawania formatu dyskietki).

A co się zmieni i kiedy konkretnie?

Jarek

Reply to
Jarosław Sokołowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.