Rejestry PIA
From Atariki
| Wersja z dnia 08:48, 2 mar 2010 Krótki (Dyskusja | wkład) (Rejestry PIA 6520 moved to Rejestry PIA: konsekwencja - w tytułąch innych stron o rejestrach nie ma numerków) ← Previous diff | Wersja z dnia 21:48, 12 sty 2011 Mono (Dyskusja | wkład) (kierunki joysticków i przyciski paddles) Next diff → | ||
| Linia 10: | Linia 10: | ||
| <tr><td> | <tr><td> | ||
| Jako rejestr przesyłania danych: przypisany jest do dwóch pierwszych (w [[XL]] i [[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). | Jako rejestr przesyłania danych: przypisany jest do dwóch pierwszych (w [[XL]] i [[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). | ||
| + | |||
| + | Znaczenie bitów kiedy do gniazd podłączone są joysticki: | ||
| + | * bit 7: joystick 1 w prawo (0 = tak, 1 = nie) | ||
| + | * bit 6: joystick 1 w lewo (0 = tak, 1 = nie) | ||
| + | * bit 5: joystick 1 w dół (0 = tak, 1 = nie) | ||
| + | * bit 4: joystick 1 w górę (0 = tak, 1 = nie) | ||
| + | * bit 3: joystick 0 w prawo (0 = tak, 1 = nie) | ||
| + | * bit 2: joystick 0 w lewo (0 = tak, 1 = nie) | ||
| + | * bit 1: joystick 0 w dół (0 = tak, 1 = nie) | ||
| + | * bit 0: joystick 0 w górę (0 = tak, 1 = nie) | ||
| + | |||
| + | Znaczenie bitów kiedy do gniazd podłączone są paddles: | ||
| + | * bit 7: przycisk potencjometru 3 (0 = wciśnięty, 1 = zwolniony) | ||
| + | * bit 6: przycisk potencjometru 2 (0 = wciśnięty, 1 = zwolniony) | ||
| + | * bit 5: nieużywany (1) | ||
| + | * bit 4: nieużywany (1) | ||
| + | * bit 3: przycisk potencjometru 1 (0 = wciśnięty, 1 = zwolniony) | ||
| + | * bit 2: przycisk potencjometru 0 (0 = wciśnięty, 1 = zwolniony) | ||
| + | * bit 1: nieużywany (1) | ||
| + | * bit 0: nieużywany (1) | ||
| + | |||
| </td></tr> | </td></tr> | ||
| <tr><td id="PORTB" rowspan = 2>$D301</td><td rowspan = 2>PORTB</td><td> | <tr><td id="PORTB" rowspan = 2>$D301</td><td rowspan = 2>PORTB</td><td> | ||
Wersja z dnia 21:48, 12 sty 2011
Układ PIA, sześć rejestrów.
Lista rejestrów
| Adres | Etykieta | Opis | 
| $D300 | PORTA | Jako rejestr kierunku przepływu danych: ustawienie bitu na 0 programuje odpowiedni bit w rejestrze przesyłania danych jako bit wejścia, w przeciwnym wypadku - jako bit wyjścia danych. System programuje wszystkie linie portu jako wejście. | 
| Jako rejestr przesyłania danych: przypisany jest do dwóch pierwszych (w XL i 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). Znaczenie bitów kiedy do gniazd podłączone są joysticki: 
 Znaczenie bitów kiedy do gniazd podłączone są paddles: 
 | ||
| $D301 | PORTB | Jako rejestr kierunku przepływu danych: ustawienie bitu na 0 programuje odpowiedni bit w rejestrze przesyłania danych jako bit wejścia, 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). | 
| Jako rejestr przesyłania danych: 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. Działanie bitu 7 jest uzależnione od stanu bitu 0: bit 7 włącza i wyłącza SELF TEST tylko wtedy, kiedy bit 0 jest ustawiony na 1. W przeciwnym razie zmiany stanu bitu 7 są ignorowane. | ||
| $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. Status IRQ kasowany jest automatycznie po odczycie PORTA. | 
| $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. Status IRQ kasowany jest automatycznie po odczycie PORTB. | 
