Rejestry GTIA

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:55, 11 lut 2006
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 13:30, 12 lut 2006
KMK (Dyskusja | wkład)

Next diff →
Linia 120: Linia 120:
<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>"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ż czynność tę wykonuje systemowa procedura [[SYSVBL]].</p>
</td></tr> </td></tr>

Wersja z dnia 13:30, 12 lut 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

AdresEtykietaOpis
$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
$D010 (W)GRAFP3
$D011 (R)TRIG1
$D011 (W)GRAFM
$D012 (R)TRIG2
$D012 (W)COLPM0
$D013 (R)TRIG3
$D013 (W)COLPM1
$D014 (R)PAL
$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
$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:

  • bit 3 - jednobitowe wyjście dźwiękowe
  • bit 2 - stan klawisza OPTION (0 - naciśnięty)
  • bit 1 - stan klawisza SELECT (0 - naciśnięty)
  • bit 0 - stan klawisza START (0 - naciśnięty)

"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ż czynność tę wykonuje systemowa procedura SYSVBL.


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools