home *** CD-ROM | disk | FTP | other *** search
- ;***************************************************************
- ; The user copper struct
- ;***************************************************************
-
- rsreset
- COPPER_LIST rs.l 1 ;pointer to list of copper instructions
- COPPER_CTRL rs.l 1 ;pointer to controlling struct for user copper lists (UCopList)
- ;This is NULL for 1st call & alloced by copper routines
- ;Additional calls to copper routines use same struct
- COPPER_DISPLAY rs.l 1 ;ptr to controlling Intuition Screen struct
- COPPER_SIZEOF rs.b 0 ;size of copper struct
-
- ;***************************************************************
- ; The hardware copper struct (used with a GameSmith display)
- ;***************************************************************
-
- rsreset
- HCOP_DISPLAY rs.l 1 ;ptr to GameSmith display structure already set up
- HCOP_LIST rs.l 1 ;ptr to list of copper instructions (pnemonic list)
- HCOP_FLAGS rs.l 1 ;hard copper flags
- ; system only fields:
- HCOP_LOF_COP rs.l 2 ;ptr to hardware copper list (long frame) pages 1 & 2
- HCOP_SHF_COP rs.l 2 ;ptr to hardware copper list (short frame) pages 1 & 2
- HCOP_COPLEN rs.l 1 ;length (in bytes) of hardware copper list
-
- ; hard copper flags:
-
- HCOPF_DOUBLE EQU $01 ;build two display lists for double buffered display
-
- ; user copper instructions:
-
- UC_END EQU 0 ;marks end of user copper list. MUST be last command in table
- UC_WAIT EQU 1 ;wait for display beam position (y,x)
- UC_MOVE EQU 2 ;move data to a hardware register (register,data)
- UC_NOSPRITES EQU 3 ;turn sprites off (NOT SUPPORTED IN GS_VIEWPORT)
- UC_SPRITES EQU 4 ;turn sprites back on (NOT SUPPORTED IN GS_VIEWPORT)
- UC_SETCOLOR EQU 5 ;set a color register (color number,color value)
- ; the following are hardware copper instructions only, for use with gs_viewport
- UC_SETCOLORAGA EQU 6 ;set an AGA color register with 24 bit value
- UC_PVP EQU 7 ;load a parallax viewport
- UC_SPVP EQU 8 ;load a sliced parallac viewport
-
- ;***************************************************************
- ; The parallax viewport struct
- ;***************************************************************
-
- rsreset
- PVP_NEXT rs.l 1 ;(SYSTEM USE ONLY!) next parallax viewport this display
- PVP_HEIGHT rs.l 1 ;height in scan lines
- PVP_WIDTH rs.l 1 ;width in pixels
- PVP_DEPTH rs.l 1 ;depth of viewport
- PVP_XOFF rs.l 1 ;X offset within bitmap (system use only)
- PVP_YOFF rs.l 1 ;Y offset within bitmap (system use only)
- PVP_FLAGS rs.l 1 ;flags
- PVP_BITMAP rs.l 2 ;ptr to bitmap(s) pages 1 & 2
- ; the following are system only fields. Do not touch!
- PVP_BPLCON rs.l 1 ;offset to horizontal shift load copper instruct
- PVP_BPLPTR rs.l 1 ;offset to 1st bitplane pointer copper instruct
- PVP_SCROLL rs.w 1 ;horizontal scroll value
- PVP_VP rs.l 1 ;ptr to viewport this pvp belongs to
- PVP_LOF_PLANES1 rs.l 8 ;bitlane ptr temp hold for scroll reload
- PVP_SHF_PLANES1 rs.l 8 ;bitlane ptr temp hold for scroll reload
- PVP_LOF_PLANES2 rs.l 8 ;bitlane ptr temp hold for scroll reload
- PVP_SHF_PLANES2 rs.l 8 ;bitlane ptr temp hold for scroll reload
-
- ; pvp flags:
-
- PVPF_DPF EQU $01 ;dual playfield mode
- PVPF_DPF1 EQU $02 ;only load/scroll playfield 1
- PVPF_DPF2 EQU $04 ;only load/scroll playfield 2
- ; NEVER set both PVPF_DPF1 & PVPF_DPF2
- PVPF_AGACOLOR EQU $08 ;used only spvp, set AGA color regs
- PVPF_RELOAD EQU $10 ;SYSTEM FLAG: reload new scroll offsets
- PVPF_LINE1 EQU $20 ;spvp only: load color regs line 1 only
-
- ;***************************************************************
- ; The sliced parallax viewport struct
- ;***************************************************************
-
- rsreset
- SPVP_TOP rs.l 1 ;top and bottom movement values for scroll ratio
- SPVP_BOTTOM rs.l 1
- SPVP_HEIGHT rs.l 1 ;height in scan lines
- SPVP_WIDTH rs.l 1 ;width in pixels
- SPVP_DEPTH rs.l 1 ;depth of viewport
- SPVP_FLAGS rs.l 1 ;same as pvp
- SPVP_BITMAP rs.l 2 ;ptr to bitmap to slice (pages 1 & 2)
- SPVP_CTABLE rs.l 1 ;ptr to color table for color changes each line
- SPVP_CREGS rs.l 1 ;ptr to list of color regs to modify each line
- SPVP_NREGS rs.w 1 ;number of color regs in list
- SPVP_SCROLLTYPE rs.w 1 ;scroll type (0 through n), effects ratio setup & scroller
- SPVP_INC rs.w 1 ;SYSTEM USE: Do Not Touch!
- SPVP_CARRY rs.w 1 ;SYSTEM USE: Do Not Touch!
- SPVP_LIST rs.l 1 ;SYSTEM USE: Do Not Touch!
-
-