Rejestry msc IDE
From Atariki
Wersja z dnia 05:56, 12 mar 2006 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
Linia 1: | Linia 1: | ||
- | ====Procedura dostępu==== | + | ==Procedura dostępu== |
Poniżej wymienione rejestry nie są dostępne wprost. Stają się dostępne po wybraniu urządzenia odpowiednim dla niego bitem w rejestrze [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]]. System operacyjny komputera wykonuje to automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do [[SIO]] (celem przeprowadzenia transferu danych). Jednak dostępu do rejestrów mogą potrzebować specjalistyczne programy narzędziowe i diagnostyczne. | Poniżej wymienione rejestry nie są dostępne wprost. Stają się dostępne po wybraniu urządzenia odpowiednim dla niego bitem w rejestrze [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]]. System operacyjny komputera wykonuje to automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do [[SIO]] (celem przeprowadzenia transferu danych). Jednak dostępu do rejestrów mogą potrzebować specjalistyczne programy narzędziowe i diagnostyczne. | ||
Linia 10: | Linia 10: | ||
Urządzenie odłącza się przez wpisanie zera do rejestru [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]]. | Urządzenie odłącza się przez wpisanie zera do rejestru [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]]. | ||
- | ====Lista rejestrów==== | + | ==Lista rejestrów== |
<table border = 1 cellpadding = 5> | <table border = 1 cellpadding = 5> | ||
Linia 100: | Linia 100: | ||
</table> | </table> | ||
- | ====Zobacz też:==== | + | ==Zobacz też== |
- | + | ||
* [[msc]] | * [[msc]] | ||
* [[Mapa pamięci]] | * [[Mapa pamięci]] |
Aktualna wersja
Procedura dostępu
Poniżej wymienione rejestry nie są dostępne wprost. Stają się dostępne po wybraniu urządzenia odpowiednim dla niego bitem w rejestrze PDVREG ($D1FF). System operacyjny komputera wykonuje to automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do SIO (celem przeprowadzenia transferu danych). Jednak dostępu do rejestrów mogą potrzebować specjalistyczne programy narzędziowe i diagnostyczne.
- Wyszukiwanie urządzenia odbywa się w pętli, która ma osiem przebiegów.
- Za każdym przebiegiem ustawia się na 1 jeden bit rejestru PDVREG (najpierw bit 0, za następnym przebiegiem bit 1 itd.) kasując pozostałe.
- Po ustawieniu bitu trzeba skontrolować zawartość komórek $D803 i $D80B. Jeśli wartość ich jest równa odpowiednio $80 i $91, to znaczy, że aktywowane zostało jakieś urządzenie.
- Jeśli w komórkach $D804 i $D80C znajduje się wartość $48 ("H"), to aktywowanym urządzeniem jest interfejs msc.
Urządzenie odłącza się przez wpisanie zera do rejestru PDVREG ($D1FF).
Lista rejestrów
Adres | Etykieta | Opis |
$D108 | DATA.LO | Młodszy bajt portu danych. |
$D120 | DATA.HI | Starszy bajt portu danych. |
$D109 (R) | ERROR | Rejestr ERROR. Ustawiany na odpowiednią wartość, gdy bit 0 rejestru STATUS ma wartość 1:
W trybie diagnostycznym rejestr ERROR przyjmuje następujące wartości: ATA-1:
ATA-2 i późniejsze:
|
$D109 (W) | FEATURES | Rejestr używany przez niektóre komendy opcjonalne oraz przez komendę SET FEATURES, która wybiera tryby pracy specyficzne dla danego urządzenia (np. włącza i wyłącza cache itp.) |
$D10A | SCOUNT | Ilość sektorów do odczytu lub zapisu. |
$D10B | SNUM | Numer sektora na ścieżce, który będzie zapisywany lub odczytywany. |
$D10C | CYL.LO | Numer cylindra (młodszy bajt). |
$D10D | CYL.HI | Numer cylindra (starszy bajt). |
$D10E | SDH | Rejestr SDH:
|
$D10F (W) | COMMAND | Rejestr do wpisywania komend kontrolera IDE. |
$D10F (R) | STATUS | Rejestr statusu:
|
$D110 (W) | FIXDISK | Tzw. fixed disk control register. Używany jest głównie do zresetowania kontrolera.
Pozostałe bity są zarezerwowane. |
$D110 (R) | ALTSTATUS | Cień rejestru STATUS. |