Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

156 lines
3.8 KiB

/**************************************************************************\
$Header: o:\src/RCS/EDID.H 1.2 95/07/07 06:15:17 jyharbec Exp $
$Log: EDID.H $
* Revision 1.2 95/07/07 06:15:17 jyharbec
* *** empty log message ***
*
* Revision 1.1 95/05/02 05:16:15 jyharbec
* Initial revision
*
\**************************************************************************/
/****** EDID.H ******/
typedef struct
{
word DispWidth;
word DispHeight;
word RefreshRate;
bool Support;
Vidset VideoSet[3];
} VesaSet;
typedef struct
{
VesaSet VesaParam[20];
} *VBoardVesaSet;
typedef struct
{
word pixel_clock;
byte h_active;
byte h_blanking;
byte ratio_hor;
byte v_active;
byte v_blanking;
byte ratio_vert;
byte h_sync_offset;
byte h_sync_pulse_width;
byte ratio_sync;
byte mix;
byte h_image_size;
byte v_image_size;
byte ratio_image_size;
byte h_border;
byte v_border;
byte flags;
} DET_TIM;
#ifdef WINDOWS_NT
#pragma pack(1)
#endif
typedef struct
{
byte header[8];
struct
{
word id_manufacture_name;
word id_product_code;
dword id_serial_number;
byte week_of_manufacture;
byte year_of_manufacture;
} product_id;
struct
{
byte version;
byte revision;
} edid_ver_rev;
struct
{
byte video_input_definition;
byte max_h_image_size;
byte max_v_image_size;
byte display_transfer_charac;
byte feature_support_dpms;
} features;
struct
{
byte red_green_low_bits;
byte blue_white_low_bits;
byte redx;
byte redy;
byte greenx;
byte greeny;
byte bluex;
byte bluey;
byte whitex;
byte whitey;
} color_char;
struct
{
byte est_timings_I;
byte est_timings_II;
byte man_res_timings;
} established_timings;
word standard_timing_id[8];
DET_TIM detailed_timing[4];
byte extension_flag;
byte checksum;
} EDID;
#ifdef WINDOWS_NT
#pragma pack( )
#endif
typedef struct
{
byte index;
byte data;
} CRTCTable;
extern byte SupportDDC[NB_BOARD_MAX];
extern byte iBoard;
extern char DefaultVidset[];
extern char *mgainf;
extern volatile byte _FAR *pMGA;
extern void ScreenOff(void);
extern void ScreenOn(void);
extern VBoardVesaSet VBoardVesaParam;
extern void CheckDDC(HwData * HwDataPtr);
extern byte InDDCTable(dword DispWidth);
extern Vidset* FindDDCFreq(dword DispWidth);
extern void Add1152Timings(void);
#ifdef WINDOWS_NT
extern VOID ScanSDA(volatile byte _FAR *pMGA, word *Buffer, word *Dummy);
extern BOOLEAN DetectSDA(volatile byte _FAR *pMGA);
ULONG SetCounter(volatile byte _FAR *pBoardRegs);
VOID PullDwClock(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
UCHAR SendStart(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
VOID SendStop(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
UCHAR WaitAck(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
VOID SendAck(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
VOID WriteByte(volatile byte _FAR *pBoardRegs, ULONG ulCounter, UCHAR ucData);
UCHAR ReadByte(volatile byte _FAR *pBoardRegs, ULONG ulCounter);
#else
extern void ScanSDA(word sel,word EdidBufferSel,dword EdidBufferOff);
extern byte DetectSDA(word sel);
extern dword SetCounter(word sel);
extern void PullDwClock (word sel,dword DelayTime);
extern byte SendStart(word sel,dword DelayTime);
extern void SendStop(word sel,dword DelayTime);
extern byte WaitAck(word sel,dword DelayTime);
extern void SendAck(word sel,dword DelayTime);
extern void WriteByte(word sel,dword DelayTime,byte SendByte);
extern byte ReadByte(word sel,dword DelayTime);
#endif