|
|
1.1 ! root 1: /* CONFIDENTIAL ! 2: * Copyright (c) 1993 by NeXT Computer, Inc as an unpublished work. ! 3: * All rights reserved. ! 4: * ! 5: * QVisionModes.c -- support for QVision driver modes. ! 6: * ! 7: * Author: Derek B Clegg 21 May 1993 ! 8: * Based on work by Joe Pasqua, 30 September 1992. ! 9: */ ! 10: #include "QVisionModes.h" ! 11: ! 12: /* Tables of register values for the supported modes. */ ! 13: ! 14: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 60Hz. ! 15: */ ! 16: static const struct QVisionMode Mode_38_60Hz = { ! 17: "QVision[1024 x 768 x 8] @ 60Hz", QVisionAdapter, NO, ! 18: ! 19: /* Control register 1 value (63CA). */ ! 20: 0x03, ! 21: ! 22: /* DAC command register 1 value (13C8). */ ! 23: 0x40, ! 24: ! 25: /* Overflow register 1 value (3CF.42). */ ! 26: 0x00, ! 27: ! 28: /* Overflow register 2 value (3CF.51). */ ! 29: 0x00, ! 30: ! 31: /* Standard VGA data. */ ! 32: { ! 33: 0xe3, /* Miscellaneous output register value (3C2). */ ! 34: 0x00, /* Feature control register value (3DA). */ ! 35: ! 36: /* Sequencer register values. */ ! 37: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 38: ! 39: /* CRTC register values (3D5.00 - 3D5.18). */ ! 40: { ! 41: 0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60, 0x00, ! 42: 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x94, 0xff, 0x80, 0x00, 0xff, ! 43: 0x31, 0xe3, 0xff, ! 44: }, ! 45: ! 46: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 47: { ! 48: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 49: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 50: }, ! 51: ! 52: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 53: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 54: } ! 55: }; ! 56: ! 57: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 66Hz. ! 58: */ ! 59: static const struct QVisionMode Mode_38_66Hz = { ! 60: "QVision[1024 x 768 x 8] @ 66Hz", QVisionAdapter, NO, ! 61: ! 62: /* Control register 1 value (63CA). */ ! 63: 0x03, ! 64: ! 65: /* DAC command register 1 value (13C8). */ ! 66: 0x40, ! 67: ! 68: /* Overflow register 1 value (3CF.42). */ ! 69: 0x00, ! 70: ! 71: /* Overflow register 2 value (3CF.51). */ ! 72: 0x00, ! 73: ! 74: /* Standard VGA data. */ ! 75: { ! 76: 0x27, /* Miscellaneous output register value (3C2). */ ! 77: 0x00, /* Feature control register value (3DA). */ ! 78: ! 79: /* Sequencer register values. */ ! 80: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 81: ! 82: /* CRTC register values (3D5.00 - 3D5.18). */ ! 83: { ! 84: 0xa1, 0x7f, 0x7f, 0x84, 0x85, 0x9b, 0x2e, 0xf5, 0x00, 0x60, 0x00, ! 85: 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8b, 0xff, 0x80, 0x00, 0xff, ! 86: 0x2e, 0xe3, 0xff, ! 87: }, ! 88: ! 89: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 90: { ! 91: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 92: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 93: }, ! 94: ! 95: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 96: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 97: } ! 98: }; ! 99: ! 100: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 72Hz. ! 101: */ ! 102: static const struct QVisionMode Mode_38_72Hz = { ! 103: "QVision[1024 x 768 x 8] @ 72Hz", QVisionAdapter, NO, ! 104: ! 105: /* Control register 1 value (63CA). */ ! 106: 0x03, ! 107: ! 108: /* DAC command register 1 value (13C8). */ ! 109: 0x40, ! 110: ! 111: /* Overflow register 1 value (3CF.42). */ ! 112: 0x00, ! 113: ! 114: /* Overflow register 2 value (3CF.51). */ ! 115: 0x00, ! 116: ! 117: /* Standard VGA data. */ ! 118: { ! 119: 0x2b, /* Miscellaneous output register value (3C2). */ ! 120: 0x00, /* Feature control register value (3DA). */ ! 121: ! 122: /* Sequencer register values. */ ! 123: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 124: ! 125: /* CRTC register values (3D5.00 - 3D5.18). */ ! 126: { ! 127: 0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60, 0x00, ! 128: 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x83, 0xff, 0x80, 0x00, 0xff, ! 129: 0x1e, 0xe3, 0xff, ! 130: }, ! 131: ! 132: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 133: { ! 134: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 135: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 136: }, ! 137: ! 138: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 139: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 140: } ! 141: }; ! 142: ! 143: /* Orion12 1024 x 768 x 8 (QVision mode 0x38) @ 76Hz. ! 144: */ ! 145: static const struct QVisionMode Mode_38_76Hz = { ! 146: "Orion12[1024 x 768 x 8] @ 76Hz", Orion12Adapter, YES, ! 147: ! 148: /* Control register 1 value (63CA). */ ! 149: 0x03, ! 150: ! 151: /* DAC command register 1 value (13C8). */ ! 152: 0x40, ! 153: ! 154: /* Overflow register 1 value (3CF.42). */ ! 155: 0x00, ! 156: ! 157: /* Overflow register 2 value (3CF.51). */ ! 158: 0x00, ! 159: ! 160: /* Standard VGA data. */ ! 161: { ! 162: 0x33, /* Miscellaneous output register value (3C2). */ ! 163: 0x00, /* Feature control register value (3DA). */ ! 164: ! 165: /* Sequencer register values. */ ! 166: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 167: ! 168: /* CRTC register values (3D5.00 - 3D5.18). */ ! 169: { ! 170: 0x9c, 0x7f, 0x7f, 0x1f, 0x85, 0x10, 0x26, 0xf5, 0x00, 0x60, 0x00, ! 171: 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8b, 0xff, 0x80, 0x00, 0xff, ! 172: 0x26, 0xe3, 0xff, ! 173: }, ! 174: ! 175: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 176: { ! 177: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 178: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 179: }, ! 180: ! 181: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 182: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 183: } ! 184: }; ! 185: ! 186: /* QVision 640 x 400 x 24 (QVision mode 0x4E) @ 60Hz. ! 187: */ ! 188: static const struct QVisionMode Mode_4E_60Hz = { ! 189: "QVision[640 x 400 x 24] @ 60Hz", QVisionAdapter, NO, ! 190: ! 191: /* Control register 1 value (63CA). */ ! 192: 0x07, ! 193: ! 194: /* DAC command register 1 value (13C8). */ ! 195: 0x00, ! 196: ! 197: /* Overflow register 1 value (3CF.42). */ ! 198: 0x01, ! 199: ! 200: /* Overflow register 2 value (3CF.51). */ ! 201: 0x08, ! 202: ! 203: /* Standard VGA data. */ ! 204: { ! 205: 0x6f, /* Miscellaneous output register value (3C2). */ ! 206: 0x00, /* Feature control register value (3DA). */ ! 207: ! 208: /* Sequencer register values. */ ! 209: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 210: ! 211: /* CRTC register values (3D5.00 - 3D5.18). */ ! 212: { ! 213: 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40, 0x00, ! 214: 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x84, 0x8f, 0x40, 0x00, 0x95, ! 215: 0x03, 0xe3, 0xff, ! 216: }, ! 217: ! 218: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 219: { ! 220: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 221: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 222: }, ! 223: ! 224: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 225: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 226: } ! 227: }; ! 228: ! 229: /* QVision 640 x 400 x 24 (QVision mode 0x4E) @ 70Hz. ! 230: */ ! 231: static const struct QVisionMode Mode_4E_70Hz = { ! 232: "QVision[640 x 400 x 24] @ 70Hz", QVisionAdapter, NO, ! 233: ! 234: /* Control register 1 value (63CA). */ ! 235: 0x07, ! 236: ! 237: /* DAC command register 1 value (13C8). */ ! 238: 0x00, ! 239: ! 240: /* Overflow register 1 value (3CF.42). */ ! 241: 0x01, ! 242: ! 243: /* Overflow register 2 value (3CF.51). */ ! 244: 0x28, ! 245: ! 246: /* Standard VGA data. */ ! 247: { ! 248: 0x6f, /* Miscellaneous output register value (3C2). */ ! 249: 0x00, /* Feature control register value (3DA). */ ! 250: ! 251: /* Sequencer register values. */ ! 252: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 253: ! 254: /* CRTC register values (3D5.00 - 3D5.18). */ ! 255: { ! 256: 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, 0x00, 0x40, 0x00, ! 257: 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x8e, 0x8f, 0x40, 0x00, 0x96, ! 258: 0xb9, 0xe3, 0xff, ! 259: }, ! 260: ! 261: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 262: { ! 263: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 264: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 265: }, ! 266: ! 267: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 268: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 269: } ! 270: }; ! 271: ! 272: /* QVision 800 x 600 x 15 (QVision mode 0x3F) @ 60Hz. ! 273: */ ! 274: static const struct QVisionMode Mode_3F_60Hz = { ! 275: "QVision[800 x 600 x 15] @ 60Hz", QVisionAdapter, NO, ! 276: ! 277: /* Control register 1 value (63CA). */ ! 278: 0x05, ! 279: ! 280: /* DAC command register 1 value (13C8). */ ! 281: 0x20, ! 282: ! 283: /* Overflow register 1 value (3CF.42). */ ! 284: 0x00, ! 285: ! 286: /* Overflow register 2 value (3CF.51). */ ! 287: 0x20, ! 288: ! 289: /* Standard VGA data. */ ! 290: { ! 291: 0xf3, /* Miscellaneous output register value (3C2). */ ! 292: 0x00, /* Feature control register value (3DA). */ ! 293: ! 294: /* Sequencer register values. */ ! 295: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 296: ! 297: /* CRTC register values (3D5.00 - 3D5.18). */ ! 298: { ! 299: 0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60, 0x00, ! 300: 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x8c, 0x57, 0xc8, 0x00, 0x58, ! 301: 0x72, 0xe3, 0xff, ! 302: }, ! 303: ! 304: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 305: { ! 306: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 307: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 308: }, ! 309: ! 310: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 311: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 312: } ! 313: }; ! 314: ! 315: /* QVision 800 x 600 x 15 (QVision mode 0x3F) @ 72Hz. ! 316: */ ! 317: static const struct QVisionMode Mode_3F_72Hz = { ! 318: "QVision[800 x 600 x 15] @ 72Hz", QVisionAdapter, NO, ! 319: ! 320: /* Control register 1 value (63CA). */ ! 321: 0x05, ! 322: ! 323: /* DAC command register 1 value (13C8). */ ! 324: 0x20, ! 325: ! 326: /* Overflow register 1 value (3CF.42). */ ! 327: 0x00, ! 328: ! 329: /* Overflow register 2 value (3CF.51). */ ! 330: 0x20, ! 331: ! 332: /* Standard VGA data. */ ! 333: { ! 334: 0x23, /* Miscellaneous output register value (3C2). */ ! 335: 0x00, /* Feature control register value (3DA). */ ! 336: ! 337: /* Sequencer register values. */ ! 338: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 339: ! 340: /* CRTC register values (3D5.00 - 3D5.18). */ ! 341: { ! 342: 0x84, 0x63, 0x64, 0x83, 0x6b, 0x1c, 0x73, 0xf0, 0x00, 0x60, 0x00, ! 343: 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x5c, 0x57, 0xc8, 0x00, 0x58, ! 344: 0x72, 0xe3, 0xff, ! 345: }, ! 346: ! 347: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 348: { ! 349: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 350: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 351: }, ! 352: ! 353: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 354: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 355: } ! 356: }; ! 357: ! 358: /* Orion12 1280 x 1024 x 8 (QVision mode 0x3A) @ 68Hz. ! 359: */ ! 360: static const struct QVisionMode Mode_3A_68Hz = { ! 361: "Orion12[1280 x 1024 x 8] @ 68Hz", Orion12Adapter, YES, ! 362: ! 363: /* Control register 1 value (63CA). */ ! 364: 0x03, ! 365: ! 366: /* DAC command register 1 value (13C8). */ ! 367: 0x40, ! 368: ! 369: /* Overflow register 1 value (3CF.42). */ ! 370: 0x81, ! 371: ! 372: /* Overflow Register 2 values (3CF.51h). */ ! 373: 0xe8, ! 374: ! 375: /* Standard VGA data. */ ! 376: { ! 377: 0x23, /* Miscellaneous output register values (3C2). */ ! 378: 0x00, /* Feature control register value (3DA). */ ! 379: ! 380: /* Sequencer register values. */ ! 381: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 382: ! 383: /* CRTC register values (3D5.00 - 3D5.18h) */ ! 384: { ! 385: 0xcf, 0x9f, 0x9f, 0x12, 0xa4, 0x19, 0x2e, 0x5a, 0x00, 0x60, 0x00, ! 386: 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8b, 0xff, 0x00, 0x00, 0xff, ! 387: 0x2e, 0xe3, 0xff, ! 388: }, ! 389: ! 390: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 391: { ! 392: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 393: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 394: }, ! 395: ! 396: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 397: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 398: } ! 399: }; ! 400: ! 401: /* Orion 1024 x 768 x 15 (QVision mode 0x40) @ 60Hz. ! 402: */ ! 403: static const struct QVisionMode Mode_40_60Hz = { ! 404: "Orion[1024 x 768 x 15] @ 60Hz", OrionAdapter, NO, ! 405: ! 406: /* Control register 1 value (63CA). */ ! 407: 0x05, ! 408: ! 409: /* DAC command register 1 value (13C8). */ ! 410: 0x20, ! 411: ! 412: /* Overflow register 1 value (3CF.42). */ ! 413: 0x01, ! 414: ! 415: /* Overflow register 2 value (3CF.51). */ ! 416: 0x00, ! 417: ! 418: /* Standard VGA data. */ ! 419: { ! 420: 0xe3, /* Miscellaneous output register values (3C2). */ ! 421: 0x00, /* Feature control register value (3DA). */ ! 422: ! 423: /* Sequencer register values. */ ! 424: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 425: ! 426: /* CRTC register values (3D5.00 - 3D5.18). */ ! 427: { ! 428: 0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60, 0x00, ! 429: 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x94, 0xff, 0x00, 0x00, 0xff, ! 430: 0x31, 0xe3, 0xff, ! 431: }, ! 432: ! 433: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 434: { ! 435: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 436: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 437: }, ! 438: ! 439: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 440: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 441: } ! 442: }; ! 443: ! 444: /* Orion 1024 x 768 x 15 (QVision mode 0x40) @ 72Hz. ! 445: */ ! 446: static const struct QVisionMode Mode_40_72Hz = { ! 447: "Orion[1024 x 768 x 15] @ 72Hz", OrionAdapter, NO, ! 448: ! 449: /* Control register 1 value (63CA). */ ! 450: 0x05, ! 451: ! 452: /* DAC command register 1 value (13C8). */ ! 453: 0x20, ! 454: ! 455: /* Overflow register 1 value (3CF.42). */ ! 456: 0x01, ! 457: ! 458: /* Overflow register 2 value (3CF.51). */ ! 459: 0x00, ! 460: ! 461: /* Standard VGA data. */ ! 462: { ! 463: 0x2b, /* Miscellaneous output register value (3C2). */ ! 464: 0x00, /* Feature control register value (3DA). */ ! 465: ! 466: /* Sequencer register values. */ ! 467: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 468: ! 469: /* CRTC register values (3D5.00 - 3D5.18). */ ! 470: { ! 471: 0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60, 0x00, ! 472: 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x83, 0xff, 0x00, 0x00, 0xff, ! 473: 0x1e, 0xe3, 0xff, ! 474: }, ! 475: ! 476: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 477: { ! 478: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 479: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 480: }, ! 481: ! 482: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 483: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 484: } ! 485: }; ! 486: ! 487: /* Orion 640 x 480 x 24 (QVision mode 0x4F) @ 60Hz. ! 488: */ ! 489: static const struct QVisionMode Mode_4F_60Hz = { ! 490: "Orion[640 x 480 x 24] @ 60Hz", OrionAdapter, NO, ! 491: ! 492: /* Control register 1 values (63CA). */ ! 493: 0x07, ! 494: ! 495: /* DAC command register 1 value (13C8). */ ! 496: 0x00, ! 497: ! 498: /* Overflow register 1 value (3CF.42). */ ! 499: 0x02, ! 500: ! 501: /* Overflow register 2 value (3CF.51). */ ! 502: 0x08, ! 503: ! 504: /* Standard VGA data. */ ! 505: { ! 506: 0xef, /* Miscellaneous output register value (3C2). */ ! 507: 0x00, /* Feature control register value (3DA). */ ! 508: ! 509: /* Sequencer register values. */ ! 510: { 0x01, 0x01, 0xff, 0x00, 0x0e }, ! 511: ! 512: /* CRTC register values (3D5.00 - 3D5.18). */ ! 513: { ! 514: 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40, 0x00, ! 515: 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x8c, 0xdf, 0x00, 0x00, 0xe5, ! 516: 0x03, 0xe3, 0xff, ! 517: }, ! 518: ! 519: /* Attribute controller register values (3C0.00 - 3C0.13). */ ! 520: { ! 521: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, ! 522: 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00, ! 523: }, ! 524: ! 525: /* Graphics controller register values (3CF.00 - 3CF.08). */ ! 526: { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff }, ! 527: } ! 528: }; ! 529: ! 530: const IODisplayInfo QVisionModeTable[] = { ! 531: /* 0: QVision 1024 x 768 x 8 (Mode 0x38) @ 60Hz. */ ! 532: { ! 533: 1024, 768, 1024, 1024, 60, 0, ! 534: IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW", ! 535: 0, (void *)&Mode_38_60Hz, ! 536: }, ! 537: ! 538: /* 1: QVision 1024 x 768 x 8 (Mode 0x38) @ 66Hz. */ ! 539: { ! 540: 1024, 768, 1024, 1024, 66, 0, ! 541: IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW", ! 542: 0, (void *)&Mode_38_66Hz, ! 543: }, ! 544: ! 545: /* 2: QVision 1024 x 768 x 8 (Mode 0x38) @ 72Hz. */ ! 546: { ! 547: 1024, 768, 1024, 1024, 72, 0, ! 548: IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW", ! 549: 0, (void *)&Mode_38_72Hz, ! 550: }, ! 551: ! 552: /* 3: Orion12 1024 x 768 x 8 (Mode 0x38) @ 76Hz. */ ! 553: { ! 554: 1024, 768, 1024, 1024, 76, 0, ! 555: IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW", ! 556: 0, (void *)&Mode_38_76Hz, ! 557: }, ! 558: ! 559: /* 4: QVision 640 x 400 x 24 (Mode 0x4E) @ 60Hz. */ ! 560: { ! 561: 640, 400, 640, 2560, 60, 0, ! 562: IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB", ! 563: 0, (void *)&Mode_4E_60Hz, ! 564: }, ! 565: ! 566: /* 5: QVision 640 x 400 x 24 (Mode 0x4E) @ 70Hz. */ ! 567: { ! 568: 640, 400, 640, 2560, 70, 0, ! 569: IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB", ! 570: 0, (void *)&Mode_4E_70Hz, ! 571: }, ! 572: ! 573: /* 6: QVision 800 x 600 x 15 (QVision mode 0x3F) @ 60Hz. */ ! 574: { ! 575: 800, 600, 800, 1600, 60, 0, ! 576: IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB", ! 577: 0, (void *)&Mode_3F_60Hz, ! 578: }, ! 579: ! 580: /* 7: QVision 800 x 600 x 15 (Mode 0x3F) @ 72Hz. */ ! 581: { ! 582: 800, 600, 800, 1600, 72, 0, ! 583: IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB", ! 584: 0, (void *)&Mode_3F_72Hz, ! 585: }, ! 586: ! 587: /* 8: Orion12 1280 x 1024 x 8 (Mode 0x3A) @ 68Hz. */ ! 588: { ! 589: 1280, 1024, 2048, 2048, 68, 0, ! 590: IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW", ! 591: 0, (void *)&Mode_3A_68Hz, ! 592: }, ! 593: ! 594: /* 9: Orion 1024 x 768 x 15 (Mode 0x40) @ 60Hz. */ ! 595: { ! 596: 1024, 768, 1024, 2048, 60, 0, ! 597: IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB", ! 598: 0, (void *)&Mode_40_60Hz, ! 599: }, ! 600: ! 601: /* 10: Orion 1024 x 768 x 15 (Mode 0x40) @ 72Hz. */ ! 602: { ! 603: 1024, 768, 1024, 2048, 72, 0, ! 604: IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB", ! 605: 0, (void *)&Mode_40_72Hz, ! 606: }, ! 607: ! 608: /* 11: Orion 640 x 480 x 24 (Mode 0x4F) @ 60Hz. */ ! 609: { ! 610: 640, 480, 1024, 4096, 60, 0, ! 611: IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB", ! 612: 0, (void *)&Mode_4F_60Hz, ! 613: }, ! 614: ! 615: /* 8-bit color modes */ ! 616: /* 12: QVision 1024 x 768 x 8 (Mode 0x38) @ 60Hz. */ ! 617: { ! 618: 1024, 768, 1024, 1024, 60, 0, ! 619: IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP", ! 620: 0, (void *)&Mode_38_60Hz, ! 621: }, ! 622: ! 623: /* 13: QVision 1024 x 768 x 8 (Mode 0x38) @ 66Hz. */ ! 624: { ! 625: 1024, 768, 1024, 1024, 66, 0, ! 626: IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP", ! 627: 0, (void *)&Mode_38_66Hz, ! 628: }, ! 629: ! 630: /* 14: QVision 1024 x 768 x 8 (Mode 0x38) @ 72Hz. */ ! 631: { ! 632: 1024, 768, 1024, 1024, 72, 0, ! 633: IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP", ! 634: 0, (void *)&Mode_38_72Hz, ! 635: }, ! 636: ! 637: /* 15: Orion12 1024 x 768 x 8 (Mode 0x38) @ 76Hz. */ ! 638: { ! 639: 1024, 768, 1024, 1024, 76, 0, ! 640: IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP", ! 641: 0, (void *)&Mode_38_76Hz, ! 642: }, ! 643: ! 644: /* 16: Orion12 1280 x 1024 x 8 (Mode 0x3A) @ 68Hz. */ ! 645: { ! 646: 1280, 1024, 2048, 2048, 68, 0, ! 647: IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP", ! 648: 0, (void *)&Mode_3A_68Hz, ! 649: }, ! 650: }; ! 651: ! 652: const int QVisionModeTableCount = ! 653: sizeof(QVisionModeTable)/sizeof(QVisionModeTable[0]);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.