If
the count of VSTOP - VSTART equals zero, no sprite
output
occurs.
The
next
data
word pair will be fetched,
but
it
will not be stored into the sprite
data
registers.
It
will
instead become the next pair of
data
words for SPRxPOS and SPRxCTL.
When a sprite
is
used only once within a single display field, the final pair of
data
words,
which follow the sprite color descriptor words,
is
loaded automatically as the next con-
tents of the SPRxPOS and SPRxCTL registers.
To
stop the sprite after
that
first
data
set, the pair of words should contain all zeros.
Thus, if you have formed a sprite pattern
in
memory, this same pattern will be produced
as pixels automatically under
DMA
control one line
at
a time.
Summary
of
Sprite
Registers
There are eight complete sets of registers used to describe the sprites. Each set consists
of
five
registers. Only the registers for sprite 0 are described here. All of the others are
the same, except for the name of the register, which includes the appropriate number.
POINTERS
Pointers are registers
that
are used by the system
to
point to the current
data
being
used. During a screen display, the registers are incremented to point
to
the
data
being
used as the screen display progresses. Therefore, pointer registers must be freshly writ-
ten during the
start
of the vertical blanking period.
SPROPTH
and
SPROPTL
This pair of registers contains the I8-bit word address of Sprite 0 DMA data. These
registers contain the high three bits and
low
fifteen bits of the address, respectively.
Because these two register addresses are contiguous, 68000 programmers can write a long
word into SPROPTH, as usual.
Pointer register names for the other sprites are:
124 Sprite Hardware