[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Single Page

Top Document: Atari 8-Bit Computers: Frequently Asked Questions
Previous Document: 1.11) What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?
Next Document: 1.13) What is the internal layout of the 8-bit Atari?


1.12) Why do the ANTIC Modes start with "Mode 2", what about 0 or 1?


This section started by: Laurent Delsarte

Actually, the ANTIC graphic mode numbers are directly used as instructions
in Display Lists (DL), to request the display of several lines of a specific
text or graphic mode.  For instance, the instruction "2" (for "Mode 2") in an
ANTIC Display List requests 8 scan lines of "text 0".

But the instructions "0" and "1" already have other meanings in an ANTIC
Display List program:
  "0" means "display one blank line"
  "1" means "jump to location"

and to be comprehensive, 16 (hex: 10), also means something special:
  "16" means "display two blank lines"

Consequently, the first ANTIC mode is the "Mode 2", and the last one is
"Mode 15".

Here is the context of the full ANTIC display list instruction set:

 Instruction   BASIC   Scan   Pixels  Bytes  Comments
Decimal   Hex   mode   lines   line   line

Blank Line instructions
  0        0     --       1     --     --    1 blank line
 16       10     --       2     --     --    2 blank lines
 32       20     --       3     --     --    3 blank lines
 48       30     --       4     --     --    4 blank lines
 64       40     --       5     --     --    5 blank lines
 80       50     --       6     --     --    6 blank lines
 96       60     --       7     --     --    7 blank lines
112       70     --       8     --     --    8 blank lines

Character Mode instructions
  2        2      0       8     40     40    text mode 0
  3        3     --      10     40     40    text mode *
  4        4     --       8     40     40    text mode *
  5        5     --      16     40     40    text mode *
  6        6      1       8     20     20    text mode l
  7        7      2      16     20     20    text mode 2

Map Mode instructions
  8        8      3       8     40     10    graphics mode 3
  9        9      4       4     80     10    graphics mode 4
 10        A      5       4     80     20    graphics mode 5
 11        B      6       2    160     20    graphics mode 6
 12        C     --       1    160     20    graphics mode *
 13        D      7       2    160     40    graphics mode 7
 14        E     --       1    160     40    graphics mode *
 15        F      8       1    320     40    graphics mode 8

Jump instructions (three bytes long)
  1        1     --      --     --     --    JMP -- jump to location
 65       41     --      --     --     --    JVB -- jump and wait for
                                             vertical blank (VBLANK)

Modes marked with an asterisk (*) have no equivalent in BASIC.

Optional Modifiers to the above Character or Map Mode instructions:
                           add     add
                         decimal   hex   bit
Vertical scroll             16      10     4
Horizontal scroll           32      20     5
LMS Load Memory Scan        64      40     6

Optional Modifier to the above Blank Line or Jump instructions:
DLI Display List Interrupt 128      80     7

More details of ANTIC display list programming can be found in the book
"Mapping the Atari", Appendix 8
http://www.atariarchives.org/mapping/appendix8.php

and also in the book "De Re Atari", Chapters 2, 5 and 6
http://www.atariarchives.org/dere/chapt02.php ANTIC and the display list
http://www.atariarchives.org/dere/chapt05.php Display List Interrupts
http://www.atariarchives.org/dere/chapt06.php Scrolling



Top Document: Atari 8-Bit Computers: Frequently Asked Questions
Previous Document: 1.11) What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?
Next Document: 1.13) What is the internal layout of the 8-bit Atari?

Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
Michael Current <michael@mcurrent.name>

Last Update October 22 2009 @ 05:22 AM

Some parts © 2009 Advameg, Inc.