[Contents] [index] [Help] [Retrace] [browse <] [Browse >]

When sprites are used individually (that is, not attached as described in
the  attached sprites  section), each pixel can be one of three colors
or transparent.  Color selection in similar to the method used for
playfield colors. Figure 4-5 shows how the color of each pixel in a sprite
is determined.

                                                 high-order word of
                                                  sprite data line
   _______________________________
  |            _|#|_              |    _ _0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0
  |          _|o|#|o|_            |   |
  |_ _ _ _ _|o|o|#|o|o|_ _ _ _ _ _|       |
  |_|_|_|_|#|#|#|_|#|#|#|_|_|_|_|_|- -|   |
  |    |    |o|o|#|o|o|           |       |
  |    |      |o|#|o|             |   |_ _|_0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0
  |____|________|#|_______________|       |
       |                                  | |      low-order word of
       |                                  | |      sprite data line
                                          | |
  transparent                             | |
                 Forms a binary code,
                   used as the color  --> 0 0
                 choice from a group
                  of color registers.


                   Figure 4-5: Sprite Color Definition


The 0s and 1s in the two  data words  that define each line of a sprite in
the  data structure  form a binary number. this binary number points to
one of the four  color registers  assigned to that particular sprite
 dma channel. the eight sprites use system color registers 16 - 31. for
purposes of color selection, the eight sprites are organized into pairs
and each pair uses four of the  color registers  as shown in figure 4-6.

   About sprite  color registers .
   -------------------------------
   The color value of the first register in each group of four registers
   is ignored by sprites. When the sprite bits select this register, the
   "transparent" value is used.


                 00  Unused
                 01  Unused
                       ·
                       ·
                       ·         _
                 16  Unused   00  |
                 17  Color 1  01  |
                 18  Color 2  10  |-- Sprites 0 and 1
                 19  Color 3  11 _|
                 20  Unused   00  |
                 21  Color 1  01  |
                 22  Color 2  10  |-- Sprites 2 and 3
                 23  Color 3  11 _|
                 24  Unused   00  |
                 25  Color 1  01  |
                 26  Color 2  10  |-- Sprites 4 and 5
                 27  Color 3  11 _|
                 28  Unused   00  |
                 29  Color 1  01  |
                 30  Color 2  10  |-- Sprites 6 and 7
                 31  Color 3  11 _|


               Figure 4-6: Color Register Assignments


If you require certain colors in a sprite, you will want to load the
sprite's  color registers  with those colors. the "playfield hardware"
chapter contains instructions on loading  color registers .

The binary number 00 is special in this color scheme. A pixel whose value
is 00 becomes transparent and shows the color of any other sprite or play-
field that has lower video priority. An object with low priority appears
"behind" an object with higher priority. Each sprite has a fixed video
priority with respect to all the other sprites. You can vary the priority
between sprites and playfields. (See Chapter 7, "System Control Hardware,"
for more information about  sprite priority .)