1 #ifndef GRAPHICS_GFXBASE_H 2 #define GRAPHICS_GFXBASE_H 3 4 /* 5 graphics.library include 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_LISTS_H 11 # include <exec/lists.h> 12 #endif 13 14 #ifndef EXEC_LIBRARIES_H 15 # include <exec/libraries.h> 16 #endif 17 18 #ifndef EXEC_INTERRUPTS_H 19 # include <exec/interrupts.h> 20 #endif 21 22 #ifndef GRAPHICS_MONITOR_H 23 # include <graphics/monitor.h> 24 #endif 25 26 #pragma pack(2) 27 28 29 struct GfxBase 30 { 31 struct Library LibNode; 32 struct View *ActiView; 33 struct copinit *copinit; 34 LONG *cia; 35 LONG *blitter; 36 UWORD *LOFlist; 37 UWORD *SHFlist; 38 struct bltnode *blthd, *blttl; 39 struct bltnode *bsblthd, *bsblttl; 40 struct Interrupt vbsrv, timsrv, bltsrv; 41 struct List TextFonts; 42 struct TextFont *DefaultFont; 43 UWORD Modes; 44 BYTE VBlank; 45 BYTE Debug; 46 WORD BeamSync; 47 WORD system_bplcon0; 48 UBYTE SpriteReserved; 49 UBYTE bytereserved; 50 UWORD Flags; 51 WORD BlitLock; 52 WORD BlitNest; 53 struct List BlitWaitQ; 54 struct Task *BlitOwner; 55 struct List TOF_WaitQ; 56 UWORD DisplayFlags; 57 struct SimpleSprite **SimpleSprites; 58 UWORD MaxDisplayRow; 59 UWORD MaxDisplayColumn; 60 UWORD NormalDisplayRows; 61 UWORD NormalDisplayColumns; 62 UWORD NormalDPMX; 63 UWORD NormalDPMY; 64 struct SignalSemaphore *LastChanceMemory; 65 UWORD *LCMptr; 66 UWORD MicrosPerLine; 67 UWORD MinDisplayColumn; 68 UBYTE ChipRevBits0; 69 UBYTE MemType; 70 UBYTE crb_reserved[4]; 71 UWORD monitor_id; 72 ULONG hedley[8]; 73 ULONG hedley_sprites[8]; 74 ULONG hedley_sprites1[8]; 75 WORD hedley_count; 76 UWORD hedley_flags; 77 WORD hedley_tmp; 78 LONG *hash_table; 79 UWORD current_tot_rows; 80 UWORD current_tot_cclks; 81 UBYTE hedley_hint; 82 UBYTE hedley_hint2; 83 ULONG nreserved[4]; 84 LONG *a2024_sync_raster; 85 UWORD control_delta_pal; 86 UWORD control_delta_ntsc; 87 struct MonitorSpec *current_monitor; 88 struct List MonitorList; 89 struct MonitorSpec *default_monitor; 90 struct SignalSemaphore *MonitorListSemaphore; 91 APTR DisplayInfoDataBase; 92 UWORD TopLine; 93 struct SignalSemaphore *ActiViewCprSemaphore; 94 ULONG *UtilBase; 95 ULONG *ExecBase; 96 UBYTE *bwshifts; 97 UWORD *StrtFetchMasks; 98 UWORD *StopFetchMasks; 99 UWORD *Overrun; 100 WORD *RealStops; 101 UWORD SpriteWidth; 102 UWORD SpriteFMode; 103 BYTE SoftSprites; 104 BYTE arraywidth; 105 UWORD DefaultSpriteWidth; 106 BYTE SprMoveDisable; 107 UBYTE WantChips; 108 UBYTE BoardMemType; 109 UBYTE Bugs; 110 ULONG *gb_LayersBase; 111 ULONG ColorMask; 112 APTR IVector; 113 APTR IData; 114 ULONG SpecialCounter; 115 APTR DBList; 116 UWORD MonitorFlags; 117 UBYTE ScanDoubledSprites; 118 UBYTE BP3Bits; 119 struct AnalogSignalInterval MonitorVBlank; 120 struct MonitorSpec *natural_monitor; 121 APTR ProgData; 122 UBYTE ExtSprites; 123 UBYTE pad3; 124 UWORD GfxFlags; 125 ULONG VBCounter; 126 struct SignalSemaphore *HashTableSemaphore; 127 ULONG *HWEmul[9]; 128 }; 129 130 #define ChunkyToPlanarPtr HWEmul[0] 131 132 133 #define NTSC 1 134 #define GENLOC 2 135 #define PAL 4 136 #define TODA_SAFE 8 137 #define REALLY_PAL 16 138 #define LPEN_SWAP_FRAMES 32 139 140 141 #define BLITMSG_FAULT 4 142 143 144 #define GFXB_BIG_BLITS 0 145 #define GFXB_HR_AGNUS 0 146 #define GFXB_HR_DENISE 1 147 #define GFXB_AA_ALICE 2 148 #define GFXB_AA_LISA 3 149 #define GFXB_AA_MLISA 4 150 151 #define GFXF_BIG_BLITS (1<<GFXB_BIG_BLITS) 152 #define GFXF_HR_AGNUS (1<<GFXB_HR_AGNUS) 153 #define GFXF_HR_DENISE (1<<GFXB_HR_DENISE) 154 #define GFXF_AA_ALICE (1<<GFXB_AA_ALICE) 155 #define GFXF_AA_LISA (1<<GFXB_AA_LISA) 156 #define GFXF_AA_MLISA (1<<GFXB_AA_MLISA) 157 158 159 #define SETCHIPREV_A (GFXF_HR_AGNUS) 160 #define SETCHIPREV_ECS (GFXF_HR_AGNUS | GFXF_HR_DENISE) 161 #define SETCHIPREV_AA (GFXF_AA_ALICE | GFXF_AA_LISA | SETCHIPREV_ECS) 162 #define SETCHIPREV_BEST 0xFFFFFFFF 163 164 165 #define BUS_16 0 166 #define NML_CAS 0 167 #define BUS_32 1 168 #define DBL_CAS 2 169 170 #define BANDWIDTH_1X (BUS_16 | NML_CAS) 171 #define BANDWIDTH_2XNML (BUS_32) 172 #define BANDWIDTH_2XDBL (DBL_CAS) 173 #define BANDWIDTH_4X (BUS_32 | DBL_CAS) 174 175 176 #define NEW_DATABASE 1 177 178 179 #define GRAPHICSNAME "graphics.library" 180 181 182 #pragma pack() 183 184 #endif /* GRAPHICS_GFXBASE_H */