Rejestry GTIA
From Atariki
GTIA został wykorzystany w małych Atari oraz w konsolach Atari 5200. W obu systemach rejestry GTIA zostały zmapowane na różnych stronach pamięci - w komputerach na stronie $D0, w konsoli na stronie $C0. W tabeli podane są adresy właściwe dla komputerów 400/800/XL/XE.
Lista rejestrów
| Adres | Etykieta | Opis | 
| $D000 (R) | KOLM0PF | |
| $D000 (W) | HPOSP0 | 
 Pozycja pozioma gracza nr 0, mierzona w cyklach koloru. Można wpisywac wartości od 0 (skrajna lewa) do 255 (skrajna prawa) pamiętając jednak o tym, że skrajne pozycje znajdują się poza obszarem wyświetlanym na ekranie przeciętnego monitora. W praktyce zakres pozycji, w jakich duszek jest widoczny, rozciąga się od wartości 32 do 216. Standardowe pole gry zajmuje pozycje 41 do 207, zwężone odpowiednio mniej, a rozszerzone odpowiednio więcej.  | 
| $D001 (R) | KOLM1PF | |
| $D001 (W) | HPOSP1 | Pozycja pozioma gracza nr 1, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D002 (R) | KOLM2PF | |
| $D002 (W) | HPOSP2 | Pozycja pozioma gracza nr 2, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D003 (R) | KOLM3PF | |
| $D003 (W) | HPOSP3 | Pozycja pozioma gracza nr 3, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D004 (R) | KOLP0PF | |
| $D004 (W) | HPOSM0 | Pozycja pozioma pocisku nr 0, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D005 (R) | KOLP1PF | |
| $D005 (W) | HPOSM1 | Pozycja pozioma pocisku nr 1, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D006 (R) | KOLP2PF | |
| $D006 (W) | HPOSM2 | Pozycja pozioma pocisku nr 2, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D007 (R) | KOLP3PF | |
| $D007 (W) | HPOSM3 | Pozycja pozioma pocisku nr 3, mierzona w cyklach koloru. Patrz HPOSP0. | 
| $D008 (R) | KOLM0P | |
| $D008 (W) | SIZEP0 | |
| $D009 (R) | KOLM1P | |
| $D009 (W) | SIZEP1 | |
| $D00A (R) | KOLM2P | |
| $D00A (W) | SIZEP2 | |
| $D00B (R) | KOLM3P | |
| $D00B (W) | SIZEP3 | |
| $D00C (R) | KOLP0P | |
| $D00C (W) | SIZEM | |
| $D00D (R) | KOLP1P | |
| $D00D (W) | GRAFP0 | |
| $D00E (R) | KOLP2P | |
| $D00E (W) | GRAFP1 | |
| $D00F (R) | KOLP3P | |
| $D00F (W) | GRAFP2 | |
| $D010 (R) | TRIG0 | 
 Stan spustu joysticka nr 0 (0 - wciśnięty).  | 
| $D010 (W) | GRAFP3 | |
| $D011 (R) | TRIG1 | 
 Stan spustu joysticka nr 1 (0 - wciśnięty).  | 
| $D011 (W) | GRAFM | |
| $D012 (R) | TRIG2 | 
 W 400/800 stan spustu joysticka nr 2 (0 - wciśnięty). W XL i XE rejestr nieużywany.  | 
| $D012 (W) | COLPM0 | |
| $D013 (R) | TRIG3 | 
 W 400/800 stan spustu joysticka nr 3 (0 - wciśnięty). W XL i XE sygnalizuje stan zewnętrznego cartridge'a (1 - włożony do gniazda).  | 
| $D013 (W) | COLPM1 | |
| $D014 (R) | PAL | 
 Znacznik systemu TV. Znaczenie bitów: 
 Wynika z tego, że w systemie PAL i SECAM wartość rejestru to $01, a w NTSC $0F.  | 
| $D014 (W) | COLPM2 | |
| $D015 (W) | COLPM3 | |
| $D016 (W) | COLPF0 | |
| $D017 (W) | COLPF1 | |
| $D018 (W) | COLPF2 | |
| $D019 (W) | COLPF3 | |
| $D01A (W) | COLBAK | |
| $D01B (W) | GTIACTL (GPRIOR) | |
| $D01C (W) | VDELAY | 
 Bity 0-3 oznaczają pociski o numerach 0-3, bity 4-7 graczy o numerach 0-3. Ustawienie bitu powoduje, ze pozycja pionowa odpowiedniego obiektu zwiększa się o jedną linię skaningową obrazu (czyli obiekt na ekranie obniża się o jedną linię). Służy to do zwiększenia płynności ruchu pionowego obiektów w rozdzielczości dwuliniowej, patrz DMACTL. </td></tr>  | 
| $D01D (W) | PMCNTL (GRACTL) | |
| $D01E (W) | HITCLR | 
 <p>Zapis dowolnej wartości pod ten adres kasuje stany rejestrów kolizji.</p>  | 
| $D01F (R/W) | CONSOL | 
 <p>Bity 0-3 tego rejestru reprezentują stan nóżek S0-S3 układu GTIA, a pozostałe bity sa niewykorzystane. Znaczenie:</p> 
 <p>"Jednobitowe wyjście dźwiękowe" wykorzystywane jest do generowania kliku klawiatury oraz dźwięku brzęczyka systemowego urządzenia "E:" (zob. CIO). W serii 400/800 służy do tego osobny głośniczek, w XL i XE natomiast jest to podłączone do ogólnego wyjścia audio.</p> <p>Przed odczytaniem stanu linii wejściowych (czyli stanu klawiszy START, SELECT, OPTION) odpowiednie bity rejestru CONSOL trzeba ustawić na zero. Normalnie jednak nie ma potrzeby tego czynić w programie, gdyż robi to systemowa procedura SYSVBL.</p>  | 
