#ifndef GRAPHICS_GFXBASE_H
#define GRAPHICS_GFXBASE_H
/*
** $Filename: graphics/gfxbase.h $
** $Release: 2.04 Includes, V37.4 $
** $Revision: 37.3 $
** $Date: 91/04/15 $
**
** graphics base definitions
**
** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
** All Rights Reserved
*/

#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif
#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif
#ifndef EXEC_INTERRUPTS_H
#include <exec/interrupts.h>
#endif

struct GfxBase
{
 struct Library LibNode;
 struct View *ActiView;
 struct copinit *copinit; 
 long *cia; 
 long *blitter; 
 UWORD *LOFlist;
 UWORD *SHFlist;
 struct bltnode *blthd,*blttl;
 struct bltnode *bsblthd,*bsblttl;
 struct Interrupt vbsrv,timsrv,bltsrv;
 struct List TextFonts;
 struct TextFont *DefaultFont;
 UWORD Modes; 
 BYTE VBlank;
 BYTE Debug;
 WORD BeamSync;
 WORD system_bplcon0; 
 UBYTE SpriteReserved;
 UBYTE bytereserved;
 UWORD Flags;
 WORD BlitLock;
 WORD BlitNest;

 struct List BlitWaitQ;
 struct Task *BlitOwner;
 struct List TOF_WaitQ;
 UWORD DisplayFlags; 
 
 struct SimpleSprite **SimpleSprites;
 UWORD MaxDisplayRow; 
 UWORD MaxDisplayColumn; 
 UWORD NormalDisplayRows;
 UWORD NormalDisplayColumns;
 
 UWORD NormalDPMX; 
 UWORD NormalDPMY; 
 struct SignalSemaphore *LastChanceMemory;
 UWORD *LCMptr;
 UWORD MicrosPerLine; 
 UWORD MinDisplayColumn;
 UBYTE ChipRevBits0;
 UBYTE crb_reserved[5];
 UWORD monitor_id; 
 ULONG hedley[8];
 ULONG hedley_sprites[8] ; 
 ULONG hedley_sprites1[8] ; 
 WORD hedley_count;
 UWORD hedley_flags;
 WORD hedley_tmp;
 LONG *hash_table;
 UWORD current_tot_rows;
 UWORD current_tot_cclks;
 UBYTE hedley_hint;
 UBYTE hedley_hint2;
 ULONG nreserved[4];
 LONG *a2024_sync_raster;
 WORD control_delta_pal;
 WORD control_delta_ntsc;
 struct MonitorSpec *current_monitor;
 struct List MonitorList;
 struct MonitorSpec *default_monitor;
 struct SignalSemaphore *MonitorListSemaphore;
 VOID *DisplayInfoDataBase;
 WORD lapad; 
 struct SignalSemaphore *ActiViewCprSemaphore;
 ULONG *UtilityBase; 
 ULONG *ExecBase; 
 };

#define NTSC 1
#define GENLOC 2
#define PAL 4
#define TODA_SAFE 8

#define BLITMSG_FAULT 4


#define GFXB_BIG_BLITS 0
#define GFXB_HR_AGNUS 0
#define GFXB_HR_DENISE 1

#define GFXF_BIG_BLITS 1
#define GFXF_HR_AGNUS 1
#define GFXF_HR_DENISE 2

#define GRAPHICSNAME "graphics.library"

#endif 
