|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1992 Cirrus Logic, Inc. ! 4: ! 5: Module Name: ! 6: ! 7: Mode6410.h ! 8: ! 9: Abstract: ! 10: ! 11: This module contains all the global data used by the Cirrus Logic ! 12: CL-6410 driver. ! 13: ! 14: Environment: ! 15: ! 16: Kernel mode ! 17: ! 18: Revision History: ! 19: ! 20: --*/ ! 21: ! 22: // ! 23: // The first set of tables are for the CL6410 ! 24: // Note that only 640x480 and 800x600 are supported. ! 25: // ! 26: // Color graphics mode 0x12, 640x480 16 colors. ! 27: // ! 28: USHORT CL6410_640x480_crt[] = { ! 29: // Unlock Key for color mode ! 30: OW, // GR0A = 0xEC opens extension registers ! 31: GRAPH_ADDRESS_PORT, ! 32: 0xec0a, ! 33: ! 34: #ifndef INT10_MODE_SET ! 35: OWM, ! 36: SEQ_ADDRESS_PORT, ! 37: 5, ! 38: 0x0100, // start synch reset ! 39: 0x0101,0x0f02,0x0003,0x0604, // program up sequencer ! 40: ! 41: OB, ! 42: MISC_OUTPUT_REG_WRITE_PORT, ! 43: 0xe3, ! 44: ! 45: OW, //{ SetGraphCmd,{ "\x05", 0x06, 1 } }, ! 46: GRAPH_ADDRESS_PORT, ! 47: 0x0506, ! 48: ! 49: // EndSyncResetCmd ! 50: OW, ! 51: SEQ_ADDRESS_PORT, ! 52: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 53: ! 54: OW, ! 55: CRTC_ADDRESS_PORT_COLOR, ! 56: 0x0111, ! 57: ! 58: METAOUT+INDXOUT, // program crtc registers ! 59: CRTC_ADDRESS_PORT_COLOR, ! 60: VGA_NUM_CRTC_PORTS, // count ! 61: 0, // start index ! 62: 0x5F,0x4F,0x50,0x82, ! 63: 0x54,0x80,0x0B,0x3E, ! 64: 0x00,0x40,0x00,0x00, ! 65: 0x00,0x00,0x00,0x00, ! 66: 0xEA,0xAC,0xDF,0x28, ! 67: 0x00,0xE7,0x04,0xE3, ! 68: 0xFF, ! 69: ! 70: // extension registers ! 71: OWM, ! 72: GRAPH_ADDRESS_PORT, ! 73: 16, ! 74: 0x0262, // ER62 horz. display end extension ! 75: 0x8064, // ER64 horz. retrace end extension ! 76: 0x0079, // ER79 vertical overflow ! 77: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 78: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 79: 0x007c, // ER7c screen A start addr. extension ! 80: 0x0081, // ER81 display mode ! 81: 0x0082, // ER82 character clock selection ! 82: 0x1084, // ER84 clock select extension ! 83: 0x0090, // ER90 display memory control ! 84: 0x0091, // ER91 CRT-circular buffer policy select ! 85: 0x0095, // ER95 CRT-circular buffer delta & burst ! 86: 0x0096, // ER96 display memory control test ! 87: 0x12a0, // ERa0 bus interface unit control ! 88: 0x00a1, // ERa1 three-state and test control ! 89: 0x00c8, // ERc8 RAMDAC control ! 90: ! 91: IB, // prepare atc for writing ! 92: INPUT_STATUS_1_COLOR, ! 93: ! 94: METAOUT+ATCOUT, // ! 95: ATT_ADDRESS_PORT, // port ! 96: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 97: 0, // start index ! 98: 0x00,0x01,0x02,0x03,0x04, ! 99: 0x05,0x14,0x07,0x38,0x39, ! 100: 0x3A,0x3B,0x3C,0x3D,0x3E, ! 101: 0x3F,0x01,0x00,0x0F,0x00,0x00, ! 102: ! 103: METAOUT+INDXOUT, // ! 104: GRAPH_ADDRESS_PORT, // port ! 105: VGA_NUM_GRAPH_CONT_PORTS, // count ! 106: 0, // start index ! 107: 0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF, ! 108: ! 109: OB, // turn video on. ! 110: ATT_ADDRESS_PORT, ! 111: VIDEO_ENABLE, ! 112: ! 113: #endif ! 114: // disable banking ! 115: OWM, ! 116: GRAPH_ADDRESS_PORT, ! 117: 3, ! 118: 0x030d, // ER0D = Paging control: 1 64K page, ! 119: 0x000e, // ER0E page A address = 0 ! 120: 0x000f, // ER0F page B address = 0 ! 121: ! 122: OB, ! 123: DAC_PIXEL_MASK_PORT, ! 124: 0xFF, ! 125: ! 126: EOD ! 127: }; ! 128: ! 129: USHORT CL6410_640x480_panel[] = { ! 130: // Unlock Key for color mode ! 131: OW, // GR0A = 0xEC opens extension registers ! 132: GRAPH_ADDRESS_PORT, ! 133: 0xec0a, ! 134: ! 135: #ifndef INT10_MODE_SET ! 136: OWM, ! 137: SEQ_ADDRESS_PORT, ! 138: 5, ! 139: 0x0100, // start synch reset ! 140: 0x0101,0x0f02,0x0003,0x0604, // program up sequencer ! 141: ! 142: OB, ! 143: MISC_OUTPUT_REG_WRITE_PORT, ! 144: 0xe3, ! 145: ! 146: OW, //{ SetGraphCmd,{ "\x05", 0x06, 1 } }, ! 147: GRAPH_ADDRESS_PORT, ! 148: 0x0506, ! 149: ! 150: // EndSyncResetCmd ! 151: OW, ! 152: SEQ_ADDRESS_PORT, ! 153: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 154: ! 155: OW, ! 156: CRTC_ADDRESS_PORT_COLOR, ! 157: 0x0111, ! 158: ! 159: METAOUT+INDXOUT, // program crtc registers ! 160: CRTC_ADDRESS_PORT_COLOR, ! 161: VGA_NUM_CRTC_PORTS, // count ! 162: 0, // start index ! 163: 0x5F,0x4F,0x50,0x82, ! 164: 0x54,0x80,0x0B,0x3E, ! 165: 0x00,0x40,0x00,0x00, ! 166: 0x00,0x00,0x00,0x00, ! 167: 0xEA,0xAC,0xDF,0x28, ! 168: 0x00,0xE7,0x04,0xE3, ! 169: 0xFF, ! 170: ! 171: // extension registers ! 172: OWM, ! 173: GRAPH_ADDRESS_PORT, ! 174: 16, ! 175: 0x0262, // ER62 horz. display end extension ! 176: 0x8064, // ER64 horz. retrace end extension ! 177: 0x0079, // ER79 vertical overflow ! 178: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 179: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 180: 0x007c, // ER7c screen A start addr. extension ! 181: 0x0181, // ER81 display mode ! 182: 0x8982, // ER82 character clock selection ! 183: 0xa684, // ER84 clock select extension ! 184: 0x0090, // ER90 display memory control ! 185: 0x0091, // ER91 CRT-circular buffer policy select ! 186: 0x0095, // ER95 CRT-circular buffer delta & burst ! 187: 0x0096, // ER96 display memory control test ! 188: 0x12a0, // ERa0 bus interface unit control ! 189: 0x00a1, // ERa1 three-state and test control ! 190: 0xa0c8, // ERc8 RAMDAC control ! 191: ! 192: IB, // prepare atc for writing ! 193: INPUT_STATUS_1_COLOR, ! 194: ! 195: METAOUT+ATCOUT, // ! 196: ATT_ADDRESS_PORT, // port ! 197: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 198: 0, // start index ! 199: 0x00,0x01,0x02,0x03,0x04, ! 200: 0x05,0x14,0x07,0x38,0x39, ! 201: 0x3A,0x3B,0x3C,0x3D,0x3E, ! 202: 0x3F,0x01,0x00,0x0F,0x00,0x00, ! 203: ! 204: METAOUT+INDXOUT, // ! 205: GRAPH_ADDRESS_PORT, // port ! 206: VGA_NUM_GRAPH_CONT_PORTS, // count ! 207: 0, // start index ! 208: 0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF, ! 209: ! 210: OB, // turn video on. ! 211: ATT_ADDRESS_PORT, ! 212: VIDEO_ENABLE, ! 213: ! 214: #endif ! 215: // disable banking ! 216: OWM, ! 217: GRAPH_ADDRESS_PORT, ! 218: 3, ! 219: 0x030d, // ER0D = Paging control: 1 64K page, ! 220: 0x000e, // ER0E page A address = 0 ! 221: 0x000f, // ER0F page B address = 0 ! 222: ! 223: OB, ! 224: DAC_PIXEL_MASK_PORT, ! 225: 0xFF, ! 226: ! 227: EOD ! 228: }; ! 229: ! 230: ! 231: ! 232: // ! 233: // Cirrus color graphics mode 0x64, 800x600 16 colors. ! 234: // ! 235: USHORT CL6410_800x600_crt[] = { ! 236: // Unlock Key for color mode ! 237: OW, // GR0A = 0xEC opens extension registers ! 238: GRAPH_ADDRESS_PORT, ! 239: 0xec0a, ! 240: ! 241: #ifndef INT10_MODE_SET ! 242: OWM, ! 243: SEQ_ADDRESS_PORT, ! 244: 5, ! 245: 0x0100, // start synch reset ! 246: 0x0101,0x0f02,0x0003,0x0604, // program up sequencer ! 247: ! 248: OB, ! 249: MISC_OUTPUT_REG_WRITE_PORT, ! 250: 0x2f, ! 251: ! 252: OWM, ! 253: GRAPH_ADDRESS_PORT, ! 254: 3, ! 255: 0x0506, ! 256: 0x0f07, ! 257: 0xff08, ! 258: ! 259: // EndSyncResetCmd ! 260: OW, ! 261: SEQ_ADDRESS_PORT, ! 262: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 263: ! 264: OW, ! 265: CRTC_ADDRESS_PORT_COLOR, ! 266: 0x0E11, ! 267: ! 268: METAOUT+INDXOUT, // program crtc registers ! 269: CRTC_ADDRESS_PORT_COLOR, ! 270: VGA_NUM_CRTC_PORTS, // count ! 271: 0, // start index ! 272: 0x7b,0x63,0x64,0x9e, ! 273: 0x69,0x92,0x6f,0xf0, ! 274: 0x00,0x60,0x00,0x00, ! 275: 0x00,0x00,0x00,0x00, ! 276: 0x58,0xaa,0x57,0x32, ! 277: 0x00,0x58,0x6f,0xe3, ! 278: 0xFF, ! 279: ! 280: // extension registers ! 281: OWM, ! 282: GRAPH_ADDRESS_PORT, ! 283: 16, ! 284: 0x1e62, // ER62 horz. display end extension ! 285: 0x9264, // ER64 horz. retrace end extension ! 286: 0x0079, // ER79 vertical overflow ! 287: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 288: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 289: 0x007c, // ER7c screen A start addr. extension ! 290: 0x0081, // ER81 display mode ! 291: 0x0082, // ER82 character clock selection ! 292: 0xac84, // ER84 clock select extension ! 293: 0x0090, // ER90 display memory control ! 294: 0x0391, // ER91 CRT-circular buffer policy select ! 295: 0x0a95, // ER95 CRT-circular buffer delta & burst ! 296: 0x0096, // ER96 display memory control test ! 297: 0x12a0, // ERa0 bus interface unit control ! 298: 0x00a1, // ERa1 three-state and test control ! 299: 0x00c8, // ERc8 RAMDAC control ! 300: ! 301: IB, // prepare atc for writing ! 302: INPUT_STATUS_1_COLOR, ! 303: ! 304: METAOUT+ATCOUT, // ! 305: ATT_ADDRESS_PORT, // port ! 306: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 307: 0, // start index ! 308: 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, ! 309: 0x01,0x0,0x0F,0x0,0x0, ! 310: ! 311: METAOUT+INDXOUT, // ! 312: GRAPH_ADDRESS_PORT, // port ! 313: VGA_NUM_GRAPH_CONT_PORTS, // count ! 314: 0, // start index ! 315: 0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF, ! 316: ! 317: OB, // turn video on. ! 318: ATT_ADDRESS_PORT, ! 319: VIDEO_ENABLE, ! 320: ! 321: #endif ! 322: // disable banking ! 323: OWM, ! 324: GRAPH_ADDRESS_PORT, ! 325: 3, ! 326: 0x030d, // ER0D = Paging control: 1 64K page, ! 327: 0x000e, // ER0E page A address = 0 ! 328: 0x000f, // ER0F page B address = 0 ! 329: ! 330: OB, ! 331: DAC_PIXEL_MASK_PORT, ! 332: 0xFF, ! 333: ! 334: EOD ! 335: }; ! 336: //----------------------------- ! 337: // standard VGA text modes here ! 338: //----------------------------- ! 339: ! 340: USHORT CL6410_80x25_14_Text_crt[] = { ! 341: // Unlock Key for color mode ! 342: OW, // GR0A = 0xEC opens extension registers ! 343: GRAPH_ADDRESS_PORT, ! 344: 0xec0a, ! 345: ! 346: #ifndef INT10_MODE_SET ! 347: OWM, ! 348: SEQ_ADDRESS_PORT, ! 349: 5, ! 350: 0x0100,0x0001,0x0302,0x0003,0x0204, // program up sequencer ! 351: ! 352: OB, ! 353: MISC_OUTPUT_REG_WRITE_PORT, ! 354: 0x67, ! 355: ! 356: OW, ! 357: GRAPH_ADDRESS_PORT, ! 358: 0x0e06, ! 359: ! 360: // EndSyncResetCmd ! 361: OW, ! 362: SEQ_ADDRESS_PORT, ! 363: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 364: ! 365: OW, ! 366: CRTC_ADDRESS_PORT_COLOR, ! 367: 0x0511, ! 368: ! 369: METAOUT+INDXOUT, // program crtc registers ! 370: CRTC_ADDRESS_PORT_COLOR, ! 371: VGA_NUM_CRTC_PORTS, // count ! 372: 0, // start index ! 373: 0x5F,0x4f,0x50,0x82, ! 374: 0x55,0x81,0xbf,0x1f, ! 375: 0x00,0x4f,0x0d,0x0e, ! 376: 0x00,0x00,0x01,0xe0, ! 377: 0x9c,0xae,0x8f,0x28, ! 378: 0x1f,0x96,0xb9,0xa3, ! 379: 0xFF, ! 380: ! 381: // extension registers ! 382: OWM, ! 383: GRAPH_ADDRESS_PORT, ! 384: 16, ! 385: 0x0262, // ER62 horz. display end extension ! 386: 0x8164, // ER64 horz. retrace end extension ! 387: 0x0079, // ER79 vertical overflow ! 388: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 389: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 390: 0x007c, // ER7c screen A start addr. extension ! 391: 0x0081, // ER81 display mode ! 392: 0x0082, // ER82 character clock selection ! 393: 0x1084, // ER84 clock select extension ! 394: 0x0090, // ER90 display memory control ! 395: 0x0391, // ER91 CRT-circular buffer policy select ! 396: 0x0095, // ER95 CRT-circular buffer delta & burst ! 397: 0x0096, // ER96 display memory control test ! 398: 0x12a0, // ERa0 bus interface unit control ! 399: 0x00a1, // ERa1 three-state and test control ! 400: 0x00c8, // ERc8 RAMDAC control ! 401: ! 402: IB, // prepare atc for writing ! 403: INPUT_STATUS_1_COLOR, ! 404: ! 405: METAOUT+ATCOUT, // ! 406: ATT_ADDRESS_PORT, // port ! 407: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 408: 0, // start index ! 409: 0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, ! 410: 0x00,0x0,0x0F,0x0,0x0, ! 411: ! 412: METAOUT+INDXOUT, // ! 413: GRAPH_ADDRESS_PORT, // port ! 414: VGA_NUM_GRAPH_CONT_PORTS, // count ! 415: 0, // start index ! 416: 0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF, ! 417: ! 418: IB, // prepare atc for writing ! 419: INPUT_STATUS_1_COLOR, ! 420: ! 421: OB, // turn video on. ! 422: ATT_ADDRESS_PORT, ! 423: VIDEO_ENABLE, ! 424: ! 425: #endif ! 426: // disable banking ! 427: OWM, ! 428: GRAPH_ADDRESS_PORT, ! 429: 3, ! 430: 0x030d, // ER0D = Paging control: 1 64K page, ! 431: 0x000e, // ER0E page A address = 0 ! 432: 0x000f, // ER0F page B address = 0 ! 433: ! 434: OB, ! 435: DAC_PIXEL_MASK_PORT, ! 436: 0xFF, ! 437: ! 438: EOD ! 439: }; ! 440: // ! 441: // 80x25 and 720 x 400 ! 442: // ! 443: ! 444: USHORT CL6410_80x25_14_Text_panel[] = { ! 445: // Unlock Key for color mode ! 446: OW, // GR0A = 0xEC opens extension registers ! 447: GRAPH_ADDRESS_PORT, ! 448: 0xec0a, ! 449: ! 450: #ifndef INT10_MODE_SET ! 451: OWM, ! 452: SEQ_ADDRESS_PORT, ! 453: 5, ! 454: 0x0100,0x0001,0x0302,0x0003,0x0204, // program up sequencer ! 455: ! 456: OWM, ! 457: SEQ_ADDRESS_PORT, ! 458: 2, ! 459: 0x0006,0x0fc07, // program up sequencer ! 460: ! 461: OB, ! 462: MISC_OUTPUT_REG_WRITE_PORT, ! 463: 0x67, ! 464: ! 465: OW, ! 466: GRAPH_ADDRESS_PORT, ! 467: 0x0e06, ! 468: ! 469: // EndSyncResetCmd ! 470: OW, ! 471: SEQ_ADDRESS_PORT, ! 472: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 473: ! 474: OW, ! 475: CRTC_ADDRESS_PORT_COLOR, ! 476: 0x0E11, ! 477: ! 478: METAOUT+INDXOUT, // program crtc registers ! 479: CRTC_ADDRESS_PORT_COLOR, ! 480: VGA_NUM_CRTC_PORTS, // count ! 481: 0, // start index ! 482: 0x5F,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0xd,0xe,0x0,0x0,0x0,0x0, ! 483: 0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xFF, ! 484: ! 485: // extension registers ! 486: OWM, ! 487: GRAPH_ADDRESS_PORT, ! 488: 16, ! 489: 0x1e62, // ER62 horz. display end extension ! 490: 0x9264, // ER64 horz. retrace end extension ! 491: 0x0079, // ER79 vertical overflow ! 492: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 493: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 494: 0x007c, // ER7c screen A start addr. extension ! 495: 0x0081, // ER81 display mode ! 496: 0x0082, // ER82 character clock selection ! 497: 0xac84, // ER84 clock select extension ! 498: 0x0090, // ER90 display memory control ! 499: 0x0391, // ER91 CRT-circular buffer policy select ! 500: 0x0a95, // ER95 CRT-circular buffer delta & burst ! 501: 0x0096, // ER96 display memory control test ! 502: 0x12a0, // ERa0 bus interface unit control ! 503: 0x00a1, // ERa1 three-state and test control ! 504: 0x00c8, // ERc8 RAMDAC control ! 505: ! 506: IB, // prepare atc for writing ! 507: INPUT_STATUS_1_COLOR, ! 508: ! 509: METAOUT+ATCOUT, // ! 510: ATT_ADDRESS_PORT, // port ! 511: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 512: 0, // start index ! 513: 0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, ! 514: 0x04,0x0,0x0F,0x8,0x0, ! 515: ! 516: METAOUT+INDXOUT, // ! 517: GRAPH_ADDRESS_PORT, // port ! 518: VGA_NUM_GRAPH_CONT_PORTS, // count ! 519: 0, // start index ! 520: 0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF, ! 521: ! 522: OB, // turn video on. ! 523: ATT_ADDRESS_PORT, ! 524: VIDEO_ENABLE, ! 525: ! 526: #endif ! 527: // disable banking ! 528: OWM, ! 529: GRAPH_ADDRESS_PORT, ! 530: 3, ! 531: 0x030d, // ER0D = Paging control: 1 64K page, ! 532: 0x000e, // ER0E page A address = 0 ! 533: 0x000f, // ER0F page B address = 0 ! 534: ! 535: OB, ! 536: DAC_PIXEL_MASK_PORT, ! 537: 0xFF, ! 538: ! 539: EOD ! 540: }; ! 541: USHORT CL6410_80x25Text_crt[] = { ! 542: // Unlock Key for color mode ! 543: OW, // GR0A = 0xEC opens extension registers ! 544: GRAPH_ADDRESS_PORT, ! 545: 0xec0a, ! 546: ! 547: #ifndef INT10_MODE_SET ! 548: OWM, ! 549: SEQ_ADDRESS_PORT, ! 550: 5, ! 551: 0x0100,0x0001,0x0302,0x0003,0x0204, // program up sequencer ! 552: ! 553: OB, ! 554: MISC_OUTPUT_REG_WRITE_PORT, ! 555: 0x67, ! 556: ! 557: OW, ! 558: GRAPH_ADDRESS_PORT, ! 559: 0x0e06, ! 560: ! 561: // EndSyncResetCmd ! 562: OW, ! 563: SEQ_ADDRESS_PORT, ! 564: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 565: ! 566: OW, ! 567: CRTC_ADDRESS_PORT_COLOR, ! 568: 0x0511, ! 569: ! 570: METAOUT+INDXOUT, // program crtc registers ! 571: CRTC_ADDRESS_PORT_COLOR, ! 572: VGA_NUM_CRTC_PORTS, // count ! 573: 0, // start index ! 574: 0x5F,0x4f,0x50,0x82, ! 575: 0x55,0x81,0xbf,0x1f, ! 576: 0x00,0x4f,0x0d,0x0e, ! 577: 0x00,0x00,0x01,0xe0, ! 578: 0x9c,0xae,0x8f,0x28, ! 579: 0x1f,0x96,0xb9,0xa3, ! 580: 0xFF, ! 581: ! 582: // extension registers ! 583: OWM, ! 584: GRAPH_ADDRESS_PORT, ! 585: 16, ! 586: 0x0262, // ER62 horz. display end extension ! 587: 0x8164, // ER64 horz. retrace end extension ! 588: 0x0079, // ER79 vertical overflow ! 589: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 590: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 591: 0x007c, // ER7c screen A start addr. extension ! 592: 0x0081, // ER81 display mode ! 593: 0x0082, // ER82 character clock selection ! 594: 0x1084, // ER84 clock select extension ! 595: 0x0090, // ER90 display memory control ! 596: 0x0391, // ER91 CRT-circular buffer policy select ! 597: 0x0095, // ER95 CRT-circular buffer delta & burst ! 598: 0x0096, // ER96 display memory control test ! 599: 0x12a0, // ERa0 bus interface unit control ! 600: 0x00a1, // ERa1 three-state and test control ! 601: 0x00c8, // ERc8 RAMDAC control ! 602: ! 603: IB, // prepare atc for writing ! 604: INPUT_STATUS_1_COLOR, ! 605: ! 606: METAOUT+ATCOUT, // ! 607: ATT_ADDRESS_PORT, // port ! 608: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 609: 0, // start index ! 610: 0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, ! 611: 0x00,0x0,0x0F,0x0,0x0, ! 612: ! 613: METAOUT+INDXOUT, // ! 614: GRAPH_ADDRESS_PORT, // port ! 615: VGA_NUM_GRAPH_CONT_PORTS, // count ! 616: 0, // start index ! 617: 0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF, ! 618: ! 619: IB, // prepare atc for writing ! 620: INPUT_STATUS_1_COLOR, ! 621: ! 622: OB, // turn video on. ! 623: ATT_ADDRESS_PORT, ! 624: VIDEO_ENABLE, ! 625: ! 626: #endif ! 627: // disable banking ! 628: OWM, ! 629: GRAPH_ADDRESS_PORT, ! 630: 3, ! 631: 0x030d, // ER0D = Paging control: 1 64K page, ! 632: 0x000e, // ER0E page A address = 0 ! 633: 0x000f, // ER0F page B address = 0 ! 634: ! 635: OB, ! 636: DAC_PIXEL_MASK_PORT, ! 637: 0xFF, ! 638: ! 639: EOD ! 640: }; ! 641: // ! 642: // 80x25 and 720 x 400 ! 643: // ! 644: ! 645: USHORT CL6410_80x25Text_panel[] = { ! 646: // Unlock Key for color mode ! 647: OW, // GR0A = 0xEC opens extension registers ! 648: GRAPH_ADDRESS_PORT, ! 649: 0xec0a, ! 650: ! 651: #ifndef INT10_MODE_SET ! 652: OWM, ! 653: SEQ_ADDRESS_PORT, ! 654: 5, ! 655: 0x0100,0x0001,0x0302,0x0003,0x0204, // program up sequencer ! 656: ! 657: OWM, ! 658: SEQ_ADDRESS_PORT, ! 659: 2, ! 660: 0x0006,0x0fc07, // program up sequencer ! 661: ! 662: OB, ! 663: MISC_OUTPUT_REG_WRITE_PORT, ! 664: 0x67, ! 665: ! 666: OW, ! 667: GRAPH_ADDRESS_PORT, ! 668: 0x0e06, ! 669: ! 670: // EndSyncResetCmd ! 671: OW, ! 672: SEQ_ADDRESS_PORT, ! 673: IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8), ! 674: ! 675: OW, ! 676: CRTC_ADDRESS_PORT_COLOR, ! 677: 0x0E11, ! 678: ! 679: METAOUT+INDXOUT, // program crtc registers ! 680: CRTC_ADDRESS_PORT_COLOR, ! 681: VGA_NUM_CRTC_PORTS, // count ! 682: 0, // start index ! 683: 0x5F,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0xd,0xe,0x0,0x0,0x0,0x0, ! 684: 0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xFF, ! 685: ! 686: // extension registers ! 687: OWM, ! 688: GRAPH_ADDRESS_PORT, ! 689: 16, ! 690: 0x1e62, // ER62 horz. display end extension ! 691: 0x9264, // ER64 horz. retrace end extension ! 692: 0x0079, // ER79 vertical overflow ! 693: 0x007a, // ER7a coarse vert. retrace skew for interlaced odd fields ! 694: 0x007b, // ER7b fine vert. retrace skew for interlaced odd fields ! 695: 0x007c, // ER7c screen A start addr. extension ! 696: 0x0081, // ER81 display mode ! 697: 0x0082, // ER82 character clock selection ! 698: 0xac84, // ER84 clock select extension ! 699: 0x0090, // ER90 display memory control ! 700: 0x0391, // ER91 CRT-circular buffer policy select ! 701: 0x0a95, // ER95 CRT-circular buffer delta & burst ! 702: 0x0096, // ER96 display memory control test ! 703: 0x12a0, // ERa0 bus interface unit control ! 704: 0x00a1, // ERa1 three-state and test control ! 705: 0x00c8, // ERc8 RAMDAC control ! 706: ! 707: IB, // prepare atc for writing ! 708: INPUT_STATUS_1_COLOR, ! 709: ! 710: METAOUT+ATCOUT, // ! 711: ATT_ADDRESS_PORT, // port ! 712: VGA_NUM_ATTRIB_CONT_PORTS, // count ! 713: 0, // start index ! 714: 0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, ! 715: 0x04,0x0,0x0F,0x8,0x0, ! 716: ! 717: METAOUT+INDXOUT, // ! 718: GRAPH_ADDRESS_PORT, // port ! 719: VGA_NUM_GRAPH_CONT_PORTS, // count ! 720: 0, // start index ! 721: 0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF, ! 722: ! 723: OB, // turn video on. ! 724: ATT_ADDRESS_PORT, ! 725: VIDEO_ENABLE, ! 726: ! 727: #endif ! 728: // disable banking ! 729: OWM, ! 730: GRAPH_ADDRESS_PORT, ! 731: 3, ! 732: 0x030d, // ER0D = Paging control: 1 64K page, ! 733: 0x000e, // ER0E page A address = 0 ! 734: 0x000f, // ER0F page B address = 0 ! 735: ! 736: OB, ! 737: DAC_PIXEL_MASK_PORT, ! 738: 0xFF, ! 739: ! 740: EOD ! 741: }; ! 742: ! 743:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.