Rejestry PIA
From Atariki
| Wersja z dnia 18:47, 8 sty 2006 Piotrv (Dyskusja | wkład) (→Lista rejestrów - małe dodatki o IRQ) ← Previous diff  | 
				Wersja z dnia 18:48, 8 sty 2006 Piotrv (Dyskusja | wkład) (→Lista rejestrów) Next diff →  | 
			||
| Linia 47: | Linia 47: | ||
| * bit 0: zezwolenie na przerwanie IRQ portu A (1 - dozwolone) | * bit 0: zezwolenie na przerwanie IRQ portu A (1 - dozwolone) | ||
| <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> | ||
| - | <p>Bit 7 - status IRQ - jest ustawiany automatycznie na zero po odczycie PORTA.</p> | + | <p>Bit 7 - status IRQ - ustawiany jest automatycznie na zero po odczycie PORTA.</p> | 
| </td></tr> | </td></tr> | ||
| <tr><td id="PBCTL">$D303</td><td>PBCTL</td><td> | <tr><td id="PBCTL">$D303</td><td>PBCTL</td><td> | ||
| Linia 60: | Linia 60: | ||
| * 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> | ||
| - | <p>Bit 7 - status IRQ - jest ustawiany automatycznie na zero po odczycie PORTB.</p> | + | <p>Bit 7 - status IRQ - ustawiany jest automatycznie na zero po odczycie PORTB.</p> | 
| </td></tr> | </td></tr> | ||
| </table> | </table> | ||
| [[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] | ||
Wersja z dnia 18:48, 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. Bit 7 - status IRQ - ustawiany jest automatycznie na zero 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. Bit 7 - status IRQ - ustawiany jest automatycznie na zero po odczycie PORTB.  | 
