Format AtariDOS 2.5

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:04, 8 mar 2006
KMK (Dyskusja | wkład)
(Struktura ogólna)
← Previous diff
Wersja z dnia 11:08, 8 mar 2006
KMK (Dyskusja | wkład)
(VTOC)
Next diff →
Linia 9: Linia 9:
== 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 całkowita ilość 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: 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.
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). 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).

Wersja z dnia 11:08, 8 mar 2006

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

Struktura ogólna

Obsługiwana jest wyłącznie gęstość pojedyncza i średnia (SD i ED) przy czym w tej pierwszej stosowany jest format DOS-u 2.0, w związku z czym niniejsze hasło omawia tylko format stosowany w gęstości średniej.

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).

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.

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).

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:

OffsetOpis
$00

Bajt statusu:

  • 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 5 = 1 - plik jest zabezpieczony przed zapisem lub skasowaniem
  • bit 4 - niewykorzystany
  • bit 3 - niewykorzystany
  • bit 2 - niewykorzystany
  • bit 1 = 1 - plik jest utworzony przez DOS 2.0 (DOS 1.0 w przeciwnym wypadku)
  • bit 0 = 1 - plik jest otwarty do zapisu

Ogólnie status $42 oznacza plik istniejący, $62 plik zabezpieczony przed zapisem, a $80 plik skasowany.

$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 bardzo podobna do tej, którą mamy w 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).

W podwójnej gęstości pod 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

Identyczne jak w DOS 2.0.

Zobacz też

Personal tools