Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-Filevro_cpyfm()vrt_cpyfm()$A007 - BitBlt Line-AFunction Perform a bit-block transfer.
Parameters The address of a BitBlt parameter block is passed in
register A6. That structure is defined with the following
members:
Member Offset/Type Meaning
B_WD +0 (WORD) Width of block to blit (in pixels)
B_HT +2 (WORD) Height of block to blit (in pixels)
PLANE_CT∙These members may be altered by this function.
+4 (WORD) Number of bit planes to blit.
FG_COL∙These members may be altered by this function.
+6 (WORD) Bit array used to create index into
OP_TAB. FG_COL contributes its bit
#'n' (where 'n' is the plane number)
to bit #1 of the index used to
select the operation code from
OP_TAB.
BG_COL∙These members may be altered by this function.
+8 (WORD) Bit array used to create index into
OP_TAB. BG_COL contributes its bit
#'n' (where 'n' is the plane number)
to bit #0 of the index used to
select the operation code from
OP_TAB.
OP_TAB +10 (LONG) OP_TAB is a 4 byte array containing
four logic operation codes (0 to 16)
to be applied to the image. The
table is indexed by using the bit in
FG_COL and BG_COL corresponding to
the current plane as bit #1 and bit
#0 respectively yielding an offset
into OP_TAB of 0-3.
S_XMIN +14 (WORD) X pixel offset to source upper left.
S_YMIN +16 (WORD) Y pixel offset to source upper left.
S_FORM +18 (WORD) Address of the source form.
S_NXWD +22 (LONG) Number of bits per pixel.
S_NXLN +24 (WORD) Byte width of form.
S_NXPL +26 (WORD) Byte offset between planes
(always 2).
D_XMIN +28 (WORD) X pixel offset to destination upper
left.
D_YMIN +30 (WORD) Y pixel offset to destination upper
left.
D_FORM +32 (LONG) Address of the destination form.
D_NXWD +36 (WORD) Number of bits per pixel.
D_NXLN +38 (WORD) Byte width of form.
D_NXPL +40 (WORD) Byte offset between planes
(always 2).
P_ADDR +42 (LONG) Address of pattern buffer (0 = no
pattern).
P_NXLN +46 (WORD) Bytes of pattern per line (should be
even).
P_NXPL +48 (WORD) Bytes of pattern per plane (if using
a single plane fill with
a multi-plane destination, this
should be 0).
P_MASK +50 (WORD) P_MASK is found by the expression:
If P_NXLN = 2 ^ n then
P_MASK = (length in words - 1) << n
SPACE +52 (WORD) 24 bytes of blank space which must
be reserved as work area for the
function.
Example ; Perform a blit using the information located
Binding ; at bprmblk
lea bprmblk,a6
.dc.w $A007
See Also vro_cpyfm(), vrt_cpyfm()