Pointer registers BLTBPTL, BLTBPTH, BLTCPTL, BLTCPTH, BLTDPTL, and
BLTDPTH apply
to
the B, C, and D channels, respectively.
The
notation BLTxPTx is
used
to
refer to the pointer registers generically.
The
blitter uses modulos to allow manipulation of smaller images within larger images.
A modulo is the difference between the width of the larger image and the smaller image
being manipulated. There are four modulos
in
the
blitter-BLTAMOD,
BLTBMOD,
BLTCMOD, and BLTDMOD. This allows each of the three sources and the destination
to
have a larger bit-plane image of a different size.
Modulos are 16-bit signed numbers. When they are added to the corresponding pointer
register, they are sign-extended to match the larger number of bits
in
the pointer regis-
ter. Since word addressing is used,
bit
0 of the modulo
is
always a
o.
Figure
6-3
shows a possible bit-plane image
that
is
larger
than
the source window being
used by the blitter.
The
numbers represent the addresses (in memory) of the
data
words
containing the image.
20
21
22
23
27
28
29
30
34
35
36
37
41
42
43
44
48
49
50
51
55
56
57
58
24
25
31
32
38
39
45
46
52
53
59
60
26
33
40
47
54
61
..
Larger source
bit-plane
image
Smaller source
window
for
blitter
operations
Figure
6-2:
Bit-plane Image Larger than the Blitter Source Window
Note
that
in
order to operate on the smaller window only, the address sequence must be
as follows:
36, 37, 38" 43, 44, 45" 50, 51,
52
This requires a normal increment (+1) each time, and
at
the end of each window line the
addition of a jump value of
4,
to bring the address pointer to the
start
of the next win-
dow line. This jump value is called the modulo and
is
equal
to
the difference between
Blitter Hardware
169