[Contents] [Index] [Help] [Retrace] [browse <] [Browse >]

   IFND  GRAPHICS_COPPER_I
GRAPHICS_COPPER_I SET   1
**
**      $Filename: graphics/copper.i $
**      $Release: 2.04 Includes, V37.4 $
**      $Revision: 37.1 $
**      $Date: 91/02/12 $
**
**      graphics copper list intruction definitions
**
**      (C) Copyright 1985-1999 Amiga, Inc.
**          All Rights Reserved
**

    IFND    EXEC_TYPES_I
    include 'exec/types.i'
    ENDC

COPPER_MOVE equ 0       * pseude opcode for move #XXXX,dir
COPPER_WAIT equ 1       * pseudo opcode for wait y,x
CPRNXTBUF   equ 2       * continue processing with next buffer
CPR_NT_LOF  equ $8000   * copper instruction only for short frames
CPR_NT_SHT  equ $4000   * copper instruction only for long frames
CPR_NT_SYS  equ $2000   * copper user instruction only

   STRUCTURE   CopIns,0
      WORD  ci_OpCode         * 0 = move, 1 = wait
      STRUCT   ci_nxtlist,0   * UNION
      STRUCT   ci_VWaitPos,0
      STRUCT   ci_DestAddr,2

      STRUCT   ci_HWaitPos,0
      STRUCT   ci_DestData,2

   LABEL ci_SIZEOF

* structure of cprlist that points to list that hardware actually executes
   STRUCTURE   cprlist,0
      APTR  crl_Next
      APTR  crl_start
      WORD  crl_MaxCount
   LABEL crl_SIZEOF

   STRUCTURE   CopList,0
      APTR  cl_Next        * next block for this copper list
      APTR  cl__CopList    * system use
      APTR  cl__ViewPort   * system use
      APTR  cl_CopIns      * start of this block
      APTR  cl_CopPtr      * intermediate ptr
      APTR  cl_CopLStart   * mrgcop fills this in for Long Frame
      APTR  cl_CopSStart   * mrgcop fills this in for Short Frame
      WORD  cl_Count       * intermediate counter
      WORD  cl_MaxCount    * max # of copins for this block
      WORD  cl_DyOffset    * offset this copper list vertical waits
   LABEL cl_SIZEOF

   STRUCTURE   UCopList,0
      APTR     ucl_Next
      APTR     ucl_FirstCopList * head node of this copper list
      APTR     ucl_CopList      * node in use
   LABEL ucl_SIZEOF

*  private graphics data structure
   STRUCTURE   copinit,0
        STRUCT  copinit_vsync_hblank,4
        STRUCT  copinit_diwstart,8
        STRUCT  copinit_diagstrt,8
        STRUCT  copinit_sprstrtup,2*(2*8*2)
        STRUCT  copinit_wait14,2*(2+2)
        STRUCT  copinit_genloc,2*(4+(2*2)+2)
        STRUCT  copinit_sprstop,8
   LABEL copinit_SIZEOF

   ENDC ; GRAPHICS_COPPER_I