Re: ANTIC programming
Gosh it's been uh... 17 years already?!?!
I started to explain it all from memory, but then found a reference on the
'web.
http://equinox.shaysnet.com/~eparent/atari/8bit/dlinst.txt
Basically you have a mini-program (the display list) to tell the video
processor how to build up the display - what sort of graphics is on each
line, when to trigger interrupts, etc. The jump instruction was due to the
limited addressing capability of the display list instruction counter - a
big kludge.
Here's the contents of the above URL, anyway - for the record...
Display Blank Scan Lines
7 6 5 4 3 2 1 0 <--- Bit Number
+---+---+---+---+---+---+---+---+
| | n n n | 0 0 0 0 | <--- Instruction Byte
+---+---+---+---+---+---+---+---+
\_______/ \___________/
| |
| +---- Zero
|
+---- Number of scan lines minus one
Hex Dec Binary Instruction
------------------------------------------------
0 0 .... .... Display 1 blank line
10 16 ...1 .... Display 2 blank lines
20 32 ..1. .... Display 3 blank lines
30 48 ..11 .... Display 4 blank lines
40 64 .1.. .... Display 5 blank lines
50 80 .1.1 .... Display 6 blank lines
60 96 .11. .... Display 7 blank lines
70 112 .111 .... Display 8 blank lines
Display Text or Graphics
7 6 5 4 3 2 1 0 <--- Bit Number
+---+---+---+---+---+---+---+---+
| I M H V | n n n n | <--- Instruction Byte
+---+---+---+---+---+---+---+---+
\_______/ \___________/
| |
| +---- ANTIC Display Mode (2 to 16)
|
+----
Mode Scan
Hex Dec Binary Type Lines Colors BASIC Mode
Instruction
----------------------------------------------------------------------
2 2 .... ..1. Text 8 1.5 Display Text ANTIC
mode as GRAPHICS 0 text mode
3 3 .... ..11 Text Display Text as
special text mode
4 4 .... .1.. Text Display Text as
4-color text mode
5 5 .... .1.1 Text Display Text as
large 4-color text mode
6 6 .... .11. Text Display as
GRAPHICS 1 text mode
7 7 .... .111 Text Display as GRAPHICS
2 text mode
8 8 .... 1... Display as GRAPHICS 3 4-color graphic mode
9 9 .... 1..1 Display as GRAPHICS 4 2-color graphic mode
A 10 .... 1.1. Display as GRAPHICS 5 4-color graphic mode
B 11 .... 1.11 Display as GRAPHICS 6 2-color grpahic mode
C 12 .... 11.. Display as special 160x20, 2-color graphic mode
D 13 .... 11.1 Display as GRAPHICS 7 4-color graphic mode
E 14 .... 111. Display as special 160x40, 4-color graphic mode
F 15 .... 1111 Display as GRAPHICS 8, 1 1/2 color graphic mode
1 1 .... ...1 Jump to location specified by next two bytes
41 65 ...1 ...1 Jump to location specified by next two bytes and wait
for vertical blank
Four more instructions can be included by setting 1 of 4 bits in the
instruction code to a 1. These are:
Bit Instruction
----------------------------------------------------------------------
4 ...1 .... Enable fine vertical scrolling
5 ..1. .... Enable fine horizontal scrolling
6 .1.. .... Load memory scan from next two bytes
7 1... .... Set a display list interrupt for the next line