blob: b81ac7726d1cf9c2e1d04be19756913c47a89188 [file] [log] [blame]
/* yilin modify for xgi20 */
static struct XGI_MCLKDataStruct XGI340New_MCLKData[] = {
{0x16, 0x01, 0x01, 166},
{0x19, 0x02, 0x01, 124},
{0x7C, 0x08, 0x01, 200},
{0x79, 0x06, 0x01, 250},
{0x29, 0x01, 0x81, 301},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166}
};
static struct XGI_MCLKDataStruct XGI27New_MCLKData[] = {
{0x5c, 0x23, 0x01, 166},
{0x19, 0x02, 0x01, 124},
{0x7C, 0x08, 0x80, 200},
{0x79, 0x06, 0x80, 250},
{0x29, 0x01, 0x81, 300},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166}
};
/* yilin modify for xgi20 */
static struct XGI_ECLKDataStruct XGI340_ECLKData[] = {
{0x5c, 0x23, 0x01, 166},
{0x55, 0x84, 0x01, 123},
{0x7C, 0x08, 0x01, 200},
{0x79, 0x06, 0x01, 250},
{0x29, 0x01, 0x81, 301},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166},
{0x5c, 0x23, 0x01, 166}
};
static unsigned char XGI340_SR13[4][8] = {
{0x35, 0x45, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00}, /* SR13 */
{0x41, 0x51, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00}, /* SR14 */
{0x31, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00}, /* SR18 */
{0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00} /* SR1B */
};
static unsigned char XGI340_cr41[24][8] = {
{0x20, 0x50, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 0 CR41 */
{0xc4, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 1 CR8A */
{0xc4, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 2 CR8B */
{0xb5, 0xa4, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
{0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00},
{0x90, 0x90, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 5 CR68 */
{0x77, 0x77, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 6 CR69 */
{0x77, 0x77, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 7 CR6A */
{0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 8 CR6D */
{0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 9 CR80 */
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 10 CR81 */
{0x88, 0xa8, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 11 CR82 */
{0x44, 0x44, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 12 CR85 */
{0x48, 0x48, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 13 CR86 */
{0x54, 0x54, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 14 CR90 */
{0x54, 0x54, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 15 CR91 */
{0x0a, 0x0a, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 16 CR92 */
{0x44, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 17 CR93 */
{0x10, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 18 CR94 */
{0x11, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 19 CR95 */
{0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 20 CR96 */
{0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 21 CRC3 */
{0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 22 CRC4 */
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /* 23 CRC5 */
};
static unsigned char XGI27_cr41[24][8] = {
{0x20, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 0 CR41 */
{0xC4, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 1 CR8A */
{0xC4, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 2 CR8B */
{0xB5, 0x13, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 3 CR40[7],
CR99[2:0],
CR45[3:0]*/
{0xf0, 0xf5, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 4 CR59 */
{0x90, 0x90, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 5 CR68 */
{0x77, 0x67, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 6 CR69 */
{0x77, 0x77, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 7 CR6A */
{0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 8 CR6D */
{0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 9 CR80 */
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 10 CR81 */
{0x88, 0xcc, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 11 CR82 */
{0x44, 0x88, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 12 CR85 */
{0x48, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 13 CR86 */
{0x54, 0x32, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 14 CR90 */
{0x54, 0x33, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 15 CR91 */
{0x0a, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 16 CR92 */
{0x44, 0x63, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 17 CR93 */
{0x10, 0x14, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 18 CR94 */
{0x11, 0x0B, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 19 CR95 */
{0x05, 0x22, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 20 CR96 */
{0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 21 CRC3 */
{0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 22 CRC4 */
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /* 23 CRC5 */
};
static unsigned char XGI340_CR6B[8][4] = {
{0xaa, 0xaa, 0xaa, 0xaa},
{0xaa, 0xaa, 0xaa, 0xaa},
{0xaa, 0xaa, 0xaa, 0xaa},
{0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}
};
static unsigned char XGI340_CR6E[8][4];
static unsigned char XGI340_CR6F[8][32];
static unsigned char XGI340_CR89[8][2];
/* CR47,CR48,CR49,CR4A,CR4B,CR4C,CR70,CR71,CR74,CR75,CR76,CR77 */
static unsigned char XGI340_AGPReg[12] = {
0x28, 0x23, 0x00, 0x20, 0x00, 0x20,
0x00, 0x05, 0xd0, 0x10, 0x10, 0x00
};
static unsigned char XGI340_SR16[4] = {0x03, 0x83, 0x03, 0x83};
static unsigned char XGI330_sr25[2];
static unsigned char XGI330_sr31 = 0xc0;
static unsigned char XGI330_sr32 = 0x11;
static unsigned char XGI330_SR33;
static unsigned char XG40_CRCF = 0x13;
static unsigned char XG40_DRAMTypeDefinition = 0xFF ;
static struct XGI_StStruct XGI330_SModeIDTable[] = {
{0x01, 0x9208, 0x01, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00},
{0x01, 0x1210, 0x14, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00},
{0x01, 0x1010, 0x17, 0x02, 0x11, 0x00, 0x00, 0x01, 0x01},
{0x03, 0x8208, 0x03, 0x00, 0x14, 0x00, 0x00, 0x01, 0x02},
{0x03, 0x0210, 0x16, 0x01, 0x04, 0x01, 0x00, 0x01, 0x02},
{0x03, 0x0010, 0x18, 0x02, 0x15, 0x00, 0x00, 0x01, 0x03},
{0x05, 0x9209, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04},
{0x06, 0x8209, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05},
{0x07, 0x0000, 0x07, 0x03, 0x05, 0x03, 0x00, 0x01, 0x03},
{0x07, 0x0000, 0x19, 0x02, 0x15, 0x02, 0x00, 0x01, 0x03},
{0x0d, 0x920a, 0x0d, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04},
{0x0e, 0x820a, 0x0e, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05},
{0x0f, 0x0202, 0x11, 0x01, 0x04, 0x01, 0x00, 0x00, 0x05},
{0x10, 0x0212, 0x12, 0x01, 0x04, 0x01, 0x00, 0x00, 0x05},
{0x11, 0x0212, 0x1a, 0x04, 0x24, 0x04, 0x00, 0x00, 0x05},
{0x12, 0x0212, 0x1b, 0x04, 0x24, 0x04, 0x00, 0x00, 0x05},
{0x13, 0x021b, 0x1c, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04},
{0x12, 0x0010, 0x18, 0x02, 0x24, 0x02, 0x00, 0x00, 0x05},/* St_CRT2CRTC2
not sure */
{0x12, 0x0210, 0x18, 0x01, 0x24, 0x01, 0x00, 0x00, 0x05},/* St_CRT2CRTC2
not sure */
{0xff, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
};
static struct XGI_ExtStruct XGI330_EModeIDTable[] = {
{0x6a, 0x2212, 0x0407, 0x3a81, 0x0102, 0x08,
0x07, 0x00, 0x00, 0x07, 0x0e},
{0x2e, 0x0a1b, 0x0306, 0x3a57, 0x0101, 0x08,
0x06, 0x00, 0x00, 0x05, 0x06},
{0x2f, 0x0a1b, 0x0305, 0x3a50, 0x0100, 0x08,
0x05, 0x00, 0x00, 0x05, 0x05},
{0x30, 0x2a1b, 0x0407, 0x3a81, 0x0103, 0x08,
0x07, 0x00, 0x00, 0x07, 0x0e},
{0x31, 0x0a1b, 0x030d, 0x3b85, 0x0000, 0x08,
0x0d, 0x00, 0x00, 0x06, 0x3d},
{0x32, 0x0a1b, 0x0a0e, 0x3b8c, 0x0000, 0x08,
0x0e, 0x00, 0x00, 0x06, 0x3e},
{0x33, 0x0a1d, 0x0a0d, 0x3b85, 0x0000, 0x08,
0x0d, 0x00, 0x00, 0x06, 0x3d},
{0x34, 0x2a1d, 0x0a0e, 0x3b8c, 0x0000, 0x08,
0x0e, 0x00, 0x00, 0x06, 0x3e},
{0x35, 0x0a1f, 0x0a0d, 0x3b85, 0x0000, 0x08,
0x0d, 0x00, 0x00, 0x06, 0x3d},
{0x36, 0x2a1f, 0x0a0e, 0x3b8c, 0x0000, 0x08,
0x0e, 0x00, 0x00, 0x06, 0x3e},
{0x37, 0x0212, 0x0508, 0x3aab, 0x0104, 0x08,
0x08, 0x00, 0x00, 0x00, 0x16},
{0x38, 0x0a1b, 0x0508, 0x3aab, 0x0105, 0x08,
0x08, 0x00, 0x00, 0x00, 0x16},
{0x3a, 0x0e3b, 0x0609, 0x3adc, 0x0107, 0x08,
0x09, 0x00, 0x00, 0x00, 0x1e},
{0x3c, 0x0e3b, 0x070a, 0x3af2, 0x0130, 0x08,
0x0a, 0x00, 0x00, 0x00, 0x22}, /* mode 1600x1200
add CRT2MODE [2003/10/07] */
{0x3d, 0x0e7d, 0x070a, 0x3af2, 0x0131, 0x08,
0x0a, 0x00, 0x00, 0x00, 0x22}, /* mode 1600x1200
add CRT2MODE */
{0x40, 0x9a1c, 0x0000, 0x3a34, 0x010d, 0x08,
0x00, 0x00, 0x00, 0x04, 0x00},
{0x41, 0x9a1d, 0x0000, 0x3a34, 0x010e, 0x08,
0x00, 0x00, 0x00, 0x04, 0x00}, /* ModeIdIndex = 0x10 */
{0x43, 0x0a1c, 0x0306, 0x3a57, 0x0110, 0x08,
0x06, 0x00, 0x00, 0x05, 0x06},
{0x44, 0x0a1d, 0x0306, 0x3a57, 0x0111, 0x08,
0x06, 0x00, 0x00, 0x05, 0x06},
{0x46, 0x2a1c, 0x0407, 0x3a81, 0x0113, 0x08,
0x07, 0x00, 0x00, 0x07, 0x0e},
{0x47, 0x2a1d, 0x0407, 0x3a81, 0x0114, 0x08,
0x07, 0x00, 0x00, 0x07, 0x0e},
{0x49, 0x0a3c, 0x0508, 0x3aab, 0x0116, 0x08,
0x08, 0x00, 0x00, 0x00, 0x16},
{0x4a, 0x0a3d, 0x0508, 0x3aab, 0x0117, 0x08,
0x08, 0x00, 0x00, 0x00, 0x16},
{0x4c, 0x0e7c, 0x0609, 0x3adc, 0x0119, 0x08,
0x09, 0x00, 0x00, 0x00, 0x1e},
{0x4d, 0x0e7d, 0x0609, 0x3adc, 0x011a, 0x08,
0x09, 0x00, 0x00, 0x00, 0x1e},
{0x50, 0x9a1b, 0x0001, 0x3a3b, 0x0132, 0x08,
0x01, 0x00, 0x00, 0x04, 0x02},
{0x51, 0xba1b, 0x0103, 0x3a42, 0x0133, 0x08,
0x03, 0x00, 0x00, 0x07, 0x03},
{0x52, 0x9a1b, 0x0204, 0x3a49, 0x0134, 0x08,
0x04, 0x00, 0x00, 0x00, 0x04},
{0x56, 0x9a1d, 0x0001, 0x3a3b, 0x0135, 0x08,
0x01, 0x00, 0x00, 0x04, 0x02},
{0x57, 0xba1d, 0x0103, 0x3a42, 0x0136, 0x08,
0x03, 0x00, 0x00, 0x07, 0x03},
{0x58, 0x9a1d, 0x0204, 0x3a49, 0x0137, 0x08,
0x04, 0x00, 0x00, 0x00, 0x04},
{0x59, 0x9a1b, 0x0000, 0x3a34, 0x0138, 0x08,
0x00, 0x00, 0x00, 0x04, 0x00},
{0x5A, 0x021b, 0x0014, 0x3b83, 0x0138, 0x08,
0x01, 0x00, 0x00, 0x04, 0x3f}, /* ModeIdIndex = 0x20 */
{0x5B, 0x0a1d, 0x0014, 0x3b83, 0x0135, 0x08,
0x01, 0x00, 0x00, 0x04, 0x3f},
{0x5d, 0x0a1d, 0x0305, 0x3a50, 0x0139, 0x08,
0x05, 0x00, 0x00, 0x07, 0x05},
{0x62, 0x0a3f, 0x0306, 0x3a57, 0x013a, 0x08,
0x06, 0x00, 0x00, 0x05, 0x06},
{0x63, 0x2a3f, 0x0407, 0x3a81, 0x013b, 0x08,
0x07, 0x00, 0x00, 0x07, 0x0e},
{0x64, 0x0a7f, 0x0508, 0x3aab, 0x013c, 0x08,
0x08, 0x00, 0x00, 0x00, 0x16},
{0x65, 0x0eff, 0x0609, 0x3adc, 0x013d, 0x08,
0x09, 0x00, 0x00, 0x00, 0x1e},
{0x66, 0x0eff, 0x070a, 0x3af2, 0x013e, 0x08,
0x0a, 0x00, 0x00, 0x00, 0x22}, /* mode 1600x1200
add CRT2MODE */
{0x68, 0x067b, 0x080b, 0x3b17, 0x013f, 0x08,
0x0b, 0x00, 0x00, 0x00, 0x29},
{0x69, 0x06fd, 0x080b, 0x3b17, 0x0140, 0x08,
0x0b, 0x00, 0x00, 0x00, 0x29},
{0x6b, 0x07ff, 0x080b, 0x3b17, 0x0141, 0x10,
0x0b, 0x00, 0x00, 0x00, 0x29},
{0x6c, 0x067b, 0x090c, 0x3b37, 0x0000, 0x08,
0x0c, 0x00, 0x00, 0x00, 0x2f},
{0x6d, 0x06fd, 0x090c, 0x3b37, 0x0000, 0x10,
0x0c, 0x00, 0x00, 0x00, 0x2f},
{0x6e, 0x07ff, 0x090c, 0x3b37, 0x0000, 0x10,
0x0c, 0x00, 0x00, 0x00, 0x2f},
{0x70, 0x2a1b, 0x0410, 0x3b52, 0x0000, 0x08,
0x10, 0x00, 0x00, 0x07, 0x34},
{0x71, 0x0a1b, 0x0511, 0x3b63, 0x0000, 0x08,
0x11, 0x00, 0x00, 0x00, 0x37},
{0x74, 0x0a1d, 0x0511, 0x3b63, 0x0000, 0x08,
0x11, 0x00, 0x00, 0x00, 0x37}, /* ModeIdIndex = 0x30 */
{0x75, 0x0a3d, 0x0612, 0x3b74, 0x0000, 0x08,
0x12, 0x00, 0x00, 0x00, 0x3a},
{0x76, 0x2a1f, 0x0410, 0x3b52, 0x0000, 0x08,
0x10, 0x00, 0x00, 0x07, 0x34},
{0x77, 0x0a1f, 0x0511, 0x3b63, 0x0000, 0x08,
0x11, 0x00, 0x00, 0x00, 0x37},
{0x78, 0x0a3f, 0x0612, 0x3b74, 0x0000, 0x08,
0x12, 0x00, 0x00, 0x00, 0x3a},
{0x79, 0x0a3b, 0x0612, 0x3b74, 0x0000, 0x08,
0x12, 0x00, 0x00, 0x00, 0x3a},
{0x7a, 0x2a1d, 0x0410, 0x3b52, 0x0000, 0x08,
0x10, 0x00, 0x00, 0x07, 0x34},
{0x7b, 0x0e3b, 0x060f, 0x3ad0, 0x0000, 0x08,
0x0f, 0x00, 0x00, 0x00, 0x1d},
{0x7c, 0x0e7d, 0x060f, 0x3ad0, 0x0000, 0x08,
0x0f, 0x00, 0x00, 0x00, 0x1d},
{0x7d, 0x0eff, 0x060f, 0x3ad0, 0x0000, 0x08,
0x0f, 0x00, 0x00, 0x00, 0x1d},
{0x20, 0x0e3b, 0x0D16, 0x49e0, 0x0000, 0x08,
0x16, 0x00, 0x00, 0x00, 0x43},
{0x21, 0x0e7d, 0x0D16, 0x49e0, 0x0000, 0x08,
0x16, 0x00, 0x00, 0x00, 0x43},
{0x22, 0x0eff, 0x0D16, 0x49e0, 0x0000, 0x08,
0x16, 0x00, 0x00, 0x00, 0x43},
{0x23, 0x0e3b, 0x0614, 0x49d5, 0x0000, 0x08,
0x14, 0x00, 0x00, 0x00, 0x41},
{0x24, 0x0e7d, 0x0614, 0x49d5, 0x0000, 0x08,
0x14, 0x00, 0x00, 0x00, 0x41},
{0x25, 0x0eff, 0x0614, 0x49d5, 0x0000, 0x08,
0x14, 0x00, 0x00, 0x00, 0x41},
{0x26, 0x063b, 0x0c15, 0x49dc, 0x0000, 0x08,
0x15, 0x00, 0x00, 0x00, 0x42}, /* ModeIdIndex = 0x40 */
{0x27, 0x067d, 0x0c15, 0x49dc, 0x0000, 0x08,
0x15, 0x00, 0x00, 0x00, 0x42},
{0x28, 0x06ff, 0x0c15, 0x49dc, 0x0000, 0x08,
0x15, 0x00, 0x00, 0x00, 0x42},
{0xff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
};
static struct XGI_StandTableStruct XGI330_StandTable[] = {
/* MD_0_200 */
{
0x28, 0x18, 0x08, 0x0800,
{0x09, 0x03, 0x00, 0x02},
0x63,
{0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_1_200 */
{
0x28, 0x18, 0x08, 0x0800,
{0x09, 0x03, 0x00, 0x02},
0x63,
{0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_2_200 */
{
0x50, 0x18, 0x08, 0x1000,
{0x01, 0x03, 0x00, 0x02},
0x63,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_3_200 */
{
0x50, 0x18, 0x08, 0x1000,
{0x01, 0x03, 0x00, 0x02},
0x63,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_4 */
{
0x28, 0x18, 0x08, 0x4000,
{0x09, 0x03, 0x00, 0x02},
0x63,
{0x2d, 0x27, 0x28, 0x90, 0x2c, 0x80, 0xbf, 0x1f,
0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
0xff},
{0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x01, 0x00, 0x03, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x00,
0xff}
},
/* MD_5 */
{
0x28, 0x18, 0x08, 0x4000,
{0x09, 0x03, 0x00, 0x02},
0x63,
{0x2d, 0x27, 0x28, 0x90, 0x2c, 0x80, 0xbf, 0x1f,
0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
0xff},
{0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x01, 0x00, 0x03, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x00,
0xff}
},
/* MD_6 */
{
0x50, 0x18, 0x08, 0x4000,
{0x01, 0x01, 0x00, 0x06},
0x63,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2,
0xff},
{0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
0x01, 0x00, 0x01, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
0xff}
},
/* MD_7 */
{
0x50, 0x18, 0x0e, 0x1000,
{0x00, 0x03, 0x00, 0x03},
0xa6,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x83, 0x85, 0x5d, 0x28, 0x0d, 0x63, 0xba, 0xa3,
0xff},
{0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x0e, 0x00, 0x0f, 0x08},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x00,
0xff}
},
/* MDA_DAC */
{
0x00, 0x00, 0x00, 0x0000,
{0x00, 0x00, 0x00, 0x15},
0x15,
{0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15,
0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x3f, 0x3f,
0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00,
0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15,
0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15,
0x15, 0x15, 0x15, 0x15},
{0x15, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
0x3f}
},
/* CGA_DAC */
{
0x00, 0x10, 0x04, 0x0114,
{0x11, 0x09, 0x15, 0x00},
0x10,
{0x04, 0x14, 0x01, 0x11, 0x09, 0x15, 0x2a, 0x3a,
0x2e, 0x3e, 0x2b, 0x3b, 0x2f, 0x3f, 0x2a, 0x3a,
0x2e, 0x3e, 0x2b, 0x3b, 0x2f, 0x3f, 0x00, 0x10,
0x04},
{0x14, 0x01, 0x11, 0x09, 0x15, 0x00, 0x10, 0x04,
0x14, 0x01, 0x11, 0x09, 0x15, 0x2a, 0x3a, 0x2e,
0x3e, 0x2b, 0x3b, 0x2f},
{0x3f, 0x2a, 0x3a, 0x2e, 0x3e, 0x2b, 0x3b, 0x2f,
0x3f}
},
/* EGA_DAC */
{
0x00, 0x10, 0x04, 0x0114,
{0x11, 0x05, 0x15, 0x20},
0x30,
{0x24, 0x34, 0x21, 0x31, 0x25, 0x35, 0x08, 0x18,
0x0c, 0x1c, 0x09, 0x19, 0x0d, 0x1d, 0x28, 0x38,
0x2c, 0x3c, 0x29, 0x39, 0x2d, 0x3d, 0x02, 0x12,
0x06},
{0x16, 0x03, 0x13, 0x07, 0x17, 0x22, 0x32, 0x26,
0x36, 0x23, 0x33, 0x27, 0x37, 0x0a, 0x1a, 0x0e,
0x1e, 0x0b, 0x1b, 0x0f},
{0x1f, 0x2a, 0x3a, 0x2e, 0x3e, 0x2b, 0x3b, 0x2f,
0x3f}
},
/* VGA_DAC */
{
0x00, 0x10, 0x04, 0x0114,
{0x11, 0x09, 0x15, 0x2a},
0x3a,
{0x2e, 0x3e, 0x2b, 0x3b, 0x2f, 0x3f, 0x00, 0x05,
0x08, 0x0b, 0x0e, 0x11, 0x14, 0x18, 0x1c, 0x20,
0x24, 0x28, 0x2d, 0x32, 0x38, 0x3f, 0x00, 0x10,
0x1f},
{0x2f, 0x3f, 0x1f, 0x27, 0x2f, 0x37, 0x3f, 0x2d,
0x31, 0x36, 0x3a, 0x3f, 0x00, 0x07, 0x0e, 0x15,
0x1c, 0x0e, 0x11, 0x15},
{0x18, 0x1c, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x00,
0x04}
},
{
0x08, 0x0c, 0x10, 0x0a08,
{0x0c, 0x0e, 0x10, 0x0b},
0x0c,
{0x0d, 0x0f, 0x10, 0x10, 0x01, 0x08, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x01, 0x00,
0x04, 0x04, 0x01, 0x00, 0x05, 0x02, 0x05, 0x00,
0x06},
{0x01, 0x06, 0x05, 0x06, 0x00, 0x08, 0x01, 0x08,
0x00, 0x07, 0x02, 0x07, 0x06, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
},
/* MD_D */
{
0x28, 0x18, 0x08, 0x2000,
{0x09, 0x0f, 0x00, 0x06},
0x63,
{0x2d, 0x27, 0x28, 0x90, 0x2c, 0x80, 0xbf, 0x1f,
0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x01, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f,
0xff}
},
/* MD_E */
{
0x50, 0x18, 0x08, 0x4000,
{0x01, 0x0f, 0x00, 0x06},
0x63,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x01, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f,
0xff}
},
/* ExtVGATable */
{
0x00, 0x00, 0x00, 0x0000,
{0x01, 0x0f, 0x00, 0x0e},
0x23,
{0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xea, 0x8c, 0xdf, 0x28, 0x40, 0xe7, 0x04, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x01, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f,
0xff}
},
/* ROM_SAVEPTR */
{
0x9f, 0x3b, 0x00, 0x00c0,
{0x00, 0x00, 0x00, 0x00},
0x00,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x3f,
0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1a, 0x00, 0xac, 0x3e, 0x00, 0xc0,
0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
},
/* MD_F */
{
0x50, 0x18, 0x0e, 0x8000,
{0x01, 0x0f, 0x00, 0x06},
0xa2,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x82, 0x84, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
0xff},
{0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
0x0b, 0x00, 0x05, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05,
0xff}
},
/* MD_10 */
{
0x50, 0x18, 0x0e, 0x8000,
{0x01, 0x0f, 0x00, 0x06},
0xa3,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x82, 0x84, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x01, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f,
0xff}
},
/* MD_0_350 */
{
0x28, 0x18, 0x0e, 0x0800,
{0x09, 0x03, 0x00, 0x02},
0xa3,
{0x2d, 0x27, 0x28, 0x90, 0x2b, 0xb1, 0xbf, 0x1f,
0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_1_350 */
{
0x28, 0x18, 0x0e, 0x0800,
{0x09, 0x03, 0x00, 0x02},
0xa3,
{0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_2_350 */
{
0x50, 0x18, 0x0e, 0x1000,
{0x01, 0x03, 0x00, 0x02},
0xa3,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_3_350 */
{
0x50, 0x18, 0x0e, 0x1000,
{0x01, 0x03, 0x00, 0x02},
0xa3,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x08, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_0_1_400 */
{
0x28, 0x18, 0x10, 0x0800,
{0x08, 0x03, 0x00, 0x02},
0x67,
{0x2d, 0x27, 0x28, 0x90, 0x2b, 0xb1, 0xbf, 0x1f,
0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x0c, 0x00, 0x0f, 0x08},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_2_3_400 */
{
0x50, 0x18, 0x10, 0x1000,
{0x00, 0x03, 0x00, 0x02},
0x67,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x0c, 0x00, 0x0f, 0x08},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00,
0xff}
},
/* MD_7_400 */
{
0x50, 0x18, 0x10, 0x1000,
{0x00, 0x03, 0x00, 0x02},
0x66,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x0e, 0x00, 0x0f, 0x08},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x00,
0xff}
},
/* MD_11 */
{
0x50, 0x1d, 0x10, 0xa000,
{0x01, 0x0f, 0x00, 0x06},
0xe3,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0x0b, 0x3e,
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe9, 0x8b, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xc3,
0xff},
{0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
0x01, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01,
0xff}
},
/* ExtEGATable */
{
0x50, 0x1d, 0x10, 0xa000,
{0x01, 0x0f, 0x00, 0x06},
0xe3,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0x0b, 0x3e,
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe9, 0x8b, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x01, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f,
0xff}
},
/* MD_13 */
{
0x28, 0x18, 0x08, 0x2000,
{0x01, 0x0f, 0x00, 0x0e},
0x63,
{0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
0xff},
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x41, 0x00, 0x0f, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f,
0xff}
}
};
static struct XGI_TimingHStruct XGI_TimingH[1];
static struct XGI_TimingVStruct XGI_TimingV[1];
static struct XGI_XG21CRT1Struct XGI_UpdateCRT1Table[] = {
{0x01, 0x27, 0x91, 0x8f, 0xc0}, /* 00 */
{0x03, 0x4f, 0x83, 0x8f, 0xc0}, /* 01 */
{0x05, 0x27, 0x91, 0x8f, 0xc0}, /* 02 */
{0x06, 0x4f, 0x83, 0x8f, 0xc0}, /* 03 */
{0x07, 0x4f, 0x83, 0x8f, 0xc0}, /* 04 */
{0x0d, 0x27, 0x91, 0x8f, 0xc0}, /* 05 */
{0x0e, 0x4f, 0x83, 0x8f, 0xc0}, /* 06 */
{0x0f, 0x4f, 0x83, 0x5d, 0xc0}, /* 07 */
{0x10, 0x4f, 0x83, 0x5d, 0xc0}, /* 08 */
{0x11, 0x4f, 0x83, 0xdf, 0x0c}, /* 09 */
{0x12, 0x4f, 0x83, 0xdf, 0x0c}, /* 10 */
{0x13, 0x4f, 0x83, 0x8f, 0xc0}, /* 11 */
{0x2e, 0x4f, 0x83, 0xdf, 0x0c}, /* 12 */
{0x2e, 0x4f, 0x87, 0xdf, 0xc0}, /* 13 */
{0x2f, 0x4f, 0x83, 0x8f, 0xc0}, /* 14 */
{0x50, 0x27, 0x91, 0xdf, 0x0c}, /* 15 */
{0x59, 0x27, 0x91, 0x8f, 0xc0} /* 16 */
};
static struct XGI_CRT1TableStruct XGI_CRT1Table[] = {
{ {0x2d, 0x28, 0x90, 0x2c, 0x90, 0x00, 0x04, 0x00,
0xbf, 0x1f, 0x9c, 0x8e, 0x96, 0xb9, 0x30} }, /* 0x0 */
{ {0x2d, 0x28, 0x90, 0x2c, 0x90, 0x00, 0x04, 0x00,
0x0b, 0x3e, 0xe9, 0x8b, 0xe7, 0x04, 0x00} }, /* 0x1 */
{ {0x3D, 0x31, 0x81, 0x37, 0x1F, 0x00, 0x05, 0x00,
0x72, 0xF0, 0x58, 0x8C, 0x57, 0x73, 0xA0} }, /* 0x2 */
{ {0x4F, 0x3F, 0x93, 0x45, 0x0D, 0x00, 0x01, 0x00,
0x24, 0xF5, 0x02, 0x88, 0xFF, 0x25, 0x90} }, /* 0x3 */
{ {0x5F, 0x50, 0x82, 0x55, 0x81, 0x00, 0x05, 0x00,
0xBF, 0x1F, 0x9C, 0x8E, 0x96, 0xB9, 0x30} }, /* 0x4 */
{ {0x5F, 0x50, 0x82, 0x55, 0x81, 0x00, 0x05, 0x00,
0x0B, 0x3E, 0xE9, 0x8B, 0xE7, 0x04, 0x00} }, /* 0x5 */
{ {0x63, 0x50, 0x86, 0x56, 0x9B, 0x00, 0x01, 0x00,
0x06, 0x3E, 0xE8, 0x8B, 0xE7, 0xFF, 0x10} }, /* 0x6 */
{ {0x64, 0x4F, 0x88, 0x55, 0x9D, 0x00, 0x01, 0x00,
0xF2, 0x1F, 0xE0, 0x83, 0xDF, 0xF3, 0x10} }, /* 0x7 */
{ {0x63, 0x4F, 0x87, 0x5A, 0x81, 0x00, 0x05, 0x00,
0xFB, 0x1F, 0xE0, 0x83, 0xDF, 0xFC, 0x10} }, /* 0x8 */
{ {0x65, 0x4F, 0x89, 0x58, 0x80, 0x00, 0x05, 0x60,
0xFB, 0x1F, 0xE0, 0x83, 0xDF, 0xFC, 0x80} }, /* 0x9 */
{ {0x65, 0x4F, 0x89, 0x58, 0x80, 0x00, 0x05, 0x60,
0x01, 0x3E, 0xE0, 0x83, 0xDF, 0x02, 0x80} }, /* 0xa */
{ {0x67, 0x4F, 0x8B, 0x58, 0x81, 0x00, 0x05, 0x60,
0x0D, 0x3E, 0xE0, 0x83, 0xDF, 0x0E, 0x90} }, /* 0xb */
{ {0x65, 0x4F, 0x89, 0x57, 0x9F, 0x00, 0x01, 0x00,
0xFB, 0x1F, 0xE6, 0x8A, 0xDF, 0xFC, 0x10} }, /* 0xc */
{ {0x7B, 0x63, 0x9F, 0x6A, 0x93, 0x00, 0x05, 0x00, /* ;
0D (800x600,56Hz) */
0x6F, 0xF0, 0x58, 0x8A, 0x57, 0x70, 0xA0} }, /* ;
(VCLK 36.0MHz) */
{ {0x7F, 0x63, 0x83, 0x6C, 0x1C, 0x00, 0x06, 0x00, /* ;
0E (800x600,60Hz) */
0x72, 0xF0, 0x58, 0x8C, 0x57, 0x73, 0xA0} }, /* ;
(VCLK 40.0MHz) */
{ {0x7D, 0x63, 0x81, 0x6E, 0x1D, 0x00, 0x06, 0x00, /* ;
0F (800x600,72Hz) */
0x98, 0xF0, 0x7C, 0x82, 0x57, 0x99, 0x80} }, /* ;
(VCLK 50.0MHz) */
{ {0x7F, 0x63, 0x83, 0x69, 0x13, 0x00, 0x06, 0x00, /* ;
10 (800x600,75Hz) */
0x6F, 0xF0, 0x58, 0x8B, 0x57, 0x70, 0xA0} }, /* ;
(VCLK 49.5MHz) */
{ {0x7E, 0x63, 0x82, 0x6B, 0x13, 0x00, 0x06, 0x00, /* ;
11 (800x600,85Hz) */
0x75, 0xF0, 0x58, 0x8B, 0x57, 0x76, 0xA0} }, /* ;
(VCLK 56.25MHz) */
{ {0x81, 0x63, 0x85, 0x6D, 0x18, 0x00, 0x06, 0x60, /* ;
12 (800x600,100Hz) */
0x7A, 0xF0, 0x58, 0x8B, 0x57, 0x7B, 0xA0} }, /* ;
(VCLK 75.8MHz) */
{ {0x83, 0x63, 0x87, 0x6E, 0x19, 0x00, 0x06, 0x60, /* ;
13 (800x600,120Hz) */
0x81, 0xF0, 0x58, 0x8B, 0x57, 0x82, 0xA0} }, /* ;
(VCLK 79.411MHz) */
{ {0x85, 0x63, 0x89, 0x6F, 0x1A, 0x00, 0x06, 0x60, /* ;
14 (800x600,160Hz) */
0x91, 0xF0, 0x58, 0x8B, 0x57, 0x92, 0xA0} }, /* ;
(VCLK 105.822MHz) */
{ {0x99, 0x7F, 0x9D, 0x84, 0x1A, 0x00, 0x02, 0x00,
0x96, 0x1F, 0x7F, 0x83, 0x7F, 0x97, 0x10} }, /* 0x15 */
{ {0xA3, 0x7F, 0x87, 0x86, 0x97, 0x00, 0x02, 0x00,
0x24, 0xF5, 0x02, 0x88, 0xFF, 0x25, 0x90} }, /* 0x16 */
{ {0xA1, 0x7F, 0x85, 0x86, 0x97, 0x00, 0x02, 0x00,
0x24, 0xF5, 0x02, 0x88, 0xFF, 0x25, 0x90} }, /* 0x17 */
{ {0x9F, 0x7F, 0x83, 0x85, 0x91, 0x00, 0x02, 0x00,
0x1E, 0xF5, 0x00, 0x83, 0xFF, 0x1F, 0x90} }, /* 0x18 */
{ {0xA7, 0x7F, 0x8B, 0x89, 0x95, 0x00, 0x02, 0x00,
0x26, 0xF5, 0x00, 0x83, 0xFF, 0x27, 0x90} }, /* 0x19 */
{ {0xA9, 0x7F, 0x8D, 0x8C, 0x9A, 0x00, 0x02, 0x62,
0x2C, 0xF5, 0x00, 0x83, 0xFF, 0x2D, 0x14} }, /* 0x1a */
{ {0xAB, 0x7F, 0x8F, 0x8D, 0x9B, 0x00, 0x02, 0x62,
0x35, 0xF5, 0x00, 0x83, 0xFF, 0x36, 0x14} }, /* 0x1b */
{ {0xCF, 0x9F, 0x93, 0xB2, 0x01, 0x00, 0x03, 0x00,
0x14, 0xBA, 0x00, 0x83, 0xFF, 0x15, 0x00} }, /* 0x1c */
{ {0xCE, 0x9F, 0x92, 0xA9, 0x17, 0x00, 0x07, 0x00,
0x28, 0x5A, 0x00, 0x83, 0xFF, 0x29, 0x89} }, /* 0x1d */
{ {0xCE, 0x9F, 0x92, 0xA5, 0x17, 0x00, 0x07, 0x00,
0x28, 0x5A, 0x00, 0x83, 0xFF, 0x29, 0x89} }, /* 0x1e */
{ {0xD3, 0x9F, 0x97, 0xAB, 0x1F, 0x00, 0x07, 0x00,
0x2E, 0x5A, 0x00, 0x83, 0xFF, 0x2F, 0x89} }, /* 0x1f */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x20 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x21 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x22 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x23 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x24 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x25 */
{ {0x09, 0xC7, 0x8D, 0xD3, 0x0B, 0x01, 0x04, 0x00,
0xE0, 0x10, 0xB0, 0x83, 0xAF, 0xE1, 0x2F} }, /* 0x26 */
{ {0x40, 0xEF, 0x84, 0x03, 0x1D, 0x41, 0x01, 0x00,
0xDA, 0x1F, 0xA0, 0x83, 0x9F, 0xDB, 0x1F} }, /* 0x27 */
{ {0x43, 0xEF, 0x87, 0x06, 0x00, 0x41, 0x05, 0x62,
0xD4, 0x1F, 0xA0, 0x83, 0x9F, 0xD5, 0x9F} }, /* 0x28 */
{ {0x45, 0xEF, 0x89, 0x07, 0x01, 0x41, 0x05, 0x62,
0xD9, 0x1F, 0xA0, 0x83, 0x9F, 0xDA, 0x9F} }, /* 0x29 */
{ {0x40, 0xEF, 0x84, 0x03, 0x1D, 0x41, 0x01, 0x00,
0xDA, 0x1F, 0xA0, 0x83, 0x9F, 0xDB, 0x1F} }, /* 0x2a */
{ {0x40, 0xEF, 0x84, 0x03, 0x1D, 0x41, 0x01, 0x00,
0xDA, 0x1F, 0xA0, 0x83, 0x9F, 0xDB, 0x1F} }, /* 0x2b */
{ {0x40, 0xEF, 0x84, 0x03, 0x1D, 0x41, 0x01, 0x00,
0xDA, 0x1F, 0xA0, 0x83, 0x9F, 0xDB, 0x1F} }, /* 0x2c */
{ {0x59, 0xFF, 0x9D, 0x17, 0x13, 0x41, 0x05, 0x44,
0x33, 0xBA, 0x00, 0x83, 0xFF, 0x34, 0x0F} }, /* 0x2d */
{ {0x5B, 0xFF, 0x9F, 0x18, 0x14, 0x41, 0x05, 0x44,
0x38, 0xBA, 0x00, 0x83, 0xFF, 0x39, 0x0F} }, /* 0x2e */
{ {0x5B, 0xFF, 0x9F, 0x18, 0x14, 0x41, 0x05, 0x44,
0x3D, 0xBA, 0x00, 0x83, 0xFF, 0x3E, 0x0F} }, /* 0x2f */
{ {0x5D, 0xFF, 0x81, 0x19, 0x95, 0x41, 0x05, 0x44,
0x41, 0xBA, 0x00, 0x84, 0xFF, 0x42, 0x0F} }, /* 0x30 */
{ {0x55, 0xFF, 0x99, 0x0D, 0x0C, 0x41, 0x05, 0x00,
0x3E, 0xBA, 0x00, 0x84, 0xFF, 0x3F, 0x0F} }, /* 0x31 */
{ {0x7F, 0x63, 0x83, 0x6C, 0x1C, 0x00, 0x06, 0x00,
0x72, 0xBA, 0x27, 0x8B, 0xDF, 0x73, 0x80} }, /* 0x32 */
{ {0x7F, 0x63, 0x83, 0x69, 0x13, 0x00, 0x06, 0x00,
0x6F, 0xBA, 0x26, 0x89, 0xDF, 0x6F, 0x80} }, /* 0x33 */
{ {0x7F, 0x63, 0x82, 0x6B, 0x13, 0x00, 0x06, 0x00,
0x75, 0xBA, 0x29, 0x8C, 0xDF, 0x75, 0x80} }, /* 0x34 */
{ {0xA3, 0x7F, 0x87, 0x86, 0x97, 0x00, 0x02, 0x00,
0x24, 0xF1, 0xAF, 0x85, 0x3F, 0x25, 0xB0} }, /* 0x35 */
{ {0x9F, 0x7F, 0x83, 0x85, 0x91, 0x00, 0x02, 0x00,
0x1E, 0xF1, 0xAD, 0x81, 0x3F, 0x1F, 0xB0} }, /* 0x36 */
{ {0xA7, 0x7F, 0x88, 0x89, 0x15, 0x00, 0x02, 0x00,
0x26, 0xF1, 0xB1, 0x85, 0x3F, 0x27, 0xB0} }, /* 0x37 */
{ {0xCE, 0x9F, 0x92, 0xA9, 0x17, 0x00, 0x07, 0x00,
0x28, 0xC4, 0x7A, 0x8E, 0xCF, 0x29, 0xA1} }, /* 0x38 */
{ {0xCE, 0x9F, 0x92, 0xA5, 0x17, 0x00, 0x07, 0x00,
0x28, 0xD4, 0x7A, 0x8E, 0xCF, 0x29, 0xA1} }, /* 0x39 */
{ {0xD3, 0x9F, 0x97, 0xAB, 0x1F, 0x00, 0x07, 0x00,
0x2E, 0xD4, 0x7D, 0x81, 0xCF, 0x2F, 0xA1} }, /* 0x3a */
{ {0xDC, 0x9F, 0x00, 0xAB, 0x19, 0x00, 0x07, 0x00,
0xE6, 0xEF, 0xC0, 0xC3, 0xBF, 0xE7, 0x90} }, /* 0x3b */
{ {0x6B, 0x59, 0x8F, 0x5E, 0x8C, 0x00, 0x05, 0x00,
0x0B, 0x3E, 0xE9, 0x8B, 0xE7, 0x04, 0x00} }, /* 0x3c */
{ {0x7B, 0x63, 0x9F, 0x6A, 0x93, 0x00, 0x05, 0x00,
0x6F, 0xF0, 0x58, 0x8A, 0x57, 0x70, 0xA0} }, /* 0x3d */
{ {0x86, 0x6A, 0x8a, 0x74, 0x06, 0x00, 0x02, 0x00,
0x8c, 0x15, 0x4f, 0x83, 0xef, 0x8d, 0x30} }, /* 0x3e */
{ {0x81, 0x6A, 0x85, 0x70, 0x00, 0x00, 0x02, 0x00,
0x0f, 0x3e, 0xeb, 0x8e, 0xdf, 0x10, 0x00} }, /* 0x3f */
{ {0xCE, 0x9F, 0x92, 0xA9, 0x17, 0x00, 0x07, 0x00,
0x20, 0xF5, 0x03, 0x88, 0xFF, 0x21, 0x90} }, /* 0x40 */
{ {0xE6, 0xAE, 0x8A, 0xBD, 0x90, 0x00, 0x03, 0x00,
0x3D, 0x10, 0x1A, 0x8D, 0x19, 0x3E, 0x2F} }, /* 0x41 */
{ {0xB9, 0x8F, 0x9D, 0x9B, 0x8A, 0x00, 0x06, 0x00,
0x7D, 0xFF, 0x60, 0x83, 0x5F, 0x7E, 0x90} }, /* 0x42 */
{ {0xC3, 0x8F, 0x87, 0x9B, 0x0B, 0x00, 0x07, 0x00,
0x82, 0xFF, 0x60, 0x83, 0x5F, 0x83, 0x90} }, /* 0x43 */
{ {0xAD, 0x7F, 0x91, 0x8E, 0x9C, 0x00, 0x02, 0x82,
0x49, 0xF5, 0x00, 0x83, 0xFF, 0x4A, 0x90} }, /* 0x44 */
{ {0xCD, 0x9F, 0x91, 0xA7, 0x19, 0x00, 0x07, 0x60,
0xE6, 0xFF, 0xC0, 0x83, 0xBF, 0xE7, 0x90} }, /* 0x45 */
{ {0xD3, 0x9F, 0x97, 0xAB, 0x1F, 0x00, 0x07, 0x60,
0xF1, 0xFF, 0xC0, 0x83, 0xBF, 0xF2, 0x90} }, /* 0x46 */
{ {0xD7, 0x9F, 0x9B, 0xAC, 0x1E, 0x00, 0x07, 0x00,
0x03, 0xDE, 0xC0, 0x84, 0xBF, 0x04, 0x90} } /* 0x47 */
};
static unsigned char XGI_CH7017LV1024x768[] = {
0x60, 0x02, 0x00, 0x07, 0x40, 0xED,
0xA3, 0xC8, 0xC7, 0xAC, 0xE0, 0x02};
static unsigned char XGI_CH7017LV1400x1050[] = {
0x60, 0x03, 0x11, 0x00, 0x40, 0xE3,
0xAD, 0xDB, 0xF6, 0xAC, 0xE0, 0x02};
/*add for new UNIVGABIOS*/
static struct XGI330_LCDDataStruct XGI_StLCD1024x768Data[] = {
{62, 25, 800, 546, 1344, 806},
{32, 15, 930, 546, 1344, 806},
{62, 25, 800, 546, 1344, 806}, /*chiawenfordot9->dot8*/
{104, 45, 945, 496, 1344, 806},
{62, 25, 800, 546, 1344, 806},
{31, 18, 1008, 624, 1344, 806},
{1, 1, 1344, 806, 1344, 806}
};
static struct XGI330_LCDDataStruct XGI_ExtLCD1024x768Data[] = {
/* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */
{42, 25, 1536, 419, 1344, 806},
/* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */
{48, 25, 1536, 369, 1344, 806},
/* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */
{42, 25, 1536, 419, 1344, 806},
/* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */
{48, 25, 1536, 369, 1344, 806},
{12, 5, 896, 500, 1344, 806},
{42, 25, 1024, 625, 1344, 806},
{1, 1, 1344, 806, 1344, 806},
{12, 5, 896, 500, 1344, 806},
{42, 25, 1024, 625, 1344, 806},
{1, 1, 1344, 806, 1344, 806},
{12, 5, 896, 500, 1344, 806},
{42, 25, 1024, 625, 1344, 806},
{1, 1, 1344, 806, 1344, 806}
};
static struct XGI330_LCDDataStruct XGI_CetLCD1024x768Data[] = {
{1, 1, 1344, 806, 1344, 806}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 1344, 806, 1344, 806}, /* 01 (320x350,640x350) */
{1, 1, 1344, 806, 1344, 806}, /* 02 (360x400,720x400) */
{1, 1, 1344, 806, 1344, 806}, /* 03 (720x350) */
{1, 1, 1344, 806, 1344, 806}, /* 04 (640x480x60Hz) */
{1, 1, 1344, 806, 1344, 806}, /* 05 (800x600x60Hz) */
{1, 1, 1344, 806, 1344, 806} /* 06 (1024x768x60Hz) */
};
static struct XGI330_LCDDataStruct XGI_StLCD1280x1024Data[] = {
{22, 5, 800, 510, 1650, 1088},
{22, 5, 800, 510, 1650, 1088},
{176, 45, 900, 510, 1650, 1088},
{176, 45, 900, 510, 1650, 1088},
{22, 5, 800, 510, 1650, 1088},
{13, 5, 1024, 675, 1560, 1152},
{16, 9, 1266, 804, 1688, 1072},
{1, 1, 1688, 1066, 1688, 1066}
};
static struct XGI330_LCDDataStruct XGI_ExtLCD1280x1024Data[] = {
{211, 60, 1024, 501, 1688, 1066},
{211, 60, 1024, 508, 1688, 1066},
{211, 60, 1024, 501, 1688, 1066},
{211, 60, 1024, 508, 1688, 1066},
{211, 60, 1024, 500, 1688, 1066},
{211, 75, 1024, 625, 1688, 1066},
{211, 120, 1280, 798, 1688, 1066},
{1, 1, 1688, 1066, 1688, 1066}
};
static struct XGI330_LCDDataStruct XGI_CetLCD1280x1024Data[] = {
{1, 1, 1688, 1066, 1688, 1066}, /* 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* 01 (320x350,640x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* 02 (360x400,720x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* 03 (720x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* 04 (640x480x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 05 (800x600x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 06 (1024x768x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 07 (1280x1024x60Hz) */
{1, 1, 1688, 1066, 1688, 1066} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataStruct xgifb_lcd_1400x1050[] = {
{211, 100, 2100, 408, 1688, 1066}, /* 00 (320x200,320x400,
640x200,640x400) */
{211, 64, 1536, 358, 1688, 1066}, /* 01 (320x350,640x350) */
{211, 100, 2100, 408, 1688, 1066}, /* 02 (360x400,720x400) */
{211, 64, 1536, 358, 1688, 1066}, /* 03 (720x350) */
{211, 48, 840, 488, 1688, 1066}, /* 04 (640x480x60Hz) */
{211, 72, 1008, 609, 1688, 1066}, /* 05 (800x600x60Hz) */
{211, 128, 1400, 776, 1688, 1066}, /* 06 (1024x768x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 07 (1280x1024x60Hz
w/o Scaling) */
{1, 1, 1688, 1066, 1688, 1066} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataStruct XGI_ExtLCD1600x1200Data[] = {
{4, 1, 1620, 420, 2160, 1250}, /* { 3,1,2160,425,2160,1250 },
// 00 (320x200,320x400,
// 640x200,640x400)
// // alan 10/14/2003 */
{27, 7, 1920, 375, 2160, 1250}, /* 01 (320x350,640x350) */
{4, 1, 1620, 420, 2160, 1250}, /* { 3,1,2160,425,2160,1250 },
// 02 (360x400,720x400)
// // alan 10/14/2003 */
{27, 7, 1920, 375, 2160, 1250}, /* 03 (720x350) */
{27, 4, 800, 500, 2160, 1250}, /* 04 (640x480x60Hz) */
{4, 1, 1080, 625, 2160, 1250}, /* 05 (800x600x60Hz) */
{5, 2, 1350, 800, 2160, 1250}, /* 06 (1024x768x60Hz) */
{27, 16, 1500, 1064, 2160, 1250}, /* 07 (1280x1024x60Hz) */
{9, 7, 1920, 1106, 2160, 1250}, /* 08 (1400x1050x60Hz) */
{1, 1, 2160, 1250, 2160, 1250} /* 09 (1600x1200x60Hz) ;302lv */
};
static struct XGI330_LCDDataStruct XGI_StLCD1600x1200Data[] = {
{27, 4, 800, 500, 2160, 1250}, /* 00 (320x200,320x400,
640x200,640x400) */
{27, 4, 800, 500, 2160, 1250}, /* 01 (320x350,640x350) */
{27, 4, 800, 500, 2160, 1250}, /* 02 (360x400,720x400) */
{27, 4, 800, 500, 2160, 1250}, /* 03 (720x350) */
{27, 4, 800, 500, 2160, 1250}, /* 04 (320x240,640x480) */
{4, 1, 1080, 625, 2160, 1250}, /* 05 (400x300,800x600) */
{5, 2, 1350, 800, 2160, 1250}, /* 06 (512x384,1024x768) */
{135, 88, 1600, 1100, 2160, 1250}, /* 07 (1280x1024) */
{1, 1, 1800, 1500, 2160, 1250}, /* 08 (1400x1050) */
{1, 1, 2160, 1250, 2160, 1250} /* 09 (1600x1200) */
};
static struct XGI330_LCDDataStruct XGI_CetLCD1400x1050Data[] = {
{1, 1, 1688, 1066, 1688, 1066}, /* 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* 01 (320x350,640x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* 02 (360x400,720x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* 03 (720x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* 04 (640x480x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 05 (800x600x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 06 (1024x768x60Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* 07 (1280x1024x60Hz) */
{1, 1, 1688, 1066, 1688, 1066} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataStruct XGI_NoScalingData[] = {
{1, 1, 800, 449, 800, 449},
{1, 1, 800, 449, 800, 449},
{1, 1, 900, 449, 900, 449},
{1, 1, 900, 449, 900, 449},
{1, 1, 800, 525, 800, 525},
{1, 1, 1056, 628, 1056, 628},
{1, 1, 1344, 806, 1344, 806},
{1, 1, 1688, 1066, 1688, 1066}
};
static struct XGI330_LCDDataStruct XGI_ExtLCD1024x768x75Data[] = {
{42, 25, 1536, 419, 1344, 806}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{48, 25, 1536, 369, 1344, 806}, /* ; 01 (320x350,640x350) */
{42, 25, 1536, 419, 1344, 806}, /* ; 02 (360x400,720x400) */
{48, 25, 1536, 369, 1344, 806}, /* ; 03 (720x350) */
{8, 5, 1312, 500, 1312, 800}, /* ; 04 (640x480x75Hz) */
{41, 25, 1024, 625, 1312, 800}, /* ; 05 (800x600x75Hz) */
{1, 1, 1312, 800, 1312, 800} /* ; 06 (1024x768x75Hz) */
};
static struct XGI330_LCDDataStruct XGI_CetLCD1024x768x75Data[] = {
{1, 1, 1312, 800, 1312, 800}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 1312, 800, 1312, 800}, /* ; 01 (320x350,640x350) */
{1, 1, 1312, 800, 1312, 800}, /* ; 02 (360x400,720x400) */
{1, 1, 1312, 800, 1312, 800}, /* ; 03 (720x350) */
{1, 1, 1312, 800, 1312, 800}, /* ; 04 (640x480x75Hz) */
{1, 1, 1312, 800, 1312, 800}, /* ; 05 (800x600x75Hz) */
{1, 1, 1312, 800, 1312, 800} /* ; 06 (1024x768x75Hz) */
};
static struct XGI330_LCDDataStruct xgifb_lcd_1280x1024x75[] = {
{211, 60, 1024, 501, 1688, 1066}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{211, 60, 1024, 508, 1688, 1066}, /* ; 01 (320x350,640x350) */
{211, 60, 1024, 501, 1688, 1066}, /* ; 02 (360x400,720x400) */
{211, 60, 1024, 508, 1688, 1066}, /* ; 03 (720x350) */
{211, 45, 768, 498, 1688, 1066}, /* ; 04 (640x480x75Hz) */
{211, 75, 1024, 625, 1688, 1066}, /* ; 05 (800x600x75Hz) */
{211, 120, 1280, 798, 1688, 1066}, /* ; 06 (1024x768x75Hz) */
{1, 1, 1688, 1066, 1688, 1066} /* ; 07 (1280x1024x75Hz) */
};
static struct XGI330_LCDDataStruct XGI_CetLCD1280x1024x75Data[] = {
{1, 1, 1688, 1066, 1688, 1066}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 01 (320x350,640x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 02 (360x400,720x400) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 03 (720x350) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 04 (640x480x75Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 05 (800x600x75Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 06 (1024x768x75Hz) */
{1, 1, 1688, 1066, 1688, 1066} /* ; 07 (1280x1024x75Hz) */
};
static struct XGI330_LCDDataStruct XGI_NoScalingDatax75[] = {
{1, 1, 800, 449, 800, 449}, /* ; 00 (320x200, 320x400,
640x200, 640x400) */
{1, 1, 800, 449, 800, 449}, /* ; 01 (320x350, 640x350) */
{1, 1, 900, 449, 900, 449}, /* ; 02 (360x400, 720x400) */
{1, 1, 900, 449, 900, 449}, /* ; 03 (720x350) */
{1, 1, 840, 500, 840, 500}, /* ; 04 (640x480x75Hz) */
{1, 1, 1056, 625, 1056, 625}, /* ; 05 (800x600x75Hz) */
{1, 1, 1312, 800, 1312, 800}, /* ; 06 (1024x768x75Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 07 (1280x1024x75Hz) */
{1, 1, 1688, 1066, 1688, 1066}, /* ; 08 (1400x1050x75Hz)
;;[ycchen] 12/19/02 */
{1, 1, 2160, 1250, 2160, 1250}, /* ; 09 (1600x1200x75Hz) */
{1, 1, 1688, 806, 1688, 806} /* ; 0A (1280x768x75Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_ExtLCDDes1024x768Data[] = {
{9, 1057, 0, 771}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1057, 0, 771}, /* ; 01 (320x350,640x350) */
{9, 1057, 0, 771}, /* ; 02 (360x400,720x400) */
{9, 1057, 0, 771}, /* ; 03 (720x350) */
{9, 1057, 0, 771}, /* ; 04 (640x480x60Hz) */
{9, 1057, 0, 771}, /* ; 05 (800x600x60Hz) */
{9, 1057, 805, 770} /* ; 06 (1024x768x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_StLCDDes1024x768Data[] = {
{9, 1057, 737, 703}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1057, 686, 651}, /* ; 01 (320x350,640x350) */
{9, 1057, 737, 703}, /* ; 02 (360x400,720x400) */
{9, 1057, 686, 651}, /* ; 03 (720x350) */
{9, 1057, 776, 741}, /* ; 04 (640x480x60Hz) */
{9, 1057, 0, 771}, /* ; 05 (800x600x60Hz) */
{9, 1057, 805, 770} /* ; 06 (1024x768x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1024x768Data[] = {
{1152, 856, 622, 587}, /* ; 00 (320x200,320x400,640x200,640x400) */
{1152, 856, 597, 562}, /* ; 01 (320x350,640x350) */
{1152, 856, 622, 587}, /* ; 02 (360x400,720x400) */
{1152, 856, 597, 562}, /* ; 03 (720x350) */
{1152, 856, 662, 627}, /* ; 04 (640x480x60Hz) */
{1232, 936, 722, 687}, /* ; 05 (800x600x60Hz) */
{0, 1048, 805, 770} /* ; 06 (1024x768x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_ExtLCDDLDes1280x1024Data[] = {
{18, 1346, 981, 940}, /* 00 (320x200,320x400,640x200,640x400) */
{18, 1346, 926, 865}, /* 01 (320x350,640x350) */
{18, 1346, 981, 940}, /* 02 (360x400,720x400) */
{18, 1346, 926, 865}, /* 03 (720x350) */
{18, 1346, 0, 1025}, /* 04 (640x480x60Hz) */
{18, 1346, 0, 1025}, /* 05 (800x600x60Hz) */
{18, 1346, 1065, 1024}, /* 06 (1024x768x60Hz) */
{18, 1346, 1065, 1024} /* 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_StLCDDLDes1280x1024Data[] = {
{18, 1346, 970, 907}, /* 00 (320x200,320x400,640x200,640x400) */
{18, 1346, 917, 854}, /* 01 (320x350,640x350) */
{18, 1346, 970, 907}, /* 02 (360x400,720x400) */
{18, 1346, 917, 854}, /* 03 (720x350) */
{18, 1346, 0, 1025}, /* 04 (640x480x60Hz) */
{18, 1346, 0, 1025}, /* 05 (800x600x60Hz) */
{18, 1346, 1065, 1024}, /* 06 (1024x768x60Hz) */
{18, 1346, 1065, 1024} /* 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_CetLCDDLDes1280x1024Data[] = {
{1368, 1008, 752, 711}, /* 00 (320x200,320x400,640x200,640x400) */
{1368, 1008, 729, 688}, /* 01 (320x350,640x350) */
{1368, 1008, 752, 711}, /* 02 (360x400,720x400) */
{1368, 1008, 729, 688}, /* 03 (720x350) */
{1368, 1008, 794, 753}, /* 04 (640x480x60Hz) */
{1448, 1068, 854, 813}, /* 05 (800x600x60Hz) */
{1560, 1200, 938, 897}, /* 06 (1024x768x60Hz) */
{18, 1346, 1065, 1024} /* 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_ExtLCDDes1280x1024Data[] = {
{9, 1337, 981, 940}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1337, 926, 884}, /* ; 01 (320x350,640x350) alan, 2003/09/30 */
{9, 1337, 981, 940}, /* ; 02 (360x400,720x400) */
{9, 1337, 926, 884}, /* ; 03 (720x350) alan, 2003/09/30 */
{9, 1337, 0, 1025}, /* ; 04 (640x480x60Hz) */
{9, 1337, 0, 1025}, /* ; 05 (800x600x60Hz) */
{9, 1337, 1065, 1024}, /* ; 06 (1024x768x60Hz) */
{9, 1337, 1065, 1024} /* ; 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_StLCDDes1280x1024Data[] = {
{9, 1337, 970, 907}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1337, 917, 854}, /* ; 01 (320x350,640x350) */
{9, 1337, 970, 907}, /* ; 02 (360x400,720x400) */
{9, 1337, 917, 854}, /* ; 03 (720x350) */
{9, 1337, 0, 1025}, /* ; 04 (640x480x60Hz) */
{9, 1337, 0, 1025}, /* ; 05 (800x600x60Hz) */
{9, 1337, 1065, 1024}, /* ; 06 (1024x768x60Hz) */
{9, 1337, 1065, 1024} /* ; 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1280x1024Data[] = {
{1368, 1008, 752, 711}, /* 00 (320x200,320x400,640x200,640x400) */
{1368, 1008, 729, 688}, /* 01 (320x350,640x350) */
{1368, 1008, 752, 711}, /* 02 (360x400,720x400) */
{1368, 1008, 729, 688}, /* 03 (720x350) */
{1368, 1008, 794, 753}, /* 04 (640x480x60Hz) */
{1448, 1068, 854, 813}, /* 05 (800x600x60Hz) */
{1560, 1200, 938, 897}, /* 06 (1024x768x60Hz) */
{9, 1337, 1065, 1024} /* 07 (1280x1024x60Hz) */
};
static struct XGI330_LCDDataDesStruct xgifb_lcddldes_1400x1050[] = {
{18, 1464, 0, 1051}, /* 00 (320x200,320x400,640x200,640x400) */
{18, 1464, 0, 1051}, /* 01 (320x350,640x350) */
{18, 1464, 0, 1051}, /* 02 (360x400,720x400) */
{18, 1464, 0, 1051}, /* 03 (720x350) */
{18, 1464, 0, 1051}, /* 04 (640x480x60Hz) */
{18, 1464, 0, 1051}, /* 05 (800x600x60Hz) */
{18, 1464, 0, 1051}, /* 06 (1024x768x60Hz) */
{1646, 1406, 1053, 1038}, /* 07 (1280x1024x60Hz) */
{18, 1464, 0, 1051} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataDesStruct xgifb_lcddes_1400x1050[] = {
{9, 1455, 0, 1051}, /* 00 (320x200,320x400,640x200,640x400) */
{9, 1455, 0, 1051}, /* 01 (320x350,640x350) */
{9, 1455, 0, 1051}, /* 02 (360x400,720x400) */
{9, 1455, 0, 1051}, /* 03 (720x350) */
{9, 1455, 0, 1051}, /* 04 (640x480x60Hz) */
{9, 1455, 0, 1051}, /* 05 (800x600x60Hz) */
{9, 1455, 0, 1051}, /* 06 (1024x768x60Hz) */
{1637, 1397, 1053, 1038}, /* 07 (1280x1024x60Hz) */
{9, 1455, 0, 1051} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1400x1050Data[] = {
{1308, 1068, 781, 766}, /* 00 (320x200,320x400,640x200,640x400) */
{1308, 1068, 781, 766}, /* 01 (320x350,640x350) */
{1308, 1068, 781, 766}, /* 02 (360x400,720x400) */
{1308, 1068, 781, 766}, /* 03 (720x350) */
{1308, 1068, 781, 766}, /* 04 (640x480x60Hz) */
{1388, 1148, 841, 826}, /* 05 (800x600x60Hz) */
{1490, 1250, 925, 910}, /* 06 (1024x768x60Hz) */
{1646, 1406, 1053, 1038}, /* 07 (1280x1024x60Hz) */
{18, 1464, 0, 1051} /* 08 (1400x1050x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1400x1050Data2[] = {
{0, 1448, 0, 1051}, /* 00 (320x200,320x400,640x200,640x400) */
{0, 1448, 0, 1051}, /* 01 (320x350,640x350) */
{0, 1448, 0, 1051}, /* 02 (360x400,720x400) */
{0, 1448, 0, 1051}, /* 03 (720x350) */
{0, 1448, 0, 1051} /* 04 (640x480x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_ExtLCDDLDes1600x1200Data[] = {
{18, 1682, 0, 1201}, /* 00 (320x200,320x400,640x200,640x400) */
{18, 1682, 0, 1201}, /* 01 (320x350,640x350) */
{18, 1682, 0, 1201}, /* 02 (360x400,720x400) */
{18, 1682, 0, 1201}, /* 03 (720x350) */
{18, 1682, 0, 1201}, /* 04 (640x480x60Hz) */
{18, 1682, 0, 1201}, /* 05 (800x600x60Hz) */
{18, 1682, 0, 1201}, /* 06 (1024x768x60Hz) */
{18, 1682, 0, 1201}, /* 07 (1280x1024x60Hz) */
{18, 1682, 0, 1201}, /* 08 (1400x1050x60Hz) */
{18, 1682, 0, 1201} /* 09 (1600x1200x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_StLCDDLDes1600x1200Data[] = {
{18, 1682, 1150, 1101}, /* 00 (320x200,320x400,640x200,640x400) */
{18, 1682, 1083, 1034}, /* 01 (320x350,640x350) */
{18, 1682, 1150, 1101}, /* 02 (360x400,720x400) */
{18, 1682, 1083, 1034}, /* 03 (720x350) */
{18, 1682, 0, 1201}, /* 04 (640x480x60Hz) */
{18, 1682, 0, 1201}, /* 05 (800x600x60Hz) */
{18, 1682, 0, 1201}, /* 06 (1024x768x60Hz) */
{18, 1682, 1232, 1183}, /* 07 (1280x1024x60Hz) */
{18, 1682, 0, 1201}, /* 08 (1400x1050x60Hz) */
{18, 1682, 0, 1201} /* 09 (1600x1200x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_ExtLCDDes1600x1200Data[] = {
{9, 1673, 0, 1201}, /* 00 (320x200,320x400,640x200,640x400) */
{9, 1673, 0, 1201}, /* 01 (320x350,640x350) */
{9, 1673, 0, 1201}, /* 02 (360x400,720x400) */
{9, 1673, 0, 1201}, /* 03 (720x350) */
{9, 1673, 0, 1201}, /* 04 (640x480x60Hz) */
{9, 1673, 0, 1201}, /* 05 (800x600x60Hz) */
{9, 1673, 0, 1201}, /* 06 (1024x768x60Hz) */
{9, 1673, 0, 1201}, /* 07 (1280x1024x60Hz) */
{9, 1673, 0, 1201}, /* 08 (1400x1050x60Hz) */
{9, 1673, 0, 1201} /* 09 (1600x1200x60Hz) */
};
static struct XGI330_LCDDataDesStruct XGI_StLCDDes1600x1200Data[] = {
{9, 1673, 1150, 1101}, /* 00 (320x200,320x400,640x200,640x400) */
{9, 1673, 1083, 1034}, /* 01 (320x350,640x350) */
{9, 1673, 1150, 1101}, /* 02 (360x400,720x400) */
{9, 1673, 1083, 1034}, /* 03 (720x350) */
{9, 1673, 0, 1201}, /* 04 (640x480x60Hz) */
{9, 1673, 0, 1201}, /* 05 (800x600x60Hz) */
{9, 1673, 0, 1201}, /* 06 (1024x768x60Hz) */
{9, 1673, 1232, 1183}, /* 07 (1280x1024x60Hz) */
{9, 1673, 0, 1201}, /* 08 (1400x1050x60Hz) */
{9, 1673, 0, 1201} /* 09 (1600x1200x60Hz) */
};
static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesData[] = {
{9, 657, 448, 405, 96, 2}, /* 00 (320x200,320x400,
640x200,640x400) */
{9, 657, 448, 355, 96, 2}, /* 01 (320x350,640x350) */
{9, 657, 448, 405, 96, 2}, /* 02 (360x400,720x400) */
{9, 657, 448, 355, 96, 2}, /* 03 (720x350) */
{9, 657, 1, 483, 96, 2}, /* 04 (640x480x60Hz) */
{9, 849, 627, 600, 128, 4}, /* 05 (800x600x60Hz) */
{9, 1057, 805, 770, 0136, 6}, /* 06 (1024x768x60Hz) */
{9, 1337, 0, 1025, 112, 3}, /* 07 (1280x1024x60Hz) */
{9, 1457, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz) },
//;[ycchen] 12/19/02 */
{9, 1673, 0, 1201, 192, 3}, /* 09 (1600x1200x60Hz) */
{9, 1337, 0, 771, 112, 6} /* 0A (1280x768x60Hz) */
};
/* ;;1024x768x75Hz */
static struct XGI330_LCDDataDesStruct xgifb_lcddes_1024x768x75[] = {
{9, 1049, 0, 769}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1049, 0, 769}, /* ; 01 (320x350,640x350) */
{9, 1049, 0, 769}, /* ; 02 (360x400,720x400) */
{9, 1049, 0, 769}, /* ; 03 (720x350) */
{9, 1049, 0, 769}, /* ; 04 (640x480x75Hz) */
{9, 1049, 0, 769}, /* ; 05 (800x600x75Hz) */
{9, 1049, 0, 769} /* ; 06 (1024x768x75Hz) */
};
/* ;;1024x768x75Hz */
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1024x768x75Data[] = {
{1152, 856, 622, 587}, /* ; 00 (320x200,320x400,640x200,640x400) */
{1152, 856, 597, 562}, /* ; 01 (320x350,640x350) */
{1192, 896, 622, 587}, /* ; 02 (360x400,720x400) */
{1192, 896, 597, 562}, /* ; 03 (720x350) */
{1129, 857, 656, 625}, /* ; 04 (640x480x75Hz) */
{1209, 937, 716, 685}, /* ; 05 (800x600x75Hz) */
{9, 1049, 0, 769} /* ; 06 (1024x768x75Hz) */
};
/* ;;1280x1024x75Hz */
static struct XGI330_LCDDataDesStruct xgifb_lcddldes_1280x1024x75[] = {
{18, 1314, 0, 1025}, /* ; 00 (320x200,320x400,640x200,640x400) */
{18, 1314, 0, 1025}, /* ; 01 (320x350,640x350) */
{18, 1314, 0, 1025}, /* ; 02 (360x400,720x400) */
{18, 1314, 0, 1025}, /* ; 03 (720x350) */
{18, 1314, 0, 1025}, /* ; 04 (640x480x60Hz) */
{18, 1314, 0, 1025}, /* ; 05 (800x600x60Hz) */
{18, 1314, 0, 1025}, /* ; 06 (1024x768x60Hz) */
{18, 1314, 0, 1025} /* ; 07 (1280x1024x60Hz) */
};
/* 1280x1024x75Hz */
static struct XGI330_LCDDataDesStruct XGI_CetLCDDLDes1280x1024x75Data[] = {
{1368, 1008, 752, 711}, /* ; 00 (320x200,320x400,640x200,640x400) */
{1368, 1008, 729, 688}, /* ; 01 (320x350,640x350) */
{1408, 1048, 752, 711}, /* ; 02 (360x400,720x400) */
{1408, 1048, 729, 688}, /* ; 03 (720x350) */
{1377, 985, 794, 753}, /* ; 04 (640x480x75Hz) */
{1457, 1065, 854, 813}, /* ; 05 (800x600x75Hz) */
{1569, 1177, 938, 897}, /* ; 06 (1024x768x75Hz) */
{18, 1314, 0, 1025} /* ; 07 (1280x1024x75Hz) */
};
/* ;;1280x1024x75Hz */
static struct XGI330_LCDDataDesStruct xgifb_lcddes_1280x1024x75[] = {
{9, 1305, 0, 1025}, /* ; 00 (320x200,320x400,640x200,640x400) */
{9, 1305, 0, 1025}, /* ; 01 (320x350,640x350) */
{9, 1305, 0, 1025}, /* ; 02 (360x400,720x400) */
{9, 1305, 0, 1025}, /* ; 03 (720x350) */
{9, 1305, 0, 1025}, /* ; 04 (640x480x60Hz) */
{9, 1305, 0, 1025}, /* ; 05 (800x600x60Hz) */
{9, 1305, 0, 1025}, /* ; 06 (1024x768x60Hz) */
{9, 1305, 0, 1025} /* ; 07 (1280x1024x60Hz) */
};
/* 1280x1024x75Hz */
static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1280x1024x75Data[] = {
{1368, 1008, 752, 711}, /* ; 00 (320x200,320x400,640x200,640x400) */
{1368, 1008, 729, 688}, /* ; 01 (320x350,640x350) */
{1408, 1048, 752, 711}, /* ; 02 (360x400,720x400) */
{1408, 1048, 729, 688}, /* ; 03 (720x350) */
{1377, 985, 794, 753}, /* ; 04 (640x480x75Hz) */
{1457, 1065, 854, 813}, /* ; 05 (800x600x75Hz) */
{1569, 1177, 938, 897}, /* ; 06 (1024x768x75Hz) */
{9, 1305, 0, 1025} /* ; 07 (1280x1024x75Hz) */
};
/* Scaling LCD 75Hz */
static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = {
{9, 657, 448, 405, 96, 2}, /* ; 00 (320x200,320x400,
640x200,640x400) */
{9, 657, 448, 355, 96, 2}, /* ; 01 (320x350,640x350) */
{9, 738, 448, 405, 108, 2}, /* ; 02 (360x400,720x400) */
{9, 738, 448, 355, 108, 2}, /* ; 03 (720x350) */
{9, 665, 0, 481, 64, 3}, /* ; 04 (640x480x75Hz) */
{9, 825, 0, 601, 80, 3}, /* ; 05 (800x600x75Hz) */
{9, 1049, 0, 769, 96, 3}, /* ; 06 (1024x768x75Hz) */
{9, 1305, 0, 1025, 144, 3}, /* ; 07 (1280x1024x75Hz) */
{9, 1457, 0, 1051, 112, 3}, /* ; 08 (1400x1050x60Hz)
;;[ycchen] 12/19/02 */
{9, 1673, 0, 1201, 192, 3}, /* ; 09 (1600x1200x75Hz) */
{9, 1337, 0, 771, 112, 6} /* ; 0A (1280x768x60Hz) */
};
static struct XGI330_TVDataStruct XGI_StPALData[] = {
{1, 1, 864, 525, 1270, 400, 100, 0, 760},
{1, 1, 864, 525, 1270, 350, 100, 0, 760},
{1, 1, 864, 525, 1270, 400, 0, 0, 720},
{1, 1, 864, 525, 1270, 350, 0, 0, 720},
{1, 1, 864, 525, 1270, 480, 50, 0, 760},
{1, 1, 864, 525, 1270, 600, 50, 0, 0}
};
static struct XGI330_TVDataStruct XGI_ExtPALData[] = {
{2, 1, 1080, 463, 1270, 500, 50, 0, 50},
{15, 7, 1152, 413, 1270, 500, 50, 0, 50},
{2, 1, 1080, 463, 1270, 500, 50, 0, 50},
{15, 7, 1152, 413, 1270, 500, 50, 0, 50},
{2, 1, 900, 543, 1270, 500, 0, 0, 50},
{4, 3, 1080, 663, 1270, 500, 438, 0, 438},
{1, 1, 1125, 831, 1270, 500, 686, 0, 686}, /*301b*/
{3, 2, 1080, 619, 1270, 540, 438, 0, 438}
};
static struct XGI330_TVDataStruct XGI_StNTSCData[] = {
{1, 1, 858, 525, 1270, 400, 50, 0, 760},
{1, 1, 858, 525, 1270, 350, 50, 0, 640},
{1, 1, 858, 525, 1270, 400, 0, 0, 720},
{1, 1, 858, 525, 1270, 350, 0, 0, 720},
{1, 1, 858, 525, 1270, 480, 0, 0, 760}
};
static struct XGI330_TVDataStruct XGI_ExtNTSCData[] = {
{9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{12, 5, 858, 403, 1270, 420, 171, 0, 171},
{9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{12, 5, 858, 403, 1270, 420, 171, 0, 171},
{143, 80, 836, 523, 1270, 420, 224, 0, 0},
{143, 120, 1008, 643, 1270, 420, 0, 1, 0},
{1, 1, 1120, 821, 1516, 420, 0, 1, 0}, /*301b*/
{2, 1, 858, 503, 1584, 480, 0, 1, 0},
{3, 2, 1001, 533, 1270, 420, 0, 0, 0}
};
static struct XGI330_TVDataStruct XGI_St1HiTVData[] = {
{1, 1, 892, 563, 690, 800, 0, 0, 0}, /* 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 892, 563, 690, 700, 0, 0, 0}, /* 01 (320x350,640x350) */
{1, 1, 1000, 563, 785, 800, 0, 0, 0}, /* 02 (360x400,720x400) */
{1, 1, 1000, 563, 785, 700, 0, 0, 0}, /* 03 (720x350) */
{1, 1, 892, 563, 690, 960, 0, 0, 0}, /* 04 (320x240,640x480) */
{8, 5, 1050, 683, 1648, 960, 0x150, 1, 0} /* 05 (400x300,800x600) */
};
static struct XGI330_TVDataStruct XGI_St2HiTVData[] = {
{3, 1, 840, 483, 1648, 960, 0x032, 0, 0}, /* 00 (320x200,320x400,
640x200,640x400) */
{1, 1, 892, 563, 690, 700, 0, 0, 0}, /* 01 (320x350,640x350) */
{3, 1, 840, 483, 1648, 960, 0x032, 0, 0}, /* 02 (360x400,720x400) */
{1, 1, 1000, 563, 785, 700, 0, 0, 0}, /* 03 (720x350) */
{5, 2, 840, 563, 1648, 960, 0x08D, 1, 0}, /* 04 (320x240,640x480) */
{8, 5, 1050, 683, 1648, 960, 0x17C, 1, 0} /* 05 (400x300,800x600) */
};
static struct XGI330_TVDataStruct XGI_ExtHiTVData[] = {
{6, 1, 840, 563, 1632, 960, 0, 0, 0}, /* 00 (320x200,320x400,
640x200,640x400) */
{3, 1, 960, 563, 1632, 960, 0, 0, 0}, /* 01 (320x350,640x350) */
{3, 1, 840, 483, 1632, 960, 0, 0, 0}, /* 02 (360x400,720x400) */
{3, 1, 960, 563, 1632, 960, 0, 0, 0}, /* 03 (720x350) */
{5, 1, 840, 563, 1648, 960, 0x166, 1, 0}, /* 04 (320x240,640x480) */
{16, 5, 1050, 683, 1648, 960, 0x143, 1, 0}, /* 05 (400x300,800x600) */
{25, 12, 1260, 851, 1648, 960, 0x032, 0, 0}, /* 06 (512x384,1024x768)*/
{5, 4, 1575, 1124, 1648, 960, 0x128, 0, 0}, /* 07 (1280x1024) */
{4, 1, 1050, 563, 1548, 960, 0x143, 1, 0}, /* 08 (800x480) */
{5, 2, 1400, 659, 1648, 960, 0x032, 0, 0}, /* 09 (1024x576) */
{8, 5, 1750, 803, 1648, 960, 0x128, 0, 0} /* 0A (1280x720) */
};
static struct XGI330_TVDataStruct XGI_ExtYPbPr525iData[] = {
{ 9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{ 12, 5, 858, 403, 1270, 420, 171, 0, 171},
{ 9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{ 12, 5, 858, 403, 1270, 420, 171, 0, 171},
{143, 80, 836, 523, 1250, 420, 224, 0, 0},
{143, 120, 1008, 643, 1250, 420, 0, 1, 0},
{ 1, 1, 1120, 821, 1516, 420, 0, 1, 0}, /*301b*/
{ 2, 1, 858, 503, 1584, 480, 0, 1, 0},
{ 3, 2, 1001, 533, 1250, 420, 0, 0, 0}
};
static struct XGI330_TVDataStruct XGI_StYPbPr525iData[] = {
{1, 1, 858, 525, 1270, 400, 50, 0, 760},
{1, 1, 858, 525, 1270, 350, 50, 0, 640},
{1, 1, 858, 525, 1270, 400, 0, 0, 720},
{1, 1, 858, 525, 1270, 350, 0, 0, 720},
{1, 1, 858, 525, 1270, 480, 0, 0, 760},
};
static struct XGI330_TVDataStruct XGI_ExtYPbPr525pData[] = {
{ 9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{ 12, 5, 858, 403, 1270, 420, 171, 0, 171},
{ 9, 5, 1001, 453, 1270, 420, 171, 0, 171},
{ 12, 5, 858, 403, 1270, 420, 171, 0, 171},
{143, 80, 836, 523, 1270, 420, 224, 0, 0},
{143, 120, 1008, 643, 1270, 420, 0, 1, 0},
{ 1, 1, 1120, 821, 1516, 420, 0, 1, 0}, /*301b*/
{ 2, 1, 858, 503, 1584, 480, 0, 1, 0},
{ 3, 2, 1001, 533, 1270, 420, 0, 0, 0}
};
static struct XGI330_TVDataStruct XGI_StYPbPr525pData[] = {
{1, 1, 1716, 525, 1270, 400, 50, 0, 760},
{1, 1, 1716, 525, 1270, 350, 50, 0, 640},
{1, 1, 1716, 525, 1270, 400, 0, 0, 720},
{1, 1, 1716, 525, 1270, 350, 0, 0, 720},
{1, 1, 1716, 525, 1270, 480, 0, 0, 760},
};
static struct XGI330_TVDataStruct XGI_ExtYPbPr750pData[] = {
{ 3, 1, 935, 470, 1130, 680, 50, 0, 0}, /* 00 (320x200,320x400,
640x200,640x400) */
{24, 7, 935, 420, 1130, 680, 50, 0, 0}, /* 01 (320x350,640x350) */
{ 3, 1, 935, 470, 1130, 680, 50, 0, 0}, /* 02 (360x400,720x400) */
{24, 7, 935, 420, 1130, 680, 50, 0, 0}, /* 03 (720x350) */
{ 2, 1, 1100, 590, 1130, 640, 50, 0, 0}, /* 04 (320x240,640x480) */
{ 3, 2, 1210, 690, 1130, 660, 50, 0, 0}, /* 05 (400x300,800x600) */
{ 1, 1, 1375, 878, 1130, 640, 638, 0, 0}, /* 06 (1024x768) */
{ 2, 1, 858, 503, 1130, 480, 0, 1, 0}, /* 07 (720x480) */
{ 5, 4, 1815, 570, 1130, 660, 50, 0, 0},
{ 5, 3, 1100, 686, 1130, 640, 50, 1, 0},
{10, 9, 1320, 830, 1130, 640, 50, 0, 0}
};
static struct XGI330_TVDataStruct XGI_StYPbPr750pData[] = {
{1, 1, 1650, 750, 1280, 400, 50, 0, 760},
{1, 1, 1650, 750, 1280, 350, 50, 0, 640},
{1, 1, 1650, 750, 1280, 400, 0, 0, 720},
{1, 1, 1650, 750, 1280, 350, 0, 0, 720},
{1, 1, 1650, 750, 1280, 480, 0, 0, 760},
};
static unsigned char XGI330_NTSCTiming[] = {
0x17, 0x1d, 0x03, 0x09, 0x05, 0x06, 0x0c, 0x0c,
0x94, 0x49, 0x01, 0x0a, 0x06, 0x0d, 0x04, 0x0a,
0x06, 0x14, 0x0d, 0x04, 0x0a, 0x00, 0x85, 0x1b,
0x0c, 0x50, 0x00, 0x97, 0x00, 0xda, 0x4a, 0x17,
0x7d, 0x05, 0x4b, 0x00, 0x00, 0xe2, 0x00, 0x02,
0x03, 0x0a, 0x65, 0x9d, 0x08, 0x92, 0x8f, 0x40,
0x60, 0x80, 0x14, 0x90, 0x8c, 0x60, 0x14, 0x50,
0x00, 0x40, 0x44, 0x00, 0xdb, 0x02, 0x3b, 0x00
};
static unsigned char XGI330_PALTiming[] = {
0x21, 0x5A, 0x35, 0x6e, 0x04, 0x38, 0x3d, 0x70,
0x94, 0x49, 0x01, 0x12, 0x06, 0x3e, 0x35, 0x6d,
0x06, 0x14, 0x3e, 0x35, 0x6d, 0x00, 0x45, 0x2b,
0x70, 0x50, 0x00, 0x9b, 0x00, 0xd9, 0x5d, 0x17,
0x7d, 0x05, 0x45, 0x00, 0x00, 0xe8, 0x00, 0x02,
0x0d, 0x00, 0x68, 0xb0, 0x0b, 0x92, 0x8f, 0x40,
0x60, 0x80, 0x14, 0x90, 0x8c, 0x60, 0x14, 0x63,
0x00, 0x40, 0x3e, 0x00, 0xe1, 0x02, 0x28, 0x00
};
static unsigned char XGI330_HiTVExtTiming[] = {
0x2D, 0x60, 0x2C, 0x5F, 0x08, 0x31, 0x3A, 0x64,
0x28, 0x02, 0x01, 0x3D, 0x06, 0x3E, 0x35, 0x6D,
0x06, 0x14, 0x3E, 0x35, 0x6D, 0x00, 0xC5, 0x3F,
0x64, 0x90, 0x33, 0x8C, 0x18, 0x36, 0x3E, 0x13,
0x2A, 0xDE, 0x2A, 0x44, 0x40, 0x2A, 0x44, 0x40,
0x8E, 0x8E, 0x82, 0x07, 0x0B,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x14, 0x3D, 0x63, 0x4F,
0x27, 0x00, 0xfc, 0xff, 0x6a, 0x00
};
static unsigned char XGI330_HiTVSt1Timing[] = {
0x32, 0x65, 0x2C, 0x5F, 0x08, 0x31, 0x3A, 0x65,
0x28, 0x02, 0x01, 0x3D, 0x06, 0x3E, 0x35, 0x6D,
0x06, 0x14, 0x3E, 0x35, 0x6D, 0x00, 0xC5, 0x3F,
0x65, 0x90, 0x7B, 0xA8, 0x03, 0xF0, 0x87, 0x03,
0x11, 0x15, 0x11, 0xCF, 0x10, 0x11, 0xCF, 0x10,
0x35, 0x35, 0x3B, 0x69, 0x1D,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x04, 0x86, 0xAF, 0x5D,
0x0E, 0x00, 0xfc, 0xff, 0x2d, 0x00
};
static unsigned char XGI330_HiTVSt2Timing[] = {
0x32, 0x65, 0x2C, 0x5F, 0x08, 0x31, 0x3A, 0x64,
0x28, 0x02, 0x01, 0x3D, 0x06, 0x3E, 0x35, 0x6D,
0x06, 0x14, 0x3E, 0x35, 0x6D, 0x00, 0xC5, 0x3F,
0x64, 0x90, 0x33, 0x8C, 0x18, 0x36, 0x3E, 0x13,
0x2A, 0xDE, 0x2A, 0x44, 0x40, 0x2A, 0x44, 0x40,
0x8E, 0x8E, 0x82, 0x07, 0x0B,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x14, 0x3D, 0x63, 0x4F,
0x27, 0x00, 0xFC, 0xff, 0x6a, 0x00
};
static unsigned char XGI330_HiTVTextTiming[] = {
0x32, 0x65, 0x2C, 0x5F, 0x08, 0x31, 0x3A, 0x65,
0x28, 0x02, 0x01, 0x3D, 0x06, 0x3E, 0x35, 0x6D,
0x06, 0x14, 0x3E, 0x35, 0x6D, 0x00, 0xC5, 0x3F,
0x65, 0x90, 0xE7, 0xBC, 0x03, 0x0C, 0x97, 0x03,
0x14, 0x78, 0x14, 0x08, 0x20, 0x14, 0x08, 0x20,
0xC8, 0xC8, 0x3B, 0xD2, 0x26,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x04, 0x96, 0x72, 0x5C,
0x11, 0x00, 0xFC, 0xFF, 0x32, 0x00
};
static unsigned char XGI330_YPbPr750pTiming[] = {
0x30, 0x1d, 0xe8, 0x09, 0x09, 0xed, 0x0c, 0x0c,
0x98, 0x0a, 0x01, 0x0c, 0x06, 0x0d, 0x04, 0x0a,
0x06, 0x14, 0x0d, 0x04, 0x0a, 0x00, 0x85, 0x3f,
0xed, 0x50, 0x70, 0x9f, 0x16, 0x59, 0x60, 0x13,
0x27, 0x0b, 0x27, 0xfc, 0x30, 0x27, 0x1c, 0xb0,
0x4b, 0x4b, 0x6f, 0x2f, 0x63,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x14, 0x73, 0x00, 0x40,
0x11, 0x00, 0xfc, 0xff, 0x32, 0x00
};
static unsigned char XGI330_YPbPr525pTiming[] = {
0x3E, 0x11, 0x06, 0x09, 0x0b, 0x0c, 0x0c, 0x0c,
0x98, 0x0a, 0x01, 0x0d, 0x06, 0x0d, 0x04, 0x0a,
0x06, 0x14, 0x0d, 0x04, 0x0a, 0x00, 0x85, 0x3f,
0x0c, 0x50, 0xb2, 0x9f, 0x16, 0x59, 0x4f, 0x13,
0xad, 0x11, 0xad, 0x1d, 0x40, 0x8a, 0x3d, 0xb8,
0x51, 0x5e, 0x60, 0x49, 0x7d,
0x92, 0x0F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x14, 0x4B, 0x43, 0x41,
0x11, 0x00, 0xFC, 0xFF, 0x32, 0x00
};
static unsigned char XGI330_YPbPr525iTiming[] = {
0x1B, 0x21, 0x03, 0x09, 0x05, 0x06, 0x0C, 0x0C,
0x94, 0x49, 0x01, 0x0A, 0x06, 0x0D, 0x04, 0x0A,
0x06, 0x14, 0x0D, 0x04, 0x0A, 0x00, 0x85, 0x1B,
0x0C, 0x50, 0x00, 0x97, 0x00, 0xDA, 0x4A, 0x17,
0x7D, 0x05, 0x4B, 0x00, 0x00, 0xE2, 0x00, 0x02,
0x03, 0x0A, 0x65, 0x9D, 0x08,
0x92, 0x8F, 0x40, 0x60, 0x80, 0x14, 0x90, 0x8C,
0x60, 0x14, 0x4B, 0x00, 0x40,
0x44, 0x00, 0xDB, 0x02, 0x3B, 0x00
};
static unsigned char XGI330_HiTVGroup3Data[] = {
0x00, 0x1A, 0x22, 0x63, 0x62, 0x22, 0x08, 0x5F,
0x05, 0x21, 0xB2, 0xB2, 0x55, 0x77, 0x2A, 0xA6,
0x25, 0x2F, 0x47, 0xFA, 0xC8, 0xFF, 0x8E, 0x20,
0x8C, 0x6E, 0x60, 0x2E, 0x58, 0x48, 0x72, 0x44,
0x56, 0x36, 0x4F, 0x6E, 0x3F, 0x80, 0x00, 0x80,
0x4F, 0x7F, 0x03, 0xA8, 0x7D, 0x20, 0x1A, 0xA9,
0x14, 0x05, 0x03, 0x7E, 0x64, 0x31, 0x14, 0x75,
0x18, 0x05, 0x18, 0x05, 0x4C, 0xA8, 0x01
};
static unsigned char XGI330_HiTVGroup3Simu[] = {
0x00, 0x1A, 0x22, 0x63, 0x62, 0x22, 0x08, 0x95,
0xDB, 0x20, 0xB8, 0xB8, 0x55, 0x47, 0x2A, 0xA6,
0x25, 0x2F, 0x47, 0xFA, 0xC8, 0xFF, 0x8E, 0x20,
0x8C, 0x6E, 0x60, 0x15