1 #ifndef AMIGAVIDEO_HIDD_H
2 #define AMIGAVIDEO_HIDD_H
4 #include <exec/libraries.h>
6 #include <exec/semaphores.h>
7 #include <exec/interrupts.h>
8 #include <graphics/gfxbase.h>
10 #include "amigavideo_intern.h"
12 #define __IHidd (csd->hiddAttrBase)
13 #define __IHidd_BitMap (csd->hiddBitMapAttrBase)
14 #define __IHidd_PlanarBM (csd->hiddPlanarBitMapAttrBase)
15 #define __IHidd_BitMap_AmigaVideo (csd->hiddAmigaVideoBitMapAttrBase)
16 #define __IHidd_GC (csd->hiddGCAttrBase)
17 #define __IHidd_Sync (csd->hiddSyncAttrBase)
18 #define __IHidd_PixFmt (csd->hiddPixFmtAttrBase)
19 #define __IHidd_Gfx (csd->hiddGfxAttrBase)
20 //#define __IHidd_Attr (csd->hiddAttrBase)
21 #define __IHidd_ColorMap (csd->hiddColorMapAttrBase)
26 UWORD
*copper2_palette
;
27 UWORD
*copper2_palette_aga_lo
;
28 UWORD
*copper2_scroll
;
29 UWORD
*copper2_bplcon0
;
34 struct NativeChipsetMode
38 UWORD width
, height
, depth
;
44 struct amigavideo_staticdata
46 OOP_Class
*cs_basebm
; /* baseclass for CreateObject */
48 OOP_Class
*amigagfxclass
;
49 OOP_Class
*amigabmclass
;
51 OOP_AttrBase hiddAttrBase
;
52 OOP_AttrBase hiddBitMapAttrBase
;
53 OOP_AttrBase hiddPlanarBitMapAttrBase
;
54 OOP_AttrBase hiddAmigaVideoBitMapAttrBase
;
55 OOP_AttrBase hiddGCAttrBase
;
56 OOP_AttrBase hiddSyncAttrBase
;
57 OOP_AttrBase hiddPixFmtAttrBase
;
58 OOP_AttrBase hiddGfxAttrBase
;
59 OOP_AttrBase hiddColorMapAttrBase
;
61 struct List nativemodelist
;
64 struct amigabm_data
*disp
;
66 struct Interrupt inter
;
67 volatile UWORD framecounter
;
68 struct amigabm_data
*updatescroll
;
76 UWORD
*copper1_spritept
;
77 UWORD
*copper2_backup
;
79 WORD sprite_width
, sprite_height
;
80 UWORD spritepos
, spritectl
;
83 WORD spritex
, spritey
;
84 BYTE sprite_offset_x
, sprite_offset_y
;
86 UWORD bplcon0_null
, bplcon3
;
87 UBYTE fmode_bpl
, fmode_spr
;
88 UWORD ddfstrt
, ddfstop
;
89 WORD modulopre
, modulo
;
90 struct copper2data copper2
;
91 struct copper2data copper2i
;
98 UBYTE res
; // 0 = lores, 1 = hires, 2 = shres
101 BOOL ecs_agnus
, ecs_denise
, aga
;
109 void (*acb
)(void *data
, void *bm
);
113 struct Library
*cs_OOPBase
;
114 struct Library
*cs_GfxBase
;
115 struct Library
*cs_UtilityBase
;
117 OOP_MethodID cs_HiddGfxBase
;
118 OOP_MethodID cs_HiddBitMapBase
;
121 struct amigavideoclbase
123 struct Library library
;
125 struct amigavideo_staticdata csd
;
129 #define CSD(cl) (&((struct amigavideoclbase *)cl->UserData)->csd)
131 /* Private instance data for Gfx hidd class */
134 struct MinList bitmaps
; /* Currently shown bitmap objects */
137 #endif /* AMIGAVIDEO_HIDD_H */