
with zeros shifted in from the left. The second word will be the second word fetched from
the A, shifted right, with the least significant (rightmost) four bits of the first word shifted
in. Next, we will write the first word of the second row fetched from A, shifted four bits,
with the least significant four bits of the last word from the first row shifted in. This would
continue until the blit is finished.
On shifted blits, therefore, we only get zeros shifted in for the first word of the first row.
On all other rows the blitter will shift in the bits that it shifted out of the previous row. For
most graphics applications, this is undesirable. For this reason, the blitter has the
ability to mask the first and last word of each row coming through the A DMA channel.
Thus, it is possible to extract rectangular data from a source whose right and left edges
are between word boundaries. These two registers are called BLTAFWM and BLTALWM, for
blitter A channel first and last word masks. When not in use, both should be initialized to
all ones ($FFFF).
NOTE
Text fonts on the Amiga are stored in a packed bit map. Individual characters from the
font are extracted using the blitter, masking out unwanted bits. The character may then
be positioned to any pixel alignment by shifting it the appropriate amount.
These masks are "anded" with the source data, before any shifts are applied. Only when
there is a 1 bit in the first-word mask will that bit of source A actually appear in the logic
operation. The first word of each row is anded with BLTAFWM, and the last word is
"anded" with BLTALWM. If the width of the row is a single word, both masks are applied
simultaneously.
The masks are also useful for extracting a certain range of "columns" from some bitplane.
Let us say we have, for example, a predrawn rectangle containing text and graphics that
is 23 pixels wide. The leftmost edge is the leftmost bit in its bitmap, and the bitmap is two
words wide. We wish to render this rectangle starting at pixel position 5 into our 320 by
200 screen bitmap, without disturbing anything that lies outside of the rectangle.
- 174 Blitter Hardware -
Summary of Contents for Amiga A1000
Page 1: ...AMIGA HARDWARE REFERENCE MANUAL 1992 Commodore Business Machines Amiga 1200 PAL...
Page 20: ...Figure 1 1 Block Diagram for the Amiga Computer Family Introduction 11...
Page 21: ...12 Introduction...
Page 72: ...Figure 3 12 A dual Playfield display Playfield Hardware 63...
Page 87: ...Figure 3 24 Horizontal Scrolling 78 playfield hardware...
Page 101: ...92 Playfield Hardware...
Page 199: ...Figure 6 9 DMA time slot allocation 190 Blitter hardware...
Page 203: ...Figure 6 13 Blitter Block Diagram 194 Blitter Hardware...
Page 229: ...220 System Control Hardware...
Page 246: ...Figure 8 8 Chinon Timing diagram cont Interface Hardware 237...
Page 265: ...256 Interface Hardware...
Page 289: ...280 Appendix A...
Page 297: ...288 Appendix B...
Page 298: ...APPENDIX C CUSTOM CHIP PIN ALLOCATION LIST NOTE Means an active low signal Appendix C 289...
Page 302: ...APPENDIX D SYSTEM MEMORY MAP Appendix D 293...
Page 343: ...334 Appendix F...
Page 351: ...342 Appendix G...
Page 361: ...352 Appendix H...
Page 367: ...358 Appendix I...