home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICS_COPPER_H
- #define GRAPHICS_COPPER_H
- /*
- ** $Filename: graphics/copper.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 37.0 $
- ** $Date: 91/01/07 $
- **
- ** graphics copper list intstruction definintions
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #define COPPER_MOVE 0
- #define COPPER_WAIT 1
- #define CPRNXTBUF 2
- #define CPR_NT_LOF 0x8000
- #define CPR_NT_SHT 0x4000
- #define CPR_NT_SYS 0x2000
-
- struct CopIns
- {
- WORD OpCode;
- union
- {
- struct CopList *nxtlist;
- struct
- {
- union
- {
- WORD VWaitPos;
- WORD DestAddr;
- } u1;
- union
- {
- WORD HWaitPos;
- WORD DestData;
- } u2;
- } u4;
- } u3;
- };
-
- #define NXTLIST u3.nxtlist
- #define VWAITPOS u3.u4.u1.VWaitPos
- #define DESTADDR u3.u4.u1.DestAddr
- #define HWAITPOS u3.u4.u2.HWaitPos
- #define DESTDATA u3.u4.u2.DestData
-
-
-
- struct cprlist
- {
- struct cprlist *Next;
- UWORD *start;
- WORD MaxCount;
- };
-
- struct CopList
- {
- struct CopList *Next;
- struct CopList *_CopList;
- struct ViewPort *_ViewPort;
- struct CopIns *CopIns;
- struct CopIns *CopPtr;
- UWORD *CopLStart;
- UWORD *CopSStart;
- WORD Count;
- WORD MaxCount;
- WORD DyOffset;
- #ifdef V1_3
- UWORD *Cop2Start;
- UWORD *Cop3Start;
- UWORD *Cop4Start;
- UWORD *Cop5Start;
- #endif
- };
-
- struct UCopList
- {
- struct UCopList *Next;
- struct CopList *FirstCopList;
- struct CopList *CopList;
- };
-
-
-
- struct copinit
- {
- UWORD vsync_hblank[2];
- UWORD diwstart[4];
- UWORD diagstrt[4];
- UWORD sprstrtup[(2*8*2)];
- UWORD wait14[2];
- UWORD norm_hblank[2];
- UWORD genloc[4];
- UWORD jump[(2*2)];
- UWORD wait_forever[2];
- UWORD sprstop[4];
- };
-
- #endif
-