biosinfo.h

来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 335 行

H
335
字号
#ifndef	_BIOSINFO_H
#define	_BIOSINFO_H

typedef DWORD FOURCC;	

// DCIAPMDevice - dwAPMDeviceCallbackFunction definitions
#define APM_SUSPEND 0x00000001
#define APM_RESUME  0x00000002

typedef int (CALLBACK *MODESWITCHCALLBACK)(WORD, LPVOID, LPVOID); 


// BIO Multimedia Info Table

typedef struct tag_BIO_MULTIMEDIAINFO
{
	unsigned TunerType					:8;

	unsigned VideoInputConnector		:2;
	unsigned VideoOutputConnector		:2;
	unsigned CDInputConnector			:1;
	unsigned CDOutputConnector			:1;
	unsigned VideoPassThrough			:2;

	unsigned VideoDecoderType			:3;
	unsigned VideoDecoderCrystals		:3;
	unsigned VideoOutCrystalFrequency	:2;

	unsigned AudioChip					:4;
	unsigned ATIProductType				:4;

	unsigned OEMId						:8;
	
	unsigned OEMRevision				:8;

	unsigned VoltageRegulator			:4;
	unsigned Teletext					:2;
	unsigned ReservedByte6				:2;

	unsigned ReservedByte7				:8;

} BIOS_MULTIMEDIAINFO, * PBIOS_MULTIMEDIAINFO;


// BIOS Multi-Media Info Byte 0

// bits [7: 0] = Tuner Type
#define NoTunerInstalled					0x00000000
#define Philips_FI1236_NTSC_MN				0x00000001
#define Philips_FI1236J_NTSC_Japan			0x00000002
#define Philips_FI1216_PAL_BG				0x00000003
#define Philips_FI1246_PAL_I				0x00000004
#define Philips_FI1216MF_PAL_BG_SECAM_LL	0x00000005
#define Philips_FI1236MK2_NTSC_MN			0x00000006
#define Philips_FI1256_SECAM_DK				0x00000007
#define Samsung_TCPN7082PC27A_NTSC_MN		0x00000008
#define AlpsSettopTuner_NTSC				0x00000010
#define UnknownTuner						0x000000FF

// BIOS Multi-Media Info Byte 1

// bits [1: 0] = Video Input Connector
#define VideoInput_4_Pin					0x00000000
#define VideoInput_7_Pin					0x00000001
#define VideoInput_8_Pin					0x00000002

// bits [3: 2] = Video Output Connector
#define VideoOutput_4_Pin					0x00000000
#define VideoOutput_7_Pin					0x00000001
#define VideoOutput_8_Pin					0x00000002
#define VideoOutput_7or8_Pin_RGB_SCART		0x00000003

// bit [4] = CD Input Connector
#define CDInputNotInstalled					0x00000000
#define CDInputInstalled					0x00000001

// bit [5] = CD Output Connector
#define CDOutputNotInstalled				0x00000000
#define CDOutputInstalled					0x00000001

// bits [7: 6] = Video Pass-Through Circuit
#define VideoPassThruNotInstalled			0x00000000
#define TunedForNTSC						0x00000001
#define TunedForPal							0x00000002
#define SwitchableNTSCOrPAL					0x00000003

// BIOS Multi-Media Info Byte 2

// bits [2: 0] = Video Decoder Type
#define VideoDecoderNotInstalled			0x00000000
#define Bt819								0x00000001
#define Bt829								0x00000002
#define Bt829A								0x00000003
#define Philips7111							0x00000004
#define Philips7112							0x00000005

// bits [5: 3] = Video Decoder Number of Crystals, 
//               Standards Supported
#define NTSC_And_PAL						0x00000000
#define NTSC_CrystalOnly					0x00000001
#define PAL_CrystalOnly						0x00000002
#define NTSC_PAL_SECAM						0x00000003

// bits [7: 6] = Video Out Crystal Frequency
#define TVOUT_NotInstalled					0x00000000
#define MHZ28_6363							0x00000001
#define MHZ29_49892713						0x00000002

// BIOS Multi-Media Info Byte 3

// bits [3: 0] = Audio Chip
#define Philips_TEA5582_NTSC				0x00000000
#define MONO_W_AUDIOMUX						0x00000001
#define PHILIPS_TDA9850_NTSC				0x00000002
#define SONY_CXA2020S_JAPAN					0x00000003
#define ITT_MSP3410D_EUROPE					0x00000004
#define PHILIPS_TDA9851_NTSC				0x00000006

// bit [7: 4] = ATI Product Type
#define ATIPrototypeBoard					0x00000000
#define AIW									0x00000001
#define AIW_PRO_NO_MPEG						0x00000002
#define AIW_PRO_W_MPEG						0x00000003
#define AIW_PLUS							0x00000004

// BIOS Multi-Media Info Byte 4

// bit [7: 0] = OEM ID
#define ATI									0x00000000
#define INTEL								0x00000001
#define	APRICOT								0x00000002
#define COMPAQ								0x00000003
#define SAMSUNG								0x00000004
#define BCM									0x00000005
#define SAMREX								0x00000007
#define FUJITSU								0x00000008
#define NEC									0x00000009

// BIOS Multi-Media Info Byte 5

// bit [7: 0] = Revision (indicates OEM revision level, 
//              meaning changes with OEM ID code)
#define	ANCHORAGE							0x00000001
#define	REVISION0							0x00000000
#define	REVISION1							0x00000001
#define REVISION2							0x00000002

// BIOS Multi-Media Info Byte 6

// bit [3: 0] = Voltage Regulator
#define NoTunerPowerDown					0x00000000
#define TunerPowerDown						0x00000001

// bit [5: 4] = Teletext
#define  NoTeletext							0x00000000
#define  TeletextPhilipsSAA5281				0x00000001

// bit [7: 6] = Reserved

// BIOS Multi-Media Info Byte 6

// bit [7: 0] = Reserved


// BIO Hardware Info Table

typedef struct tag_BIOS_HARDWAREINFO
{
	char Signature[4];
	unsigned char Revision;
	unsigned char Size;

	unsigned char I2C_Type;
	unsigned char ImpactTVSupport;
	unsigned char VideoPortType;

} BIOS_HARDWAREINFO, * PBIOS_HARDWAREINFO;


// BIOS Hardware Info Bytes 0-3

// Hardware info table signature string
#define Signature0							'$'
#define Signature1							'A'
#define Signature2							'T'
#define Signature3							'I'

// BIOS Hardware Info Byte 6

// bit [3: 0] = I2C Type
#define Normal_GPIO							0x00000000
#define ImpactTV_GPIO						0x00000001
#define Dedicated_I2CPin					0x00000002
#define ClockPin_GIO13_DataPin_GIO12		0x00000003
#define ClockPin_GIO10_DataPin_GIO12		0x00000004

// bit [7: 4] = Reserved

// BIOS Hardware Info Byte 7

// bit [3: 0] = Impact TV Support
#define ImpactTV1 							0x00000001
#define ImpactTV2 							0x00000002
#define ImprovedImpactTV2					0x00000003

// BIOS Hardware Info Byte 8

// bit [3: 0] = VideoPortType


// bit [7: 4] = Reserved


typedef struct tag_BIOS_CHIP_FREQUENCY_TABLE
{
	UCHAR	ClockChipType;
	UCHAR	FreqTableIdentification;
	USHORT	MinPCLKFreq;
	USHORT	MaxPCLKFreq;
	UCHAR	ExtCoProModePCLK;
	UCHAR	ExtVGAModePCLK;
	USHORT	RefClockFreq;
	USHORT	RefClockDiv;
	USHORT	HardwareSpecInfo;
	USHORT	MCLKFreqPowerDown;
	USHORT	MCLKFreqNormalDRAM;
	USHORT	MCLKFreqNormalVRAM;
	USHORT	SCLKFreq;
	UCHAR	MCLKEntryNumber;
	UCHAR	SCLKEntryNumber;
	USHORT	CoProModeMCLKFreq;
	USHORT	Reserved;
	USHORT	Value0FF;

} BIOS_CHIP_FREQUENCY_TABLE, * PBIOS_CHIP_FREQUENCY_TABLE;



// BIO TV Out Info

typedef struct tag_BIOS_TVOUTINFO
{
	unsigned TVStandard					:4;
	unsigned TV_CRT						:2;
	unsigned ImpactReferenceFreq		:2;
	unsigned Reserved                   :8;

} BIOS_TVOUTINFO, * PBIOS_TVOUTINFO;


// BIOS TV Out Info Byte 0

// bit [3: 0] = TV Standard
#define TV_STANDARD_NTSC					0x00000000
#define TV_STANDARD_PAL						0x00000001
#define TV_STANDARD_PAL_M					0x00000002
#define TV_STANDARD_PAL_60					0x00000003
#define TV_STANDARD_NTSC_J					0x00000004
#define TV_STANDARD_PAL_CN					0x00000005
#define TV_STANDARD_SCART_PAL				0x00000006

// bit [5: 4] = TV / CRT
#define Invalid								0x00000000
#define TV_Off_CRT_On						0x00000001
#define TV_On_CRT_Off						0x00000002
#define TV_On_CRT_On						0x00000003

// bit [6: 7] = ImpactTV Reference Frequency
#define MHZ_29_49892						0x00000000
#define MHZ_28_63636						0x00000001
#define MHZ_14_31818						0x00000002
#define MHZ_27_00000						0x00000003


// BIOS Display mode

typedef struct tag_BIOS_MODEINFO
{
	LONG ScreenWidth;
	LONG ScreenHeight;
	LONG ScreenColorFormat;
	LONG DesctopWidth;
	LONG DesctopHeight;
	LONG SystemColorFormat;

} BIOS_MODEINFO, *PBIOS_MODEINFO;


// Color format definitions

#define ATICONFIG_COLORFMT_4            0x00000000L
#define ATICONFIG_COLORFMT_4_Packed     0x00000001L
#define ATICONFIG_COLORFMT_8            0x00000002L
#define ATICONFIG_COLORFMT_RGB332       0x00000003L
#define ATICONFIG_COLORFMT_Crystal8     0x00000004L
#define ATICONFIG_COLORFMT_RGB555       0x00000005L
#define ATICONFIG_COLORFMT_RGB565       0x00000006L
#define ATICONFIG_COLORFMT_RGB655       0x00000007L
#define ATICONFIG_COLORFMT_RGB664       0x00000008L
#define ATICONFIG_COLORFMT_RGB888       0x00000009L
#define ATICONFIG_COLORFMT_BGR888       0x0000000AL
#define ATICONFIG_COLORFMT_aRGB8888     0x0000000BL
#define ATICONFIG_COLORFMT_RGBa8888     0x0000000CL
#define ATICONFIG_COLORFMT_aBGR8888     0x0000000DL
#define ATICONFIG_COLORFMT_BGRa8888     0x0000000EL      


// Display mode switch definitions

#define MODESWITCHBEGIN 	0x00000001  
#define MODESWITCHEND   	0x00000002
#define FULLSCREENDOSENTER 	0x00000003
#define FULLSCREENDOSEXIT 	0x00000004


// BIOS Video Capture data

typedef struct tag_BIOS_VIDEOCAPTUREDATA{
	DWORD	dwCaptureWidth;	
	DWORD	dwCaptureHeight;	
	FOURCC	fccFormat;
	DWORD	dwBitMasks[3];
	DWORD	dwCaptureMode;
	
} BIOS_VIDEOCAPTUREDATA, *PBIOS_VIDEOCAPTUREDATA;


// Capture mode definitions

#define VIDEOCAPTUREDATA_CAPTURE_HOSTTRIGGED		0x00000000                          
#define VIDEOCAPTUREDATA_CAPTURE_CONTINUOUS			0x00000001 



#endif // _BIOSINFO_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?