Rejestry GTIA
From Atariki
Wersja z dnia 14:41, 12 lut 2006 KMK (Dyskusja | wkład) (→Lista rejestrów) ← Previous diff |
Wersja z dnia 08:44, 9 kwi 2006 Miker (Dyskusja | wkład) Next diff → |
||
Linia 97: | Linia 97: | ||
<p>Znacznik systemu TV. Znaczenie bitów:</p> | <p>Znacznik systemu TV. Znaczenie bitów:</p> | ||
* bity 7-4: nieużywane, zawsze 0 | * bity 7-4: nieużywane, zawsze 0 | ||
- | * bity 3-1: wartość 000 dla systemu PAL/SECAM oraz 111 dla NTSC | + | * bity 3-1: wartość 000 dla systemu PAL/SECAM oraz 111 dla [http://pl.wikipedia.org/wiki/NTSC NTSC] |
* bit 0: nieużywany, zawsze 1 | * bit 0: nieużywany, zawsze 1 | ||
<p>Wynika z tego, że w systemie PAL i SECAM wartość rejestru to $01, a w NTSC $0F.</p> | <p>Wynika z tego, że w systemie PAL i SECAM wartość rejestru to $01, a w NTSC $0F.</p> |
Wersja z dnia 08:44, 9 kwi 2006
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 | |
$D001 (R) | KOLM1PF | |
$D001 (W) | HPOSP1 | |
$D002 (R) | KOLM2PF | |
$D002 (W) | HPOSP2 | |
$D003 (R) | KOLM3PF | |
$D003 (W) | HPOSP3 | |
$D004 (R) | KOLP0PF | |
$D004 (W) | HPOSM0 | |
$D005 (R) | KOLP1PF | |
$D005 (W) | HPOSM1 | |
$D006 (R) | KOLP2PF | |
$D006 (W) | HPOSM2 | |
$D007 (R) | KOLP3PF | |
$D007 (W) | HPOSM3 | |
$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 | |
$D01D (W) | PMCNTL (GRACTL) | |
$D01E (W) | HITCLR |
Zapis dowolnej wartości pod ten adres kasuje stany rejestrów kolizji. |
$D01F (R/W) | CONSOL |
Bity 0-3 tego rejestru reprezentują stan nóżek S0-S3 układu GTIA, a pozostałe bity sa niewykorzystane. Znaczenie:
"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. 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. |
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.