Rejestry PIA
From Atariki
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
Adres | Etykieta | Opis |
$D300 | PORTA |
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. | ||
$D301 | PORTB |
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:
Wartością domyślną jest $FF. W serii XE rejestr ten steruje układem zarządzania pamięcią. Przypisanie bitów:
Wartością domyślną jest $FF. | ||
$D302 | PACTL |
Rejestr kontroli portu A. Znaczenie bitów:
Przerwanie IRQ portu A podłączone jest do linii PROCEED gniazda SIO. System programuje tu domyślnie brak zezwolenia na jego wystąpienie. |
$D303 | PBCTL |