Rejestry PIA

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:27, 8 sty 2006
KMK (Dyskusja | wkład)
(Lista rejestrów - no i odstubienie)
← Previous diff
Wersja z dnia 11:28, 8 sty 2006
KMK (Dyskusja | wkład)
(Lista rejestrów - ups)
Next diff →
Linia 46: Linia 46:
<p>Przerwanie IRQ portu A podłączone jest do linii PROCEED [[gniazdo SIO|gniazda SIO]]. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.</p> <p>Przerwanie IRQ portu A podłączone jest do linii PROCEED [[gniazdo SIO|gniazda SIO]]. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.</p>
</td></tr> </td></tr>
-<tr><td id="PBCTL">$D303</td><td>PBCTL</td><td> </td></tr>+<tr><td id="PBCTL">$D303</td><td>PBCTL</td><td>
<p>Rejestr kontroli portu B. Znaczenie bitów:</p> <p>Rejestr kontroli portu B. Znaczenie bitów:</p>
* bit 7: status przerwania IRQ portu B (1 - wystąpiło) * bit 7: status przerwania IRQ portu B (1 - wystąpiło)
Linia 57: Linia 57:
* bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone) * bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone)
<p>Przerwanie IRQ portu B podłączone jest do linii INTERRUPT [[gniazdo SIO|gniazda SIO]]. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.</p> <p>Przerwanie IRQ portu B podłączone jest do linii INTERRUPT [[gniazdo SIO|gniazda SIO]]. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.</p>
- +<td></tr>
</table> </table>
[[Kategoria:Programowanie Atari 8-bit]] [[Kategoria:Programowanie Atari 8-bit]]

Wersja z dnia 11:28, 8 sty 2006

Lista rejestrów

AdresEtykietaOpis
$D300PORTA

Rejestr porządkowania danych: Ustawienie bitu na 0 programuje odpowiedni bit w rejestrze przesyłania danych jako bit wejścia danych, w przeciwnym wypadku - jako bit wyjścia danych. System programuje wszystkie linie portu jako wejście.

Rejestr przesyłania danych. Przypisany jest do dwóch pierwszych (w XL/XE: dwóch jedynych) portów joysticka, młodsze 4 bity przekazują stany joysticka nr 1, starsze - joysticka nr 2.

$D301PORTB

Rejestr porządkowania danych: Ustawienie bitu na 0 programuje odpowiedni bit w rejestrze przesyłania danych jako bit wejścia danych, w przeciwnym wypadku - jako bit wyjścia danych. System w 400/800 programuje wszystkie linie portu jako wejście, w XL/XE - wszystkie jako wyjście, za wyjątkiem 1450XLD, gdzie bity 4 i 5 są programowane jako wejściowe (aczkolwiek nie wiadomo, po co).

Rejestr przesyłania danych. W serii 400/800 przypisany jest do drugiej (nieistniejącej w XL/XE) pary portów joysticka, młodsze 4 bity przekazują stany joysticka nr 3, starsze - joysticka nr 4.

W serii XL rejestr ten steruje układem zarządzania pamięcią oraz (istniejącymi w niektórych modelach) diodami konsoli. Przypisanie bitów:

  • bit 7: RAM w obszarze $5000-$57FF (1) lub SELF TEST tamże (0)
  • bit 6: nieużywany
  • bit 5: nieużywany
  • bit 4: nieużywany
  • bit 3: LED 2 (1 - świeci się)
  • bit 2: LED 1 (1 - świeci się)
  • bit 1: RAM w obszarze $A000-$BFFF (1) lub Atari BASIC tamże (0)
  • bit 0: ROM systemu operacyjnego w obszarze $C000-$CFFF i $D800-$FFFF (1) lub RAM tamże (0)

Wartością domyślną jest $FF.

W serii XE rejestr ten steruje układem zarządzania pamięcią. Przypisanie bitów:

  • bit 7: RAM w obszarze $5000-$57FF (1) lub SELF TEST tamże (0)
  • bit 6: nieużywany
  • bit 5: w obszarze $4000-$7FFF ANTIC widzi pamięć główną (1) lub dodatkową (0)
  • bit 4: w obszarze $4000-$7FFF CPU widzi pamięć główną (1) lub dodatkową (0)
  • bit 3: wybór banku pamięci dodatkowej 16k w obszarze $4000-$7FFF
  • bit 2: wybór banku pamięci dodatkowej 16k w obszarze $4000-$7FFF
  • bit 1: RAM w obszarze $A000-$BFFF (1) lub Atari BASIC tamże (0)
  • bit 0: ROM systemu operacyjnego w obszarze $C000-$CFFF i $D800-$FFFF (1) lub RAM tamże (0)

Wartością domyślną jest $FF.

$D302PACTL

Rejestr kontroli portu A. Znaczenie bitów:

  • bit 7: status przerwania IRQ portu A (1 - wystąpiło)
  • bit 6: nieużywany (zawsze 0)
  • bit 5: nieużywany (zawsze 1)
  • bit 4: nieużywany (zawsze 1)
  • bit 3: sterowanie silnikiem magnetofonu (0 - włączony, 1 - wyłączony)
  • bit 2: rejestr porządkowania danych w porcie A (0) lub rejestr przesyłania danych tamże (1)
  • bit 1: nieużywany (zawsze 0)
  • bit 0: zezwolenie na przerwanie IRQ portu A (1 - dozwolone)

Przerwanie IRQ portu A podłączone jest do linii PROCEED gniazda SIO. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.

$D303PBCTL

Rejestr kontroli portu B. Znaczenie bitów:

  • bit 7: status przerwania IRQ portu B (1 - wystąpiło)
  • bit 6: nieużywany (zawsze 0)
  • bit 5: nieużywany (zawsze 1)
  • bit 4: nieużywany (zawsze 1)
  • bit 3: sterowanie linią COMMAND gniazda SIO (0 - aktywna)
  • bit 2: rejestr porządkowania danych w porcie B (0) lub rejestr przesyłania danych tamże (1)
  • bit 1: nieużywany (zawsze 0)
  • bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone)

Przerwanie IRQ portu B podłączone jest do linii INTERRUPT gniazda SIO. System programuje tu domyślnie brak zezwolenia na jego wystąpienie.

</tr> </table>
Personal tools