This is an old version from the tos.hyp. The new is on GitHub!

HomeLine-AThe negative Line-A variablesInitialization

6.4 BITBLT

The parameters for the bit-block transfer function are passed in the following structure:

typedef struct
{
  int16_t  b_wd,         /* Width of the block in pixels    */
           b_ht,         /* Height of the block in pixels   */
           plane_ct,     /* Number of colour planes to blit */
           fg_col,       /* Foreground colour               */
           bg_col;       /* Background colour               */
  int8_t   op_tab[4];    /* Combination (for each plane)    */
  int16_t  s_xmin,       /* X offset to source top left     */
           s_ymin;       /* Y offset to source top left     */
  void    *s_form;       /* Address of the source form      */
  int16_t  s_nxwd,       /* Offset to next word             */
           s_nxln,       /* Byte width of form              */
           s_nxpl,       /* Byte offset between planes      */
           d_xmin,       /* X offset to destination top L   */
           d_ymin;       /* Y offset to destination top L   */
  void    *d_form;       /* Address of the destination form */
  int16_t  d_nxwd,       /* Offset to next word             */
           d_nxln,       /* Byte width of form              */
           d_nxpl;       /* Byte offset to next plane       */
  void    *p_addr;       /* 16-bit masks for ANDing         */
  int16_t  p_nxln,       /* Width of the mask in bytes      */
           p_nxpl,       /* Byte offset to next plane       */
           p_mask;       /* Height of mask in lines         */
  int8_t   filler[24];   /* Internal buffer                 */
} BITBLT;

HomeLine-AThe negative Line-A variablesInitialization