Użytkownik:Tdc/brudnopis

From Atariki

< Użytkownik:Tdc(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 02:56, 17 gru 2007
Tdc (Dyskusja | wkład)
(Organizacja danych - red.)
← Previous diff
Aktualna wersja
Tdc (Dyskusja | wkład)
(dr. red.)
Linia 75: Linia 75:
* dodać wszędzie czas tera. * dodać wszędzie czas tera.
* dopracować całość.... * dopracować całość....
 +----
 +----
 +== Lista procedur bibliotecznych ==
 +
 +Break
 +Close
 +color
 +device
 +DrawTo
 +EOF
 +Error
 +Fill
 +GetD
 +Graphics
 +InputB
 +InputBD
 +InputC
 +InputCD
 +InputI
 +InputID
 +InputMD
 +InputS
 +InputSD
 +LIST
 +Locate
 +MoveBlock
 +Note
 +Open
 +Paddle
 +Peek
 +PeekC
 +Plot
 +Point
 +Poke
 +PokeC
 +Position
 +Print
 +PrintB
 +PrintBD
 +PrintBDE
 +PrintBE
 +PrintC
 +PrintCD
 +PrintCDE
 +PrintCE
 +PrintD
 +PrintDE
 +PrintE
 +PrintF
 +PrintI
 +PrintID
 +PrintIDE
 +PrintIE
 +Ptrig
 +Put
 +PutD
 +PutDE
 +PutE
 +Rand
 +SAssign
 +SCompare
 +SCopy
 +SCopyS
 +SetBlock
 +SetColor
 +SndRst
 +Bound
 +Stick
 +StrB
 +StrC
 +StrI
 +Strig
 +TRACE
 +ValB
 +ValC
 +ValI
 +XIO
 +Zero
 +
 +Dodać do [[ACTION!]].
 +----
 +----

Aktualna wersja

Moje notatki:

  • Atari ST (dyskietki DD mogą mieć 946 176 bajtów oraz format zgodny z PC, natomiast HD może mieć maksymalną pojemność 1 892 352 bajtów).

Spis treści

Organizacja danych

Najmniejszą fizyczną ilością danych jaką można zapisać i odczytać na/z dyskietkę jest sektor. Jego pojemność informacyjna wynosi 512 bajtów, jednak na powierzchni dyskietki zapisywane jest jeszcze 142 bajty dodatkowych informacji niedostępnych dla użytkownika (są to parametry dla kontrolera dysku oraz dane wymagane do korekcji błędów odczytu).

Logiczną jednostką zapisu danych na dyskietkach jest klaster (ang. cluster), zwany także czasami JAP, czyli Jednostką Alokacji Pliku. W odróżnieniu od dysków twardych na dyskietce klaster ograniczony jest do maksymalnie dwóch sektorów (1024 bajty).

Cały nośnik podzielony jest na ścieżki (ang. track), których maksymalnie może być 40 lub 80 (komputery zgodne z Atari ST zapisują maksymalnie 83 ścieżki). Pojedyncza ścieżka w zależności od typu dysku może składać się z 8 a nawet 36 sektorów. Dla przykładu dyskietka w gęstości HD zgodna z MS/DR-DOS zawiera 18 sektorów na ścieżce. Każda ścieżka składa się z dodatkowych znaczników, które oznaczają początek (BOT) i koniec ścieżki (EOT).

Dyskietki wymagają procesu zwanego formatowaniem nośnika. Dzieli on powierzchnię nośnika na ścieżki i sektory. Dla dyskietki używanej wiąże się to z wymazaniem wszystkich danych.

Tabela alokacji plików

Systemem plików dostępnym dla dyskietek jest np. FAT (ang. File Allocation Table), który wywodzi się z systemu MS/DR-DOS (początki w QDOS). Zapisane są w nim te klastry, które składają się na konkretny plik. Na dyskietce zgodnej z MS-DOS znajdują się dwie kopie FAT, dzięki którym możliwe jest odtworzenie struktury plików na dysku w razie jej uszkodzenia.

System ten pozwala na zapisanie maksymalnie 4096 klastrów. Wynika to z numeracji klastrów w FAT, który jest wykonywany za pomocą 12 bitowych wartości. Stąd system FAT stosowany dla dyskietek nazywano FAT12 (dla dysków twardych są to FAT16 i FAT32).

Inne systemy operacyjne pozwalają na zapis w wielu systemach plików, w tym preferowany jest natywny (np. linuks itp.). Często też dla zachowania zgodności, możliwy jest opcjonalny zapis w FAT12.

Sektor rozruchowy

Pierwszym sektorem nośnika jest sektor rozruchowy zwany boot-sektorem (oznaczany numerem 0). Przechowuje on wszystkie niezbędne parametry dyskietki. Do parametrów takich zaliczyć można między innymi:

  • identyfikator systemu operacyjnego
  • liczba bajtów w sektorze
  • liczba sektorów na klaster
  • liczba sektorów zarezerwowanych
  • liczba kopii tablicy FAT
  • liczba pozycji w głównym katalogu
  • rodzaj nośnika (bajt)
  • liczba sektorów na ścieżce
  • liczba stron dyskietki
  • fizyczny numer dyskietki
  • nazwa dyskietki (podawana po procesie formatowania)
  • typ systemu plików (FAT12)

Nie wszystkie parametry są interpretowane i nie wszystkie wartości tych parametrów są dozwolone w danych systemach operacyjnych (do najmniej elastycznych należy zaliczyć QDOS, MS/DR-DOS i kompatybilne).

Fizyczne uszkodzenie sektora zerowego uniemożliwia korzystanie z dyskietki w odróżnieniu od pozostałych sektorów, które mogą być pomijane (analogicznie jest w przypadku dysków twardych). Odpowiedni komunikat błędu pojawia się podczas formatowania uszkodzonej dyskietki (np. MS-DOS/Windows podaje komunikat o uszkodzeniu sektora zerowego oraz o niemożności wykorzystania nośnika).

Ciekawostki

  • Atari ST było jedynym komputerem domowym, w którym format zapisu danych na nośniku był całkowicie programowalny. Komputery zgodne z IBM PC, Apple oraz Amiga charakteryzowały konkretne gęstości zapisu, często niekompatybilne z pozostałymi architekturami. Atari zapisywało standardowo dyskietkę w formacie zgodnym z PC (czyli pojemność 720 KiB) natomiast mogły też zapisać dowolny inny format (ograniczony jedynie parametrami technicznymi stacji dysków]). Maksymalnym formatem zapisu dla dyskietek np. DD było 946 176 bajtów, który jeszcze mógł być zwiększany poprzez manipulowanie ilością wpisów w katalogu głównym. Możliwe było też sformatowanie dyskietki dla przykładu na 5 632 bajtów, na które dostępnych było 3 584 bajty (format: 1 strona, 1 sektor, 1 sektor na klaster, 10 ścieżek).
  • Stacje dysków wyposażone są we wskaźnik aktywności LED, który w przypadku komputerów Atari ST oraz Amiga był w pełni software'owo kontrolowany. Było to wykorzystywane w demkach oraz grach. Dla przykładu w grze Lemmings (wersja dla ST) dioda ta migała, gdy przez lemminga budującego mosty były wykorzystywane ostatnie trzy przęsła. Miało to na celu zastąpienie efektów dźwiękowych w przypadku braku komputerowego sygnału audio (np. po ściszeniu itp.). Było to o tyle istotne, że przygotowywało gracza na to że lemming kończy budowę mostu i należy go ochronić aby nie spadł z niego w przepaść<ref>http://en.wikipedia.org/wiki/Floppy_disk#Floppy trivia</ref>.
  • System operacyjny Atari ST – TOS, był jednym z niewielu, który wykorzystywał wskaźnik obecności dysku w napędzie, dzięki temu pewne operacje były pomijane jeśli nośnik nie został wyjęty/zmieniony. Innym przykładem jest to, że w czasie gdy inne komputery wyświetlały użytkownikowi komunikat aby nacisnął dowolny klawisz gdy np. zmieni dyskietki itp. w szeregu najwyższej klasy programów dla ST, komunikat ten nie pojawiał się gdyż wczytywanie z dyskietki następowało automatycznie (po włożeniu jej do napędu).

Organizacja zapisu danych

// seealso

Najmniejszymi jednostkami zapisu danych na dyskietkach są: sektory i klastry. Pogrupowane stanowią ścieżki, których może być 40 lub 80. Jednostki te nanoszone są na nośnik podczas procesu formatowania.

Dane na dyskietce mogą być zapisane w różnych formatach plików. Najczęściej spotykanym jest FAT, który wywodzi się z systemów MS/DR-DOS dla komputerów PC.

Pierwszym sektorem na dyskietce jest sektor rozruchowy przechowujący podstawowe parametry nośnika (podobnie jak w dysku twardym).

Początkowo stacje dysków zapisywały dane jednostronnie (SS), szczególnie dotyczy to nośników większych niż 3,5 cala. Spotykane były też dyskietki jednostronne, choć w ostatnim etapie ich egzystencji, często były to odpady z produkcji nośników obustronnych, co umożliwiało ich formatowanie tak jak nośnika DS.

Spotykane gęstości zapisu: DD, QD, HD, ED.

Ciekawostki

  • Napędy FDD oraz nośniki umożliwiały poprawny zapis danych do 83 ścieżki, co było osiągalne na niektórych systemach komputerowych. Dla przykładu komputery zgodne z IBM PC (DOS) wymagały specjalnego oprogramowania (zapis do 82 ścieżki), jednak rozwiązanie to sprawiało wiele problemów i nie przyjęło się.

...Inaczej było na Atari ST, gdzie dyskietki mogły mieć dowolne parametry i korzystanie z dyskietek o 83 ścieżkach było dość częste. Dostęp do ostatniej ścieżki oznajmiany był przez charakterystyczny dźwięk uderzenia głowicy stacji w obudowę dyskietki. !!!



co zrobić:

  • dodać wszędzie czas tera.
  • dopracować całość....


Lista procedur bibliotecznych

Break Close color device DrawTo EOF Error Fill GetD Graphics InputB InputBD InputC InputCD InputI InputID InputMD InputS InputSD LIST Locate MoveBlock Note Open Paddle Peek PeekC Plot Point Poke PokeC Position Print PrintB PrintBD PrintBDE PrintBE PrintC PrintCD PrintCDE PrintCE PrintD PrintDE PrintE PrintF PrintI PrintID PrintIDE PrintIE Ptrig Put PutD PutDE PutE Rand SAssign SCompare SCopy SCopyS SetBlock SetColor SndRst Bound Stick StrB StrC StrI Strig TRACE ValB ValC ValI XIO Zero

Dodać do ACTION!.



Personal tools