Format AtariDOS 2.5
From Atariki
Wersja z dnia 11:08, 8 mar 2006 KMK (Dyskusja | wkład) (→VTOC) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) (→Katalog - poprawki) |
||
Linia 1: | Linia 1: | ||
[[Formaty systemów plików|Format dyskietki]] używany przez [[DOS 2.5]] przeznaczony dla stacji [[1050]]. Format ten stanowi rozszerzenie wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. | [[Formaty systemów plików|Format dyskietki]] używany przez [[DOS 2.5]] przeznaczony dla stacji [[1050]]. Format ten stanowi rozszerzenie wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. | ||
- | == Struktura ogólna == | + | == Cechy ogólne == |
- | Obsługiwana jest wyłącznie gęstość pojedyncza i średnia ([[SD]] i [[ED]]) przy czym w tej pierwszej stosowany jest format [[Format AtariDOS 2|DOS-u 2.0]], w związku z czym niniejsze hasło omawia tylko format stosowany w gęstości średniej. | + | * Dopuszczalne wielkości sektorów: 128 i 256 bajtów |
+ | * Maksymalna pojemność filesystemu: 1024 sektory (253 kB) | ||
+ | * Maksymalna wielkość pliku: 253 kB | ||
+ | * Maksymalna liczba plików na dysku: 64 | ||
+ | * Struktura katalogowa: jednopoziomowa | ||
+ | * Maksymalna liczba plików w katalogu: 64 | ||
+ | * Wielkość wpisu w katalogu: 16 bajtów | ||
+ | * Nazwa pliku: 8+3 | ||
+ | * Metoda linkowania plików: 3-bajtowy link w sektorze danych | ||
+ | * Metoda alokacji sektorów: mapa bitowa | ||
- | Jednostką alokacji jest pojedyńczy sektor fizyczny o wielkości 128 lub 256 bajtów. Sektory nr 360 ($168) oraz 1024 ($0400) są zajęte na [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog dyskietki. W sektorach 1-3 jest program ładujący DOS, a sektor nr 720 jest niewykorzystany. Całkowita pojemność dyskietki to 1040 sektorów 128-bajtowych (130k), ale ze względu na ograniczenia filesystemu wykorzystane są z tego tylko 1024 sektory (128k). Po odjęciu sektorów zajętych przez DOS początkowa pojemność dyskietki to 1010 wolnych sektorów (126,25k). | + | == Struktura ogólna == |
+ | Format DOS-u 2.5 jest to [[Format AtariDOS 2|format DOS-u 2.0]] rozszerzony o obsługę gęstości średniej ([[ED]]); w związku z czym niniejsze hasło omawia tylko to rozszerzenie - dla gęstości pojedynczej i podwójnej (której jednak DOS 2.5, co trzeba zaznaczyć, nie obsługuje) wszystko jest tak samo jak w [[DOS 2.0]]. | ||
+ | |||
+ | Jednostką alokacji jest pojedyńczy sektor fizyczny o wielkości 128 bajtów. Sektory nr 360 ($168) oraz 1024 ($0400) są zajęte na [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog dyskietki. W sektorach 1-3 jest program ładujący DOS, a sektor nr 720 jest niewykorzystany. Całkowita pojemność dyskietki to 1040 sektorów 128-bajtowych (130k), ale ze względu na ograniczenia filesystemu wykorzystane są z tego tylko 1024 sektory (128k). Po odjęciu sektorów zajętych przez DOS początkowa pojemność dyskietki to 1010 wolnych sektorów (126,25k). | ||
== VTOC == | == VTOC == | ||
- | VTOC składa się z dwóch części: pierwsza rezyduje w sektorze $0168 i dotyczy pierwszych 720 sektorów dyskietki, identycznie jak w formacie DOS-u 2.0. Jedyna różnica to zawartość bajtów, w których wykazana jest całkowita liczba możliwych do wykorzystania sektorów dyskietki: znajduje się tam wartość $03F2, czyli 1010, a nie, jak pod DOS 2.0, $02C3 (707). Liczba wolnych sektorów natomiast zawiera informację nie na temat całkowitej liczby wolnych sektorów na dyskietce, lecz dotyczy tylko pierwszych 720 sektorów dyskietki. | + | VTOC składa się z dwóch części: |
- | Druga część VTOC znajduje się w sektorze 1024 ($0400). Bajty od $00 do $79 tego sektora zajmuje mapa bitowa opisująca obszar 976 sektorów od nr 48 do nr 1023. W bajtach $7A i $7B zapisana jest liczba wolnych sektorów w obszarze, który nie jest opisany przez pierwszą część VTOC (czyli jest to liczba wolnych sektorów, jakie znajdują się powyżej sektora 720). | + | 1) Pierwsza rezyduje w sektorze $0168 i dotyczy pierwszych 720 sektorów dyskietki, identycznie jak w formacie DOS-u 2.0. Jedyna różnica to zawartość bajtów, w których wykazana jest całkowita liczba możliwych do wykorzystania sektorów dyskietki: znajduje się tam wartość $03F2, czyli 1010, a nie, jak pod DOS 2.0, $02C3 (707). Liczba wolnych sektorów natomiast zawiera informację nie na temat całkowitej liczby wolnych sektorów na dyskietce, lecz dotyczy tylko pierwszych 720 sektorów dyskietki. |
+ | |||
+ | 2) Druga część VTOC znajduje się w sektorze 1024 ($0400). Bajty od $00 do $79 tego sektora zajmuje mapa bitowa opisująca obszar 976 sektorów od nr 48 do nr 1023. Sektory 360-368 oraz 720 oznaczone są w niej jako zajęte. W bajtach $7A i $7B zapisana jest liczba wolnych sektorów w obszarze, który nie jest opisany przez pierwszą część VTOC (czyli jest to liczba wolnych sektorów, jakie znajdują się powyżej sektora 720). | ||
== Katalog == | == Katalog == | ||
Linia 22: | Linia 36: | ||
<p>Bajt statusu:</p> | <p>Bajt statusu:</p> | ||
* bit 7 = 1 - plik skasowany; pozostałe bity mają wtedy wartość 0 | * bit 7 = 1 - plik skasowany; pozostałe bity mają wtedy wartość 0 | ||
- | * bit 6 = 1 - plik istnieje; stany bitów 6 i 7 sa zawsze przeciwne | + | * bit 6 = 1 - plik istnieje i jest dosŧępny dla DOS 2.0 (tj. zawiera się w pierwszych 720 sektorach dyskietki) |
* bit 5 = 1 - plik jest zabezpieczony przed zapisem lub skasowaniem | * bit 5 = 1 - plik jest zabezpieczony przed zapisem lub skasowaniem | ||
* bit 4 - niewykorzystany | * bit 4 - niewykorzystany | ||
* bit 3 - niewykorzystany | * bit 3 - niewykorzystany | ||
* bit 2 - niewykorzystany | * bit 2 - niewykorzystany | ||
- | * bit 1 = 1 - plik jest utworzony przez DOS 2.0 ([[DOS 1.0]] w przeciwnym wypadku) | + | * bit 1 = 1 - plik jest utworzony przez DOS 2.5 ([[DOS 1.0]] w przeciwnym wypadku) |
- | * bit 0 = 1 - plik jest otwarty do zapisu | + | * bit 0 = 1 - plik jest otwarty do zapisu (bit ustawiony również dla plików niedostępnych dla DOS 2.0 - bit 6 jest wtedy skasowany) |
- | <p>Ogólnie status $42 oznacza plik istniejący, $62 plik zabezpieczony przed zapisem, a $80 plik skasowany.</p> | + | <p>Ogólnie status oznacza $80 plik skasowany; $42 plik istniejący, dostępny dla DOS 2.0; $62 plik zabezpieczony przed zapisem, dostępny dla DOS 2.0; $03 plik istniejący, niedostępny dla DOS 2.0; $43 - plik otwarty do zapisu i nigdy niezamknięty, itd.</p> |
</td></tr> | </td></tr> | ||
<tr><td>$01-$02</td><td> | <tr><td>$01-$02</td><td> | ||
Linia 39: | Linia 53: | ||
</table> | </table> | ||
- | Struktura katalogu jest bardzo podobna do tej, którą mamy w [[Format AtariDOS 1|DOS 1.0]]. Jedyną liczącą się różnicą jest to, że DOS 2.0 ustawia zakładanym przez siebie plikom bit 2 statusu, co oznacza "plik założony przez DOS 2.0". Ma to znaczenie przy wymianie plików pomiędzy DOS 1.0 a DOS 2.0 - od biedy mogą one współistnieć na jednej dyskietce, aczkolwiek dostęp do plików DOS 1.0 spod DOS 2.0 może być kłopotliwy (patrz niżej). | + | Struktura katalogu jest taka sama, jaką mamy w [[Format AtariDOS 2|DOS 2.0]]. |
- | + | ||
- | W podwójnej gęstości pod [[DOS 2.0|DOS 2.0d]] wpisy katalogowe zajmują tylko pierwszą połówkę każdego sektora katalogu, reszta natomiast pozostaje pusta (filesystem i tak ogranicza maksymalną liczbę plików na dysku do 64). | + | |
== Mapowanie plików == | == Mapowanie plików == |
Aktualna wersja
Format dyskietki używany przez DOS 2.5 przeznaczony dla stacji 1050. Format ten stanowi rozszerzenie wcześniejszego formatu DOS-u 2.0.
Spis treści |
Cechy ogólne
- Dopuszczalne wielkości sektorów: 128 i 256 bajtów
- Maksymalna pojemność filesystemu: 1024 sektory (253 kB)
- Maksymalna wielkość pliku: 253 kB
- Maksymalna liczba plików na dysku: 64
- Struktura katalogowa: jednopoziomowa
- Maksymalna liczba plików w katalogu: 64
- Wielkość wpisu w katalogu: 16 bajtów
- Nazwa pliku: 8+3
- Metoda linkowania plików: 3-bajtowy link w sektorze danych
- Metoda alokacji sektorów: mapa bitowa
Struktura ogólna
Format DOS-u 2.5 jest to format DOS-u 2.0 rozszerzony o obsługę gęstości średniej (ED); w związku z czym niniejsze hasło omawia tylko to rozszerzenie - dla gęstości pojedynczej i podwójnej (której jednak DOS 2.5, co trzeba zaznaczyć, nie obsługuje) wszystko jest tak samo jak w DOS 2.0.
Jednostką alokacji jest pojedyńczy sektor fizyczny o wielkości 128 bajtów. Sektory nr 360 ($168) oraz 1024 ($0400) są zajęte na VTOC, w sektorach 361-368 ($0169-$0170) znajduje się katalog dyskietki. W sektorach 1-3 jest program ładujący DOS, a sektor nr 720 jest niewykorzystany. Całkowita pojemność dyskietki to 1040 sektorów 128-bajtowych (130k), ale ze względu na ograniczenia filesystemu wykorzystane są z tego tylko 1024 sektory (128k). Po odjęciu sektorów zajętych przez DOS początkowa pojemność dyskietki to 1010 wolnych sektorów (126,25k).
VTOC
VTOC składa się z dwóch części:
1) Pierwsza rezyduje w sektorze $0168 i dotyczy pierwszych 720 sektorów dyskietki, identycznie jak w formacie DOS-u 2.0. Jedyna różnica to zawartość bajtów, w których wykazana jest całkowita liczba możliwych do wykorzystania sektorów dyskietki: znajduje się tam wartość $03F2, czyli 1010, a nie, jak pod DOS 2.0, $02C3 (707). Liczba wolnych sektorów natomiast zawiera informację nie na temat całkowitej liczby wolnych sektorów na dyskietce, lecz dotyczy tylko pierwszych 720 sektorów dyskietki.
2) Druga część VTOC znajduje się w sektorze 1024 ($0400). Bajty od $00 do $79 tego sektora zajmuje mapa bitowa opisująca obszar 976 sektorów od nr 48 do nr 1023. Sektory 360-368 oraz 720 oznaczone są w niej jako zajęte. W bajtach $7A i $7B zapisana jest liczba wolnych sektorów w obszarze, który nie jest opisany przez pierwszą część VTOC (czyli jest to liczba wolnych sektorów, jakie znajdują się powyżej sektora 720).
Katalog
Katalog zajmuje osiem sektorów o numerach od 361 do 368 ($0169-$0170). Pojedyńczy wpis ma 16 bajtów długości, jego strukturę przedstawia tabelka:
Offset | Opis |
$00 |
Bajt statusu:
Ogólnie status oznacza $80 plik skasowany; $42 plik istniejący, dostępny dla DOS 2.0; $62 plik zabezpieczony przed zapisem, dostępny dla DOS 2.0; $03 plik istniejący, niedostępny dla DOS 2.0; $43 - plik otwarty do zapisu i nigdy niezamknięty, itd. |
$01-$02 |
Wielkość pliku w sektorach. |
$03-$04 | Numer pierwszego sektora zajętego przez plik. |
$05-$0C | Nazwa pliku dopełniona spacjami. |
$0D-$0F | Rozszerzenie nazwy pliku dopełnione spacjami. |
Struktura katalogu jest taka sama, jaką mamy w DOS 2.0.
Mapowanie plików
Identyczne jak w DOS 2.0.