home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / graphics / copper.i < prev    next >
Text File  |  1992-09-01  |  2KB  |  75 lines

  1.    IFND  GRAPHICS_COPPER_I
  2. GRAPHICS_COPPER_I SET    1
  3. **
  4. **    $Filename: graphics/copper.i $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 37.1 $
  7. **    $Date: 91/02/12 $
  8. **
  9. **    graphics copper list intruction definitions
  10. **
  11. **    (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. **
  14.  
  15.     IFND    EXEC_TYPES_I
  16.     include 'exec/types.i'
  17.     ENDC
  18.  
  19. COPPER_MOVE equ 0    * pseude opcode for move #XXXX,dir
  20. COPPER_WAIT equ 1    * pseudo opcode for wait y,x
  21. CPRNXTBUF   equ 2    * continue processing with next buffer
  22. CPR_NT_LOF  equ $8000    * copper instruction only for short frames
  23. CPR_NT_SHT  equ $4000    * copper instruction only for long frames
  24. CPR_NT_SYS  equ $2000    * copper user instruction only
  25.  
  26.    STRUCTURE   CopIns,0
  27.       WORD  ci_OpCode          * 0 = move, 1 = wait
  28.       STRUCT   ci_nxtlist,0   * UNION
  29.       STRUCT   ci_VWaitPos,0
  30.       STRUCT   ci_DestAddr,2
  31.  
  32.       STRUCT   ci_HWaitPos,0
  33.       STRUCT   ci_DestData,2
  34.  
  35.    LABEL ci_SIZEOF
  36.  
  37. * structure of cprlist that points to list that hardware actually executes
  38.    STRUCTURE   cprlist,0
  39.       APTR  crl_Next
  40.       APTR  crl_start
  41.       WORD  crl_MaxCount
  42.    LABEL crl_SIZEOF
  43.  
  44.    STRUCTURE   CopList,0
  45.       APTR  cl_Next       * next block for this copper list
  46.       APTR  cl__CopList    * system use
  47.       APTR  cl__ViewPort   * system use
  48.       APTR  cl_CopIns       * start of this block
  49.       APTR  cl_CopPtr       * intermediate ptr
  50.       APTR  cl_CopLStart   * mrgcop fills this in for Long Frame
  51.       APTR  cl_CopSStart   * mrgcop fills this in for Short Frame
  52.       WORD  cl_Count       * intermediate counter
  53.       WORD  cl_MaxCount    * max # of copins for this block
  54.       WORD  cl_DyOffset    * offset this copper list vertical waits
  55.    LABEL cl_SIZEOF
  56.  
  57.    STRUCTURE   UCopList,0
  58.       APTR     ucl_Next
  59.       APTR     ucl_FirstCopList * head node of this copper list
  60.       APTR     ucl_CopList    * node in use
  61.    LABEL ucl_SIZEOF
  62.  
  63. *  private graphics data structure
  64.    STRUCTURE   copinit,0
  65.     STRUCT    copinit_vsync_hblank,4
  66.     STRUCT    copinit_diwstart,8
  67.     STRUCT    copinit_diagstrt,8
  68.     STRUCT    copinit_sprstrtup,2*(2*8*2)
  69.     STRUCT    copinit_wait14,2*(2+2)
  70.     STRUCT    copinit_genloc,2*(4+(2*2)+2)
  71.     STRUCT    copinit_sprstop,8
  72.    LABEL copinit_SIZEOF
  73.  
  74.    ENDC    ; GRAPHICS_COPPER_I
  75.