"Single instance" machines (Antic programming, NES, C64 comparisions)

From: Andrew Davie <adavie_at_mad.scientist.com>
Date: Fri Dec 11 18:54:08 1998

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
Received on Fri Dec 11 1998 - 18:54:08 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:30:48 BST