•  Back 
  •  Line-A Function Reference 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
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-A

Function      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_CTThese members may be altered by this function.
  +4 (WORD)    Number of bit planes to blit.

              FG_COLThese 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_COLThese 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()