Rejestry PIA

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:23, 8 sty 2006
KMK (Dyskusja | wkład)
(Lista rejestrów)
← Previous diff
Wersja z dnia 11:27, 8 sty 2006
KMK (Dyskusja | wkład)
(Lista rejestrów - no i odstubienie)
Next diff →
Linia 36: Linia 36:
<tr><td id="PACTL">$D302</td><td>PACTL</td><td> <tr><td id="PACTL">$D302</td><td>PACTL</td><td>
<p>Rejestr kontroli portu A. Znaczenie bitów:</p> <p>Rejestr kontroli portu A. Znaczenie bitów:</p>
-* bit 7: status przerwania IRQ portu A (linia PROCEED [[gniazdo SIO|gniazda SIO]], 1 - wystąpiło)+* bit 7: status przerwania IRQ portu A (1 - wystąpiło)
* bit 6: nieużywany (zawsze 0) * bit 6: nieużywany (zawsze 0)
* bit 5: nieużywany (zawsze 1) * bit 5: nieużywany (zawsze 1)
Linia 47: Linia 47:
</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> </td></tr>
 +<p>Rejestr kontroli portu B. Znaczenie bitów:</p>
 +* 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 [[gniazdo SIO|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)
 +<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>
</table> </table>
- 
-{{stub}} 
[[Kategoria:Programowanie Atari 8-bit]] [[Kategoria:Programowanie Atari 8-bit]]

Wersja z dnia 11:27, 8 sty 2006

Lista rejestrów

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.

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
Personal tools