EasyManua.ls Logo

Commodore Amiga A2000 - Area Fill Mode

Commodore Amiga A2000
380 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
6. If the source and destination span the same number of words, use the A channel to
mask either the source, as in 4, or the destination, as in 5.
NOTE
Conditions 2 and 3 can be contradictory if, for instance, you are trying to move an image
one pixel down and to the right. In this case, we would want to use descending mode so
our destination does not overwrite our source before we use the source, but we would
want to use ascending mode for the right shift. In some situations, it is possible to get
around general guideline 2 above with clever masking. But occasionally just masking the
first or last word may not be sufficient; it may be necessary to mask more than 16 bits on
one or the other end. In such a case, a mask can be built in memory for a single raster
row, and the A DMA channel enabled to explicitly fetch this mask. By setting the A modulo
value to the negative of the width of the mask, the mask will be repeatedly fetched for
each row.
AREA FILL MODE
In addition to copying data, the blitter can simultaneously perform a fill operation during
the copy. The fill operation has only one restriction - the area to fill must be defined first
by drawing untextured lines with only one bit set per horizontal row. A special line draw
mode is available for this operation. Use a standard copy blit (or any other blit, as area
fills take place after all shifts, masks and logical combination of sources). Descending
mode must be used. Set either the inclusive-fill-enable bit (FILL OR, or bit 3) or the
exclusive-fill-enable bit (FILL XOR, or bit 4) in BLTCON1. The inclusive fill mode fills
between lines, leaving the lines intact. The exclusive fill mode fills between lines, leaving
the lines bordering the right edge of filled regions but deleting the lines bordering the left
edge. Exclusive fill yields filled shapes one pixel narrower than the same pattern filled with
inclusive fill.
For instance, the pattern:
00100100-00011000
filled with inclusive fill, yields:
00111100-00011000
with exclusive fill, the result would be
00011100-00001000
(Of course, fills are always done on full 16-bit words.)
- 178 Blitter Hardware -

Table of Contents

Other manuals for Commodore Amiga A2000

Related product manuals