Protokół floppy dysku

Z MERA 400 wiki
Skocz do: nawigacja, szukaj

Ustaw konfigurację

Pakiet kontrolera flopy dysku zawiera 4 linie fizyczne (niezależnie od liczby dołączonych dysków) - TYP URZADZENIA=5.

W słowie 1 opisu linii logicznej należy podać:

Słowo Bity Znaczenie
1 0-7 typ stacji napędowej:
  • 0 - 40 cylindrów (SD)
  • 1 - 80 cylindrów (DD)
  • 2 - 80 cylindrów, podwójna gęstość (DD/HD)
8-15 protekcja formatowania:
  • 0 - formatowanie dozwolone
  • inaczej - formatowanie niedozwolone

Dołącz linię

Polecenie sterujące "dołącz linię" przekazuje pole sterujące opisujące sposób zapisania informacji na dyskietce włożonej do stacji:

Słowo Bity Znaczenie
+0 4-7 licznik retransmisji
8-15 liczba sektorów na ścieżce
+1 0-7 długość sektora:
  • 0 - 64 słowa
  • 1 - 128 słów
  • 2 - 256 słów
  • 3 - 512 słów
8-15 liczba cylindrów (40, 80)
+2 0-7 liczba powierzchni (1, 2)
8-15 numer pierwszego sektora na ścieżce (IBM PC=1)

Transmituj

Pole sterujące „transmituj” zawiera 4 słowa parametrów transmisji i 3 słowa parametrów zwracanych.

Pierwsze słowo na bitach 5-7 zawiera kod operacji:

  • 1 - formatowanie ścieżki
  • 2 - odczyt zawartości dysku
  • 3 - zapis na dysk
  • 4 - zapisanie znacznika błędnego sektora

Znaczenie zawartości pola jest zależne od zadanej operacji.

Formatowanie ścieżki

Słowo Bity Znaczenie
+1 0-15 nieistotne
+2 0-15 nieistotne
+3 0-15 numer sektora początkowego formatowanej ścieżki

Operacje transmisji

Operacje transmisji (zapis lub odczyt z dysku) wymagają pola sterującego:

Słowo Bity Znaczenie
+0 3 ignorowane będą błędy CRC odczytu
5-7 kod operacji: odczyt = 2, pisanie = 3
11-15 numer bloku pamięci MERY
+1 0-15 adres bufora MERY
+2 0-15 długość transmisji w słowach pomniejszona o 1
+3 0-15 numer sektora początkowego transmisji

Zapisanie znacznika błędnego sektora

Słowo Bity Znaczenie
+1 0-15 nieistotne
+2 0-15 nieistotne
+3 0-15 numer sektora

Pole parametrów zwracanych

Pole parametrów zwracanych zawiera 3 słowa:

Słowo Bity Znaczenie
+0 0-15 liczba przesłanych poprawnie słów (tylko czytanie lub pisanie)
+1 0-15 1 i 2 bajt stanu i błędów:
0 awaria sprzętu, brak dyskietki
1 błąd transmisji (przyczyna opisana dalej)
10 wystąpił błąd CRC dane/adresy
13 nieznalezione pole adresowe
14 ochrona przed zapisem
15 brak danych
+2 0-7 3 bajt stanu i błędów:
1 odczytany znacznik błędnego sektora
2 błąd CRC danych

Źródło: Protokół flopy dysku, Amepol