home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / cbm / nduk-v39.lha / V39 / include / graphics / copper.i < prev    next >
Text File  |  1992-09-24  |  2KB  |  84 lines

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