Rejestry PIA
From Atariki
Wersja z dnia 18:39, 8 sty 2006 Piotrv (Dyskusja | wkład) (→Lista rejestrów - tak będzie chyba jaśniej) ← Previous diff |
Wersja z dnia 18:40, 8 sty 2006 Piotrv (Dyskusja | wkład) (→Lista rejestrów - rejestr -> bit) Next diff → |
||
Linia 43: | Linia 43: | ||
* bit 4: nieużywany (zawsze 1) | * bit 4: nieużywany (zawsze 1) | ||
* bit 3: sterowanie silnikiem magnetofonu (0 - włączony, 1 - wyłączony) | * bit 3: sterowanie silnikiem magnetofonu (0 - włączony, 1 - wyłączony) | ||
- | * bit 2: rejestr wyboru funkcji rejestru PORTA: 0 - kontrola kierunku przepływu danych, 1 - rejestr przesyłania danych | + | * bit 2: bit wyboru funkcji rejestru PORTA: 0 - kontrola kierunku przepływu danych, 1 - rejestr przesyłania danych |
* bit 1: nieużywany (zawsze 0) | * bit 1: nieużywany (zawsze 0) | ||
* bit 0: zezwolenie na przerwanie IRQ portu A (1 - dozwolone) | * bit 0: zezwolenie na przerwanie IRQ portu A (1 - dozwolone) | ||
Linia 55: | Linia 55: | ||
* bit 4: nieużywany (zawsze 1) | * bit 4: nieużywany (zawsze 1) | ||
* bit 3: sterowanie linią COMMAND [[gniazdo SIO|gniazda SIO]] (0 - aktywna) | * bit 3: sterowanie linią COMMAND [[gniazdo SIO|gniazda SIO]] (0 - aktywna) | ||
- | * bit 2: rejestr wyboru funkcji rejestru PORTB: 0 - kontrola kierunku przepływu danych, 1 - rejestr przesyłania danych | + | * bit 2: bit wyboru funkcji rejestru PORTB: 0 - kontrola kierunku przepływu danych, 1 - rejestr przesyłania danych |
* bit 1: nieużywany (zawsze 0) | * bit 1: nieużywany (zawsze 0) | ||
* bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone) | * bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone) |
Wersja z dnia 18:40, 8 sty 2006
Układ PIA, sześć rejestrów.
Lista rejestrów
Adres | Etykieta | Opis |
$D300 | PORTA |
W trybie kontroli kierunku przepływu danych (PACTL:2 = 0): 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. |
W trybie przesyłu danych (PACTL:2 = 1): Przypisany jest do dwóch pierwszych (w XL/XE: dwóch jedynych) gniazd joysticka, młodsze 4 bity przekazują stany joysticka nr 1, starsze - joysticka nr 2. Cienie znajdują się odpowiednio pod JSTICK0 ($0278) i JSTICK1 ($0279). | ||
$D301 | PORTB |
W trybie kontroli kierunku przepływu danych (PBCTL:2 = 0): 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). |
W trybie przesyłu danych (PBCTL:2 = 1): W serii 400/800 przypisany jest do drugiej (nieistniejącej w XL/XE) pary gniazd joysticka, młodsze 4 bity przekazują stany joysticka nr 3, starsze - joysticka nr 4. Cienie znajdują się odpowiednio pod JSTICK2 ($027A) i JSTICK3 ($027B). W serii XL/XE są to duplikaty cieni portu A. 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 |
Rejestr kontroli portu B. Znaczenie bitów:
Przerwanie IRQ portu B podłączone jest do linii INTERRUPT gniazda SIO. System programuje tu domyślnie brak zezwolenia na jego wystąpienie. |