ANTIC (AlphaNumeric Television Interface Controller) reference

ANTIC register set:
|  | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
$D400 (W) | DMACTL | unused | DL DMA | PM Res. | P DMA | M DMA | Playfield Width
$D401 (W) | CHACTL | unused | Turned | Inverse | Opaque
$D402 (W) | DLISTL | Display List Low (A7-A0)
$D403 (W) | DLISTH | Display List High (A15-A8)
$D404 (W) | HSCROL | unused | Horizontal Scrolling
$D405 (W) | VSCROL | unused | Vertical Scrolling
$D406 (W) |  | unused
$D407 (W) | PMBASE | Player/Missile Base High (A15-A10) | unused
$D408 (W) |  | unused
$D409 (W) | CHBASE | Character Set Base High (A15-A9) | unused
$D40A (W) | WSYNC | unused
$D40B (R) | VCOUNT | Vertical Line Counter / 2
$D40C (R) | PENH | Horizontal Light Pen Trigger Position
$D40D (R) | PENV | Vertical Light Pen Trigger Position
$D40E (W) | NMIEN | DLI | VBI | Reset | unused
$D40F (R) | NMIST | DLI | VBI | Reset | unused ¹
$D40F (W) | NMIRES | unused

ANTIC instruction set:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
--- | --- | --- | --- | --- | --- | --- | --- | ---
Blank Line | DLI | Number of scan lines to skip - 1 | 0
Mode Line | DLI | LMS | VScroll | HScroll | ANTIC Mode (2-15)
Jump | DLI | 0 | unused | $1
Jump/Wait for VBL | DLI | 1 | unused | $1

ANTIC display modes:
Mode | Colors | Resolution | Mode Height | Pixel Height
--- | --- | --- | --- | ---
2 | 2 (Monochrome) | 320 | 8 | 1
3 | 2 (Monochrome) | 320 | 10 | 1
4 | 5 (4 per char) | 160 | 8 | 1
5 | 5 (4 per char) | 160 | 16 | 2
6 | 5 (2 per char) | 160 | 8 | 1
7 | 5 (2 per char) | 160 | 16 | 2
8 | 4 | 40 | 8 | 8
9 | 2 (Monochrome) | 80 | 4 | 4
10 | 4 | 80 | 4 | 4
11 | 2 (Monochrome) | 160 | 2 | 2
12 | 2 (Monochrome) | 160 | 1 | 1
13 | 4 | 160 | 2 | 2
14 | 4 | 160 | 1 | 1
15 | 2 (Monochrome) | 320 | 1 | 1
GTIA 1 (15) | 16 Lumas/1 Chroma | 80 | 1 | 1
GTIA 2 (15) | 9 | 80 | 1 | 1
GTIA 3 (15) | 1 Luma/16 Chromas | 80 | 1 | 1

¹ - Unused bits read back 1
© 2009-2010 Graham