|
|
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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.