Address | Read register | Write register | Address | Read register | Write register |
^00 | KOLM0PF | HPOSP0 | ^10 | TRIG0 | GRAFP3 |
^01 | KOLM1PF | HPOSP1 | ^11 | TRIG1 | GRAFPM |
^02 | KOLM2PF | HPOSP2 | ^12 | unused | COLPM0 |
^03 | KOLM3PF | HPOSP3 | ^13 | TRIG3 | COLPM1 |
^04 | KOLP0PF | HPOSM0 | ^14 | PAL | COLPM2 |
^05 | KOLP1PF | HPOSM1 | ^15 | unused | COLPM3 |
^06 | KOLP2PF | HPOSM2 | ^16 | unused | COLPF0 |
^07 | KOLP3PF | HPOSM3 | ^17 | unused | COLPF1 |
^08 | KOLM0P | SIZEP0 | ^18 | unused | COLPF2 |
^09 | KOLM1P | SIZEP1 | ^19 | unused | COLPF3 |
^0A | KOLM2P | SIZEP2 | ^1A | unused | COLBAK |
^0B | KOLM3P | SIZEP3 | ^1B | unused | GTIACTL |
^0C | KOLP0P | SIZEM | ^1C | unused | VDELAY |
^0D | KOLP1P | GRAFP0 | ^1D | unused | PMCNTL |
^0E | KOLP2P | GRAFP1 | ^1E | unused | HITCLR |
^0F | KOLP3P | GRAFP2 | ^1F | CONSOL | CONSOL |
COLPF0 COLPF1 COLPF2 COLPF3
- Colors of player field
COLPM0 COLPM1 COLPM2 COLPM3
- Colors of players and missiles
CONSOL
- Consol keys
GRAFM
- Graphics of missiles
GRAFP0 GRAFP1 GRAFP2 GRAFP3
- Graphics of players
GTIACTL
- GTIA control
HITCLR
- Clear collision registers
HPOSM0 HPOSM1 HPOSM2 HPOSM3
- Horizontal positions of missiles
HPOSP0 HPOSP1 HPOSP2 HPOSP3
- Horizontal positions of players
KOLM0P KOLM1P KOLM2P KOLM3P
- Collisions of missiles with players
KOLM0PF KOLM1PF KOLM2PF KOLM3PF
- Collisions of missiles with playfield
KOLP0P KOLP1P KOLP2P KOLP3P
- Collisions of players with players
KOLP0PF KOLP1PF KOLP2PF KOLP3PF
- Collisions of players with playfield
PAL
- PAL system flag
PMCTL
- Player/Missile Control
SIZEM
- Sizes of missiles
SIZEP0 SIZEP1 SIZEP2 SIZEP3
- Sizes of players
bit 0 - unused
bits 3-1 - luminace
bits 7-4 - hue
bit 0 - unused
bits 3-1 - luminace
bits 7-4 - hue
This is the only read/write register in GTIA.
Value written is negated on read. Bits 0-2 are ANDed
with keys status. Reset bit means key pressed.
bit 0 - START key
bit 1 - SELECT key
bit 2 - OPTION key
bit 3 - click sound
bits 4-7 - unused (=0)
bits 1,0 - graphics of missile 0
bits 3,2 - graphics of missile 1
bits 5,4 - graphics of missile 2
bits 7,6 - graphics of missile 3
bits 3-0 - priorities of players and missiles
0001 - P0, P1, P2, P3, PF0, PF1, PF2, PF3, BAK
0010 - P0, P1, PF0, PF1, PF2, PF3, P2, P3, BAK
0100 - PF0, PF1, PF2, PF3, P0, P1, P2, P3, BAK
1000 - PF0, PF1, P0, P1, P2, P3, PF2, PF3, BAK
Players/missiles and playfields are mentioned from highest to lowest priority.
Other combinations of bits 3-0 cause strange side effects.
bit 4 - set all missiles color to COLPF3
bit 5 - enable ORing colors P0 with P1 and P2 with P3 on common areas
bits 7,6 - GTIA extra graphics mode
00 - off
01 - 16 luminaces
10 - 9 colors
11 - 16 hues
Any value written to this register causes collision registers to be reset.
bit 0 - collision with player 0
bit 1 - collision with player 1
bit 2 - collision with player 2
bit 3 - collision with player 3
bits 4-7 - unused (=0)
bit 0 - collision with playfield 0
bit 1 - collision with playfield 1
bit 2 - collision with playfield 2
bit 3 - collision with playfield 3
bits 4-7 - unused (=0)
bit 0 - collision with player 0
bit 1 - collision with player 1
bit 2 - collision with player 2
bit 3 - collision with player 3
bits 4-7 - unused (=0)
bit 0 - collision with playfield 0
bit 1 - collision with playfield 1
bit 2 - collision with playfield 2
bit 3 - collision with playfield 3
bits 4-7 - unused (=0)
bit 0 - unused
bits 1-3 - 000 if TV system is PAL. Else it is NTSC
bits 4-7 - unused (=0)
bit 0 - get missiles data from ANTIC
bit 1 - get players data from ANTIC
bit 2 - lock triggers when pressed
bits 3-7 - unused
Two bits set size of each missile:
00 - single size
01 - double size
10 - single size
11 - quad size
bits 1,0 - size of missile 0
bits 3,2 - size of missile 1
bits 5,4 - size of missile 2
bits 7,6 - size of missile 3
bits 1,0 - size of player (see SIZEM)
bits 2-7 - unused