/***********************************************************/
/*      _  __ __                                           */
/*  /_//_)/_ (                                             */
/* / //( (_/__)|/STEM   written by H.Raaf © 1992-93        */
/*             /                                           */
/*                           ProDev / X-Pert               */
/*                                                         */
/***********************************************************/
/*                                                         */
/*   Hardware-Definitionen des HRG-Systems                 */
/*                                                         */
/***********************************************************/

#ifndef HRG_HARDWARE_H
#define HRG_HARDWARE_H

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

/* Definition fuer die "HardwareInfo" */

struct HRHardwareInfo
{
	UWORD ID;					/* Kennzahl der Karte (1=Domino15K/1MB) */
	UWORD Version;				/* Versionsnummer der Karte */
	ULONG SerialNr;			/* Serienummer der Karte */
	STRPTR Name;				/* Zeiger auf Kartenname */
	ULONG Flags;				/* diverse Flags ueber Hardwaremoeglichkeiten */
	UWORD *BitMapTypes;		/* Zeiger auf Tabelle der BitMap-Typen */
	ULONG *PLLClocks;			/* Tabelle der verfuegbaren PLLClocks */
	UWORD DACTypeID;			/* ID des RAM-DAC Typen */
	UBYTE	BitsPerColor;		/* Bits pro Farbanteil in der Palette (16/24) */
	UBYTE DisplayMemory;		/* Groesse des verfuegbaren Speichers auf der Karte (MB) */
	ULONG FrameCount;			/* Wird bei jedem Frame um 1 erhoeht (Wenn Interrupt moeglich) */
	/* Achtung wird noch erweitert werden (MERLIN) */
};

/* Definitionen fuer die Hardware-Info Flags */

#define HRHIB_TwoMonitors	0
#define HRHIB_PIP				1
#define HRHIB_Genlock		2
#define HRHIB_Digitizer		3
#define HRHIB_Blitter		4
#define HRHIB_IP				5
#define HRHIB_ZorroII		6
#define HRHIB_EEPROM			7
#define HRHIB_Cursor			8
#define HRHIB_FBAS			9
#define HRHIB_YC				10
#define HRHIB_MonSwitch		11
#define HRHIB_Interrupt		12
#define HRHIB_ZIIBanked		13


#define HRHIF_TwoMonitors	(1L<<HRHIB_TwoMonitors)
#define HRHIF_PIP				(1L<<HRHIB_PIP)
#define HRHIF_Genlock		(1L<<HRHIB_Genlock)
#define HRHIF_Digitizer		(1L<<HRHIB_Digitizer)
#define HRHIF_Blitter		(1L<<HRHIB_Blitter)
#define HRHIF_IP				(1L<<HRHIB_IP)
#define HRHIF_ZorroII		(1L<<HRHIB_ZorroII)
#define HRHIF_EEPROM			(1L<<HRHIB_EEPROM)
#define HRHIF_Cursor			(1L<<HRHIB_Cursor)
#define HRHIF_FBAS			(1L<<HRHIB_FBAS)
#define HRHIF_YC				(1L<<HRHIB_YC)
#define HRHIF_MonSwitch		(1L<<HRHIB_MonSwitch)
#define HRHIF_Interrupt		(1L<<HRHIB_Interrupt)
#define HRHIF_ZIIBanked		(1L<<HRHIB_ZIIBanked)

#define RAMDAC_DOMINO_STD	1
#define RAMDAC_MERLIN_STD	2

#define CARD_ID_DOMINO		1
#define CARD_ID_MERLIN		2

#endif

