Format CP/M 2.2

From Atariki

Revision as of 15:35, 24 gru 2007; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Format dyskietki zastosowany w Indus CP/M 2.2 i przeznaczony do użycia ze stacjami Indus GT, LDW Super 2000 i CA-2001. Format dyskietki CP/M 2.2 ma to do siebie, że część parametrów dysku jest z góry narzucona przez BIOS właściwy dla danej implementacji systemu. W praktyce uniemożliwia to wymianę danych tą drogą pomiędzy poszczególnymi implementacjami CP/M.

Spis treści

Cechy ogólne

  • Dopuszczalne wielkości sektorów fizycznych: 128 i 256 bajtów
  • Wielkość sektora logicznego (bloku): 1024 bajty
  • Maksymalna pojemność filesystemu: 65536 bloków (64 MB)
  • Maksymalna wielkość pliku: nieograniczona
  • Maksymalna liczba plików na dysku: 63
  • Struktura katalogowa: jednopoziomowa
  • Maksymalna liczba plików w katalogu: 63
  • Nazwa pliku: 8+3
  • Metoda linkowania plików: indywidualne mapy plików
  • Metoda alokacji sektorów: zależna od BIOS-u

Jednostka alokacji

Jednostkę alokacji stanowi blok liczący osiem sektorów w SD i cztery w DD (czyli 1k). Całkowita pojemność dyskietki w SD i DD wynosi odpowiednio 85 i 171 jednostek alokacji.

Jedną ze stosowanych jednostek miar jest "rekord". Jest to umowna wielkość wynosząca 128 bajtów (historycznie: wielkość sektora na dyskietce ośmiocalowej).

DPB

Parametry dysku przechowywane są w tzw. DPB (ang. disk parameter block). Jego struktura jest następująca:

OffsetOpis
$00-$01

Liczba 128-bajtowych rekordów na ścieżkę: 128 w SD i 256 w DD.

$02

Tzw. block shift: $03 dla bloku 1k.

$03

Tzw. block mask: $0F dla bloku 1k.

$04

Tzw. extent mask (patrz niżej).

$05-$06

Liczba bloków na dysku, odjąć 1: 84 w SD i 170 w DD.

$07-$08

Liczba wpisów w katalogu, odjąć 1. W Indus CP/M: 63.

$09-$0A

Mapa alokacji katalogu. Interpretowana jest jako seria bitów (mł. bajt w kolejności 7-0, potem starszy bajt tak samo) reprezentująca 16 kolejnych sektorów na ścieżce znajdującej się za ścieżkami zarezerwowanymi (patrz niżej). Bit ustawiony oznacza, że odpowiadający mu sektor zajęty jest na katalog.

$0B-$0C

Liczba wpisów w katalogu, podzielona przez 4 i zaokrąglona w górę. W Indus CP/M 2.2: 16.

$0D-$0E

Liczba ścieżek zarezerwowanych. W Indus CP/M 2.2: 2.

DPB nie jest zapisany nigdzie na dysku - BIOS tworzy go sobie w pamięci po zalogowaniu dyskietki.


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Zobacz też

Personal tools