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 + -
显示快捷键?