amos-professional/includes/graphics/copper.i
2020-04-26 02:58:13 +02:00

64 lines
1.9 KiB
OpenEdge ABL

IFND GRAPHICS_COPPER_I
GRAPHICS_COPPER_I SET 1
**
** $Filename: graphics/copper.i $
** $Release: 1.3 $
**
**
**
** (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
** All Rights Reserved
**
COPPER_MOVE equ 0 /* pseude opcode for move #XXXX,dir */
COPPER_WAIT equ 1 /* pseudo opcode for wait y,x */
CPRNXTBUF equ 2 /* continue processing with next buffer */
CPR_NT_LOF equ $8000 /* copper instruction only for short frames */
CPR_NT_SHT equ $4000 /* copper instruction only for long frames */
STRUCTURE CopIns,0
WORD ci_OpCode * 0 = move, 1 = wait */
STRUCT ci_nxtlist,0 * UNION
STRUCT ci_VWaitPos,0
STRUCT ci_DestAddr,2
STRUCT ci_HWaitPos,0
STRUCT ci_DestData,2
LABEL ci_SIZEOF
* structure of cprlist that points to list that hardware actually executes */
STRUCTURE cprlist,0
APTR crl_Next
APTR crl_start
WORD crl_MaxCount
LABEL crl_SIZEOF
STRUCTURE CopList,0
APTR cl_Next /* next block for this copper list */
APTR cl__CopList /* system use */
APTR cl__ViewPort /* system use */
APTR cl_CopIns /* start of this block */
APTR cl_CopPtr /* intermediate ptr */
APTR cl_CopLStart /* mrgcop fills this in for Long Frame*/
APTR cl_CopSStart /* mrgcop fills this in for Short Frame*/
WORD cl_Count /* intermediate counter */
WORD cl_MaxCount /* max # of copins for this block */
WORD cl_DyOffset /* offset this copper list vertical waits */
LABEL cl_SIZEOF
STRUCTURE UCopList,0
APTR ucl_Next
APTR ucl_FirstCopList /* head node of this copper list */
APTR ucl_CopList /* node in use */
LABEL ucl_SIZEOF
* private graphics data structure
STRUCTURE copinit,0
STRUCT copinit_diagstrt,8
STRUCT copinit_sprstrtup,2*((2*8*2)+2+(2*2)+2)
STRUCT copinit_sprstop,4
LABEL copinit_SIZEOF
ENDC ; GRAPHICS_COPPER_I