Format AtariDOS 3

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 01:28, 8 wrz 2005
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 02:40, 21 lut 2006
KMK (Dyskusja | wkład)

Next diff →
Linia 1: Linia 1:
-http://krap.pl/mirrorz/atari/www2.asw.cz/kubecj/afsdos3.htm+Format dyskietki zastosowany w [[DOS 3.0|Atari DOS 3.0]] i przeznaczony do użycia ze stacją [[1050]].
-{{stub}}+== Jednostka alokacji ==
 + 
 +Jednostkę alokacji stanowi osiem sektorów, czyli 1k w [[SD]] i [[ED]] (DOS 3.0 nie obsługuje nic więcej). Całkowita pojemność dyskietki w [[SD]] i [[ED]] wynosi więc odpowiednio 90 i 130 jednostek alokacji.
 + 
 +Sektory ('''nie''' jednostki alokacji) 1-24 są zarezerwowane do użytku systemu, reszta dyskietki jest przeznaczona na pliki. Użycie sektorów systemowych jest następujące:
 + 
 +* sektory 1-9 zajmuje DOS
 +* sektory 10-15 są puste
 +* sektory 16-23 zajmuje katalog
 +* sektor 24 zajmuje mapa alokacji plików
 + 
 +Na pliki więc przeznaczone jest 87k w [[SD]] lub 127k w [[ED]].
 + 
 +=== Katalog ===
 + 
 +Pojedyńczy wpis katalogowy zajmuje 16 bajtów. Ponieważ katalog zajmuje 8 sektorów, na dyskietce można by było umieścić do 64 plików, gdyby nie fakt, że w każdym sektorze katalogu pierwszy wpis jest zajęty przez DOS. Dlatego maksymalna liczba plików na dyskietce wynosi 56. Ten wpis systemowy składa się z 14 zer, a dwa ostatnie bajty mają wartość odpowiednio $57 $A5 dla [[SD]] i $7F $A5 dla [[ED]].
 + 
 +Strukturę pozostałych wpisów katalogu przedstawia tabelka:
 + 
 +<table border = 1 cellpadding = 5>
 +<tr><td><b>Offset</b></td><td><b>Opis</b></td></tr>
 +<tr><td>$00</td><td>
 +<p>Bajt statusu:</p>
 +* bit 7 = 1 - wpis katalogowy istniejel jeśli tu jest 1, a w pozostałych bitach 0, to plik jest skasowany.
 +* bit 6 = 1 - plik istnieje.
 +* bit 5 - funkcja nieznana
 +* bit 4 - funkcja nieznana
 +* bit 3 - funkcja nieznana
 +* bit 2 - funkcja nieznana
 +* bit 1 = 1 - plik zabezpieczony przed zapisem lub skasowaniem.
 +* bit 0 = 1 - plik jest otwarty do zapisu
 +</td></tr>
 +<tr><td>$01-$08</td><td><p>Nazwa pliku dopełniona spacjami.</p></td></tr>
 +<tr><td>$09-$0B</td><td><p>Rozszerzenie nazwy pliku dopełnione spacjami.</p></td></tr>
 +<tr><td>$0C</td><td><p>Liczba jednostek alokacji zajętych przez plik.</p></td></tr>
 +<tr><td>$0D</td><td><p>Numer pierwszej jednostki alokacji zajętej przez plik. Numerowane są od zera.</p></td></tr>
 +<tr><td>$0E-$0F</td><td><p>Wielkość pliku w bajtach.</p></td></tr>
 +</table>
 + 
 +=== Mapa alokacji plików ===
 + 
 +Mapa alokacji plików znajduje się w sektorze nr 24. Każdy jej bajt odpowiada jednej jednostce alokacji obszaru plików, bajt o offsecie $00 odpowiada pierwszej jednostce alokacji, która zajmuje sektory 25-32 (i ma numer 0). Baj tten może przyjmować następujące wartości:
 + 
 +* $FD - koniec pliku (ostatnia jednostka alokacji zajęta przez plik)
 +* $FE - obszar wolny
 +* $FF - obszar zarezerwowany (jednostki alokacji wadliwe, nie istniejące itp.)
 + 
 +Każda inna wartość to numer następnej jednostki alokacji zajętej przez plik.
 + 
 +Ogólnie format DOS 3.0 przypomina w założeniach [[format AtariDOS 4.0]].
[[Kategoria:Atari 8-bit]] [[Kategoria:Atari 8-bit]]

Wersja z dnia 02:40, 21 lut 2006

Format dyskietki zastosowany w Atari DOS 3.0 i przeznaczony do użycia ze stacją 1050.

Jednostka alokacji

Jednostkę alokacji stanowi osiem sektorów, czyli 1k w SD i ED (DOS 3.0 nie obsługuje nic więcej). Całkowita pojemność dyskietki w SD i ED wynosi więc odpowiednio 90 i 130 jednostek alokacji.

Sektory (nie jednostki alokacji) 1-24 są zarezerwowane do użytku systemu, reszta dyskietki jest przeznaczona na pliki. Użycie sektorów systemowych jest następujące:

  • sektory 1-9 zajmuje DOS
  • sektory 10-15 są puste
  • sektory 16-23 zajmuje katalog
  • sektor 24 zajmuje mapa alokacji plików

Na pliki więc przeznaczone jest 87k w SD lub 127k w ED.

Katalog

Pojedyńczy wpis katalogowy zajmuje 16 bajtów. Ponieważ katalog zajmuje 8 sektorów, na dyskietce można by było umieścić do 64 plików, gdyby nie fakt, że w każdym sektorze katalogu pierwszy wpis jest zajęty przez DOS. Dlatego maksymalna liczba plików na dyskietce wynosi 56. Ten wpis systemowy składa się z 14 zer, a dwa ostatnie bajty mają wartość odpowiednio $57 $A5 dla SD i $7F $A5 dla ED.

Strukturę pozostałych wpisów katalogu przedstawia tabelka:

OffsetOpis
$00

Bajt statusu:

  • bit 7 = 1 - wpis katalogowy istniejel jeśli tu jest 1, a w pozostałych bitach 0, to plik jest skasowany.
  • bit 6 = 1 - plik istnieje.
  • bit 5 - funkcja nieznana
  • bit 4 - funkcja nieznana
  • bit 3 - funkcja nieznana
  • bit 2 - funkcja nieznana
  • bit 1 = 1 - plik zabezpieczony przed zapisem lub skasowaniem.
  • bit 0 = 1 - plik jest otwarty do zapisu
$01-$08

Nazwa pliku dopełniona spacjami.

$09-$0B

Rozszerzenie nazwy pliku dopełnione spacjami.

$0C

Liczba jednostek alokacji zajętych przez plik.

$0D

Numer pierwszej jednostki alokacji zajętej przez plik. Numerowane są od zera.

$0E-$0F

Wielkość pliku w bajtach.

Mapa alokacji plików

Mapa alokacji plików znajduje się w sektorze nr 24. Każdy jej bajt odpowiada jednej jednostce alokacji obszaru plików, bajt o offsecie $00 odpowiada pierwszej jednostce alokacji, która zajmuje sektory 25-32 (i ma numer 0). Baj tten może przyjmować następujące wartości:

  • $FD - koniec pliku (ostatnia jednostka alokacji zajęta przez plik)
  • $FE - obszar wolny
  • $FF - obszar zarezerwowany (jednostki alokacji wadliwe, nie istniejące itp.)

Każda inna wartość to numer następnej jednostki alokacji zajętej przez plik.

Ogólnie format DOS 3.0 przypomina w założeniach format AtariDOS 4.0.

Personal tools