Rejestry KMK/JŻ IDE
From Atariki
(Różnice między wersjami)
Wersja z dnia 18:19, 18 sie 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 18:33, 18 sie 2005 KMK (Dyskusja | wkład) Next diff → |
||
Linia 1: | Linia 1: | ||
- | Poniżej wymienione rejestry stają się dostępne po wybraniu urządzenia odpowiednim dla niego bitem w rejestrze PDVREG ($D1FF). | + | ====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 (jak FDISK) 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 $D800-$D802 znajdują się kolejno wartości $28, $07, $70, to aktywowanym urządzeniem jest interfejs [[KMK/JŻ IDE]]. | ||
+ | |||
+ | Urządzenie odłącza się przez wpisanie zera do rejestru PDVREG ($D1FF). | ||
+ | |||
+ | ====Lista rejestrów==== | ||
<table border = 1 cellpadding = 5> | <table border = 1 cellpadding = 5> | ||
Linia 30: | Linia 41: | ||
</table> | </table> | ||
- | Zob. też: | + | ====Zobacz też:==== |
* [[Mapa pamięci]] | * [[Mapa pamięci]] |
Wersja z dnia 18:33, 18 sie 2005
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 (jak FDISK) 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 $D800-$D802 znajdują się kolejno wartości $28, $07, $70, to aktywowanym urządzeniem jest interfejs KMK/JŻ IDE.
Urządzenie odłącza się przez wpisanie zera do rejestru PDVREG ($D1FF).
Lista rejestrów
Adres | Etykieta | Opis |
$D100 | DATA.LO | Młodszy bajt portu danych. |
$D110 | DATA.HI | Starszy bajt portu danych. |
$D111 | ERROR | Rejestr ERROR. |
$D112 | SCOUNT | Ilość sektorów do odczytu lub zapisu. |
$D113 | SNUM | Numer sektora na ścieżce, który będzie zapisywany lub odczytywany. |
$D114 | CYL.LO | Numer cylindra (młodszy bajt). |
$D115 | CYL.HI | Numer cylindra (starszy bajt). |
$D116 | SDH | Rejestr SDH. |
$D117 (W) | COMMAND | Rejestr do wpisywania komend kontrolera IDE. |
$D117 (R) | STATUS | Rejestr statusu. |
$D118 (W) | FIXDISK | Tzw. fixed disk control register. |
$D118 (R) | ALTSTATUS | Cień rejestru STATUS. |