Annotation of ntddk/src/video/miniport/xga/xga.h, revision 1.1.1.1

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1991-1992  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     xga.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     This module contains the global structures and definitions used
                     12:     by the xga driver.
                     13: 
                     14: Environment:
                     15: 
                     16:     Kernel mode
                     17: 
                     18: Revision History:
                     19: 
                     20: 
                     21: --*/
                     22: 
                     23: //
                     24: // bit field of types of board recognized by the device
                     25: //
                     26: 
                     27: #define XGA_TYPE_1        1  // IBM XGA 1 board
                     28: #define XGA_TYPE_2        2  // IBM XGA 2 board
                     29: 
                     30: //
                     31: // Resource Sizes
                     32: //
                     33: 
                     34: #define XGA_IO_REGS_SIZE           0x0010
                     35: #define XGA_CO_PROCESSOR_REGS_SIZE 0x0080
                     36: #define XGA_ROM_SIZE               0x1C00
                     37: 
                     38: //
                     39: // XGA I/O register definitions
                     40: //
                     41: 
                     42: #define OP_MODE_REG      0x0
                     43: #define APP_CTL_REG      0x1
                     44: #define INT_ENABLE_REG   0x4
                     45: #define INT_STATUS_REG   0x5
                     46: #define VMEM_CONTROL_REG 0x6
                     47: #define APP_INDEX_REG    0x8
                     48: #define MEMACC_MODE_REG  0x9
                     49: #define INDEX_REG        0xA
                     50: #define DATA_IN_REG      0xB
                     51: #define DATA_OUT_REG     0xC
                     52: #define INDEX_OR_REG     0xFE
                     53: #define END_OF_SWITCH    0xFF
                     54: 
                     55: //
                     56: // Pos register masks
                     57: //
                     58: 
                     59: #define ROM_MASK    0xF0
                     60: #define INST_MASK   0x0E
                     61: #define EN_MASK     0x01
                     62: 
                     63: #define VIDEO_MEM_MASK            0xFE
                     64: #define VIDEO_ENABLE_MASK   0x01
                     65: 
                     66: #define XGAOUT(reg, val)    \
                     67:   VideoPortWritePortUchar((PUCHAR)(hwDeviceExtension->IoRegBaseAddress+reg), val)
                     68: 
                     69: 
                     70: #define XGAIDXOUT(reg, index, val)  \
                     71:   VideoPortWritePortUshort((PUSHORT)(hwDeviceExtension->IoRegBaseAddress+reg), (USHORT)((val << 8) + index))
                     72: 
                     73: 
                     74: //
                     75: // Mode set tables
                     76: //
                     77: 
                     78: //
                     79: // Table entries on which the mode switch routine is based on.
                     80: //
                     81: 
                     82: typedef struct _MODE_REGISTER_DATA_TABLE {
                     83:     UCHAR Port;
                     84:     UCHAR IndexPort;
                     85:     UCHAR Data;
                     86: } MODE_REGISTER_DATA_TABLE, *PMODE_REGISTER_DATA_TABLE;
                     87: 
                     88: 
                     89: //
                     90: //  XGA 1 mode tables
                     91: //
                     92: 
                     93: MODE_REGISTER_DATA_TABLE XGA1_MODE_640_480_64_GR[] = {
                     94: 
                     95: INT_ENABLE_REG,   0x00, 0x00,
                     96: INT_STATUS_REG,   0x00, 0x00,
                     97: OP_MODE_REG,      0x00, 0x00,
                     98: INDEX_REG,        0x64, 0x00,
                     99: APP_CTL_REG,      0x00, 0x00,
                    100: APP_INDEX_REG,    0x00, 0x00,
                    101: VMEM_CONTROL_REG, 0x00, 0x00,
                    102: MEMACC_MODE_REG,  0x00, 0x00,
                    103: INDEX_REG,        0x50, 0x00,
                    104: INDEX_REG,        0x50, 0x00,
                    105: INDEX_REG,        0x10, 0x00,
                    106: INDEX_REG,        0x11, 0x00,
                    107: INDEX_REG,        0x12, 0x00,
                    108: INDEX_REG,        0x13, 0x00,
                    109: INDEX_REG,        0x14, 0x00,
                    110: INDEX_REG,        0x15, 0x00,
                    111: INDEX_REG,        0x16, 0x00,
                    112: INDEX_REG,        0x17, 0x00,
                    113: INDEX_REG,        0x18, 0x00,
                    114: INDEX_REG,        0x19, 0x00,
                    115: INDEX_REG,        0x1A, 0x00,
                    116: INDEX_REG,        0x1B, 0x00,
                    117: INDEX_REG,        0x1C, 0x00,
                    118: INDEX_REG,        0x1E, 0x00,
                    119: INDEX_REG,        0x20, 0x00,
                    120: INDEX_REG,        0x21, 0x00,
                    121: INDEX_REG,        0x22, 0x00,
                    122: INDEX_REG,        0x23, 0x00,
                    123: INDEX_REG,        0x24, 0x00,
                    124: INDEX_REG,        0x25, 0x00,
                    125: INDEX_REG,        0x26, 0x00,
                    126: INDEX_REG,        0x27, 0x00,
                    127: INDEX_REG,        0x28, 0x00,
                    128: INDEX_REG,        0x29, 0x00,
                    129: INDEX_REG,        0x2A, 0x00,
                    130: INDEX_REG,        0x2C, 0x00,
                    131: INDEX_REG,        0x2D, 0x00,
                    132: INDEX_REG,        0x36, 0x00,
                    133: INDEX_REG,        0x40, 0x00,
                    134: INDEX_REG,        0x41, 0x00,
                    135: INDEX_REG,        0x42, 0x00,
                    136: INDEX_REG,        0x43, 0x00,
                    137: INDEX_REG,        0x44, 0x00,
                    138: INDEX_REG,        0x54, 0x00,
                    139: INDEX_REG,        0x51, 0x00,
                    140: INDEX_REG,        0x70, 0x00,
                    141: INDEX_REG,        0x50, 0x00,
                    142: INDEX_REG,        0x55, 0x00,
                    143: INDEX_REG,        0x60, 0x00,
                    144: INDEX_REG,        0x61, 0x00,
                    145: INDEX_REG,        0x62, 0x00,
                    146: INDEX_REG,        0x63, 0x00,
                    147: INDEX_REG,        0x64, 0x00,
                    148: END_OF_SWITCH
                    149: };
                    150: 
                    151: 
                    152: MODE_REGISTER_DATA_TABLE XGA1_MODE_640_480_256_CO[] = {
                    153: 
                    154: INT_ENABLE_REG,   0x00, 0x00,
                    155: INT_STATUS_REG,   0x00, 0xFF,
                    156: OP_MODE_REG,      0x00, 0x04,
                    157: INDEX_REG,        0x64, 0x00,
                    158: APP_CTL_REG,      0x00, 0x00,
                    159: APP_INDEX_REG,    0x00, 0x00,
                    160: VMEM_CONTROL_REG, 0x00, 0x00,
                    161: MEMACC_MODE_REG,  0x00, 0x03,
                    162: INDEX_REG,        0x50, 0x01,
                    163: INDEX_REG,        0x50, 0x00,
                    164: INDEX_REG,        0x10, 0x63,
                    165: INDEX_REG,        0x11, 0x00,
                    166: INDEX_REG,        0x12, 0x4F,
                    167: INDEX_REG,        0x13, 0x00,
                    168: INDEX_REG,        0x14, 0x4F,
                    169: INDEX_REG,        0x15, 0x00,
                    170: INDEX_REG,        0x16, 0x63,
                    171: INDEX_REG,        0x17, 0x00,
                    172: INDEX_REG,        0x18, 0x55,
                    173: INDEX_REG,        0x19, 0x00,
                    174: INDEX_REG,        0x1A, 0x61,
                    175: INDEX_REG,        0x1B, 0x00,
                    176: INDEX_REG,        0x1C, 0x00,
                    177: INDEX_REG,        0x1E, 0x00,
                    178: INDEX_REG,        0x20, 0x0C,
                    179: INDEX_REG,        0x21, 0x02,
                    180: INDEX_REG,        0x22, 0xDF,
                    181: INDEX_REG,        0x23, 0x01,
                    182: INDEX_REG,        0x24, 0xDF,
                    183: INDEX_REG,        0x25, 0x01,
                    184: INDEX_REG,        0x26, 0x0C,
                    185: INDEX_REG,        0x27, 0x02,
                    186: INDEX_REG,        0x28, 0xEA,
                    187: INDEX_REG,        0x29, 0x01,
                    188: INDEX_REG,        0x2A, 0xEC,
                    189: INDEX_REG,        0x2C, 0xFF,
                    190: INDEX_REG,        0x2D, 0xFF,
                    191: INDEX_REG,        0x36, 0x00,
                    192: INDEX_REG,        0x40, 0x00,
                    193: INDEX_REG,        0x41, 0x00,
                    194: INDEX_REG,        0x42, 0x00,
                    195: INDEX_REG,        0x43, 0x50,
                    196: INDEX_REG,        0x44, 0x00,
                    197: INDEX_REG,        0x54, 0x00,
                    198: INDEX_REG,        0x51, 0x03,
                    199: INDEX_REG,        0x70, 0x00,
                    200: INDEX_REG,        0x50, 0xC7,
                    201: INDEX_REG,        0x55, 0x00,
                    202: INDEX_REG,        0x60, 0x00,
                    203: INDEX_REG,        0x61, 0x00,
                    204: INDEX_REG,        0x62, 0x00,
                    205: INDEX_REG,        0x63, 0x00,
                    206: INDEX_REG,        0x64, 0xFF,
                    207: END_OF_SWITCH
                    208: };
                    209: 
                    210: MODE_REGISTER_DATA_TABLE XGA1_MODE_640_480_65536_CO[] = {
                    211: 
                    212: INT_ENABLE_REG,   0x00, 0x00,
                    213: INT_STATUS_REG,   0x00, 0xFF,
                    214: OP_MODE_REG,      0x00, 0x04,
                    215: INDEX_REG,        0x64, 0x00,
                    216: APP_CTL_REG,      0x00, 0x00,
                    217: APP_INDEX_REG,    0x00, 0x00,
                    218: VMEM_CONTROL_REG, 0x00, 0x00,
                    219: MEMACC_MODE_REG,  0x00, 0x04,
                    220: INDEX_REG,        0x50, 0x01,
                    221: INDEX_REG,        0x50, 0x00,
                    222: INDEX_REG,        0x10, 0x63,
                    223: INDEX_REG,        0x11, 0x00,
                    224: INDEX_REG,        0x12, 0x4F,
                    225: INDEX_REG,        0x13, 0x00,
                    226: INDEX_REG,        0x14, 0x4F,
                    227: INDEX_REG,        0x15, 0x00,
                    228: INDEX_REG,        0x16, 0x63,
                    229: INDEX_REG,        0x17, 0x00,
                    230: INDEX_REG,        0x18, 0x55,
                    231: INDEX_REG,        0x19, 0x00,
                    232: INDEX_REG,        0x1A, 0x61,
                    233: INDEX_REG,        0x1B, 0x00,
                    234: INDEX_REG,        0x1C, 0x00,
                    235: INDEX_REG,        0x1E, 0x00,
                    236: INDEX_REG,        0x20, 0x0C,
                    237: INDEX_REG,        0x21, 0x02,
                    238: INDEX_REG,        0x22, 0xDF,
                    239: INDEX_REG,        0x23, 0x01,
                    240: INDEX_REG,        0x24, 0xDF,
                    241: INDEX_REG,        0x25, 0x01,
                    242: INDEX_REG,        0x26, 0x0C,
                    243: INDEX_REG,        0x27, 0x02,
                    244: INDEX_REG,        0x28, 0xEA,
                    245: INDEX_REG,        0x29, 0x01,
                    246: INDEX_REG,        0x2A, 0xEC,
                    247: INDEX_REG,        0x2C, 0xFF,
                    248: INDEX_REG,        0x2D, 0xFF,
                    249: INDEX_REG,        0x36, 0x00,
                    250: INDEX_REG,        0x40, 0x00,
                    251: INDEX_REG,        0x41, 0x00,
                    252: INDEX_REG,        0x42, 0x00,
                    253: INDEX_REG,        0x43, 0xA0,
                    254: INDEX_REG,        0x44, 0x00,
                    255: INDEX_REG,        0x54, 0x00,
                    256: INDEX_REG,        0x51, 0x04,
                    257: INDEX_REG,        0x70, 0x00,
                    258: INDEX_REG,        0x50, 0xC7,
                    259: INDEX_REG,        0x55, 0x00,
                    260: INDEX_REG,        0x60, 0x00,
                    261: INDEX_REG,        0x61, 0x00,
                    262: INDEX_REG,        0x62, 0x00,
                    263: INDEX_REG,        0x63, 0x00,
                    264: INDEX_REG,        0x64, 0xFF,
                    265: END_OF_SWITCH
                    266: };
                    267: 
                    268: MODE_REGISTER_DATA_TABLE XGA1_MODE_1024_768_16_GR[] = {
                    269: 
                    270: INT_ENABLE_REG,   0x00, 0x00,
                    271: INT_STATUS_REG,   0x00, 0x00,
                    272: OP_MODE_REG,      0x00, 0x00,
                    273: INDEX_REG,        0x64, 0x00,
                    274: APP_CTL_REG,      0x00, 0x00,
                    275: APP_INDEX_REG,    0x00, 0x00,
                    276: VMEM_CONTROL_REG, 0x00, 0x00,
                    277: MEMACC_MODE_REG,  0x00, 0x00,
                    278: INDEX_REG,        0x50, 0x00,
                    279: INDEX_REG,        0x50, 0x00,
                    280: INDEX_REG,        0x10, 0x00,
                    281: INDEX_REG,        0x11, 0x00,
                    282: INDEX_REG,        0x12, 0x00,
                    283: INDEX_REG,        0x13, 0x00,
                    284: INDEX_REG,        0x14, 0x00,
                    285: INDEX_REG,        0x15, 0x00,
                    286: INDEX_REG,        0x16, 0x00,
                    287: INDEX_REG,        0x17, 0x00,
                    288: INDEX_REG,        0x18, 0x00,
                    289: INDEX_REG,        0x19, 0x00,
                    290: INDEX_REG,        0x1A, 0x00,
                    291: INDEX_REG,        0x1B, 0x00,
                    292: INDEX_REG,        0x1C, 0x00,
                    293: INDEX_REG,        0x1E, 0x00,
                    294: INDEX_REG,        0x20, 0x00,
                    295: INDEX_REG,        0x21, 0x00,
                    296: INDEX_REG,        0x22, 0x00,
                    297: INDEX_REG,        0x23, 0x00,
                    298: INDEX_REG,        0x24, 0x00,
                    299: INDEX_REG,        0x25, 0x00,
                    300: INDEX_REG,        0x26, 0x00,
                    301: INDEX_REG,        0x27, 0x00,
                    302: INDEX_REG,        0x28, 0x00,
                    303: INDEX_REG,        0x29, 0x00,
                    304: INDEX_REG,        0x2A, 0x00,
                    305: INDEX_REG,        0x2C, 0x00,
                    306: INDEX_REG,        0x2D, 0x00,
                    307: INDEX_REG,        0x36, 0x00,
                    308: INDEX_REG,        0x40, 0x00,
                    309: INDEX_REG,        0x41, 0x00,
                    310: INDEX_REG,        0x42, 0x00,
                    311: INDEX_REG,        0x43, 0x00,
                    312: INDEX_REG,        0x44, 0x00,
                    313: INDEX_REG,        0x54, 0x00,
                    314: INDEX_REG,        0x51, 0x00,
                    315: INDEX_REG,        0x70, 0x00,
                    316: INDEX_REG,        0x50, 0x00,
                    317: INDEX_REG,        0x55, 0x00,
                    318: INDEX_REG,        0x60, 0x00,
                    319: INDEX_REG,        0x61, 0x00,
                    320: INDEX_REG,        0x62, 0x00,
                    321: INDEX_REG,        0x63, 0x00,
                    322: INDEX_REG,        0x64, 0x00,
                    323: END_OF_SWITCH
                    324: };
                    325: 
                    326: MODE_REGISTER_DATA_TABLE XGA1_MODE_1024_768_16_CO[] = {
                    327: 
                    328: INT_ENABLE_REG,   0x00, 0x00,
                    329: INT_STATUS_REG,   0x00, 0xFF,
                    330: OP_MODE_REG,      0x00, 0x04,
                    331: INDEX_REG,        0x64, 0x00,
                    332: APP_CTL_REG,      0x00, 0x00,
                    333: APP_INDEX_REG,    0x00, 0x00,
                    334: VMEM_CONTROL_REG, 0x00, 0x00,
                    335: MEMACC_MODE_REG,  0x00, 0x02,
                    336: INDEX_REG,        0x50, 0x01,
                    337: INDEX_REG,        0x50, 0x00,
                    338: INDEX_REG,        0x10, 0x9D,
                    339: INDEX_REG,        0x11, 0x00,
                    340: INDEX_REG,        0x12, 0x7F,
                    341: INDEX_REG,        0x13, 0x00,
                    342: INDEX_REG,        0x14, 0x7F,
                    343: INDEX_REG,        0x15, 0x00,
                    344: INDEX_REG,        0x16, 0x9D,
                    345: INDEX_REG,        0x17, 0x00,
                    346: INDEX_REG,        0x18, 0x87,
                    347: INDEX_REG,        0x19, 0x00,
                    348: INDEX_REG,        0x1A, 0x9C,
                    349: INDEX_REG,        0x1B, 0x00,
                    350: INDEX_REG,        0x1C, 0x40,
                    351: INDEX_REG,        0x1E, 0x04,
                    352: INDEX_REG,        0x20, 0x30,
                    353: INDEX_REG,        0x21, 0x03,
                    354: INDEX_REG,        0x22, 0xFF,
                    355: INDEX_REG,        0x23, 0x02,
                    356: INDEX_REG,        0x24, 0xFF,
                    357: INDEX_REG,        0x25, 0x02,
                    358: INDEX_REG,        0x26, 0x30,
                    359: INDEX_REG,        0x27, 0x03,
                    360: INDEX_REG,        0x28, 0x00,
                    361: INDEX_REG,        0x29, 0x03,
                    362: INDEX_REG,        0x2A, 0x08,
                    363: INDEX_REG,        0x2C, 0xFF,
                    364: INDEX_REG,        0x2D, 0xFF,
                    365: INDEX_REG,        0x36, 0x00,
                    366: INDEX_REG,        0x40, 0x00,
                    367: INDEX_REG,        0x41, 0x00,
                    368: INDEX_REG,        0x42, 0x00,
                    369: INDEX_REG,        0x43, 0x40,
                    370: INDEX_REG,        0x44, 0x00,
                    371: INDEX_REG,        0x54, 0x0D,
                    372: INDEX_REG,        0x51, 0x02,
                    373: INDEX_REG,        0x70, 0x00,
                    374: INDEX_REG,        0x50, 0x0F,
                    375: INDEX_REG,        0x55, 0x00,
                    376: INDEX_REG,        0x60, 0x00,
                    377: INDEX_REG,        0x61, 0x00,
                    378: INDEX_REG,        0x62, 0x00,
                    379: INDEX_REG,        0x63, 0x00,
                    380: INDEX_REG,        0x64, 0xFF,
                    381: END_OF_SWITCH
                    382: };
                    383: 
                    384: MODE_REGISTER_DATA_TABLE XGA1_MODE_1024_768_64_GR[] = {
                    385: 
                    386: INT_ENABLE_REG,   0x00, 0x00,
                    387: INT_STATUS_REG,   0x00, 0x00,
                    388: OP_MODE_REG,      0x00, 0x00,
                    389: INDEX_REG,        0x64, 0x00,
                    390: APP_CTL_REG,      0x00, 0x00,
                    391: APP_INDEX_REG,    0x00, 0x00,
                    392: VMEM_CONTROL_REG, 0x00, 0x00,
                    393: MEMACC_MODE_REG,  0x00, 0x00,
                    394: INDEX_REG,        0x50, 0x00,
                    395: INDEX_REG,        0x50, 0x00,
                    396: INDEX_REG,        0x10, 0x00,
                    397: INDEX_REG,        0x11, 0x00,
                    398: INDEX_REG,        0x12, 0x00,
                    399: INDEX_REG,        0x13, 0x00,
                    400: INDEX_REG,        0x14, 0x00,
                    401: INDEX_REG,        0x15, 0x00,
                    402: INDEX_REG,        0x16, 0x00,
                    403: INDEX_REG,        0x17, 0x00,
                    404: INDEX_REG,        0x18, 0x00,
                    405: INDEX_REG,        0x19, 0x00,
                    406: INDEX_REG,        0x1A, 0x00,
                    407: INDEX_REG,        0x1B, 0x00,
                    408: INDEX_REG,        0x1C, 0x00,
                    409: INDEX_REG,        0x1E, 0x00,
                    410: INDEX_REG,        0x20, 0x00,
                    411: INDEX_REG,        0x21, 0x00,
                    412: INDEX_REG,        0x22, 0x00,
                    413: INDEX_REG,        0x23, 0x00,
                    414: INDEX_REG,        0x24, 0x00,
                    415: INDEX_REG,        0x25, 0x00,
                    416: INDEX_REG,        0x26, 0x00,
                    417: INDEX_REG,        0x27, 0x00,
                    418: INDEX_REG,        0x28, 0x00,
                    419: INDEX_REG,        0x29, 0x00,
                    420: INDEX_REG,        0x2A, 0x00,
                    421: INDEX_REG,        0x2C, 0x00,
                    422: INDEX_REG,        0x2D, 0x00,
                    423: INDEX_REG,        0x36, 0x00,
                    424: INDEX_REG,        0x40, 0x00,
                    425: INDEX_REG,        0x41, 0x00,
                    426: INDEX_REG,        0x42, 0x00,
                    427: INDEX_REG,        0x43, 0x00,
                    428: INDEX_REG,        0x44, 0x00,
                    429: INDEX_REG,        0x54, 0x00,
                    430: INDEX_REG,        0x51, 0x00,
                    431: INDEX_REG,        0x70, 0x00,
                    432: INDEX_REG,        0x50, 0x00,
                    433: INDEX_REG,        0x55, 0x00,
                    434: INDEX_REG,        0x60, 0x00,
                    435: INDEX_REG,        0x61, 0x00,
                    436: INDEX_REG,        0x62, 0x00,
                    437: INDEX_REG,        0x63, 0x00,
                    438: INDEX_REG,        0x64, 0x00,
                    439: END_OF_SWITCH
                    440: };
                    441: 
                    442: MODE_REGISTER_DATA_TABLE XGA1_MODE_1024_768_256_CO[] = {
                    443: 
                    444: INT_ENABLE_REG,   0x00, 0x00,
                    445: INT_STATUS_REG,   0x00, 0xFF,
                    446: OP_MODE_REG,      0x00, 0x04,
                    447: INDEX_REG,        0x64, 0x00,
                    448: APP_CTL_REG,      0x00, 0x00,
                    449: APP_INDEX_REG,    0x00, 0x00,
                    450: VMEM_CONTROL_REG, 0x00, 0x00,
                    451: MEMACC_MODE_REG,  0x00, 0x03,
                    452: INDEX_REG,        0x50, 0x01,
                    453: INDEX_REG,        0x50, 0x00,
                    454: INDEX_REG,        0x10, 0x9D,
                    455: INDEX_REG,        0x11, 0x00,
                    456: INDEX_REG,        0x12, 0x7F,
                    457: INDEX_REG,        0x13, 0x00,
                    458: INDEX_REG,        0x14, 0x7F,
                    459: INDEX_REG,        0x15, 0x00,
                    460: INDEX_REG,        0x16, 0x9D,
                    461: INDEX_REG,        0x17, 0x00,
                    462: INDEX_REG,        0x18, 0x87,
                    463: INDEX_REG,        0x19, 0x00,
                    464: INDEX_REG,        0x1A, 0x9C,
                    465: INDEX_REG,        0x1B, 0x00,
                    466: INDEX_REG,        0x1C, 0x40,
                    467: INDEX_REG,        0x1E, 0x04,
                    468: INDEX_REG,        0x20, 0x30,
                    469: INDEX_REG,        0x21, 0x03,
                    470: INDEX_REG,        0x22, 0xFF,
                    471: INDEX_REG,        0x23, 0x02,
                    472: INDEX_REG,        0x24, 0xFF,
                    473: INDEX_REG,        0x25, 0x02,
                    474: INDEX_REG,        0x26, 0x30,
                    475: INDEX_REG,        0x27, 0x03,
                    476: INDEX_REG,        0x28, 0x00,
                    477: INDEX_REG,        0x29, 0x03,
                    478: INDEX_REG,        0x2A, 0x08,
                    479: INDEX_REG,        0x2C, 0xFF,
                    480: INDEX_REG,        0x2D, 0xFF,
                    481: INDEX_REG,        0x36, 0x00,
                    482: INDEX_REG,        0x40, 0x00,
                    483: INDEX_REG,        0x41, 0x00,
                    484: INDEX_REG,        0x42, 0x00,
                    485: INDEX_REG,        0x43, 0x80,
                    486: INDEX_REG,        0x44, 0x00,
                    487: INDEX_REG,        0x54, 0x0D,
                    488: INDEX_REG,        0x51, 0x03,
                    489: INDEX_REG,        0x70, 0x00,
                    490: INDEX_REG,        0x50, 0x0F,
                    491: INDEX_REG,        0x55, 0x00,
                    492: INDEX_REG,        0x60, 0x00,
                    493: INDEX_REG,        0x61, 0x00,
                    494: INDEX_REG,        0x62, 0x00,
                    495: INDEX_REG,        0x63, 0x00,
                    496: INDEX_REG,        0x64, 0xFF,
                    497: END_OF_SWITCH
                    498: };
                    499: 
                    500: //
                    501: // XGA 2 mode tables
                    502: //
                    503: 
                    504: MODE_REGISTER_DATA_TABLE XGA2_MODE_1024_768_256_CO[] = {
                    505: 
                    506: INT_ENABLE_REG,   0x00, 0x00,
                    507: INT_STATUS_REG,   0x00, 0xFF,
                    508: OP_MODE_REG,      0x00, 0x04,
                    509: INDEX_REG,        0x64, 0x00,
                    510: APP_CTL_REG,      0x00, 0x00,
                    511: APP_INDEX_REG,    0x00, 0x00,
                    512: VMEM_CONTROL_REG, 0x00, 0x00,
                    513: MEMACC_MODE_REG,  0x00, 0x03,
                    514: INDEX_REG,        0x50, 0x01,
                    515: INDEX_REG,        0x50, 0x00,
                    516: INDEX_REG,        0x10, 0xA7,
                    517: INDEX_REG,        0x11, 0x00,
                    518: INDEX_REG,        0x12, 0x7F,
                    519: INDEX_REG,        0x13, 0x00,
                    520: INDEX_REG,        0x14, 0x7F,
                    521: INDEX_REG,        0x15, 0x00,
                    522: INDEX_REG,        0x16, 0xA7,
                    523: INDEX_REG,        0x17, 0x00,
                    524: INDEX_REG,        0x18, 0x88,
                    525: INDEX_REG,        0x19, 0x00,
                    526: INDEX_REG,        0x1A, 0x99,
                    527: INDEX_REG,        0x1B, 0x00,
                    528: INDEX_REG,        0x1C, 0x00,
                    529: INDEX_REG,        0x1E, 0x00,
                    530: INDEX_REG,        0x20, 0x25,
                    531: INDEX_REG,        0x21, 0x03,
                    532: INDEX_REG,        0x22, 0xFF,
                    533: INDEX_REG,        0x23, 0x02,
                    534: INDEX_REG,        0x24, 0xFF,
                    535: INDEX_REG,        0x25, 0x02,
                    536: INDEX_REG,        0x26, 0x25,
                    537: INDEX_REG,        0x27, 0x03,
                    538: INDEX_REG,        0x28, 0x02,
                    539: INDEX_REG,        0x29, 0x03,
                    540: INDEX_REG,        0x2A, 0x08,
                    541: INDEX_REG,        0x2C, 0xFF,
                    542: INDEX_REG,        0x2D, 0xFF,
                    543: INDEX_REG,        0x54, 0x01,
                    544: INDEX_REG,        0x70, 0x00,
                    545: INDEX_REG,        0x58, 0x80,
                    546: INDEX_OR_REG,     0x5B, 0x02,
                    547: INDEX_REG,        0x54, 0x81,
                    548: INDEX_REG,        0x50, 0xC7,
                    549: INDEX_REG,        0x40, 0x00,
                    550: INDEX_REG,        0x41, 0x00,
                    551: INDEX_REG,        0x42, 0x00,
                    552: INDEX_REG,        0x43, 0x80,
                    553: INDEX_REG,        0x44, 0x00,
                    554: INDEX_REG,        0x51, 0x03,
                    555: INDEX_REG,        0x55, 0x00,
                    556: INDEX_REG,        0x60, 0x00,
                    557: INDEX_REG,        0x61, 0x00,
                    558: INDEX_REG,        0x62, 0x00,
                    559: INDEX_REG,        0x63, 0x00,
                    560: INDEX_REG,        0x64, 0xFF,
                    561: END_OF_SWITCH
                    562: };
                    563: 
                    564: //
                    565: // New IBM modes
                    566: //
                    567: 
                    568: //
                    569: // XGA 1 modes
                    570: //
                    571: 
                    572: MODE_REGISTER_DATA_TABLE XGA1_640x480x8x60Hz[] = {
                    573: 
                    574: INT_ENABLE_REG,   0x00, 0x00,
                    575: INT_STATUS_REG,   0x00, 0xFF,
                    576: OP_MODE_REG,      0x00, 0x04,
                    577: INDEX_REG,        0x64, 0x00,
                    578: APP_CTL_REG,      0x00, 0x00,
                    579: APP_INDEX_REG,    0x00, 0x00,
                    580: VMEM_CONTROL_REG, 0x00, 0x00,
                    581: MEMACC_MODE_REG,  0x00, 0x03,
                    582: INDEX_REG,        0x50, 0x01,
                    583: INDEX_REG,        0x50, 0x00,
                    584: INDEX_REG,        0x10, 0x63,
                    585: INDEX_REG,        0x11, 0x00,
                    586: INDEX_REG,        0x12, 0x4F,
                    587: INDEX_REG,        0x13, 0x00,
                    588: INDEX_REG,        0x14, 0x4F,
                    589: INDEX_REG,        0x15, 0x00,
                    590: INDEX_REG,        0x16, 0x63,
                    591: INDEX_REG,        0x17, 0x00,
                    592: INDEX_REG,        0x18, 0x55,
                    593: INDEX_REG,        0x19, 0x00,
                    594: INDEX_REG,        0x1A, 0x61,
                    595: INDEX_REG,        0x1B, 0x00,
                    596: INDEX_REG,        0x1C, 0x00,
                    597: INDEX_REG,        0x1E, 0x00,
                    598: INDEX_REG,        0x20, 0x0C,
                    599: INDEX_REG,        0x21, 0x02,
                    600: INDEX_REG,        0x22, 0xDF,
                    601: INDEX_REG,        0x23, 0x01,
                    602: INDEX_REG,        0x24, 0xDF,
                    603: INDEX_REG,        0x25, 0x01,
                    604: INDEX_REG,        0x26, 0x0C,
                    605: INDEX_REG,        0x27, 0x02,
                    606: INDEX_REG,        0x28, 0xEA,
                    607: INDEX_REG,        0x29, 0x01,
                    608: INDEX_REG,        0x2A, 0xEC,
                    609: INDEX_REG,        0x2C, 0xFF,
                    610: INDEX_REG,        0x2D, 0xFF,
                    611: INDEX_REG,        0x36, 0x00,
                    612: INDEX_REG,        0x40, 0x00,
                    613: INDEX_REG,        0x41, 0x00,
                    614: INDEX_REG,        0x42, 0x00,
                    615: INDEX_REG,        0x43, 0x50,
                    616: INDEX_REG,        0x44, 0x00,
                    617: INDEX_REG,        0x70, 0x00,
                    618: INDEX_REG,        0x54, 0x00,
                    619: INDEX_REG,        0x51, 0x03,
                    620: INDEX_REG,        0x50, 0xC7,
                    621: INDEX_REG,        0x55, 0x00,
                    622: INDEX_REG,        0x60, 0x00,
                    623: INDEX_REG,        0x61, 0x00,
                    624: INDEX_REG,        0x62, 0x00,
                    625: INDEX_REG,        0x63, 0x00,
                    626: INDEX_REG,        0x64, 0xFF,
                    627: END_OF_SWITCH
                    628: };
                    629: 
                    630: 
                    631: MODE_REGISTER_DATA_TABLE XGA1_640x400x8x70Hz[] = {
                    632: 
                    633: INT_ENABLE_REG,   0x00, 0x00,
                    634: INT_STATUS_REG,   0x00, 0xFF,
                    635: OP_MODE_REG,      0x00, 0x04,
                    636: INDEX_REG,        0x64, 0x00,
                    637: APP_CTL_REG,      0x00, 0x00,
                    638: APP_INDEX_REG,    0x00, 0x00,
                    639: VMEM_CONTROL_REG, 0x00, 0x00,
                    640: MEMACC_MODE_REG,  0x00, 0x03,
                    641: INDEX_REG,        0x50, 0x01,
                    642: INDEX_REG,        0x50, 0x00,
                    643: INDEX_REG,        0x10, 0x63,
                    644: INDEX_REG,        0x11, 0x00,
                    645: INDEX_REG,        0x12, 0x4F,
                    646: INDEX_REG,        0x13, 0x00,
                    647: INDEX_REG,        0x14, 0x4F,
                    648: INDEX_REG,        0x15, 0x00,
                    649: INDEX_REG,        0x16, 0x63,
                    650: INDEX_REG,        0x17, 0x00,
                    651: INDEX_REG,        0x18, 0x55,
                    652: INDEX_REG,        0x19, 0x00,
                    653: INDEX_REG,        0x1A, 0x61,
                    654: INDEX_REG,        0x1B, 0x00,
                    655: INDEX_REG,        0x1C, 0x00,
                    656: INDEX_REG,        0x1E, 0x00,
                    657: INDEX_REG,        0x20, 0xC0,
                    658: INDEX_REG,        0x21, 0x01,
                    659: INDEX_REG,        0x22, 0x8F,
                    660: INDEX_REG,        0x23, 0x01,
                    661: INDEX_REG,        0x24, 0x8F,
                    662: INDEX_REG,        0x25, 0x01,
                    663: INDEX_REG,        0x26, 0xC0,
                    664: INDEX_REG,        0x27, 0x01,
                    665: INDEX_REG,        0x28, 0x9C,
                    666: INDEX_REG,        0x29, 0x01,
                    667: INDEX_REG,        0x2A, 0x9E,
                    668: INDEX_REG,        0x2C, 0xFF,
                    669: INDEX_REG,        0x2D, 0xFF,
                    670: INDEX_REG,        0x36, 0x00,
                    671: INDEX_REG,        0x40, 0x00,
                    672: INDEX_REG,        0x41, 0x00,
                    673: INDEX_REG,        0x42, 0x00,
                    674: INDEX_REG,        0x43, 0x50,
                    675: INDEX_REG,        0x44, 0x00,
                    676: INDEX_REG,        0x70, 0x00,
                    677: INDEX_REG,        0x54, 0x00,
                    678: INDEX_REG,        0x51, 0x03,
                    679: INDEX_REG,        0x50, 0x47,
                    680: INDEX_REG,        0x55, 0x00,
                    681: INDEX_REG,        0x60, 0x00,
                    682: INDEX_REG,        0x61, 0x00,
                    683: INDEX_REG,        0x62, 0x00,
                    684: INDEX_REG,        0x63, 0x00,
                    685: INDEX_REG,        0x64, 0xFF,
                    686: END_OF_SWITCH
                    687: };
                    688: 
                    689: 
                    690: MODE_REGISTER_DATA_TABLE XGA1_1024x768x8x43Hz[] = {
                    691: 
                    692: INT_ENABLE_REG,   0x00, 0x00,
                    693: INT_STATUS_REG,   0x00, 0xFF,
                    694: OP_MODE_REG,      0x00, 0x04,
                    695: INDEX_REG,        0x64, 0x00,
                    696: APP_CTL_REG,      0x00, 0x00,
                    697: APP_INDEX_REG,    0x00, 0x00,
                    698: VMEM_CONTROL_REG, 0x00, 0x00,
                    699: MEMACC_MODE_REG,  0x00, 0x03,
                    700: INDEX_REG,        0x50, 0x01,
                    701: INDEX_REG,        0x50, 0x00,
                    702: INDEX_REG,        0x10, 0x9D,
                    703: INDEX_REG,        0x11, 0x00,
                    704: INDEX_REG,        0x12, 0x7F,
                    705: INDEX_REG,        0x13, 0x00,
                    706: INDEX_REG,        0x14, 0x7F,
                    707: INDEX_REG,        0x15, 0x00,
                    708: INDEX_REG,        0x16, 0x9D,
                    709: INDEX_REG,        0x17, 0x00,
                    710: INDEX_REG,        0x18, 0x86,
                    711: INDEX_REG,        0x19, 0x00,
                    712: INDEX_REG,        0x1A, 0x9C,
                    713: INDEX_REG,        0x1B, 0x00,
                    714: INDEX_REG,        0x1C, 0x40,
                    715: INDEX_REG,        0x1E, 0x04,
                    716: INDEX_REG,        0x20, 0x30,
                    717: INDEX_REG,        0x21, 0x03,
                    718: INDEX_REG,        0x22, 0xFF,
                    719: INDEX_REG,        0x23, 0x02,
                    720: INDEX_REG,        0x24, 0xFF,
                    721: INDEX_REG,        0x25, 0x02,
                    722: INDEX_REG,        0x26, 0x30,
                    723: INDEX_REG,        0x27, 0x03,
                    724: INDEX_REG,        0x28, 0x00,
                    725: INDEX_REG,        0x29, 0x03,
                    726: INDEX_REG,        0x2A, 0x08,
                    727: INDEX_REG,        0x2C, 0xFF,
                    728: INDEX_REG,        0x2D, 0xFF,
                    729: INDEX_REG,        0x36, 0x00,
                    730: INDEX_REG,        0x40, 0x00,
                    731: INDEX_REG,        0x41, 0x00,
                    732: INDEX_REG,        0x42, 0x00,
                    733: INDEX_REG,        0x43, 0x80,
                    734: INDEX_REG,        0x44, 0x00,
                    735: INDEX_REG,        0x70, 0x00,
                    736: INDEX_REG,        0x54, 0x0D,
                    737: INDEX_REG,        0x51, 0x03,
                    738: INDEX_REG,        0x50, 0x0F,
                    739: INDEX_REG,        0x55, 0x00,
                    740: INDEX_REG,        0x60, 0x00,
                    741: INDEX_REG,        0x61, 0x00,
                    742: INDEX_REG,        0x62, 0x00,
                    743: INDEX_REG,        0x63, 0x00,
                    744: INDEX_REG,        0x64, 0xFF,
                    745: END_OF_SWITCH
                    746: };
                    747: 
                    748: 
                    749: MODE_REGISTER_DATA_TABLE XGA1_1040x768x8x43Hz[] = {
                    750: 
                    751: INT_ENABLE_REG,   0x00, 0x00,
                    752: INT_STATUS_REG,   0x00, 0xFF,
                    753: OP_MODE_REG,      0x00, 0x04,
                    754: INDEX_REG,        0x64, 0x00,
                    755: APP_CTL_REG,      0x00, 0x00,
                    756: APP_INDEX_REG,    0x00, 0x00,
                    757: VMEM_CONTROL_REG, 0x00, 0x00,
                    758: MEMACC_MODE_REG,  0x00, 0x03,
                    759: INDEX_REG,        0x50, 0x01,
                    760: INDEX_REG,        0x50, 0x00,
                    761: INDEX_REG,        0x10, 0x9D,
                    762: INDEX_REG,        0x11, 0x00,
                    763: INDEX_REG,        0x12, 0x81,
                    764: INDEX_REG,        0x13, 0x00,
                    765: INDEX_REG,        0x14, 0x81,
                    766: INDEX_REG,        0x15, 0x00,
                    767: INDEX_REG,        0x16, 0x9D,
                    768: INDEX_REG,        0x17, 0x00,
                    769: INDEX_REG,        0x18, 0x87,
                    770: INDEX_REG,        0x19, 0x00,
                    771: INDEX_REG,        0x1A, 0x9D,
                    772: INDEX_REG,        0x1B, 0x00,
                    773: INDEX_REG,        0x1C, 0x00,
                    774: INDEX_REG,        0x1E, 0x00,
                    775: INDEX_REG,        0x20, 0x30,
                    776: INDEX_REG,        0x21, 0x03,
                    777: INDEX_REG,        0x22, 0xFF,
                    778: INDEX_REG,        0x23, 0x02,
                    779: INDEX_REG,        0x24, 0xFF,
                    780: INDEX_REG,        0x25, 0x02,
                    781: INDEX_REG,        0x26, 0x30,
                    782: INDEX_REG,        0x27, 0x03,
                    783: INDEX_REG,        0x28, 0x00,
                    784: INDEX_REG,        0x29, 0x03,
                    785: INDEX_REG,        0x2A, 0x08,
                    786: INDEX_REG,        0x2C, 0xFF,
                    787: INDEX_REG,        0x2D, 0xFF,
                    788: INDEX_REG,        0x36, 0x00,
                    789: INDEX_REG,        0x40, 0x00,
                    790: INDEX_REG,        0x41, 0x00,
                    791: INDEX_REG,        0x42, 0x00,
                    792: INDEX_REG,        0x43, 0x82,
                    793: INDEX_REG,        0x44, 0x00,
                    794: INDEX_REG,        0x70, 0x00,
                    795: INDEX_REG,        0x54, 0x0D,
                    796: INDEX_REG,        0x51, 0x03,
                    797: INDEX_REG,        0x50, 0x0F,
                    798: INDEX_REG,        0x55, 0x00,
                    799: INDEX_REG,        0x60, 0x00,
                    800: INDEX_REG,        0x61, 0x00,
                    801: INDEX_REG,        0x62, 0x00,
                    802: INDEX_REG,        0x63, 0x00,
                    803: INDEX_REG,        0x64, 0xFF,
                    804: END_OF_SWITCH
                    805: };
                    806: 
                    807: //
                    808: // XGA 2 mode tables
                    809: //
                    810: 
                    811: MODE_REGISTER_DATA_TABLE XGA2_640x480x8x60Hz[] = {
                    812: 
                    813: INT_ENABLE_REG,   0x00, 0x00,
                    814: INT_STATUS_REG,   0x00, 0xFF,
                    815: OP_MODE_REG,      0x00, 0x04,
                    816: INDEX_REG,        0x64, 0x00,
                    817: APP_CTL_REG,      0x00, 0x00,
                    818: APP_INDEX_REG,    0x00, 0x00,
                    819: VMEM_CONTROL_REG, 0x00, 0x00,
                    820: MEMACC_MODE_REG,  0x00, 0x03,
                    821: INDEX_REG,        0x50, 0x01,
                    822: INDEX_REG,        0x50, 0x00,
                    823: INDEX_REG,        0x10, 0x63,
                    824: INDEX_REG,        0x11, 0x00,
                    825: INDEX_REG,        0x12, 0x4F,
                    826: INDEX_REG,        0x13, 0x00,
                    827: INDEX_REG,        0x14, 0x4F,
                    828: INDEX_REG,        0x15, 0x00,
                    829: INDEX_REG,        0x16, 0x63,
                    830: INDEX_REG,        0x17, 0x00,
                    831: INDEX_REG,        0x18, 0x54,
                    832: INDEX_REG,        0x19, 0x00,
                    833: INDEX_REG,        0x1A, 0x60,
                    834: INDEX_REG,        0x1B, 0x00,
                    835: INDEX_REG,        0x1C, 0x20,
                    836: INDEX_REG,        0x1E, 0x02,
                    837: INDEX_REG,        0x20, 0x0C,
                    838: INDEX_REG,        0x21, 0x02,
                    839: INDEX_REG,        0x22, 0xDF,
                    840: INDEX_REG,        0x23, 0x01,
                    841: INDEX_REG,        0x24, 0xDF,
                    842: INDEX_REG,        0x25, 0x01,
                    843: INDEX_REG,        0x26, 0x0C,
                    844: INDEX_REG,        0x27, 0x02,
                    845: INDEX_REG,        0x28, 0xEA,
                    846: INDEX_REG,        0x29, 0x01,
                    847: INDEX_REG,        0x2A, 0xEC,
                    848: INDEX_REG,        0x2C, 0xFF,
                    849: INDEX_REG,        0x2D, 0xFF,
                    850: INDEX_REG,        0x36, 0x00,
                    851: INDEX_REG,        0x40, 0x00,
                    852: INDEX_REG,        0x41, 0x00,
                    853: INDEX_REG,        0x42, 0x00,
                    854: INDEX_REG,        0x43, 0x50,
                    855: INDEX_REG,        0x44, 0x00,
                    856: INDEX_REG,        0x54, 0x01,
                    857: INDEX_REG,        0x70, 0x00,
                    858: INDEX_REG,        0x51, 0x03,
                    859: INDEX_REG,        0x58, 0x24,
                    860: INDEX_REG,        0x54, 0x80,
                    861: INDEX_REG,        0x50, 0xC7,
                    862: INDEX_REG,        0x55, 0x00,
                    863: INDEX_REG,        0x60, 0x00,
                    864: INDEX_REG,        0x61, 0x00,
                    865: INDEX_REG,        0x62, 0x00,
                    866: INDEX_REG,        0x63, 0x00,
                    867: INDEX_REG,        0x64, 0xFF,
                    868: END_OF_SWITCH
                    869: };
                    870: 
                    871: 
                    872: MODE_REGISTER_DATA_TABLE XGA2_640x480x8x72Hz[] = {
                    873: 
                    874: INT_ENABLE_REG,   0x00, 0x00,
                    875: INT_STATUS_REG,   0x00, 0xFF,
                    876: OP_MODE_REG,      0x00, 0x04,
                    877: INDEX_REG,        0x64, 0x00,
                    878: APP_CTL_REG,      0x00, 0x00,
                    879: APP_INDEX_REG,    0x00, 0x00,
                    880: VMEM_CONTROL_REG, 0x00, 0x00,
                    881: MEMACC_MODE_REG,  0x00, 0x03,
                    882: INDEX_REG,        0x50, 0x01,
                    883: INDEX_REG,        0x50, 0x00,
                    884: INDEX_REG,        0x10, 0x67,
                    885: INDEX_REG,        0x11, 0x00,
                    886: INDEX_REG,        0x12, 0x4F,
                    887: INDEX_REG,        0x13, 0x00,
                    888: INDEX_REG,        0x14, 0x4F,
                    889: INDEX_REG,        0x15, 0x00,
                    890: INDEX_REG,        0x16, 0x67,
                    891: INDEX_REG,        0x17, 0x00,
                    892: INDEX_REG,        0x18, 0x55,
                    893: INDEX_REG,        0x19, 0x00,
                    894: INDEX_REG,        0x1A, 0x5A,
                    895: INDEX_REG,        0x1B, 0x00,
                    896: INDEX_REG,        0x1C, 0x20,
                    897: INDEX_REG,        0x1E, 0x02,
                    898: INDEX_REG,        0x20, 0x07,
                    899: INDEX_REG,        0x21, 0x02,
                    900: INDEX_REG,        0x22, 0xDF,
                    901: INDEX_REG,        0x23, 0x01,
                    902: INDEX_REG,        0x24, 0xDF,
                    903: INDEX_REG,        0x25, 0x01,
                    904: INDEX_REG,        0x26, 0x07,
                    905: INDEX_REG,        0x27, 0x02,
                    906: INDEX_REG,        0x28, 0xE8,
                    907: INDEX_REG,        0x29, 0x01,
                    908: INDEX_REG,        0x2A, 0xEB,
                    909: INDEX_REG,        0x2C, 0xFF,
                    910: INDEX_REG,        0x2D, 0xFF,
                    911: INDEX_REG,        0x36, 0x00,
                    912: INDEX_REG,        0x40, 0x00,
                    913: INDEX_REG,        0x41, 0x00,
                    914: INDEX_REG,        0x42, 0x00,
                    915: INDEX_REG,        0x43, 0x50,
                    916: INDEX_REG,        0x44, 0x00,
                    917: INDEX_REG,        0x54, 0x01,
                    918: INDEX_REG,        0x70, 0x00,
                    919: INDEX_REG,        0x51, 0x03,
                    920: INDEX_REG,        0x58, 0x3D,
                    921: INDEX_REG,        0x54, 0x80,
                    922: INDEX_REG,        0x50, 0xC7,
                    923: INDEX_REG,        0x55, 0x00,
                    924: INDEX_REG,        0x60, 0x00,
                    925: INDEX_REG,        0x61, 0x00,
                    926: INDEX_REG,        0x62, 0x00,
                    927: INDEX_REG,        0x63, 0x00,
                    928: INDEX_REG,        0x64, 0xFF,
                    929: END_OF_SWITCH
                    930: };
                    931: 
                    932: 
                    933: MODE_REGISTER_DATA_TABLE XGA2_640x480x8x75Hz[] = {
                    934: 
                    935: INT_ENABLE_REG,   0x00, 0x00,
                    936: INT_STATUS_REG,   0x00, 0xFF,
                    937: OP_MODE_REG,      0x00, 0x04,
                    938: INDEX_REG,        0x64, 0x00,
                    939: APP_CTL_REG,      0x00, 0x00,
                    940: APP_INDEX_REG,    0x00, 0x00,
                    941: VMEM_CONTROL_REG, 0x00, 0x00,
                    942: MEMACC_MODE_REG,  0x00, 0x03,
                    943: INDEX_REG,        0x50, 0x01,
                    944: INDEX_REG,        0x50, 0x00,
                    945: INDEX_REG,        0x10, 0x63,
                    946: INDEX_REG,        0x11, 0x00,
                    947: INDEX_REG,        0x12, 0x4F,
                    948: INDEX_REG,        0x13, 0x00,
                    949: INDEX_REG,        0x14, 0x4F,
                    950: INDEX_REG,        0x15, 0x00,
                    951: INDEX_REG,        0x16, 0x63,
                    952: INDEX_REG,        0x17, 0x00,
                    953: INDEX_REG,        0x18, 0x54,
                    954: INDEX_REG,        0x19, 0x00,
                    955: INDEX_REG,        0x1A, 0x60,
                    956: INDEX_REG,        0x1B, 0x00,
                    957: INDEX_REG,        0x1C, 0x20,
                    958: INDEX_REG,        0x1E, 0x02,
                    959: INDEX_REG,        0x20, 0x0C,
                    960: INDEX_REG,        0x21, 0x02,
                    961: INDEX_REG,        0x22, 0xDF,
                    962: INDEX_REG,        0x23, 0x01,
                    963: INDEX_REG,        0x24, 0xDF,
                    964: INDEX_REG,        0x25, 0x01,
                    965: INDEX_REG,        0x26, 0x0C,
                    966: INDEX_REG,        0x27, 0x02,
                    967: INDEX_REG,        0x28, 0xEA,
                    968: INDEX_REG,        0x29, 0x01,
                    969: INDEX_REG,        0x2A, 0xEC,
                    970: INDEX_REG,        0x2C, 0xFF,
                    971: INDEX_REG,        0x2D, 0xFF,
                    972: INDEX_REG,        0x36, 0x00,
                    973: INDEX_REG,        0x40, 0x00,
                    974: INDEX_REG,        0x41, 0x00,
                    975: INDEX_REG,        0x42, 0x00,
                    976: INDEX_REG,        0x43, 0x50,
                    977: INDEX_REG,        0x44, 0x00,
                    978: INDEX_REG,        0x54, 0x01,
                    979: INDEX_REG,        0x70, 0x00,
                    980: INDEX_REG,        0x51, 0x03,
                    981: INDEX_REG,        0x58, 0x3D,
                    982: INDEX_REG,        0x54, 0x80,
                    983: INDEX_REG,        0x50, 0xC7,
                    984: INDEX_REG,        0x55, 0x00,
                    985: INDEX_REG,        0x60, 0x00,
                    986: INDEX_REG,        0x61, 0x00,
                    987: INDEX_REG,        0x62, 0x00,
                    988: INDEX_REG,        0x63, 0x00,
                    989: INDEX_REG,        0x64, 0xFF,
                    990: END_OF_SWITCH
                    991: };
                    992: 
                    993: 
                    994: MODE_REGISTER_DATA_TABLE XGA2_640x400x8x70Hz[] = {
                    995: 
                    996: INT_ENABLE_REG,   0x00, 0x00,
                    997: INT_STATUS_REG,   0x00, 0xFF,
                    998: OP_MODE_REG,      0x00, 0x04,
                    999: INDEX_REG,        0x64, 0x00,
                   1000: APP_CTL_REG,      0x00, 0x00,
                   1001: APP_INDEX_REG,    0x00, 0x00,
                   1002: VMEM_CONTROL_REG, 0x00, 0x00,
                   1003: MEMACC_MODE_REG,  0x00, 0x03,
                   1004: INDEX_REG,        0x50, 0x01,
                   1005: INDEX_REG,        0x50, 0x00,
                   1006: INDEX_REG,        0x10, 0x63,
                   1007: INDEX_REG,        0x11, 0x00,
                   1008: INDEX_REG,        0x12, 0x4F,
                   1009: INDEX_REG,        0x13, 0x00,
                   1010: INDEX_REG,        0x14, 0x4F,
                   1011: INDEX_REG,        0x15, 0x00,
                   1012: INDEX_REG,        0x16, 0x63,
                   1013: INDEX_REG,        0x17, 0x00,
                   1014: INDEX_REG,        0x18, 0x54,
                   1015: INDEX_REG,        0x19, 0x00,
                   1016: INDEX_REG,        0x1A, 0x60,
                   1017: INDEX_REG,        0x1B, 0x00,
                   1018: INDEX_REG,        0x1C, 0x20,
                   1019: INDEX_REG,        0x1E, 0x02,
                   1020: INDEX_REG,        0x20, 0xC0,
                   1021: INDEX_REG,        0x21, 0x01,
                   1022: INDEX_REG,        0x22, 0x8F,
                   1023: INDEX_REG,        0x23, 0x01,
                   1024: INDEX_REG,        0x24, 0x8F,
                   1025: INDEX_REG,        0x25, 0x01,
                   1026: INDEX_REG,        0x26, 0xC0,
                   1027: INDEX_REG,        0x27, 0x01,
                   1028: INDEX_REG,        0x28, 0x9C,
                   1029: INDEX_REG,        0x29, 0x01,
                   1030: INDEX_REG,        0x2A, 0x9E,
                   1031: INDEX_REG,        0x2C, 0xFF,
                   1032: INDEX_REG,        0x2D, 0xFF,
                   1033: INDEX_REG,        0x36, 0x00,
                   1034: INDEX_REG,        0x40, 0x00,
                   1035: INDEX_REG,        0x41, 0x00,
                   1036: INDEX_REG,        0x42, 0x00,
                   1037: INDEX_REG,        0x43, 0x50,
                   1038: INDEX_REG,        0x44, 0x00,
                   1039: INDEX_REG,        0x54, 0x01,
                   1040: INDEX_REG,        0x70, 0x00,
                   1041: INDEX_REG,        0x51, 0x03,
                   1042: INDEX_REG,        0x58, 0x24,
                   1043: INDEX_REG,        0x54, 0x80,
                   1044: INDEX_REG,        0x50, 0x47,
                   1045: INDEX_REG,        0x55, 0x00,
                   1046: INDEX_REG,        0x60, 0x00,
                   1047: INDEX_REG,        0x61, 0x00,
                   1048: INDEX_REG,        0x62, 0x00,
                   1049: INDEX_REG,        0x63, 0x00,
                   1050: INDEX_REG,        0x64, 0xFF,
                   1051: END_OF_SWITCH
                   1052: };
                   1053: 
                   1054: 
                   1055: MODE_REGISTER_DATA_TABLE XGA2_640x400x8x84Hz[] = {
                   1056: 
                   1057: INT_ENABLE_REG,   0x00, 0x00,
                   1058: INT_STATUS_REG,   0x00, 0xFF,
                   1059: OP_MODE_REG,      0x00, 0x04,
                   1060: INDEX_REG,        0x64, 0x00,
                   1061: APP_CTL_REG,      0x00, 0x00,
                   1062: APP_INDEX_REG,    0x00, 0x00,
                   1063: VMEM_CONTROL_REG, 0x00, 0x00,
                   1064: MEMACC_MODE_REG,  0x00, 0x03,
                   1065: INDEX_REG,        0x50, 0x01,
                   1066: INDEX_REG,        0x50, 0x00,
                   1067: INDEX_REG,        0x10, 0x67,
                   1068: INDEX_REG,        0x11, 0x00,
                   1069: INDEX_REG,        0x12, 0x4F,
                   1070: INDEX_REG,        0x13, 0x00,
                   1071: INDEX_REG,        0x14, 0x4F,
                   1072: INDEX_REG,        0x15, 0x00,
                   1073: INDEX_REG,        0x16, 0x67,
                   1074: INDEX_REG,        0x17, 0x00,
                   1075: INDEX_REG,        0x18, 0x55,
                   1076: INDEX_REG,        0x19, 0x00,
                   1077: INDEX_REG,        0x1A, 0x5A,
                   1078: INDEX_REG,        0x1B, 0x00,
                   1079: INDEX_REG,        0x1C, 0x20,
                   1080: INDEX_REG,        0x1E, 0x02,
                   1081: INDEX_REG,        0x20, 0xC0,
                   1082: INDEX_REG,        0x21, 0x01,
                   1083: INDEX_REG,        0x22, 0x8F,
                   1084: INDEX_REG,        0x23, 0x01,
                   1085: INDEX_REG,        0x24, 0x8F,
                   1086: INDEX_REG,        0x25, 0x01,
                   1087: INDEX_REG,        0x26, 0xC0,
                   1088: INDEX_REG,        0x27, 0x01,
                   1089: INDEX_REG,        0x28, 0x9C,
                   1090: INDEX_REG,        0x29, 0x01,
                   1091: INDEX_REG,        0x2A, 0x9E,
                   1092: INDEX_REG,        0x2C, 0xFF,
                   1093: INDEX_REG,        0x2D, 0xFF,
                   1094: INDEX_REG,        0x36, 0x00,
                   1095: INDEX_REG,        0x40, 0x00,
                   1096: INDEX_REG,        0x41, 0x00,
                   1097: INDEX_REG,        0x42, 0x00,
                   1098: INDEX_REG,        0x43, 0x50,
                   1099: INDEX_REG,        0x44, 0x00,
                   1100: INDEX_REG,        0x54, 0x01,
                   1101: INDEX_REG,        0x70, 0x00,
                   1102: INDEX_REG,        0x51, 0x03,
                   1103: INDEX_REG,        0x58, 0x3D,
                   1104: INDEX_REG,        0x54, 0x80,
                   1105: INDEX_REG,        0x50, 0x47,
                   1106: INDEX_REG,        0x55, 0x00,
                   1107: INDEX_REG,        0x60, 0x00,
                   1108: INDEX_REG,        0x61, 0x00,
                   1109: INDEX_REG,        0x62, 0x00,
                   1110: INDEX_REG,        0x63, 0x00,
                   1111: INDEX_REG,        0x64, 0xFF,
                   1112: END_OF_SWITCH
                   1113: };
                   1114: 
                   1115: 
                   1116: MODE_REGISTER_DATA_TABLE XGA2_640x400x8x88Hz[] = {
                   1117: 
                   1118: INT_ENABLE_REG,   0x00, 0x00,
                   1119: INT_STATUS_REG,   0x00, 0xFF,
                   1120: OP_MODE_REG,      0x00, 0x04,
                   1121: INDEX_REG,        0x64, 0x00,
                   1122: APP_CTL_REG,      0x00, 0x00,
                   1123: APP_INDEX_REG,    0x00, 0x00,
                   1124: VMEM_CONTROL_REG, 0x00, 0x00,
                   1125: MEMACC_MODE_REG,  0x00, 0x03,
                   1126: INDEX_REG,        0x50, 0x01,
                   1127: INDEX_REG,        0x50, 0x00,
                   1128: INDEX_REG,        0x10, 0x63,
                   1129: INDEX_REG,        0x11, 0x00,
                   1130: INDEX_REG,        0x12, 0x4F,
                   1131: INDEX_REG,        0x13, 0x00,
                   1132: INDEX_REG,        0x14, 0x4F,
                   1133: INDEX_REG,        0x15, 0x00,
                   1134: INDEX_REG,        0x16, 0x63,
                   1135: INDEX_REG,        0x17, 0x00,
                   1136: INDEX_REG,        0x18, 0x54,
                   1137: INDEX_REG,        0x19, 0x00,
                   1138: INDEX_REG,        0x1A, 0x60,
                   1139: INDEX_REG,        0x1B, 0x00,
                   1140: INDEX_REG,        0x1C, 0x20,
                   1141: INDEX_REG,        0x1E, 0x02,
                   1142: INDEX_REG,        0x20, 0xC0,
                   1143: INDEX_REG,        0x21, 0x01,
                   1144: INDEX_REG,        0x22, 0x8F,
                   1145: INDEX_REG,        0x23, 0x01,
                   1146: INDEX_REG,        0x24, 0x8F,
                   1147: INDEX_REG,        0x25, 0x01,
                   1148: INDEX_REG,        0x26, 0xC0,
                   1149: INDEX_REG,        0x27, 0x01,
                   1150: INDEX_REG,        0x28, 0x9C,
                   1151: INDEX_REG,        0x29, 0x01,
                   1152: INDEX_REG,        0x2A, 0x9E,
                   1153: INDEX_REG,        0x2C, 0xFF,
                   1154: INDEX_REG,        0x2D, 0xFF,
                   1155: INDEX_REG,        0x36, 0x00,
                   1156: INDEX_REG,        0x40, 0x00,
                   1157: INDEX_REG,        0x41, 0x00,
                   1158: INDEX_REG,        0x42, 0x00,
                   1159: INDEX_REG,        0x43, 0x50,
                   1160: INDEX_REG,        0x44, 0x00,
                   1161: INDEX_REG,        0x54, 0x01,
                   1162: INDEX_REG,        0x70, 0x00,
                   1163: INDEX_REG,        0x51, 0x03,
                   1164: INDEX_REG,        0x58, 0x3D,
                   1165: INDEX_REG,        0x54, 0x80,
                   1166: INDEX_REG,        0x50, 0x47,
                   1167: INDEX_REG,        0x55, 0x00,
                   1168: INDEX_REG,        0x60, 0x00,
                   1169: INDEX_REG,        0x61, 0x00,
                   1170: INDEX_REG,        0x62, 0x00,
                   1171: INDEX_REG,        0x63, 0x00,
                   1172: INDEX_REG,        0x64, 0xFF,
                   1173: END_OF_SWITCH
                   1174: };
                   1175: 
                   1176: 
                   1177: MODE_REGISTER_DATA_TABLE XGA2_800x600x8x56Hz[] = {
                   1178: 
                   1179: INT_ENABLE_REG,   0x00, 0x00,
                   1180: INT_STATUS_REG,   0x00, 0xFF,
                   1181: OP_MODE_REG,      0x00, 0x04,
                   1182: INDEX_REG,        0x64, 0x00,
                   1183: APP_CTL_REG,      0x00, 0x00,
                   1184: APP_INDEX_REG,    0x00, 0x00,
                   1185: VMEM_CONTROL_REG, 0x00, 0x00,
                   1186: MEMACC_MODE_REG,  0x00, 0x03,
                   1187: INDEX_REG,        0x50, 0x01,
                   1188: INDEX_REG,        0x50, 0x00,
                   1189: INDEX_REG,        0x10, 0x7F,
                   1190: INDEX_REG,        0x11, 0x00,
                   1191: INDEX_REG,        0x12, 0x63,
                   1192: INDEX_REG,        0x13, 0x00,
                   1193: INDEX_REG,        0x14, 0x63,
                   1194: INDEX_REG,        0x15, 0x00,
                   1195: INDEX_REG,        0x16, 0x7F,
                   1196: INDEX_REG,        0x17, 0x00,
                   1197: INDEX_REG,        0x18, 0x69,
                   1198: INDEX_REG,        0x19, 0x00,
                   1199: INDEX_REG,        0x1A, 0x72,
                   1200: INDEX_REG,        0x1B, 0x00,
                   1201: INDEX_REG,        0x1C, 0x20,
                   1202: INDEX_REG,        0x1E, 0x02,
                   1203: INDEX_REG,        0x20, 0x70,
                   1204: INDEX_REG,        0x21, 0x02,
                   1205: INDEX_REG,        0x22, 0x57,
                   1206: INDEX_REG,        0x23, 0x02,
                   1207: INDEX_REG,        0x24, 0x57,
                   1208: INDEX_REG,        0x25, 0x02,
                   1209: INDEX_REG,        0x26, 0x70,
                   1210: INDEX_REG,        0x27, 0x02,
                   1211: INDEX_REG,        0x28, 0x58,
                   1212: INDEX_REG,        0x29, 0x02,
                   1213: INDEX_REG,        0x2A, 0x5A,
                   1214: INDEX_REG,        0x2C, 0xFF,
                   1215: INDEX_REG,        0x2D, 0xFF,
                   1216: INDEX_REG,        0x36, 0x00,
                   1217: INDEX_REG,        0x40, 0x00,
                   1218: INDEX_REG,        0x41, 0x00,
                   1219: INDEX_REG,        0x42, 0x00,
                   1220: INDEX_REG,        0x43, 0x64,
                   1221: INDEX_REG,        0x44, 0x00,
                   1222: INDEX_REG,        0x54, 0x01,
                   1223: INDEX_REG,        0x70, 0x00,
                   1224: INDEX_REG,        0x51, 0x03,
                   1225: INDEX_REG,        0x58, 0x47,
                   1226: INDEX_REG,        0x54, 0x80,
                   1227: INDEX_REG,        0x50, 0x07,
                   1228: INDEX_REG,        0x55, 0x00,
                   1229: INDEX_REG,        0x60, 0x00,
                   1230: INDEX_REG,        0x61, 0x00,
                   1231: INDEX_REG,        0x62, 0x00,
                   1232: INDEX_REG,        0x63, 0x00,
                   1233: INDEX_REG,        0x64, 0xFF,
                   1234: END_OF_SWITCH
                   1235: };
                   1236: 
                   1237: 
                   1238: MODE_REGISTER_DATA_TABLE XGA2_800x600x8x60Hz[] = {
                   1239: 
                   1240: INT_ENABLE_REG,   0x00, 0x00,
                   1241: INT_STATUS_REG,   0x00, 0xFF,
                   1242: OP_MODE_REG,      0x00, 0x04,
                   1243: INDEX_REG,        0x64, 0x00,
                   1244: APP_CTL_REG,      0x00, 0x00,
                   1245: APP_INDEX_REG,    0x00, 0x00,
                   1246: VMEM_CONTROL_REG, 0x00, 0x00,
                   1247: MEMACC_MODE_REG,  0x00, 0x03,
                   1248: INDEX_REG,        0x50, 0x01,
                   1249: INDEX_REG,        0x50, 0x00,
                   1250: INDEX_REG,        0x10, 0x83,
                   1251: INDEX_REG,        0x11, 0x00,
                   1252: INDEX_REG,        0x12, 0x63,
                   1253: INDEX_REG,        0x13, 0x00,
                   1254: INDEX_REG,        0x14, 0x63,
                   1255: INDEX_REG,        0x15, 0x00,
                   1256: INDEX_REG,        0x16, 0x83,
                   1257: INDEX_REG,        0x17, 0x00,
                   1258: INDEX_REG,        0x18, 0x6B,
                   1259: INDEX_REG,        0x19, 0x00,
                   1260: INDEX_REG,        0x1A, 0x7B,
                   1261: INDEX_REG,        0x1B, 0x00,
                   1262: INDEX_REG,        0x1C, 0x20,
                   1263: INDEX_REG,        0x1E, 0x02,
                   1264: INDEX_REG,        0x20, 0x73,
                   1265: INDEX_REG,        0x21, 0x02,
                   1266: INDEX_REG,        0x22, 0x57,
                   1267: INDEX_REG,        0x23, 0x02,
                   1268: INDEX_REG,        0x24, 0x57,
                   1269: INDEX_REG,        0x25, 0x02,
                   1270: INDEX_REG,        0x26, 0x73,
                   1271: INDEX_REG,        0x27, 0x02,
                   1272: INDEX_REG,        0x28, 0x58,
                   1273: INDEX_REG,        0x29, 0x02,
                   1274: INDEX_REG,        0x2A, 0x5C,
                   1275: INDEX_REG,        0x2C, 0xFF,
                   1276: INDEX_REG,        0x2D, 0xFF,
                   1277: INDEX_REG,        0x36, 0x00,
                   1278: INDEX_REG,        0x40, 0x00,
                   1279: INDEX_REG,        0x41, 0x00,
                   1280: INDEX_REG,        0x42, 0x00,
                   1281: INDEX_REG,        0x43, 0x64,
                   1282: INDEX_REG,        0x44, 0x00,
                   1283: INDEX_REG,        0x54, 0x01,
                   1284: INDEX_REG,        0x70, 0x00,
                   1285: INDEX_REG,        0x51, 0x03,
                   1286: INDEX_REG,        0x58, 0x4F,
                   1287: INDEX_REG,        0x54, 0x80,
                   1288: INDEX_REG,        0x50, 0x07,
                   1289: INDEX_REG,        0x55, 0x00,
                   1290: INDEX_REG,        0x60, 0x00,
                   1291: INDEX_REG,        0x61, 0x00,
                   1292: INDEX_REG,        0x62, 0x00,
                   1293: INDEX_REG,        0x63, 0x00,
                   1294: INDEX_REG,        0x64, 0xFF,
                   1295: END_OF_SWITCH
                   1296: };
                   1297: 
                   1298: 
                   1299: MODE_REGISTER_DATA_TABLE XGA2_800x600x8x72Hz[] = {
                   1300: 
                   1301: INT_ENABLE_REG,   0x00, 0x00,
                   1302: INT_STATUS_REG,   0x00, 0xFF,
                   1303: OP_MODE_REG,      0x00, 0x04,
                   1304: INDEX_REG,        0x64, 0x00,
                   1305: APP_CTL_REG,      0x00, 0x00,
                   1306: APP_INDEX_REG,    0x00, 0x00,
                   1307: VMEM_CONTROL_REG, 0x00, 0x00,
                   1308: MEMACC_MODE_REG,  0x00, 0x03,
                   1309: INDEX_REG,        0x50, 0x01,
                   1310: INDEX_REG,        0x50, 0x00,
                   1311: INDEX_REG,        0x10, 0x81,
                   1312: INDEX_REG,        0x11, 0x00,
                   1313: INDEX_REG,        0x12, 0x63,
                   1314: INDEX_REG,        0x13, 0x00,
                   1315: INDEX_REG,        0x14, 0x63,
                   1316: INDEX_REG,        0x15, 0x00,
                   1317: INDEX_REG,        0x16, 0x81,
                   1318: INDEX_REG,        0x17, 0x00,
                   1319: INDEX_REG,        0x18, 0x70,
                   1320: INDEX_REG,        0x19, 0x00,
                   1321: INDEX_REG,        0x1A, 0x7F,
                   1322: INDEX_REG,        0x1B, 0x00,
                   1323: INDEX_REG,        0x1C, 0x00,
                   1324: INDEX_REG,        0x1E, 0x00,
                   1325: INDEX_REG,        0x20, 0x99,
                   1326: INDEX_REG,        0x21, 0x02,
                   1327: INDEX_REG,        0x22, 0x57,
                   1328: INDEX_REG,        0x23, 0x02,
                   1329: INDEX_REG,        0x24, 0x57,
                   1330: INDEX_REG,        0x25, 0x02,
                   1331: INDEX_REG,        0x26, 0x99,
                   1332: INDEX_REG,        0x27, 0x02,
                   1333: INDEX_REG,        0x28, 0x7C,
                   1334: INDEX_REG,        0x29, 0x02,
                   1335: INDEX_REG,        0x2A, 0x82,
                   1336: INDEX_REG,        0x2C, 0xFF,
                   1337: INDEX_REG,        0x2D, 0xFF,
                   1338: INDEX_REG,        0x36, 0x00,
                   1339: INDEX_REG,        0x40, 0x00,
                   1340: INDEX_REG,        0x41, 0x00,
                   1341: INDEX_REG,        0x42, 0x00,
                   1342: INDEX_REG,        0x43, 0x64,
                   1343: INDEX_REG,        0x44, 0x00,
                   1344: INDEX_REG,        0x54, 0x01,
                   1345: INDEX_REG,        0x70, 0x00,
                   1346: INDEX_REG,        0x51, 0x03,
                   1347: INDEX_REG,        0x58, 0x63,
                   1348: INDEX_REG,        0x54, 0x81,
                   1349: INDEX_REG,        0x50, 0x07,
                   1350: INDEX_REG,        0x55, 0x00,
                   1351: INDEX_REG,        0x60, 0x00,
                   1352: INDEX_REG,        0x61, 0x00,
                   1353: INDEX_REG,        0x62, 0x00,
                   1354: INDEX_REG,        0x63, 0x00,
                   1355: INDEX_REG,        0x64, 0xFF,
                   1356: END_OF_SWITCH
                   1357: };
                   1358: 
                   1359: 
                   1360: MODE_REGISTER_DATA_TABLE XGA2_800x600x8x75Hz[] = {
                   1361: 
                   1362: INT_ENABLE_REG,   0x00, 0x00,
                   1363: INT_STATUS_REG,   0x00, 0xFF,
                   1364: OP_MODE_REG,      0x00, 0x04,
                   1365: INDEX_REG,        0x64, 0x00,
                   1366: APP_CTL_REG,      0x00, 0x00,
                   1367: APP_INDEX_REG,    0x00, 0x00,
                   1368: VMEM_CONTROL_REG, 0x00, 0x00,
                   1369: MEMACC_MODE_REG,  0x00, 0x03,
                   1370: INDEX_REG,        0x50, 0x01,
                   1371: INDEX_REG,        0x50, 0x00,
                   1372: INDEX_REG,        0x10, 0x81,
                   1373: INDEX_REG,        0x11, 0x00,
                   1374: INDEX_REG,        0x12, 0x63,
                   1375: INDEX_REG,        0x13, 0x00,
                   1376: INDEX_REG,        0x14, 0x63,
                   1377: INDEX_REG,        0x15, 0x00,
                   1378: INDEX_REG,        0x16, 0x81,
                   1379: INDEX_REG,        0x17, 0x00,
                   1380: INDEX_REG,        0x18, 0x70,
                   1381: INDEX_REG,        0x19, 0x00,
                   1382: INDEX_REG,        0x1A, 0x7F,
                   1383: INDEX_REG,        0x1B, 0x00,
                   1384: INDEX_REG,        0x1C, 0x00,
                   1385: INDEX_REG,        0x1E, 0x00,
                   1386: INDEX_REG,        0x20, 0x99,
                   1387: INDEX_REG,        0x21, 0x02,
                   1388: INDEX_REG,        0x22, 0x57,
                   1389: INDEX_REG,        0x23, 0x02,
                   1390: INDEX_REG,        0x24, 0x57,
                   1391: INDEX_REG,        0x25, 0x02,
                   1392: INDEX_REG,        0x26, 0x99,
                   1393: INDEX_REG,        0x27, 0x02,
                   1394: INDEX_REG,        0x28, 0x7C,
                   1395: INDEX_REG,        0x29, 0x02,
                   1396: INDEX_REG,        0x2A, 0x82,
                   1397: INDEX_REG,        0x2C, 0xFF,
                   1398: INDEX_REG,        0x2D, 0xFF,
                   1399: INDEX_REG,        0x36, 0x00,
                   1400: INDEX_REG,        0x40, 0x00,
                   1401: INDEX_REG,        0x41, 0x00,
                   1402: INDEX_REG,        0x42, 0x00,
                   1403: INDEX_REG,        0x43, 0x64,
                   1404: INDEX_REG,        0x44, 0x00,
                   1405: INDEX_REG,        0x54, 0x01,
                   1406: INDEX_REG,        0x70, 0x00,
                   1407: INDEX_REG,        0x51, 0x03,
                   1408: INDEX_REG,        0x58, 0x67,
                   1409: INDEX_REG,        0x54, 0x81,
                   1410: INDEX_REG,        0x50, 0x07,
                   1411: INDEX_REG,        0x55, 0x00,
                   1412: INDEX_REG,        0x60, 0x00,
                   1413: INDEX_REG,        0x61, 0x00,
                   1414: INDEX_REG,        0x62, 0x00,
                   1415: INDEX_REG,        0x63, 0x00,
                   1416: INDEX_REG,        0x64, 0xFF,
                   1417: END_OF_SWITCH
                   1418: };
                   1419: 
                   1420: 
                   1421: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x43Hz[] = {
                   1422: 
                   1423: INT_ENABLE_REG,   0x00, 0x00,
                   1424: INT_STATUS_REG,   0x00, 0xFF,
                   1425: OP_MODE_REG,      0x00, 0x04,
                   1426: INDEX_REG,        0x64, 0x00,
                   1427: APP_CTL_REG,      0x00, 0x00,
                   1428: APP_INDEX_REG,    0x00, 0x00,
                   1429: VMEM_CONTROL_REG, 0x00, 0x00,
                   1430: MEMACC_MODE_REG,  0x00, 0x03,
                   1431: INDEX_REG,        0x50, 0x01,
                   1432: INDEX_REG,        0x50, 0x00,
                   1433: INDEX_REG,        0x10, 0x9D,
                   1434: INDEX_REG,        0x11, 0x00,
                   1435: INDEX_REG,        0x12, 0x7F,
                   1436: INDEX_REG,        0x13, 0x00,
                   1437: INDEX_REG,        0x14, 0x7F,
                   1438: INDEX_REG,        0x15, 0x00,
                   1439: INDEX_REG,        0x16, 0x9D,
                   1440: INDEX_REG,        0x17, 0x00,
                   1441: INDEX_REG,        0x18, 0x83,
                   1442: INDEX_REG,        0x19, 0x00,
                   1443: INDEX_REG,        0x1A, 0x99,
                   1444: INDEX_REG,        0x1B, 0x00,
                   1445: INDEX_REG,        0x1C, 0x20,
                   1446: INDEX_REG,        0x1E, 0x02,
                   1447: INDEX_REG,        0x20, 0x30,
                   1448: INDEX_REG,        0x21, 0x03,
                   1449: INDEX_REG,        0x22, 0xFF,
                   1450: INDEX_REG,        0x23, 0x02,
                   1451: INDEX_REG,        0x24, 0xFF,
                   1452: INDEX_REG,        0x25, 0x02,
                   1453: INDEX_REG,        0x26, 0x30,
                   1454: INDEX_REG,        0x27, 0x03,
                   1455: INDEX_REG,        0x28, 0x00,
                   1456: INDEX_REG,        0x29, 0x03,
                   1457: INDEX_REG,        0x2A, 0x08,
                   1458: INDEX_REG,        0x2C, 0xFF,
                   1459: INDEX_REG,        0x2D, 0xFF,
                   1460: INDEX_REG,        0x36, 0x00,
                   1461: INDEX_REG,        0x40, 0x00,
                   1462: INDEX_REG,        0x41, 0x00,
                   1463: INDEX_REG,        0x42, 0x00,
                   1464: INDEX_REG,        0x43, 0x80,
                   1465: INDEX_REG,        0x44, 0x00,
                   1466: INDEX_REG,        0x54, 0x01,
                   1467: INDEX_REG,        0x70, 0x00,
                   1468: INDEX_REG,        0x51, 0x03,
                   1469: INDEX_REG,        0x58, 0x59,
                   1470: INDEX_REG,        0x54, 0x80,
                   1471: INDEX_REG,        0x50, 0x0F,
                   1472: INDEX_REG,        0x55, 0x00,
                   1473: INDEX_REG,        0x60, 0x00,
                   1474: INDEX_REG,        0x61, 0x00,
                   1475: INDEX_REG,        0x62, 0x00,
                   1476: INDEX_REG,        0x63, 0x00,
                   1477: INDEX_REG,        0x64, 0xFF,
                   1478: END_OF_SWITCH
                   1479: };
                   1480: 
                   1481: 
                   1482: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x60Hz[] = {
                   1483: 
                   1484: INT_ENABLE_REG,   0x00, 0x00,
                   1485: INT_STATUS_REG,   0x00, 0xFF,
                   1486: OP_MODE_REG,      0x00, 0x04,
                   1487: INDEX_REG,        0x64, 0x00,
                   1488: APP_CTL_REG,      0x00, 0x00,
                   1489: APP_INDEX_REG,    0x00, 0x00,
                   1490: VMEM_CONTROL_REG, 0x00, 0x00,
                   1491: MEMACC_MODE_REG,  0x00, 0x03,
                   1492: INDEX_REG,        0x50, 0x01,
                   1493: INDEX_REG,        0x50, 0x00,
                   1494: INDEX_REG,        0x10, 0xA7,
                   1495: INDEX_REG,        0x11, 0x00,
                   1496: INDEX_REG,        0x12, 0x7F,
                   1497: INDEX_REG,        0x13, 0x00,
                   1498: INDEX_REG,        0x14, 0x7F,
                   1499: INDEX_REG,        0x15, 0x00,
                   1500: INDEX_REG,        0x16, 0xA7,
                   1501: INDEX_REG,        0x17, 0x00,
                   1502: INDEX_REG,        0x18, 0x88,
                   1503: INDEX_REG,        0x19, 0x00,
                   1504: INDEX_REG,        0x1A, 0x99,
                   1505: INDEX_REG,        0x1B, 0x00,
                   1506: INDEX_REG,        0x1C, 0x00,
                   1507: INDEX_REG,        0x1E, 0x00,
                   1508: INDEX_REG,        0x20, 0x25,
                   1509: INDEX_REG,        0x21, 0x03,
                   1510: INDEX_REG,        0x22, 0xFF,
                   1511: INDEX_REG,        0x23, 0x02,
                   1512: INDEX_REG,        0x24, 0xFF,
                   1513: INDEX_REG,        0x25, 0x02,
                   1514: INDEX_REG,        0x26, 0x25,
                   1515: INDEX_REG,        0x27, 0x03,
                   1516: INDEX_REG,        0x28, 0x02,
                   1517: INDEX_REG,        0x29, 0x03,
                   1518: INDEX_REG,        0x2A, 0x08,
                   1519: INDEX_REG,        0x2C, 0xFF,
                   1520: INDEX_REG,        0x2D, 0xFF,
                   1521: INDEX_REG,        0x36, 0x00,
                   1522: INDEX_REG,        0x40, 0x00,
                   1523: INDEX_REG,        0x41, 0x00,
                   1524: INDEX_REG,        0x42, 0x00,
                   1525: INDEX_REG,        0x43, 0x80,
                   1526: INDEX_REG,        0x44, 0x00,
                   1527: INDEX_REG,        0x54, 0x01,
                   1528: INDEX_REG,        0x70, 0x00,
                   1529: INDEX_REG,        0x51, 0x03,
                   1530: INDEX_REG,        0x58, 0x80,
                   1531: INDEX_REG,        0x54, 0x81,
                   1532: INDEX_REG,        0x50, 0xC7,
                   1533: INDEX_REG,        0x55, 0x00,
                   1534: INDEX_REG,        0x60, 0x00,
                   1535: INDEX_REG,        0x61, 0x00,
                   1536: INDEX_REG,        0x62, 0x00,
                   1537: INDEX_REG,        0x63, 0x00,
                   1538: INDEX_REG,        0x64, 0xFF,
                   1539: END_OF_SWITCH
                   1540: };
                   1541: 
                   1542: 
                   1543: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x70Hz[] = {
                   1544: 
                   1545: INT_ENABLE_REG,   0x00, 0x00,
                   1546: INT_STATUS_REG,   0x00, 0xFF,
                   1547: OP_MODE_REG,      0x00, 0x04,
                   1548: INDEX_REG,        0x64, 0x00,
                   1549: APP_CTL_REG,      0x00, 0x00,
                   1550: APP_INDEX_REG,    0x00, 0x00,
                   1551: VMEM_CONTROL_REG, 0x00, 0x00,
                   1552: MEMACC_MODE_REG,  0x00, 0x03,
                   1553: INDEX_REG,        0x50, 0x01,
                   1554: INDEX_REG,        0x50, 0x00,
                   1555: INDEX_REG,        0x10, 0xA5,
                   1556: INDEX_REG,        0x11, 0x00,
                   1557: INDEX_REG,        0x12, 0x7F,
                   1558: INDEX_REG,        0x13, 0x00,
                   1559: INDEX_REG,        0x14, 0x7F,
                   1560: INDEX_REG,        0x15, 0x00,
                   1561: INDEX_REG,        0x16, 0xA5,
                   1562: INDEX_REG,        0x17, 0x00,
                   1563: INDEX_REG,        0x18, 0x88,
                   1564: INDEX_REG,        0x19, 0x00,
                   1565: INDEX_REG,        0x1A, 0x99,
                   1566: INDEX_REG,        0x1B, 0x00,
                   1567: INDEX_REG,        0x1C, 0x00,
                   1568: INDEX_REG,        0x1E, 0x00,
                   1569: INDEX_REG,        0x20, 0x25,
                   1570: INDEX_REG,        0x21, 0x03,
                   1571: INDEX_REG,        0x22, 0xFF,
                   1572: INDEX_REG,        0x23, 0x02,
                   1573: INDEX_REG,        0x24, 0xFF,
                   1574: INDEX_REG,        0x25, 0x02,
                   1575: INDEX_REG,        0x26, 0x25,
                   1576: INDEX_REG,        0x27, 0x03,
                   1577: INDEX_REG,        0x28, 0x02,
                   1578: INDEX_REG,        0x29, 0x03,
                   1579: INDEX_REG,        0x2A, 0x08,
                   1580: INDEX_REG,        0x2C, 0xFF,
                   1581: INDEX_REG,        0x2D, 0xFF,
                   1582: INDEX_REG,        0x36, 0x00,
                   1583: INDEX_REG,        0x40, 0x00,
                   1584: INDEX_REG,        0x41, 0x00,
                   1585: INDEX_REG,        0x42, 0x00,
                   1586: INDEX_REG,        0x43, 0x80,
                   1587: INDEX_REG,        0x44, 0x00,
                   1588: INDEX_REG,        0x54, 0x01,
                   1589: INDEX_REG,        0x70, 0x00,
                   1590: INDEX_REG,        0x51, 0x03,
                   1591: INDEX_REG,        0x58, 0x8A,
                   1592: INDEX_REG,        0x54, 0x81,
                   1593: INDEX_REG,        0x50, 0xC7,
                   1594: INDEX_REG,        0x55, 0x00,
                   1595: INDEX_REG,        0x60, 0x00,
                   1596: INDEX_REG,        0x61, 0x00,
                   1597: INDEX_REG,        0x62, 0x00,
                   1598: INDEX_REG,        0x63, 0x00,
                   1599: INDEX_REG,        0x64, 0xFF,
                   1600: END_OF_SWITCH
                   1601: };
                   1602: 
                   1603: 
                   1604: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x70HzxIBM[] = {
                   1605: 
                   1606: INT_ENABLE_REG,   0x00, 0x00,
                   1607: INT_STATUS_REG,   0x00, 0xFF,
                   1608: OP_MODE_REG,      0x00, 0x04,
                   1609: INDEX_REG,        0x64, 0x00,
                   1610: APP_CTL_REG,      0x00, 0x00,
                   1611: APP_INDEX_REG,    0x00, 0x00,
                   1612: VMEM_CONTROL_REG, 0x00, 0x00,
                   1613: MEMACC_MODE_REG,  0x00, 0x03,
                   1614: INDEX_REG,        0x50, 0x01,
                   1615: INDEX_REG,        0x50, 0x00,
                   1616: INDEX_REG,        0x10, 0xaa,
                   1617: INDEX_REG,        0x11, 0x00,
                   1618: INDEX_REG,        0x12, 0x7F,
                   1619: INDEX_REG,        0x13, 0x00,
                   1620: INDEX_REG,        0x14, 0x7F,
                   1621: INDEX_REG,        0x15, 0x00,
                   1622: INDEX_REG,        0x16, 0xaa,
                   1623: INDEX_REG,        0x17, 0x00,
                   1624: INDEX_REG,        0x18, 0x86,
                   1625: INDEX_REG,        0x19, 0x00,
                   1626: INDEX_REG,        0x1A, 0xa9,
                   1627: INDEX_REG,        0x1B, 0x00,
                   1628: INDEX_REG,        0x1C, 0x00,
                   1629: INDEX_REG,        0x1E, 0x00,
                   1630: INDEX_REG,        0x20, 0x2e,
                   1631: INDEX_REG,        0x21, 0x03,
                   1632: INDEX_REG,        0x22, 0xFF,
                   1633: INDEX_REG,        0x23, 0x02,
                   1634: INDEX_REG,        0x24, 0xFF,
                   1635: INDEX_REG,        0x25, 0x02,
                   1636: INDEX_REG,        0x26, 0x2e,
                   1637: INDEX_REG,        0x27, 0x03,
                   1638: INDEX_REG,        0x28, 0xff,
                   1639: INDEX_REG,        0x29, 0x02,
                   1640: INDEX_REG,        0x2A, 0x07,
                   1641: INDEX_REG,        0x2C, 0xFF,
                   1642: INDEX_REG,        0x2D, 0xFF,
                   1643: INDEX_REG,        0x36, 0x00,
                   1644: INDEX_REG,        0x40, 0x00,
                   1645: INDEX_REG,        0x41, 0x00,
                   1646: INDEX_REG,        0x42, 0x00,
                   1647: INDEX_REG,        0x43, 0x80,
                   1648: INDEX_REG,        0x44, 0x00,
                   1649: INDEX_REG,        0x54, 0x01,
                   1650: INDEX_REG,        0x70, 0x00,
                   1651: INDEX_REG,        0x51, 0x03,
                   1652: INDEX_REG,        0x58, 0x8D,
                   1653: INDEX_REG,        0x54, 0x81,
                   1654: INDEX_REG,        0x50, 0x07,
                   1655: INDEX_REG,        0x55, 0x00,
                   1656: INDEX_REG,        0x60, 0x00,
                   1657: INDEX_REG,        0x61, 0x00,
                   1658: INDEX_REG,        0x62, 0x00,
                   1659: INDEX_REG,        0x63, 0x00,
                   1660: INDEX_REG,        0x64, 0xFF,
                   1661: END_OF_SWITCH
                   1662: };
                   1663: 
                   1664: 
                   1665: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x72Hz[] = {
                   1666: 
                   1667: INT_ENABLE_REG,   0x00, 0x00,
                   1668: INT_STATUS_REG,   0x00, 0xFF,
                   1669: OP_MODE_REG,      0x00, 0x04,
                   1670: INDEX_REG,        0x64, 0x00,
                   1671: APP_CTL_REG,      0x00, 0x00,
                   1672: APP_INDEX_REG,    0x00, 0x00,
                   1673: VMEM_CONTROL_REG, 0x00, 0x00,
                   1674: MEMACC_MODE_REG,  0x00, 0x03,
                   1675: INDEX_REG,        0x50, 0x01,
                   1676: INDEX_REG,        0x50, 0x00,
                   1677: INDEX_REG,        0x10, 0xA9,
                   1678: INDEX_REG,        0x11, 0x00,
                   1679: INDEX_REG,        0x12, 0x7F,
                   1680: INDEX_REG,        0x13, 0x00,
                   1681: INDEX_REG,        0x14, 0x7F,
                   1682: INDEX_REG,        0x15, 0x00,
                   1683: INDEX_REG,        0x16, 0xA9,
                   1684: INDEX_REG,        0x17, 0x00,
                   1685: INDEX_REG,        0x18, 0x86,
                   1686: INDEX_REG,        0x19, 0x00,
                   1687: INDEX_REG,        0x1A, 0xA9,
                   1688: INDEX_REG,        0x1B, 0x00,
                   1689: INDEX_REG,        0x1C, 0x00,
                   1690: INDEX_REG,        0x1E, 0x00,
                   1691: INDEX_REG,        0x20, 0x26,
                   1692: INDEX_REG,        0x21, 0x03,
                   1693: INDEX_REG,        0x22, 0xFF,
                   1694: INDEX_REG,        0x23, 0x02,
                   1695: INDEX_REG,        0x24, 0xFF,
                   1696: INDEX_REG,        0x25, 0x02,
                   1697: INDEX_REG,        0x26, 0x26,
                   1698: INDEX_REG,        0x27, 0x03,
                   1699: INDEX_REG,        0x28, 0xFF,
                   1700: INDEX_REG,        0x29, 0x02,
                   1701: INDEX_REG,        0x2A, 0x07,
                   1702: INDEX_REG,        0x2C, 0xFF,
                   1703: INDEX_REG,        0x2D, 0xFF,
                   1704: INDEX_REG,        0x36, 0x00,
                   1705: INDEX_REG,        0x40, 0x00,
                   1706: INDEX_REG,        0x41, 0x00,
                   1707: INDEX_REG,        0x42, 0x00,
                   1708: INDEX_REG,        0x43, 0x80,
                   1709: INDEX_REG,        0x44, 0x00,
                   1710: INDEX_REG,        0x54, 0x01,
                   1711: INDEX_REG,        0x70, 0x00,
                   1712: INDEX_REG,        0x51, 0x03,
                   1713: INDEX_REG,        0x58, 0x8E,
                   1714: INDEX_REG,        0x54, 0x81,
                   1715: INDEX_REG,        0x50, 0x07,
                   1716: INDEX_REG,        0x55, 0x00,
                   1717: INDEX_REG,        0x60, 0x00,
                   1718: INDEX_REG,        0x61, 0x00,
                   1719: INDEX_REG,        0x62, 0x00,
                   1720: INDEX_REG,        0x63, 0x00,
                   1721: INDEX_REG,        0x64, 0xFF,
                   1722: END_OF_SWITCH
                   1723: };
                   1724: 
                   1725: 
                   1726: MODE_REGISTER_DATA_TABLE XGA2_1024x768x8x75Hz[] = {
                   1727: 
                   1728: INT_ENABLE_REG,   0x00, 0x00,
                   1729: INT_STATUS_REG,   0x00, 0xFF,
                   1730: OP_MODE_REG,      0x00, 0x04,
                   1731: INDEX_REG,        0x64, 0x00,
                   1732: APP_CTL_REG,      0x00, 0x00,
                   1733: APP_INDEX_REG,    0x00, 0x00,
                   1734: VMEM_CONTROL_REG, 0x00, 0x00,
                   1735: MEMACC_MODE_REG,  0x00, 0x03,
                   1736: INDEX_REG,        0x50, 0x01,
                   1737: INDEX_REG,        0x50, 0x00,
                   1738: INDEX_REG,        0x10, 0xAF,
                   1739: INDEX_REG,        0x11, 0x00,
                   1740: INDEX_REG,        0x12, 0x7F,
                   1741: INDEX_REG,        0x13, 0x00,
                   1742: INDEX_REG,        0x14, 0x7F,
                   1743: INDEX_REG,        0x15, 0x00,
                   1744: INDEX_REG,        0x16, 0xAF,
                   1745: INDEX_REG,        0x17, 0x00,
                   1746: INDEX_REG,        0x18, 0x86,
                   1747: INDEX_REG,        0x19, 0x00,
                   1748: INDEX_REG,        0x1A, 0xAE,
                   1749: INDEX_REG,        0x1B, 0x00,
                   1750: INDEX_REG,        0x1C, 0x00,
                   1751: INDEX_REG,        0x1E, 0x00,
                   1752: INDEX_REG,        0x20, 0x25,
                   1753: INDEX_REG,        0x21, 0x03,
                   1754: INDEX_REG,        0x22, 0xFF,
                   1755: INDEX_REG,        0x23, 0x02,
                   1756: INDEX_REG,        0x24, 0xFF,
                   1757: INDEX_REG,        0x25, 0x02,
                   1758: INDEX_REG,        0x26, 0x25,
                   1759: INDEX_REG,        0x27, 0x03,
                   1760: INDEX_REG,        0x28, 0xFF,
                   1761: INDEX_REG,        0x29, 0x02,
                   1762: INDEX_REG,        0x2A, 0x07,
                   1763: INDEX_REG,        0x2C, 0xFF,
                   1764: INDEX_REG,        0x2D, 0xFF,
                   1765: INDEX_REG,        0x36, 0x00,
                   1766: INDEX_REG,        0x40, 0x00,
                   1767: INDEX_REG,        0x41, 0x00,
                   1768: INDEX_REG,        0x42, 0x00,
                   1769: INDEX_REG,        0x43, 0x80,
                   1770: INDEX_REG,        0x44, 0x00,
                   1771: INDEX_REG,        0x54, 0x01,
                   1772: INDEX_REG,        0x70, 0x00,
                   1773: INDEX_REG,        0x51, 0x03,
                   1774: INDEX_REG,        0x58, 0x95,
                   1775: INDEX_REG,        0x54, 0x81,
                   1776: INDEX_REG,        0x50, 0x07,
                   1777: INDEX_REG,        0x55, 0x00,
                   1778: INDEX_REG,        0x60, 0x00,
                   1779: INDEX_REG,        0x61, 0x00,
                   1780: INDEX_REG,        0x62, 0x00,
                   1781: INDEX_REG,        0x63, 0x00,
                   1782: INDEX_REG,        0x64, 0xFF,
                   1783: END_OF_SWITCH
                   1784: };
                   1785: 
                   1786: 
                   1787: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x43Hz[] = {
                   1788: 
                   1789: INT_ENABLE_REG,   0x00, 0x00,
                   1790: INT_STATUS_REG,   0x00, 0xFF,
                   1791: OP_MODE_REG,      0x00, 0x04,
                   1792: INDEX_REG,        0x64, 0x00,
                   1793: APP_CTL_REG,      0x00, 0x00,
                   1794: APP_INDEX_REG,    0x00, 0x00,
                   1795: VMEM_CONTROL_REG, 0x00, 0x00,
                   1796: MEMACC_MODE_REG,  0x00, 0x03,
                   1797: INDEX_REG,        0x50, 0x01,
                   1798: INDEX_REG,        0x50, 0x00,
                   1799: INDEX_REG,        0x10, 0x9F,
                   1800: INDEX_REG,        0x11, 0x00,
                   1801: INDEX_REG,        0x12, 0x81,
                   1802: INDEX_REG,        0x13, 0x00,
                   1803: INDEX_REG,        0x14, 0x81,
                   1804: INDEX_REG,        0x15, 0x00,
                   1805: INDEX_REG,        0x16, 0x9F,
                   1806: INDEX_REG,        0x17, 0x00,
                   1807: INDEX_REG,        0x18, 0x88,
                   1808: INDEX_REG,        0x19, 0x00,
                   1809: INDEX_REG,        0x1A, 0x9E,
                   1810: INDEX_REG,        0x1B, 0x00,
                   1811: INDEX_REG,        0x1C, 0x00,
                   1812: INDEX_REG,        0x1E, 0x00,
                   1813: INDEX_REG,        0x20, 0x30,
                   1814: INDEX_REG,        0x21, 0x03,
                   1815: INDEX_REG,        0x22, 0xFF,
                   1816: INDEX_REG,        0x23, 0x02,
                   1817: INDEX_REG,        0x24, 0xFF,
                   1818: INDEX_REG,        0x25, 0x02,
                   1819: INDEX_REG,        0x26, 0x30,
                   1820: INDEX_REG,        0x27, 0x03,
                   1821: INDEX_REG,        0x28, 0x00,
                   1822: INDEX_REG,        0x29, 0x03,
                   1823: INDEX_REG,        0x2A, 0x08,
                   1824: INDEX_REG,        0x2C, 0xFF,
                   1825: INDEX_REG,        0x2D, 0xFF,
                   1826: INDEX_REG,        0x36, 0x00,
                   1827: INDEX_REG,        0x40, 0x00,
                   1828: INDEX_REG,        0x41, 0x00,
                   1829: INDEX_REG,        0x42, 0x00,
                   1830: INDEX_REG,        0x43, 0x82,
                   1831: INDEX_REG,        0x44, 0x00,
                   1832: INDEX_REG,        0x54, 0x01,
                   1833: INDEX_REG,        0x70, 0x00,
                   1834: INDEX_REG,        0x51, 0x03,
                   1835: INDEX_REG,        0x58, 0x5A,
                   1836: INDEX_REG,        0x54, 0x81,
                   1837: INDEX_REG,        0x50, 0x0F,
                   1838: INDEX_REG,        0x55, 0x00,
                   1839: INDEX_REG,        0x60, 0x00,
                   1840: INDEX_REG,        0x61, 0x00,
                   1841: INDEX_REG,        0x62, 0x00,
                   1842: INDEX_REG,        0x63, 0x00,
                   1843: INDEX_REG,        0x64, 0xFF,
                   1844: END_OF_SWITCH
                   1845: };
                   1846: 
                   1847: 
                   1848: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x60Hz[] = {
                   1849: 
                   1850: INT_ENABLE_REG,   0x00, 0x00,
                   1851: INT_STATUS_REG,   0x00, 0xFF,
                   1852: OP_MODE_REG,      0x00, 0x04,
                   1853: INDEX_REG,        0x64, 0x00,
                   1854: APP_CTL_REG,      0x00, 0x00,
                   1855: APP_INDEX_REG,    0x00, 0x00,
                   1856: VMEM_CONTROL_REG, 0x00, 0x00,
                   1857: MEMACC_MODE_REG,  0x00, 0x03,
                   1858: INDEX_REG,        0x50, 0x01,
                   1859: INDEX_REG,        0x50, 0x00,
                   1860: INDEX_REG,        0x10, 0xAA,
                   1861: INDEX_REG,        0x11, 0x00,
                   1862: INDEX_REG,        0x12, 0x81,
                   1863: INDEX_REG,        0x13, 0x00,
                   1864: INDEX_REG,        0x14, 0x81,
                   1865: INDEX_REG,        0x15, 0x00,
                   1866: INDEX_REG,        0x16, 0xAA,
                   1867: INDEX_REG,        0x17, 0x00,
                   1868: INDEX_REG,        0x18, 0x8A,
                   1869: INDEX_REG,        0x19, 0x00,
                   1870: INDEX_REG,        0x1A, 0x9B,
                   1871: INDEX_REG,        0x1B, 0x00,
                   1872: INDEX_REG,        0x1C, 0x00,
                   1873: INDEX_REG,        0x1E, 0x00,
                   1874: INDEX_REG,        0x20, 0x25,
                   1875: INDEX_REG,        0x21, 0x03,
                   1876: INDEX_REG,        0x22, 0xFF,
                   1877: INDEX_REG,        0x23, 0x02,
                   1878: INDEX_REG,        0x24, 0xFF,
                   1879: INDEX_REG,        0x25, 0x02,
                   1880: INDEX_REG,        0x26, 0x25,
                   1881: INDEX_REG,        0x27, 0x03,
                   1882: INDEX_REG,        0x28, 0x02,
                   1883: INDEX_REG,        0x29, 0x03,
                   1884: INDEX_REG,        0x2A, 0x08,
                   1885: INDEX_REG,        0x2C, 0xFF,
                   1886: INDEX_REG,        0x2D, 0xFF,
                   1887: INDEX_REG,        0x36, 0x00,
                   1888: INDEX_REG,        0x40, 0x00,
                   1889: INDEX_REG,        0x41, 0x00,
                   1890: INDEX_REG,        0x42, 0x00,
                   1891: INDEX_REG,        0x43, 0x82,
                   1892: INDEX_REG,        0x44, 0x00,
                   1893: INDEX_REG,        0x54, 0x01,
                   1894: INDEX_REG,        0x70, 0x00,
                   1895: INDEX_REG,        0x51, 0x03,
                   1896: INDEX_REG,        0x58, 0x81,
                   1897: INDEX_REG,        0x54, 0x81,
                   1898: INDEX_REG,        0x50, 0xC7,
                   1899: INDEX_REG,        0x55, 0x00,
                   1900: INDEX_REG,        0x60, 0x00,
                   1901: INDEX_REG,        0x61, 0x00,
                   1902: INDEX_REG,        0x62, 0x00,
                   1903: INDEX_REG,        0x63, 0x00,
                   1904: INDEX_REG,        0x64, 0xFF,
                   1905: END_OF_SWITCH
                   1906: };
                   1907: 
                   1908: 
                   1909: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x70Hz[] = {
                   1910: 
                   1911: INT_ENABLE_REG,   0x00, 0x00,
                   1912: INT_STATUS_REG,   0x00, 0xFF,
                   1913: OP_MODE_REG,      0x00, 0x04,
                   1914: INDEX_REG,        0x64, 0x00,
                   1915: APP_CTL_REG,      0x00, 0x00,
                   1916: APP_INDEX_REG,    0x00, 0x00,
                   1917: VMEM_CONTROL_REG, 0x00, 0x00,
                   1918: MEMACC_MODE_REG,  0x00, 0x03,
                   1919: INDEX_REG,        0x50, 0x01,
                   1920: INDEX_REG,        0x50, 0x00,
                   1921: INDEX_REG,        0x10, 0xA8,
                   1922: INDEX_REG,        0x11, 0x00,
                   1923: INDEX_REG,        0x12, 0x81,
                   1924: INDEX_REG,        0x13, 0x00,
                   1925: INDEX_REG,        0x14, 0x81,
                   1926: INDEX_REG,        0x15, 0x00,
                   1927: INDEX_REG,        0x16, 0xA8,
                   1928: INDEX_REG,        0x17, 0x00,
                   1929: INDEX_REG,        0x18, 0x8A,
                   1930: INDEX_REG,        0x19, 0x00,
                   1931: INDEX_REG,        0x1A, 0x9B,
                   1932: INDEX_REG,        0x1B, 0x00,
                   1933: INDEX_REG,        0x1C, 0x00,
                   1934: INDEX_REG,        0x1E, 0x00,
                   1935: INDEX_REG,        0x20, 0x25,
                   1936: INDEX_REG,        0x21, 0x03,
                   1937: INDEX_REG,        0x22, 0xFF,
                   1938: INDEX_REG,        0x23, 0x02,
                   1939: INDEX_REG,        0x24, 0xFF,
                   1940: INDEX_REG,        0x25, 0x02,
                   1941: INDEX_REG,        0x26, 0x25,
                   1942: INDEX_REG,        0x27, 0x03,
                   1943: INDEX_REG,        0x28, 0x02,
                   1944: INDEX_REG,        0x29, 0x03,
                   1945: INDEX_REG,        0x2A, 0x08,
                   1946: INDEX_REG,        0x2C, 0xFF,
                   1947: INDEX_REG,        0x2D, 0xFF,
                   1948: INDEX_REG,        0x36, 0x00,
                   1949: INDEX_REG,        0x40, 0x00,
                   1950: INDEX_REG,        0x41, 0x00,
                   1951: INDEX_REG,        0x42, 0x00,
                   1952: INDEX_REG,        0x43, 0x82,
                   1953: INDEX_REG,        0x44, 0x00,
                   1954: INDEX_REG,        0x54, 0x01,
                   1955: INDEX_REG,        0x70, 0x00,
                   1956: INDEX_REG,        0x51, 0x03,
                   1957: INDEX_REG,        0x58, 0x8B,
                   1958: INDEX_REG,        0x54, 0x81,
                   1959: INDEX_REG,        0x50, 0xC7,
                   1960: INDEX_REG,        0x55, 0x00,
                   1961: INDEX_REG,        0x60, 0x00,
                   1962: INDEX_REG,        0x61, 0x00,
                   1963: INDEX_REG,        0x62, 0x00,
                   1964: INDEX_REG,        0x63, 0x00,
                   1965: INDEX_REG,        0x64, 0xFF,
                   1966: END_OF_SWITCH
                   1967: };
                   1968: 
                   1969: 
                   1970: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x70HzDBCS[] = {
                   1971: 
                   1972: INT_ENABLE_REG,   0x00, 0x00,
                   1973: INT_STATUS_REG,   0x00, 0xFF,
                   1974: OP_MODE_REG,      0x00, 0x04,
                   1975: INDEX_REG,        0x64, 0x00,
                   1976: APP_CTL_REG,      0x00, 0x00,
                   1977: APP_INDEX_REG,    0x00, 0x00,
                   1978: VMEM_CONTROL_REG, 0x00, 0x00,
                   1979: MEMACC_MODE_REG,  0x00, 0x03,
                   1980: INDEX_REG,        0x50, 0x01,
                   1981: INDEX_REG,        0x50, 0x00,
                   1982: INDEX_REG,        0x10, 0xAD,
                   1983: INDEX_REG,        0x11, 0x00,
                   1984: INDEX_REG,        0x12, 0x81,
                   1985: INDEX_REG,        0x13, 0x00,
                   1986: INDEX_REG,        0x14, 0x81,
                   1987: INDEX_REG,        0x15, 0x00,
                   1988: INDEX_REG,        0x16, 0xAD,
                   1989: INDEX_REG,        0x17, 0x00,
                   1990: INDEX_REG,        0x18, 0x88,
                   1991: INDEX_REG,        0x19, 0x00,
                   1992: INDEX_REG,        0x1A, 0xAB,
                   1993: INDEX_REG,        0x1B, 0x00,
                   1994: INDEX_REG,        0x1C, 0x00,
                   1995: INDEX_REG,        0x1E, 0x00,
                   1996: INDEX_REG,        0x20, 0x2E,
                   1997: INDEX_REG,        0x21, 0x03,
                   1998: INDEX_REG,        0x22, 0xFF,
                   1999: INDEX_REG,        0x23, 0x02,
                   2000: INDEX_REG,        0x24, 0xFF,
                   2001: INDEX_REG,        0x25, 0x02,
                   2002: INDEX_REG,        0x26, 0x2E,
                   2003: INDEX_REG,        0x27, 0x03,
                   2004: INDEX_REG,        0x28, 0xFF,
                   2005: INDEX_REG,        0x29, 0x02,
                   2006: INDEX_REG,        0x2A, 0x07,
                   2007: INDEX_REG,        0x2C, 0xFF,
                   2008: INDEX_REG,        0x2D, 0xFF,
                   2009: INDEX_REG,        0x36, 0x00,
                   2010: INDEX_REG,        0x40, 0x00,
                   2011: INDEX_REG,        0x41, 0x00,
                   2012: INDEX_REG,        0x42, 0x00,
                   2013: INDEX_REG,        0x43, 0x82,
                   2014: INDEX_REG,        0x44, 0x00,
                   2015: INDEX_REG,        0x54, 0x01,
                   2016: INDEX_REG,        0x70, 0x00,
                   2017: INDEX_REG,        0x51, 0x03,
                   2018: INDEX_REG,        0x58, 0x8E,
                   2019: INDEX_REG,        0x54, 0x81,
                   2020: INDEX_REG,        0x50, 0x07,
                   2021: INDEX_REG,        0x55, 0x00,
                   2022: INDEX_REG,        0x60, 0x00,
                   2023: INDEX_REG,        0x61, 0x00,
                   2024: INDEX_REG,        0x62, 0x00,
                   2025: INDEX_REG,        0x63, 0x00,
                   2026: INDEX_REG,        0x64, 0xFF,
                   2027: END_OF_SWITCH
                   2028: };
                   2029: 
                   2030: 
                   2031: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x72Hz[] = {
                   2032: 
                   2033: INT_ENABLE_REG,   0x00, 0x00,
                   2034: INT_STATUS_REG,   0x00, 0xFF,
                   2035: OP_MODE_REG,      0x00, 0x04,
                   2036: INDEX_REG,        0x64, 0x00,
                   2037: APP_CTL_REG,      0x00, 0x00,
                   2038: APP_INDEX_REG,    0x00, 0x00,
                   2039: VMEM_CONTROL_REG, 0x00, 0x00,
                   2040: MEMACC_MODE_REG,  0x00, 0x03,
                   2041: INDEX_REG,        0x50, 0x01,
                   2042: INDEX_REG,        0x50, 0x00,
                   2043: INDEX_REG,        0x10, 0xAE,
                   2044: INDEX_REG,        0x11, 0x00,
                   2045: INDEX_REG,        0x12, 0x81,
                   2046: INDEX_REG,        0x13, 0x00,
                   2047: INDEX_REG,        0x14, 0x81,
                   2048: INDEX_REG,        0x15, 0x00,
                   2049: INDEX_REG,        0x16, 0xAE,
                   2050: INDEX_REG,        0x17, 0x00,
                   2051: INDEX_REG,        0x18, 0x89,
                   2052: INDEX_REG,        0x19, 0x00,
                   2053: INDEX_REG,        0x1A, 0xAD,
                   2054: INDEX_REG,        0x1B, 0x00,
                   2055: INDEX_REG,        0x1C, 0x00,
                   2056: INDEX_REG,        0x1E, 0x00,
                   2057: INDEX_REG,        0x20, 0x26,
                   2058: INDEX_REG,        0x21, 0x03,
                   2059: INDEX_REG,        0x22, 0xFF,
                   2060: INDEX_REG,        0x23, 0x02,
                   2061: INDEX_REG,        0x24, 0xFF,
                   2062: INDEX_REG,        0x25, 0x02,
                   2063: INDEX_REG,        0x26, 0x26,
                   2064: INDEX_REG,        0x27, 0x03,
                   2065: INDEX_REG,        0x28, 0xFF,
                   2066: INDEX_REG,        0x29, 0x02,
                   2067: INDEX_REG,        0x2A, 0x07,
                   2068: INDEX_REG,        0x2C, 0xFF,
                   2069: INDEX_REG,        0x2D, 0xFF,
                   2070: INDEX_REG,        0x36, 0x00,
                   2071: INDEX_REG,        0x40, 0x00,
                   2072: INDEX_REG,        0x41, 0x00,
                   2073: INDEX_REG,        0x42, 0x00,
                   2074: INDEX_REG,        0x43, 0x82,
                   2075: INDEX_REG,        0x44, 0x00,
                   2076: INDEX_REG,        0x54, 0x01,
                   2077: INDEX_REG,        0x70, 0x00,
                   2078: INDEX_REG,        0x51, 0x03,
                   2079: INDEX_REG,        0x58, 0x90,
                   2080: INDEX_REG,        0x54, 0x81,
                   2081: INDEX_REG,        0x50, 0x07,
                   2082: INDEX_REG,        0x55, 0x00,
                   2083: INDEX_REG,        0x60, 0x00,
                   2084: INDEX_REG,        0x61, 0x00,
                   2085: INDEX_REG,        0x62, 0x00,
                   2086: INDEX_REG,        0x63, 0x00,
                   2087: INDEX_REG,        0x64, 0xFF,
                   2088: END_OF_SWITCH
                   2089: };
                   2090: 
                   2091: 
                   2092: MODE_REGISTER_DATA_TABLE XGA2_1040x768x8x75Hz[] = {
                   2093: 
                   2094: INT_ENABLE_REG,   0x00, 0x00,
                   2095: INT_STATUS_REG,   0x00, 0xFF,
                   2096: OP_MODE_REG,      0x00, 0x04,
                   2097: INDEX_REG,        0x64, 0x00,
                   2098: APP_CTL_REG,      0x00, 0x00,
                   2099: APP_INDEX_REG,    0x00, 0x00,
                   2100: VMEM_CONTROL_REG, 0x00, 0x00,
                   2101: MEMACC_MODE_REG,  0x00, 0x03,
                   2102: INDEX_REG,        0x50, 0x01,
                   2103: INDEX_REG,        0x50, 0x00,
                   2104: INDEX_REG,        0x10, 0xB2,
                   2105: INDEX_REG,        0x11, 0x00,
                   2106: INDEX_REG,        0x12, 0x81,
                   2107: INDEX_REG,        0x13, 0x00,
                   2108: INDEX_REG,        0x14, 0x81,
                   2109: INDEX_REG,        0x15, 0x00,
                   2110: INDEX_REG,        0x16, 0xB2,
                   2111: INDEX_REG,        0x17, 0x00,
                   2112: INDEX_REG,        0x18, 0x88,
                   2113: INDEX_REG,        0x19, 0x00,
                   2114: INDEX_REG,        0x1A, 0xB0,
                   2115: INDEX_REG,        0x1B, 0x00,
                   2116: INDEX_REG,        0x1C, 0x00,
                   2117: INDEX_REG,        0x1E, 0x00,
                   2118: INDEX_REG,        0x20, 0x25,
                   2119: INDEX_REG,        0x21, 0x03,
                   2120: INDEX_REG,        0x22, 0xFF,
                   2121: INDEX_REG,        0x23, 0x02,
                   2122: INDEX_REG,        0x24, 0xFF,
                   2123: INDEX_REG,        0x25, 0x02,
                   2124: INDEX_REG,        0x26, 0x25,
                   2125: INDEX_REG,        0x27, 0x03,
                   2126: INDEX_REG,        0x28, 0xFF,
                   2127: INDEX_REG,        0x29, 0x02,
                   2128: INDEX_REG,        0x2A, 0x07,
                   2129: INDEX_REG,        0x2C, 0xFF,
                   2130: INDEX_REG,        0x2D, 0xFF,
                   2131: INDEX_REG,        0x36, 0x00,
                   2132: INDEX_REG,        0x40, 0x00,
                   2133: INDEX_REG,        0x41, 0x00,
                   2134: INDEX_REG,        0x42, 0x00,
                   2135: INDEX_REG,        0x43, 0x82,
                   2136: INDEX_REG,        0x44, 0x00,
                   2137: INDEX_REG,        0x54, 0x01,
                   2138: INDEX_REG,        0x70, 0x00,
                   2139: INDEX_REG,        0x51, 0x03,
                   2140: INDEX_REG,        0x58, 0x96,
                   2141: INDEX_REG,        0x54, 0x81,
                   2142: INDEX_REG,        0x50, 0x07,
                   2143: INDEX_REG,        0x55, 0x00,
                   2144: INDEX_REG,        0x60, 0x00,
                   2145: INDEX_REG,        0x61, 0x00,
                   2146: INDEX_REG,        0x62, 0x00,
                   2147: INDEX_REG,        0x63, 0x00,
                   2148: INDEX_REG,        0x64, 0xFF,
                   2149: END_OF_SWITCH
                   2150: };
                   2151: 
                   2152: 
                   2153: MODE_REGISTER_DATA_TABLE XGA2_1104x828x8x69Hz[] = {
                   2154: 
                   2155: INT_ENABLE_REG,   0x00, 0x00,
                   2156: INT_STATUS_REG,   0x00, 0xFF,
                   2157: OP_MODE_REG,      0x00, 0x04,
                   2158: INDEX_REG,        0x64, 0x00,
                   2159: APP_CTL_REG,      0x00, 0x00,
                   2160: APP_INDEX_REG,    0x00, 0x00,
                   2161: VMEM_CONTROL_REG, 0x00, 0x00,
                   2162: MEMACC_MODE_REG,  0x00, 0x03,
                   2163: INDEX_REG,        0x50, 0x01,
                   2164: INDEX_REG,        0x50, 0x00,
                   2165: INDEX_REG,        0x10, 0xBD,
                   2166: INDEX_REG,        0x11, 0x00,
                   2167: INDEX_REG,        0x12, 0x89,
                   2168: INDEX_REG,        0x13, 0x00,
                   2169: INDEX_REG,        0x14, 0x89,
                   2170: INDEX_REG,        0x15, 0x00,
                   2171: INDEX_REG,        0x16, 0xBD,
                   2172: INDEX_REG,        0x17, 0x00,
                   2173: INDEX_REG,        0x18, 0x94,
                   2174: INDEX_REG,        0x19, 0x00,
                   2175: INDEX_REG,        0x1A, 0xAD,
                   2176: INDEX_REG,        0x1B, 0x00,
                   2177: INDEX_REG,        0x1C, 0x00,
                   2178: INDEX_REG,        0x1E, 0x00,
                   2179: INDEX_REG,        0x20, 0x5B,
                   2180: INDEX_REG,        0x21, 0x03,
                   2181: INDEX_REG,        0x22, 0x3B,
                   2182: INDEX_REG,        0x23, 0x03,
                   2183: INDEX_REG,        0x24, 0x3B,
                   2184: INDEX_REG,        0x25, 0x03,
                   2185: INDEX_REG,        0x26, 0x5B,
                   2186: INDEX_REG,        0x27, 0x03,
                   2187: INDEX_REG,        0x28, 0x3E,
                   2188: INDEX_REG,        0x29, 0x03,
                   2189: INDEX_REG,        0x2A, 0x41,
                   2190: INDEX_REG,        0x2C, 0xFF,
                   2191: INDEX_REG,        0x2D, 0xFF,
                   2192: INDEX_REG,        0x36, 0x00,
                   2193: INDEX_REG,        0x40, 0x00,
                   2194: INDEX_REG,        0x41, 0x00,
                   2195: INDEX_REG,        0x42, 0x00,
                   2196: INDEX_REG,        0x43, 0x8A,
                   2197: INDEX_REG,        0x44, 0x00,
                   2198: INDEX_REG,        0x54, 0x01,
                   2199: INDEX_REG,        0x70, 0x00,
                   2200: INDEX_REG,        0x51, 0x03,
                   2201: INDEX_REG,        0x58, 0x99,
                   2202: INDEX_REG,        0x54, 0x81,
                   2203: INDEX_REG,        0x50, 0x87,
                   2204: INDEX_REG,        0x55, 0x00,
                   2205: INDEX_REG,        0x60, 0x00,
                   2206: INDEX_REG,        0x61, 0x00,
                   2207: INDEX_REG,        0x62, 0x00,
                   2208: INDEX_REG,        0x63, 0x00,
                   2209: INDEX_REG,        0x64, 0xFF,
                   2210: END_OF_SWITCH
                   2211: };
                   2212: 
                   2213: 
                   2214: MODE_REGISTER_DATA_TABLE XGA2_1280x1024x8x45Hz[] = {
                   2215: 
                   2216: INT_ENABLE_REG,   0x00, 0x00,
                   2217: INT_STATUS_REG,   0x00, 0xFF,
                   2218: OP_MODE_REG,      0x00, 0x04,
                   2219: INDEX_REG,        0x64, 0x00,
                   2220: APP_CTL_REG,      0x00, 0x00,
                   2221: APP_INDEX_REG,    0x00, 0x00,
                   2222: VMEM_CONTROL_REG, 0x00, 0x00,
                   2223: MEMACC_MODE_REG,  0x00, 0x03,
                   2224: INDEX_REG,        0x50, 0x01,
                   2225: INDEX_REG,        0x50, 0x00,
                   2226: INDEX_REG,        0x10, 0xD1,
                   2227: INDEX_REG,        0x11, 0x00,
                   2228: INDEX_REG,        0x12, 0x9F,
                   2229: INDEX_REG,        0x13, 0x00,
                   2230: INDEX_REG,        0x14, 0x9F,
                   2231: INDEX_REG,        0x15, 0x00,
                   2232: INDEX_REG,        0x16, 0xD1,
                   2233: INDEX_REG,        0x17, 0x00,
                   2234: INDEX_REG,        0x18, 0xA7,
                   2235: INDEX_REG,        0x19, 0x00,
                   2236: INDEX_REG,        0x1A, 0xCF,
                   2237: INDEX_REG,        0x1B, 0x00,
                   2238: INDEX_REG,        0x1C, 0x00,
                   2239: INDEX_REG,        0x1E, 0x00,
                   2240: INDEX_REG,        0x20, 0x44,
                   2241: INDEX_REG,        0x21, 0x04,
                   2242: INDEX_REG,        0x22, 0xFF,
                   2243: INDEX_REG,        0x23, 0x03,
                   2244: INDEX_REG,        0x24, 0xFF,
                   2245: INDEX_REG,        0x25, 0x03,
                   2246: INDEX_REG,        0x26, 0x44,
                   2247: INDEX_REG,        0x27, 0x04,
                   2248: INDEX_REG,        0x28, 0x02,
                   2249: INDEX_REG,        0x29, 0x04,
                   2250: INDEX_REG,        0x2A, 0x0A,
                   2251: INDEX_REG,        0x2C, 0xFF,
                   2252: INDEX_REG,        0x2D, 0xFF,
                   2253: INDEX_REG,        0x36, 0x00,
                   2254: INDEX_REG,        0x40, 0x00,
                   2255: INDEX_REG,        0x41, 0x00,
                   2256: INDEX_REG,        0x42, 0x00,
                   2257: INDEX_REG,        0x43, 0xA0,
                   2258: INDEX_REG,        0x44, 0x00,
                   2259: INDEX_REG,        0x54, 0x01,
                   2260: INDEX_REG,        0x70, 0x00,
                   2261: INDEX_REG,        0x51, 0x03,
                   2262: INDEX_REG,        0x58, 0x91,
                   2263: INDEX_REG,        0x54, 0x81,
                   2264: INDEX_REG,        0x50, 0x4F,
                   2265: INDEX_REG,        0x55, 0x00,
                   2266: INDEX_REG,        0x60, 0x00,
                   2267: INDEX_REG,        0x61, 0x00,
                   2268: INDEX_REG,        0x62, 0x00,
                   2269: INDEX_REG,        0x63, 0x00,
                   2270: INDEX_REG,        0x64, 0xFF,
                   2271: END_OF_SWITCH
                   2272: };
                   2273: 
                   2274: 
                   2275: MODE_REGISTER_DATA_TABLE XGA2_1280x960x8x45Hz[] = {
                   2276: 
                   2277: INT_ENABLE_REG,   0x00, 0x00,
                   2278: INT_STATUS_REG,   0x00, 0xFF,
                   2279: OP_MODE_REG,      0x00, 0x04,
                   2280: INDEX_REG,        0x64, 0x00,
                   2281: APP_CTL_REG,      0x00, 0x00,
                   2282: APP_INDEX_REG,    0x00, 0x00,
                   2283: VMEM_CONTROL_REG, 0x00, 0x00,
                   2284: MEMACC_MODE_REG,  0x00, 0x03,
                   2285: INDEX_REG,        0x50, 0x01,
                   2286: INDEX_REG,        0x50, 0x00,
                   2287: INDEX_REG,        0x10, 0xD1,
                   2288: INDEX_REG,        0x11, 0x00,
                   2289: INDEX_REG,        0x12, 0x9F,
                   2290: INDEX_REG,        0x13, 0x00,
                   2291: INDEX_REG,        0x14, 0x9F,
                   2292: INDEX_REG,        0x15, 0x00,
                   2293: INDEX_REG,        0x16, 0xD1,
                   2294: INDEX_REG,        0x17, 0x00,
                   2295: INDEX_REG,        0x18, 0xA7,
                   2296: INDEX_REG,        0x19, 0x00,
                   2297: INDEX_REG,        0x1A, 0xCF,
                   2298: INDEX_REG,        0x1B, 0x00,
                   2299: INDEX_REG,        0x1C, 0x00,
                   2300: INDEX_REG,        0x1E, 0x00,
                   2301: INDEX_REG,        0x20, 0x04,
                   2302: INDEX_REG,        0x21, 0x04,
                   2303: INDEX_REG,        0x22, 0xBF,
                   2304: INDEX_REG,        0x23, 0x03,
                   2305: INDEX_REG,        0x24, 0xBF,
                   2306: INDEX_REG,        0x25, 0x03,
                   2307: INDEX_REG,        0x26, 0x04,
                   2308: INDEX_REG,        0x27, 0x04,
                   2309: INDEX_REG,        0x28, 0xC2,
                   2310: INDEX_REG,        0x29, 0x03,
                   2311: INDEX_REG,        0x2A, 0xCA,
                   2312: INDEX_REG,        0x2C, 0xFF,
                   2313: INDEX_REG,        0x2D, 0xFF,
                   2314: INDEX_REG,        0x36, 0x00,
                   2315: INDEX_REG,        0x40, 0x00,
                   2316: INDEX_REG,        0x41, 0x00,
                   2317: INDEX_REG,        0x42, 0x00,
                   2318: INDEX_REG,        0x43, 0xA0,
                   2319: INDEX_REG,        0x44, 0x00,
                   2320: INDEX_REG,        0x54, 0x01,
                   2321: INDEX_REG,        0x70, 0x00,
                   2322: INDEX_REG,        0x51, 0x03,
                   2323: INDEX_REG,        0x58, 0x8C,
                   2324: INDEX_REG,        0x54, 0x81,
                   2325: INDEX_REG,        0x50, 0x4F,
                   2326: INDEX_REG,        0x55, 0x00,
                   2327: INDEX_REG,        0x60, 0x00,
                   2328: INDEX_REG,        0x61, 0x00,
                   2329: INDEX_REG,        0x62, 0x00,
                   2330: INDEX_REG,        0x63, 0x00,
                   2331: INDEX_REG,        0x64, 0xFF,
                   2332: END_OF_SWITCH
                   2333: };
                   2334: 
                   2335: 
                   2336: MODE_REGISTER_DATA_TABLE XGA2_1360x1024x8x45Hz[] = {
                   2337: 
                   2338: INT_ENABLE_REG,   0x00, 0x00,
                   2339: INT_STATUS_REG,   0x00, 0xFF,
                   2340: OP_MODE_REG,      0x00, 0x04,
                   2341: INDEX_REG,        0x64, 0x00,
                   2342: APP_CTL_REG,      0x00, 0x00,
                   2343: APP_INDEX_REG,    0x00, 0x00,
                   2344: VMEM_CONTROL_REG, 0x00, 0x00,
                   2345: MEMACC_MODE_REG,  0x00, 0x03,
                   2346: INDEX_REG,        0x50, 0x01,
                   2347: INDEX_REG,        0x50, 0x00,
                   2348: INDEX_REG,        0x10, 0xDB,
                   2349: INDEX_REG,        0x11, 0x00,
                   2350: INDEX_REG,        0x12, 0xA9,
                   2351: INDEX_REG,        0x13, 0x00,
                   2352: INDEX_REG,        0x14, 0xA9,
                   2353: INDEX_REG,        0x15, 0x00,
                   2354: INDEX_REG,        0x16, 0xDB,
                   2355: INDEX_REG,        0x17, 0x00,
                   2356: INDEX_REG,        0x18, 0xB1,
                   2357: INDEX_REG,        0x19, 0x00,
                   2358: INDEX_REG,        0x1A, 0xD9,
                   2359: INDEX_REG,        0x1B, 0x00,
                   2360: INDEX_REG,        0x1C, 0x00,
                   2361: INDEX_REG,        0x1E, 0x00,
                   2362: INDEX_REG,        0x20, 0x40,
                   2363: INDEX_REG,        0x21, 0x04,
                   2364: INDEX_REG,        0x22, 0xFF,
                   2365: INDEX_REG,        0x23, 0x03,
                   2366: INDEX_REG,        0x24, 0xFF,
                   2367: INDEX_REG,        0x25, 0x03,
                   2368: INDEX_REG,        0x26, 0x40,
                   2369: INDEX_REG,        0x27, 0x04,
                   2370: INDEX_REG,        0x28, 0x02,
                   2371: INDEX_REG,        0x29, 0x04,
                   2372: INDEX_REG,        0x2A, 0x0A,
                   2373: INDEX_REG,        0x2C, 0xFF,
                   2374: INDEX_REG,        0x2D, 0xFF,
                   2375: INDEX_REG,        0x36, 0x00,
                   2376: INDEX_REG,        0x40, 0x00,
                   2377: INDEX_REG,        0x41, 0x00,
                   2378: INDEX_REG,        0x42, 0x00,
                   2379: INDEX_REG,        0x43, 0xAA,
                   2380: INDEX_REG,        0x44, 0x00,
                   2381: INDEX_REG,        0x54, 0x01,
                   2382: INDEX_REG,        0x70, 0x00,
                   2383: INDEX_REG,        0x51, 0x03,
                   2384: INDEX_REG,        0x58, 0x95,
                   2385: INDEX_REG,        0x54, 0x81,
                   2386: INDEX_REG,        0x50, 0x4F,
                   2387: INDEX_REG,        0x55, 0x00,
                   2388: INDEX_REG,        0x60, 0x00,
                   2389: INDEX_REG,        0x61, 0x00,
                   2390: INDEX_REG,        0x62, 0x00,
                   2391: INDEX_REG,        0x63, 0x00,
                   2392: INDEX_REG,        0x64, 0xFF,
                   2393: END_OF_SWITCH
                   2394: };
                   2395: 
                   2396: 
                   2397: //
                   2398: // mode information tables
                   2399: //
                   2400: 
                   2401: //
                   2402: // Characteristics of each mode
                   2403: //
                   2404: 
                   2405: typedef struct _XGA_VIDEO_MODE {
                   2406:     PMODE_REGISTER_DATA_TABLE Xga1Mode;
                   2407:     PMODE_REGISTER_DATA_TABLE Xga2Mode;
                   2408:     ULONG minimumRequiredMemory;
                   2409:     VIDEO_MODE_INFORMATION modeInformation;
                   2410: } XGA_VIDEO_MODE, *PXGA_VIDEO_MODE;
                   2411: 
                   2412: 
                   2413: //
                   2414: // Video mode table - Lists the information about each individual mode
                   2415: //
                   2416: 
                   2417: XGA_VIDEO_MODE XgaModes[] = {
                   2418: 
                   2419: {
                   2420:   XGA1_MODE_640_480_64_GR,         // Mode setting table for XGA 1
                   2421:   NULL,                            // Mode setting table for XGA 2
                   2422:   0x00080000,                      // Required Video memory for this mode
                   2423:     {
                   2424:       sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
                   2425:       0,                           // Mode index used in setting the mode
                   2426:       640,                         // X Resolution, in pixels
                   2427:       480,                         // Y Resolution, in pixels
                   2428:       480,                         // Screen stride, in bytes (distance
                   2429:                                    // between the start point of two
                   2430:                                    // consecutive scan lines, in bytes)
                   2431:       1,                           // Number of video memory planes
                   2432:       6,                           // Number of bits per plane
                   2433:       0,                           // Screen Frequency, in Hertz
                   2434:       330,                         // Horizontal size of screen in millimeters
                   2435:       240,                         // Vertical size of screen in millimeters
                   2436:       8,                           // Number Red pixels in DAC
                   2437:       8,                           // Number Green pixels in DAC
                   2438:       8,                           // Number Blue pixels in DAC
                   2439:       0x00000000,                  // Mask for Red Pixels in non-palette modes
                   2440:       0x00000000,                  // Mask for Green Pixels in non-palette modes
                   2441:       0x00000000,                  // Mask for Blue Pixels in non-palette modes
                   2442:       VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2443:         VIDEO_MODE_MANAGED_PALETTE // Mode description flags.
                   2444:     }
                   2445: },
                   2446: {
                   2447:   XGA1_MODE_1024_768_16_GR,
                   2448:   NULL,
                   2449:   0x00080000,
                   2450:     {
                   2451:       sizeof(VIDEO_MODE_INFORMATION),
                   2452:       1,
                   2453:       1024,
                   2454:       768,
                   2455:       512,
                   2456:       1,
                   2457:       4,
                   2458:       0,
                   2459:       330,
                   2460:       240,
                   2461:       8,
                   2462:       8,
                   2463:       8,
                   2464:       0x00000000,
                   2465:       0x00000000,
                   2466:       0x00000000,
                   2467:       VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2468:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   2469:     }
                   2470: },
                   2471: {
                   2472:   XGA1_MODE_1024_768_64_GR,
                   2473:   NULL,
                   2474:   0x00100000,
                   2475:     {
                   2476:       sizeof(VIDEO_MODE_INFORMATION),
                   2477:       2,
                   2478:       1024,
                   2479:       768,
                   2480:       768,
                   2481:       1,
                   2482:       6,
                   2483:       0,
                   2484:       330,
                   2485:       240,
                   2486:       8,
                   2487:       8,
                   2488:       8,
                   2489:       0x00000000,
                   2490:       0x00000000,
                   2491:       0x00000000,
                   2492:       VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2493:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   2494:     }
                   2495: },
                   2496: {
                   2497:   XGA1_MODE_1024_768_16_CO,
                   2498:   NULL,
                   2499:   0x00080000,
                   2500:     {
                   2501:       sizeof(VIDEO_MODE_INFORMATION),
                   2502:       3,
                   2503:       1024,
                   2504:       768,
                   2505:       512,
                   2506:       1,
                   2507:       4,
                   2508:       0,
                   2509:       330,
                   2510:       240,
                   2511:       8,
                   2512:       8,
                   2513:       8,
                   2514:       0x00000000,
                   2515:       0x00000000,
                   2516:       0x00000000,
                   2517:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2518:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   2519:     }
                   2520: },
                   2521: {
                   2522:   XGA1_640x400x8x70Hz,
                   2523:   XGA2_640x400x8x70Hz,
                   2524:   0x00080000,
                   2525:     {
                   2526:       sizeof(VIDEO_MODE_INFORMATION),
                   2527:       4,
                   2528:       640,
                   2529:       400,
                   2530:       640,
                   2531:       1,
                   2532:       8,
                   2533:       70,
                   2534:       330,
                   2535:       240,
                   2536:       8,
                   2537:       8,
                   2538:       8,
                   2539:       0x00000000,
                   2540:       0x00000000,
                   2541:       0x00000000,
                   2542:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2543:         VIDEO_MODE_MANAGED_PALETTE
                   2544:     }
                   2545: },
                   2546: {
                   2547:   NULL,
                   2548:   XGA2_640x400x8x84Hz,
                   2549:   0x00080000,
                   2550:     {
                   2551:       sizeof(VIDEO_MODE_INFORMATION),
                   2552:       5,
                   2553:       640,
                   2554:       400,
                   2555:       640,
                   2556:       1,
                   2557:       8,
                   2558:       84,
                   2559:       330,
                   2560:       240,
                   2561:       8,
                   2562:       8,
                   2563:       8,
                   2564:       0x00000000,
                   2565:       0x00000000,
                   2566:       0x00000000,
                   2567:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2568:         VIDEO_MODE_MANAGED_PALETTE
                   2569:     }
                   2570: },
                   2571: {
                   2572:   NULL,
                   2573:   XGA2_640x400x8x88Hz,
                   2574:   0x00080000,
                   2575:     {
                   2576:       sizeof(VIDEO_MODE_INFORMATION),
                   2577:       6,
                   2578:       640,
                   2579:       400,
                   2580:       640,
                   2581:       1,
                   2582:       8,
                   2583:       88,
                   2584:       330,
                   2585:       240,
                   2586:       8,
                   2587:       8,
                   2588:       8,
                   2589:       0x00000000,
                   2590:       0x00000000,
                   2591:       0x00000000,
                   2592:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2593:         VIDEO_MODE_MANAGED_PALETTE
                   2594:     }
                   2595: },
                   2596: {
                   2597:   XGA1_640x480x8x60Hz,
                   2598:   XGA2_640x480x8x60Hz,
                   2599:   0x00080000,
                   2600:     {
                   2601:       sizeof(VIDEO_MODE_INFORMATION),
                   2602:       7,
                   2603:       640,
                   2604:       480,
                   2605:       640,
                   2606:       1,
                   2607:       8,
                   2608:       60,
                   2609:       330,
                   2610:       240,
                   2611:       8,
                   2612:       8,
                   2613:       8,
                   2614:       0x00000000,
                   2615:       0x00000000,
                   2616:       0x00000000,
                   2617:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2618:         VIDEO_MODE_MANAGED_PALETTE
                   2619:     }
                   2620: },
                   2621: {
                   2622:   NULL,
                   2623:   XGA2_640x480x8x72Hz,
                   2624:   0x00080000,
                   2625:     {
                   2626:       sizeof(VIDEO_MODE_INFORMATION),
                   2627:       8,
                   2628:       640,
                   2629:       480,
                   2630:       640,
                   2631:       1,
                   2632:       8,
                   2633:       72,
                   2634:       330,
                   2635:       240,
                   2636:       8,
                   2637:       8,
                   2638:       8,
                   2639:       0x00000000,
                   2640:       0x00000000,
                   2641:       0x00000000,
                   2642:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2643:         VIDEO_MODE_MANAGED_PALETTE
                   2644:     }
                   2645: },
                   2646: {
                   2647:   NULL,
                   2648:   XGA2_640x480x8x75Hz,
                   2649:   0x00080000,
                   2650:     {
                   2651:       sizeof(VIDEO_MODE_INFORMATION),
                   2652:       9,
                   2653:       640,
                   2654:       480,
                   2655:       640,
                   2656:       1,
                   2657:       8,
                   2658:       75,
                   2659:       330,
                   2660:       240,
                   2661:       8,
                   2662:       8,
                   2663:       8,
                   2664:       0x00000000,
                   2665:       0x00000000,
                   2666:       0x00000000,
                   2667:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2668:         VIDEO_MODE_MANAGED_PALETTE
                   2669:     }
                   2670: },
                   2671: {
                   2672:   NULL,
                   2673:   XGA2_800x600x8x56Hz,
                   2674:   0x00080000,
                   2675:     {
                   2676:       sizeof(VIDEO_MODE_INFORMATION),
                   2677:       10,
                   2678:       800,
                   2679:       600,
                   2680:       800,
                   2681:       1,
                   2682:       8,
                   2683:       56,
                   2684:       330,
                   2685:       240,
                   2686:       8,
                   2687:       8,
                   2688:       8,
                   2689:       0x00000000,
                   2690:       0x00000000,
                   2691:       0x00000000,
                   2692:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2693:         VIDEO_MODE_MANAGED_PALETTE
                   2694:     }
                   2695: },
                   2696: {
                   2697:   NULL,
                   2698:   XGA2_800x600x8x60Hz,
                   2699:   0x00080000,
                   2700:     {
                   2701:       sizeof(VIDEO_MODE_INFORMATION),
                   2702:       11,
                   2703:       800,
                   2704:       600,
                   2705:       800,
                   2706:       1,
                   2707:       8,
                   2708:       60,
                   2709:       330,
                   2710:       240,
                   2711:       8,
                   2712:       8,
                   2713:       8,
                   2714:       0x00000000,
                   2715:       0x00000000,
                   2716:       0x00000000,
                   2717:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2718:         VIDEO_MODE_MANAGED_PALETTE
                   2719:     }
                   2720: },
                   2721: {
                   2722:   NULL,
                   2723:   XGA2_800x600x8x72Hz,
                   2724:   0x00080000,
                   2725:     {
                   2726:       sizeof(VIDEO_MODE_INFORMATION),
                   2727:       12,
                   2728:       800,
                   2729:       600,
                   2730:       800,
                   2731:       1,
                   2732:       8,
                   2733:       72,
                   2734:       330,
                   2735:       240,
                   2736:       8,
                   2737:       8,
                   2738:       8,
                   2739:       0x00000000,
                   2740:       0x00000000,
                   2741:       0x00000000,
                   2742:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2743:         VIDEO_MODE_MANAGED_PALETTE
                   2744:     }
                   2745: },
                   2746: {
                   2747:   NULL,
                   2748:   XGA2_800x600x8x75Hz,
                   2749:   0x00080000,
                   2750:     {
                   2751:       sizeof(VIDEO_MODE_INFORMATION),
                   2752:       13,
                   2753:       800,
                   2754:       600,
                   2755:       800,
                   2756:       1,
                   2757:       8,
                   2758:       75,
                   2759:       330,
                   2760:       240,
                   2761:       8,
                   2762:       8,
                   2763:       8,
                   2764:       0x00000000,
                   2765:       0x00000000,
                   2766:       0x00000000,
                   2767:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2768:         VIDEO_MODE_MANAGED_PALETTE
                   2769:     }
                   2770: },
                   2771: {
                   2772:   XGA1_1024x768x8x43Hz,
                   2773:   XGA2_1024x768x8x43Hz,
                   2774:   0x00100000,
                   2775:     {
                   2776:       sizeof(VIDEO_MODE_INFORMATION),
                   2777:       14,
                   2778:       1024,
                   2779:       768,
                   2780:       1024,
                   2781:       1,
                   2782:       8,
                   2783:       43,
                   2784:       330,
                   2785:       240,
                   2786:       8,
                   2787:       8,
                   2788:       8,
                   2789:       0x00000000,
                   2790:       0x00000000,
                   2791:       0x00000000,
                   2792:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2793:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   2794:     }
                   2795: },
                   2796: {
                   2797:   NULL,
                   2798:   XGA2_1024x768x8x60Hz,
                   2799:   0x00100000,
                   2800:     {
                   2801:       sizeof(VIDEO_MODE_INFORMATION),
                   2802:       15,
                   2803:       1024,
                   2804:       768,
                   2805:       1024,
                   2806:       1,
                   2807:       8,
                   2808:       60,
                   2809:       330,
                   2810:       240,
                   2811:       8,
                   2812:       8,
                   2813:       8,
                   2814:       0x00000000,
                   2815:       0x00000000,
                   2816:       0x00000000,
                   2817:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2818:         VIDEO_MODE_MANAGED_PALETTE                        
                   2819:     }
                   2820: },
                   2821: {
                   2822:   NULL,
                   2823:   XGA2_1024x768x8x70Hz,
                   2824:   0x00100000,
                   2825:     {
                   2826:       sizeof(VIDEO_MODE_INFORMATION),
                   2827:       16,
                   2828:       1024,
                   2829:       768,
                   2830:       1024,
                   2831:       1,
                   2832:       8,
                   2833:       70,
                   2834:       330,
                   2835:       240,
                   2836:       8,
                   2837:       8,
                   2838:       8,
                   2839:       0x00000000,
                   2840:       0x00000000,
                   2841:       0x00000000,
                   2842:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2843:         VIDEO_MODE_MANAGED_PALETTE                        
                   2844:     }
                   2845: },
                   2846: {
                   2847:   NULL,
                   2848:   XGA2_1024x768x8x72Hz,
                   2849:   0x00100000,
                   2850:     {
                   2851:       sizeof(VIDEO_MODE_INFORMATION),
                   2852:       17,
                   2853:       1024,
                   2854:       768,
                   2855:       1024,
                   2856:       1,
                   2857:       8,
                   2858:       72,
                   2859:       330,
                   2860:       240,
                   2861:       8,
                   2862:       8,
                   2863:       8,
                   2864:       0x00000000,
                   2865:       0x00000000,
                   2866:       0x00000000,
                   2867:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2868:         VIDEO_MODE_MANAGED_PALETTE                        
                   2869:     }
                   2870: },
                   2871: {
                   2872:   NULL,
                   2873:   XGA2_1024x768x8x75Hz,
                   2874:   0x00100000,
                   2875:     {
                   2876:       sizeof(VIDEO_MODE_INFORMATION),
                   2877:       18,
                   2878:       1024,
                   2879:       768,
                   2880:       1024,
                   2881:       1,
                   2882:       8,
                   2883:       75,
                   2884:       330,
                   2885:       240,
                   2886:       8,
                   2887:       8,
                   2888:       8,
                   2889:       0x00000000,
                   2890:       0x00000000,
                   2891:       0x00000000,
                   2892:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2893:         VIDEO_MODE_MANAGED_PALETTE                        
                   2894:     }
                   2895: },
                   2896: {
                   2897:   XGA1_1040x768x8x43Hz,
                   2898:   XGA2_1040x768x8x43Hz,
                   2899:   0x00100000,
                   2900:     {
                   2901:       sizeof(VIDEO_MODE_INFORMATION),
                   2902:       19,
                   2903:       1040,
                   2904:       768,
                   2905:       1040,
                   2906:       1,
                   2907:       8,
                   2908:       43,
                   2909:       330,
                   2910:       240,
                   2911:       8,
                   2912:       8,
                   2913:       8,
                   2914:       0x00000000,
                   2915:       0x00000000,
                   2916:       0x00000000,
                   2917:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2918:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   2919:     }
                   2920: },
                   2921: {
                   2922:   NULL,
                   2923:   XGA2_1040x768x8x60Hz,
                   2924:   0x00100000,
                   2925:     {
                   2926:       sizeof(VIDEO_MODE_INFORMATION),
                   2927:       20,
                   2928:       1040,
                   2929:       768,
                   2930:       1040,
                   2931:       1,
                   2932:       8,
                   2933:       60,
                   2934:       330,
                   2935:       240,
                   2936:       8,
                   2937:       8,
                   2938:       8,
                   2939:       0x00000000,
                   2940:       0x00000000,
                   2941:       0x00000000,
                   2942:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2943:         VIDEO_MODE_MANAGED_PALETTE                        
                   2944:     }
                   2945: },
                   2946: {
                   2947:   NULL,
                   2948:   XGA2_1040x768x8x70Hz,
                   2949:   0x00100000,
                   2950:     {
                   2951:       sizeof(VIDEO_MODE_INFORMATION),
                   2952:       21,
                   2953:       1040,
                   2954:       768,
                   2955:       1040,
                   2956:       1,
                   2957:       8,
                   2958:       70,
                   2959:       330,
                   2960:       240,
                   2961:       8,
                   2962:       8,
                   2963:       8,
                   2964:       0x00000000,
                   2965:       0x00000000,
                   2966:       0x00000000,
                   2967:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2968:         VIDEO_MODE_MANAGED_PALETTE                        
                   2969:     }
                   2970: },
                   2971: {
                   2972:   NULL,
                   2973:   XGA2_1040x768x8x72Hz,
                   2974:   0x00100000,
                   2975:     {
                   2976:       sizeof(VIDEO_MODE_INFORMATION),
                   2977:       22,
                   2978:       1040,
                   2979:       768,
                   2980:       1040,
                   2981:       1,
                   2982:       8,
                   2983:       72,
                   2984:       330,
                   2985:       240,
                   2986:       8,
                   2987:       8,
                   2988:       8,
                   2989:       0x00000000,
                   2990:       0x00000000,
                   2991:       0x00000000,
                   2992:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   2993:         VIDEO_MODE_MANAGED_PALETTE                        
                   2994:     }
                   2995: },
                   2996: {
                   2997:   NULL,
                   2998:   XGA2_1040x768x8x75Hz,
                   2999:   0x00100000,
                   3000:     {
                   3001:       sizeof(VIDEO_MODE_INFORMATION),
                   3002:       23,
                   3003:       1040,
                   3004:       768,
                   3005:       1040,
                   3006:       1,
                   3007:       8,
                   3008:       75,
                   3009:       330,
                   3010:       240,
                   3011:       8,
                   3012:       8,
                   3013:       8,
                   3014:       0x00000000,
                   3015:       0x00000000,
                   3016:       0x00000000,
                   3017:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3018:         VIDEO_MODE_MANAGED_PALETTE                        
                   3019:     }
                   3020: },
                   3021: {
                   3022:   NULL,
                   3023:   XGA2_1104x828x8x69Hz,
                   3024:   0x00140000,
                   3025:     {
                   3026:       sizeof(VIDEO_MODE_INFORMATION),
                   3027:       24,
                   3028:       1104,
                   3029:       828,
                   3030:       1104,
                   3031:       1,
                   3032:       8,
                   3033:       69,
                   3034:       330,
                   3035:       240,
                   3036:       8,
                   3037:       8,
                   3038:       8,
                   3039:       0x00000000,
                   3040:       0x00000000,
                   3041:       0x00000000,
                   3042:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3043:         VIDEO_MODE_MANAGED_PALETTE
                   3044:     }
                   3045: },
                   3046: {
                   3047:   NULL,
                   3048:   XGA2_1280x960x8x45Hz,
                   3049:   0x00180000,
                   3050:     {
                   3051:       sizeof(VIDEO_MODE_INFORMATION),
                   3052:       25,
                   3053:       1280,
                   3054:       960,
                   3055:       1280,
                   3056:       1,
                   3057:       8,
                   3058:       45,
                   3059:       330,
                   3060:       240,
                   3061:       8,
                   3062:       8,
                   3063:       8,
                   3064:       0x00000000,
                   3065:       0x00000000,
                   3066:       0x00000000,
                   3067:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3068:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   3069:     }
                   3070: },
                   3071: {
                   3072:   NULL,
                   3073:   XGA2_1280x1024x8x45Hz,
                   3074:   0x00180000,
                   3075:     {
                   3076:       sizeof(VIDEO_MODE_INFORMATION),
                   3077:       26,
                   3078:       1280,
                   3079:       1024,
                   3080:       1280,
                   3081:       1,
                   3082:       8,
                   3083:       45,
                   3084:       330,
                   3085:       240,
                   3086:       8,
                   3087:       8,
                   3088:       8,
                   3089:       0x00000000,
                   3090:       0x00000000,
                   3091:       0x00000000,
                   3092:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3093:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   3094:     }
                   3095: },
                   3096: {
                   3097:   NULL,
                   3098:   XGA2_1360x1024x8x45Hz,
                   3099:   0x00180000,
                   3100:     {
                   3101:       sizeof(VIDEO_MODE_INFORMATION),
                   3102:       27,
                   3103:       1360,
                   3104:       1024,
                   3105:       1360,
                   3106:       1,
                   3107:       8,
                   3108:       45,
                   3109:       330,
                   3110:       240,
                   3111:       8,
                   3112:       8,
                   3113:       8,
                   3114:       0x00000000,
                   3115:       0x00000000,
                   3116:       0x00000000,
                   3117:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3118:         VIDEO_MODE_MANAGED_PALETTE | VIDEO_MODE_INTERLACED
                   3119:     }
                   3120: },
                   3121: {
                   3122:   XGA1_MODE_640_480_65536_CO,
                   3123:   NULL,
                   3124:   0x00100000,
                   3125:     {
                   3126:       sizeof(VIDEO_MODE_INFORMATION),
                   3127:       28,
                   3128:       640,
                   3129:       480,
                   3130:       1280,
                   3131:       1,
                   3132:       16,
                   3133:       0,
                   3134:       330,
                   3135:       240,
                   3136:       8,
                   3137:       8,
                   3138:       8,
                   3139:       0x00000000,
                   3140:       0x00000000,
                   3141:       0x00000000,
                   3142:       VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
                   3143:         VIDEO_MODE_MANAGED_PALETTE
                   3144:     }
                   3145: }
                   3146: 
                   3147: //
                   3148: // *** Important ***
                   3149: // New modes must only be added at the end and the mode
                   3150: // number must be incremented. !!!
                   3151: //
                   3152: 
                   3153: };
                   3154: 
                   3155: #define XGA_NUM_MODES (sizeof(XgaModes) / sizeof (XGA_VIDEO_MODE))
                   3156: 
                   3157: 
                   3158: //
                   3159: // Structure for VGA reseting
                   3160: //
                   3161: 
                   3162: typedef struct _INDEX_REGISTER_DATA_TABLE {
                   3163:     UCHAR PortIndex;
                   3164:     UCHAR Data;
                   3165: } INDEX_REGISTER_DATA_TABLE, *PINDEX_REGISTER_DATA_TABLE;
                   3166: 
                   3167: //
                   3168: // Set of registers needed to reset the XGA in standart VGA mode.
                   3169: //
                   3170: 
                   3171: INDEX_REGISTER_DATA_TABLE XgaResetToVga[] = {
                   3172:     {0x64, 0xff},
                   3173:     {0x50, 0x15},
                   3174:     {0x50, 0x14},
                   3175:     {0x51, 0x00},
                   3176:     {0x54, 0x04},
                   3177:     {0x70, 0x00},
                   3178:     {0x2A, 0x20},
                   3179:     {0xFF, 0x00}
                   3180: };
                   3181: 
                   3182: 
                   3183: //
                   3184: // the device's private Device Extension
                   3185: //
                   3186: 
                   3187: typedef struct _HW_DEVICE_EXTENSION {
                   3188:     PHYSICAL_ADDRESS PhysicalRomBaseAddress;
                   3189:     PHYSICAL_ADDRESS PhysicalCoProcessorAddress;
                   3190:     PHYSICAL_ADDRESS PhysicalVideoMemoryAddress;
                   3191:     PHYSICAL_ADDRESS PhysicalIoRegBaseAddress;
                   3192: 
                   3193:     UCHAR BoardType;
                   3194:     UCHAR Color;
                   3195:     UCHAR NumAvailableModes;
                   3196:     UCHAR CurrentMode;
                   3197: 
                   3198:     ULONG IoRegBaseAddress;
                   3199: 
                   3200:     PVOID VirtualAddress;
                   3201:     PVOID FrameAddress ;
                   3202:     ULONG FrameLength ;
                   3203:     ULONG PhysicalVideoMemoryLength;
                   3204: 
                   3205:     PVOID A0000MemoryAddress;
                   3206:     PVOID PassThroughPort;
                   3207: 
                   3208:     UCHAR Valid[XGA_NUM_MODES];
                   3209: 
                   3210: } HW_DEVICE_EXTENSION, *PHW_DEVICE_EXTENSION;
                   3211: 
                   3212: //
                   3213: // Settings for the default color palette.
                   3214: //
                   3215: 
                   3216: UCHAR colour_default_palette[] = {
                   3217:     0x00, 0x00, 0x00,
                   3218:     0x00, 0x00, 0xa8,
                   3219:     0x00, 0xa8, 0x00,
                   3220:     0x00, 0xA8, 0xA8,
                   3221:     0xA8, 0x00, 0x00,
                   3222:     0xA8, 0x00, 0xa8,
                   3223:     0xA8, 0x54, 0x00,
                   3224:     0xA8, 0xA8, 0xA8,
                   3225:     0x54, 0x54, 0x54,
                   3226:     0x54, 0x54, 0xfc,
                   3227:     0x54, 0xfc, 0x54,
                   3228:     0x54, 0xFC, 0xFC,
                   3229:     0xFC, 0x54, 0x54,
                   3230:     0xFC, 0x54, 0xFC,
                   3231:     0xFC, 0xFC, 0x54,
                   3232:     0xFC, 0xFC, 0xFC
                   3233: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.