1 #ifndef HIDD_AMIGAVIDEO_H
2 #define HIDD_AMIGAVIDEO_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_BitMap (csd->hiddBitMapAttrBase)
13 #define __IHidd_PlanarBM (csd->hiddPlanarBitMapAttrBase)
14 #define __IHidd_BitMap_AmigaVideo (csd->hiddAmigaVideoBitMapAttrBase)
15 #define __IHidd_GC (csd->hiddGCAttrBase)
16 #define __IHidd_Sync (csd->hiddSyncAttrBase)
17 #define __IHidd_PixFmt (csd->hiddPixFmtAttrBase)
18 #define __IHidd_Gfx (csd->hiddGfxAttrBase)
19 #define __IHidd_Attr (csd->hiddAttrBase)
20 #define __IHidd_ColorMap (csd->hiddColorMapAttrBase)
25 UWORD
*copper2_palette
;
26 UWORD
*copper2_palette_aga_lo
;
27 UWORD
*copper2_scroll
;
28 UWORD
*copper2_bplcon0
;
33 struct NativeChipsetMode
37 UWORD width
, height
, depth
;
43 struct amigavideo_staticdata
45 OOP_Class
*cs_basebm
; /* baseclass for CreateObject */
47 OOP_Class
*amigagfxclass
;
48 OOP_Class
*amigabmclass
;
50 OOP_AttrBase hiddBitMapAttrBase
;
51 OOP_AttrBase hiddPlanarBitMapAttrBase
;
52 OOP_AttrBase hiddAmigaVideoBitMapAttrBase
;
53 OOP_AttrBase hiddGCAttrBase
;
54 OOP_AttrBase hiddSyncAttrBase
;
55 OOP_AttrBase hiddPixFmtAttrBase
;
56 OOP_AttrBase hiddGfxAttrBase
;
57 OOP_AttrBase hiddAttrBase
;
58 OOP_AttrBase hiddColorMapAttrBase
;
60 struct List nativemodelist
;
63 struct amigabm_data
*disp
;
65 struct Interrupt inter
;
66 volatile UWORD framecounter
;
67 struct amigabm_data
*updatescroll
;
75 UWORD
*copper1_spritept
;
76 UWORD
*copper2_backup
;
78 WORD sprite_width
, sprite_height
;
79 UWORD spritepos
, spritectl
;
82 WORD spritex
, spritey
;
83 BYTE sprite_offset_x
, sprite_offset_y
;
85 UWORD bplcon0_null
, bplcon3
;
86 UBYTE fmode_bpl
, fmode_spr
;
87 UWORD ddfstrt
, ddfstop
;
88 WORD modulopre
, modulo
;
89 struct copper2data copper2
;
90 struct copper2data copper2i
;
97 UBYTE res
; // 0 = lores, 1 = hires, 2 = shres
100 BOOL ecs_agnus
, ecs_denise
, aga
;
108 void (*acb
)(void *data
, void *bm
);
112 struct Library
*cs_OOPBase
;
113 struct Library
*cs_GfxBase
;
114 struct Library
*cs_UtilityBase
;
116 OOP_MethodID cs_HiddGfxBase
;
117 OOP_MethodID cs_HiddBitMapBase
;
120 struct amigavideoclbase
122 struct Library library
;
124 struct amigavideo_staticdata csd
;
128 #define CSD(cl) (&((struct amigavideoclbase *)cl->UserData)->csd)
130 /* Private instance data for Gfx hidd class */
133 struct MinList bitmaps
; /* Currently shown bitmap objects */
136 #endif /* HIDD_AMIGAVIDEO_H */