ANTIC - Registers

Registers

The Atari 8-bit computers and the Atari 5200 console map the ANTIC chip to the $D4xxhex page.

Hardware registers do not return the written values back when read. This problem is solved by Operating System Shadow registers implemented in regular RAM as places to store the last value written to registers. Operating System Shadow registers are copied from RAM to the hardware registers during the vertical blank. Therefore any writes to hardware registers which have corresponding shadow registers will be overwritten by the value of the Shadow registers during the next vertical blank.

Some Write hardware registers do not have corresponding Shadow registers. They can be safely written by an application without the value being overwritten during the vertical blank. If the application needs to know the last state of the register then it is the responsibility of the application to remember what it wrote.

Operating System Shadow registers also exist for some Read registers where reading the value directly from hardware at an unknown stage in the display cycle may return inconsistent results.

Name Description Read/Write Hex Addr Dec Addr Shadow Addr Name Shadow Addr Hex Shadow Addr Dec
DMACTL Direct Memory Access Control Write $D400 54272 SDMCTL $022F 559
CHACTL Character Control Write $D401 54273 CHART $02F3 755
DLISTL Display List Pointer (low byte) Write $D402 54274 SDLSTL $0230 560
DLISTH Display List Pointer (high byte) Write $D403 54275 SDLSTH $0231 561
HSCROL Horizontal Fine Scroll Write $D404 54276
VSCROL Vertical Fine Scroll Write $D405 54277
PMBASE Player/Missile Base Address Write $D407 54279
CHBASE Character Set Base Address Write $D409 54281 CHBAS $02F4 756
WSYNC Wait for Horizontal Sync Write $D40A 54282
VCOUNT Vertical Line Counter Read $D40B 54283
PENH Light Pen Horizontal Position Read $D40C 54284 LPENH $0234 564
PENV Light Pen Vertical Position Read $D40D 54285 LPENV $0235 565
NMIEN Non-Maskable Interrupt (NMI) Enable Write $D40E 54286
NMIRES Non-Maskable Interrupt (NMI) Reset Write $D40F 54287
NMIST Non-Maskable Interrupt (NMI) Status Read $D40F 54287

In the individual register listings below the following legend applies:

  • 0 = bit must be 0
  • 1 = bit must be 1
  • ? = bit may be either 0 or 1, and is used for a purpose.
  • - = bit value is unused, or should not be expected to be a certain value
  • label = See explanation for purpose of bits.


Read more about this topic:  ANTIC

Famous quotes containing the word registers:

    We may prepare food for our children, chauffeur them around, take them to the movies, buy them toys and ice cream, but nothing registers as deeply as a simple squeeze, cuddle, or pat on the back. There is no greater reassurance of their lovability and worth than to be affectionately touched and held.
    Stephanie Martson (20th century)