<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=Rejestry_msc_IDE</id>
	<title>Rejestry msc IDE - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=Rejestry_msc_IDE"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=Rejestry_msc_IDE&amp;action=history"/>
	<updated>2026-10-02T03:50:09Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=Rejestry_msc_IDE&amp;diff=3443&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=Rejestry_msc_IDE&amp;diff=3443&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Procedura dostępu ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* Wyszukiwanie urządzenia odbywa się w pętli, która ma osiem przebiegów.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Jeśli w komórkach $D804 i $D80C znajduje się wartość $48 (&amp;quot;H&amp;quot;), to aktywowanym urządzeniem jest interfejs [[Msc|msc]].&lt;br /&gt;
&lt;br /&gt;
Urządzenie odłącza się przez wpisanie zera do rejestru [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]].&lt;br /&gt;
&lt;br /&gt;
== Lista rejestrów ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Adres&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Etykieta&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Opis&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| $D108&lt;br /&gt;
| DATA.LO&lt;br /&gt;
| Młodszy bajt portu danych.&lt;br /&gt;
|-&lt;br /&gt;
| $D120&lt;br /&gt;
| DATA.HI&lt;br /&gt;
| Starszy bajt portu danych.&lt;br /&gt;
|-&lt;br /&gt;
| $D109 (R)&lt;br /&gt;
| ERROR&lt;br /&gt;
| Rejestr ERROR. Ustawiany na odpowiednią wartość, gdy bit 0 rejestru STATUS ma wartość 1:&lt;br /&gt;
&lt;br /&gt;
* bit 7 - Bad sector (ATA-1) lub zarezerwowany (ATA-2 i późniejsze)&lt;br /&gt;
* bit 6 - Uncorrectable ECC error&lt;br /&gt;
* bit 5 - Media Changed&lt;br /&gt;
* bit 4 - ID not found&lt;br /&gt;
* bit 3 - Media Change Requested&lt;br /&gt;
* bit 2 - Aborted command&lt;br /&gt;
* bit 1 - Track 0 not found&lt;br /&gt;
* bit 0 - Data address mark not found&lt;br /&gt;
&lt;br /&gt;
W trybie diagnostycznym rejestr ERROR przyjmuje następujące wartości:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ATA-1:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* $01 - NO ERRORS&lt;br /&gt;
* $02 - Formatter device error&lt;br /&gt;
* $03 - Sector buffer error&lt;br /&gt;
* $04 - ECC circuitry error&lt;br /&gt;
* $05 - Controlling MPU error&lt;br /&gt;
* $8x - Slave drive failed&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ATA-2 i późniejsze:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* $01 - Master passed, slave passed or not present&lt;br /&gt;
* $00, $02-$7F - Master failed, slave passed or not present&lt;br /&gt;
* $81 - Master passed, slave failed&lt;br /&gt;
* $80, $82-$FF - Master failed, slave failed&lt;br /&gt;
|-&lt;br /&gt;
| $D109 (W)&lt;br /&gt;
| FEATURES&lt;br /&gt;
| 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.)&lt;br /&gt;
|-&lt;br /&gt;
| $D10A&lt;br /&gt;
| SCOUNT&lt;br /&gt;
| Ilość sektorów do odczytu lub zapisu.&lt;br /&gt;
|-&lt;br /&gt;
| $D10B&lt;br /&gt;
| SNUM&lt;br /&gt;
| Numer sektora na ścieżce, który będzie zapisywany lub odczytywany.&lt;br /&gt;
|-&lt;br /&gt;
| $D10C&lt;br /&gt;
| CYL.LO&lt;br /&gt;
| Numer cylindra (młodszy bajt).&lt;br /&gt;
|-&lt;br /&gt;
| $D10D&lt;br /&gt;
| CYL.HI&lt;br /&gt;
| Numer cylindra (starszy bajt).&lt;br /&gt;
|-&lt;br /&gt;
| $D10E&lt;br /&gt;
| SDH&lt;br /&gt;
| Rejestr SDH:&lt;br /&gt;
&lt;br /&gt;
* bit 7 - zarezerwowany, równy 1&lt;br /&gt;
* bit 6 - mode select (0 = CHS, 1 = LBA)&lt;br /&gt;
* bit 5 - zarezerwowany, równy 1&lt;br /&gt;
* bit 4 - drive select (0 = master, 1 = slave)&lt;br /&gt;
* bity 3-0 - numer głowicy&lt;br /&gt;
|-&lt;br /&gt;
| $D10F (W)&lt;br /&gt;
| COMMAND&lt;br /&gt;
| Rejestr do wpisywania komend kontrolera IDE.&lt;br /&gt;
|-&lt;br /&gt;
| $D10F (R)&lt;br /&gt;
| STATUS&lt;br /&gt;
| Rejestr statusu:&lt;br /&gt;
&lt;br /&gt;
* bit 7 - Busy&lt;br /&gt;
* bit 6 - Ready&lt;br /&gt;
* bit 5 - Write fault (ATA-1), lub Device fault (ATA-2 i późniejsze)&lt;br /&gt;
* bit 4 - Seek complete&lt;br /&gt;
* bit 3 - Data request (DRQ)&lt;br /&gt;
* bit 2 - Data corrected successfully&lt;br /&gt;
* bit 1 - Index pulse&lt;br /&gt;
* bit 0 - Error&lt;br /&gt;
|-&lt;br /&gt;
| $D110 (W)&lt;br /&gt;
| FIXDISK&lt;br /&gt;
| Tzw. fixed disk control register. Używany jest głównie do zresetowania kontrolera.&lt;br /&gt;
&lt;br /&gt;
* bit 2 - SRST, ustawienie tego bitu na co najmniej 20 ms powoduje reset kontrolera&lt;br /&gt;
* bit 1 - nIEN, Interrupt Enable (nie używany na Atari)&lt;br /&gt;
* bit 0 - powinien być zawsze ustawiany na 0&lt;br /&gt;
&lt;br /&gt;
Pozostałe bity są zarezerwowane.&lt;br /&gt;
|-&lt;br /&gt;
| $D110 (R)&lt;br /&gt;
| ALTSTATUS&lt;br /&gt;
| Cień rejestru STATUS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Zobacz też ==&lt;br /&gt;
&lt;br /&gt;
* [[Msc|msc]]&lt;br /&gt;
* [[Mapa pamięci]]&lt;br /&gt;
* [[Rejestry KMK/JŻ IDE]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>