home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / graphics / copper.i < prev    next >
Text File  |  1993-10-15  |  3KB  |  93 lines

  1.    IFND  GRAPHICS_COPPER_I
  2. GRAPHICS_COPPER_I SET    1
  3. **
  4. **    $VER: copper.i 39.14 (11.8.93)
  5. **    Includes Release 40.15
  6. **
  7. **    graphics copper list intruction definitions
  8. **
  9. **    (C) Copyright 1985-1993 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.       WORD  cl_SLRepeat
  60.       WORD  cl_PrivateFlags    * NB - this was cl_Flags, but has been
  61.                 * changed to avoid conflict with intuition's
  62.                       * IClass structure. This field is private
  63.                       * anyway, and no one should be affected.
  64.    LABEL cl_SIZEOF
  65.  
  66. EXACT_LINE    EQU    1
  67. HALF_LINE    EQU    2
  68.  
  69.    STRUCTURE   UCopList,0
  70.       APTR     ucl_Next
  71.       APTR     ucl_FirstCopList * head node of this copper list
  72.       APTR     ucl_CopList      * node in use
  73.    LABEL ucl_SIZEOF
  74.  
  75. *  private graphics data structure
  76. *  hands off!
  77.    STRUCTURE   copinit,0
  78.     STRUCT    copinit_vsync_hblank,4
  79.     STRUCT    copinit_diagstrt,24
  80.     STRUCT  copinit_fm0,4
  81.     STRUCT    copinit_diwstart,20
  82.     STRUCT    copinit_bplcon2,4
  83.     STRUCT    copinit_sprfix,8*2*2
  84.     STRUCT    copinit_sprstrtup,2*(2*8*2)
  85.     STRUCT    copinit_wait14,2*2
  86.     STRUCT    copinit_norm_hblank,2*2
  87.     STRUCT  copinit_jump,2*2
  88.     STRUCT copinit_wait_forever,6*2
  89.     STRUCT    copinit_sprstop,8*2
  90.    LABEL copinit_SIZEOF
  91.  
  92.    ENDC    ; GRAPHICS_COPPER_I
  93.