home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / graphics / copper.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  1.6 KB  |  107 lines

  1. #ifndef GRAPHICS_COPPER_H
  2. #define GRAPHICS_COPPER_H
  3. /*
  4. ** $Filename: graphics/copper.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 37.0 $
  7. ** $Date: 91/01/07 $
  8. **
  9. ** graphics copper list intstruction definintions
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif
  18.  
  19. #define COPPER_MOVE 0 
  20. #define COPPER_WAIT 1 
  21. #define CPRNXTBUF 2 
  22. #define CPR_NT_LOF 0x8000 
  23. #define CPR_NT_SHT 0x4000 
  24. #define CPR_NT_SYS 0x2000 
  25.  
  26. struct CopIns
  27. {
  28.  WORD OpCode; 
  29.  union
  30.  {
  31.  struct CopList *nxtlist;
  32.  struct
  33.  {
  34.  union
  35.  {
  36.  WORD VWaitPos; 
  37.  WORD DestAddr; 
  38.  } u1;
  39.  union
  40.  {
  41.  WORD HWaitPos; 
  42.  WORD DestData; 
  43.  } u2;
  44.  } u4;
  45.  } u3;
  46. };
  47.  
  48. #define NXTLIST u3.nxtlist
  49. #define VWAITPOS u3.u4.u1.VWaitPos
  50. #define DESTADDR u3.u4.u1.DestAddr
  51. #define HWAITPOS u3.u4.u2.HWaitPos
  52. #define DESTDATA u3.u4.u2.DestData
  53.  
  54.  
  55.  
  56. struct cprlist
  57. {
  58.  struct cprlist *Next;
  59.  UWORD *start; 
  60.  WORD MaxCount; 
  61. };
  62.  
  63. struct CopList
  64. {
  65.  struct CopList *Next; 
  66.  struct CopList *_CopList; 
  67.  struct ViewPort *_ViewPort; 
  68.  struct CopIns *CopIns; 
  69.  struct CopIns *CopPtr; 
  70.  UWORD *CopLStart; 
  71.  UWORD *CopSStart; 
  72.  WORD Count; 
  73.  WORD MaxCount; 
  74.  WORD DyOffset; 
  75. #ifdef V1_3
  76.  UWORD *Cop2Start;
  77.  UWORD *Cop3Start;
  78.  UWORD *Cop4Start;
  79.  UWORD *Cop5Start;
  80. #endif
  81. };
  82.  
  83. struct UCopList
  84. {
  85.  struct UCopList *Next;
  86.  struct CopList *FirstCopList; 
  87.  struct CopList *CopList; 
  88. };
  89.  
  90.  
  91.  
  92. struct copinit
  93. {
  94.  UWORD vsync_hblank[2];
  95.  UWORD diwstart[4];
  96.  UWORD diagstrt[4]; 
  97.  UWORD sprstrtup[(2*8*2)];
  98.  UWORD wait14[2];
  99.  UWORD norm_hblank[2];
  100.  UWORD genloc[4];
  101.  UWORD jump[(2*2)];
  102.  UWORD wait_forever[2];
  103.  UWORD sprstop[4];
  104. };
  105.  
  106. #endif 
  107.