|
|
1.1 ! root 1: ! 2: /*++ ! 3: ! 4: Copyright (c) 1992 Microsoft Corporation ! 5: ! 6: Module Name: ! 7: ! 8: jaginit.h ! 9: ! 10: Abstract: ! 11: ! 12: Header file for Jaguar screen mode data ! 13: ! 14: Author: ! 15: ! 16: Mark Enstrom ! 17: ! 18: Environment: ! 19: ! 20: ! 21: --*/ ! 22: ! 23: // ! 24: // Define Jaguar register values to properly set up each mode. ! 25: // ! 26: ! 27: // ! 28: // Define structures for initializing timing parameters ! 29: // ! 30: ! 31: typedef struct _JAGUAR_REG_INIT { ! 32: UCHAR ClockFreq; ! 33: UCHAR Bt485Multiply; ! 34: UCHAR BitBltControl; ! 35: USHORT TopOfScreen; ! 36: USHORT HorizontalBlank; ! 37: USHORT HorizontalBeginSync; ! 38: USHORT HorizontalEndSync; ! 39: USHORT HorizontalLine; ! 40: USHORT VerticalBlank; ! 41: USHORT VerticalBeginSync; ! 42: USHORT VerticalEndSync; ! 43: USHORT VerticalLine; ! 44: USHORT XferLength; ! 45: USHORT VerticalInterruptLine; ! 46: USHORT HorizontalDisplay; ! 47: } JAGUAR_REG_INIT, *PJAGUAR_REG_INIT; ! 48: ! 49: // ! 50: // 1280 x 1024 x 8, 60 Hz (Bt485 only) ! 51: // ! 52: ! 53: JAGUAR_REG_INIT v1280_1024_8_60[] = { ! 54: 0x18, // Clock Selector ! 55: 1, // Bt485 clock 2x multiply ! 56: 1, // BitBlt Control ! 57: 0, // TopOfScreen ! 58: 102, // Horizontal Blank ! 59: 11, // Horizontal Begin Sync ! 60: 57, // Horizontal End Sync ! 61: 422, // Horizontal Total ! 62: 32, // Vertical Blank ! 63: 3, // Vertical Begin Sync ! 64: 6, // Vertical End Sync ! 65: 1056, // Vertical Total ! 66: 0x200,// XFER LENGTH ! 67: 4, // Vertival Interrupt Line ! 68: 1280 // Screen X ! 69: }; ! 70: ! 71: // ! 72: // 1280 x 1024 x 8, 72 Hz (Bt485 only) (set to 70 until Bt485 bug fixed) ! 73: // ! 74: ! 75: JAGUAR_REG_INIT v1280_1024_8_72[] = { ! 76: 0x1a, // Clock Selector ! 77: 1, // Bt485 clock 2x multiply ! 78: 1, // BitBlt Control ! 79: 0, // TopOfScreen ! 80: 102, // Horizontal Blank ! 81: 11, // Horizontal Begin Sync ! 82: 57, // Horizontal End Sync ! 83: 422, // Horizontal Total ! 84: 32, // Vertical Blank ! 85: 3, // Vertical Begin Sync ! 86: 6, // Vertical End Sync ! 87: 1056, // Vertical Total ! 88: 0x200,// XFER LENGTH ! 89: 4, // Vertival Interrupt Line ! 90: 1280 // Screen X ! 91: }; ! 92: ! 93: // ! 94: // 1152 x 900 x 8, 72 Hz ! 95: // ! 96: ! 97: JAGUAR_REG_INIT v1152_900_8_72[] = { ! 98: 0x17, // Clock Selector ! 99: 1, // Bt485 clock 2x multiply ! 100: 1, // BitBlt Control ! 101: 0, // TopOfScreen ! 102: 84, // Horizontal Blank ! 103: 7, // Horizontal Begin Sync ! 104: 44, // Horizontal End Sync ! 105: 372, // Horizontal Total ! 106: 48, // Vertical Blank ! 107: 1, // Vertical Begin Sync ! 108: 5, // Vertical End Sync ! 109: 948, // Vertical Total ! 110: 0x200,// XFER LENGTH ! 111: 4, // Vertival Interrupt Line ! 112: 1152 // Screen X ! 113: }; ! 114: ! 115: // ! 116: // 1152 x 900 x 8, 60 Hz ! 117: // ! 118: ! 119: JAGUAR_REG_INIT v1152_900_8_60[] = { ! 120: 0x1e, // Clock Selector ! 121: 0, // Bt485 clock 2x multiply ! 122: 1, // BitBlt Control ! 123: 0, // TopOfScreen ! 124: 84, // Horizontal Blank ! 125: 7, // Horizontal Begin Sync ! 126: 30, // Horizontal End Sync ! 127: 372, // Horizontal Total ! 128: 40, // Vertical Blank ! 129: 1, // Vertical Begin Sync ! 130: 5, // Vertical End Sync ! 131: 940, // Vertical Total ! 132: 0x200,// XFER LENGTH ! 133: 4, // Vertival Interrupt Line ! 134: 1152 // Screen X ! 135: }; ! 136: ! 137: // ! 138: // 1152 x 900 x 16, 60 Hz ! 139: // ! 140: ! 141: JAGUAR_REG_INIT v1152_900_16_60[] = { ! 142: 0x1e, // Clock Selector ! 143: 0, // Bt485 clock 2x multiply ! 144: 3, // BitBlt Control ! 145: 0, // TopOfScreen ! 146: 168, // Horizontal Blank ! 147: 14, // Horizontal Begin Sync ! 148: 60, // Horizontal End Sync ! 149: 744, // Horizontal Total ! 150: 40, // Vertical Blank ! 151: 1, // Vertical Begin Sync ! 152: 5, // Vertical End Sync ! 153: 940, // Vertical Total ! 154: 0x200,// XFER LENGTH ! 155: 4, // Vertival Interrupt Line ! 156: 2304 // Screen X ! 157: }; ! 158: ! 159: // ! 160: // 1024 x 768 x 16, 72 Hz ! 161: // ! 162: ! 163: JAGUAR_REG_INIT v1024_768_16_72[] = { ! 164: 0x1e, // Clock Selector ! 165: 0, // Bt485 clock 2x multiply ! 166: 3, // BitBlt Control ! 167: 0, // TopOfScreen ! 168: 166, // Horizontal Blank ! 169: 22, // Horizontal Begin Sync ! 170: 92, // Horizontal End Sync ! 171: 678, // Horizontal Total ! 172: 38, // Vertical Blank ! 173: 3, // Vertical Begin Sync ! 174: 9, // Vertical End Sync ! 175: 806, // Vertical Total ! 176: 0x200, // XFER LENGTH ! 177: 4, // Vertival Interrupt Line ! 178: 2048 // Screen X ! 179: }; ! 180: ! 181: ! 182: // ! 183: // 1024 x 768 x 8, 72 Hz ! 184: // ! 185: ! 186: JAGUAR_REG_INIT v1024_768_8_72[] = { ! 187: 0x1e, // Clock Selector ! 188: 0, // Bt485 clock 2x multiply ! 189: 1, // BitBlt Control ! 190: 0, // TopOfScreen ! 191: 83, // Horizontal Blank ! 192: 11, // Horizontal Begin Sync ! 193: 46, // Horizontal End Sync ! 194: 339, // Horizontal Total ! 195: 38, // Vertical Blank ! 196: 3, // Vertical Begin Sync ! 197: 9, // Vertical End Sync ! 198: 806, // Vertical Total ! 199: 0x200, // XFER LENGTH ! 200: 4, // Vertival Interrupt Line ! 201: 1024 // Screen X ! 202: }; ! 203: ! 204: // ! 205: // 1024 x 768 x 16, 60 Hz ! 206: // ! 207: ! 208: JAGUAR_REG_INIT v1024_768_16_60[] = { ! 209: 0x1b, // Clock Selector ! 210: 0, // Bt485 clock 2x multiply ! 211: 3, // BitBlt Control ! 212: 0, // TopOfScreen ! 213: 144, // Horizontal Blank ! 214: 32, // Horizontal Begin Sync ! 215: 80, // Horizontal End Sync ! 216: 656, // Horizontal Total ! 217: 45, // Vertical Blank ! 218: 3, // Vertical Begin Sync ! 219: 6, // Vertical End Sync ! 220: 813, // Vertical Total ! 221: 0x200, // XFER LENGTH ! 222: 4, // Vertival Interrupt Line ! 223: 2048 // Screen X ! 224: }; ! 225: ! 226: // ! 227: // 1024 x 768 x 8, 60 Hz ! 228: // ! 229: ! 230: JAGUAR_REG_INIT v1024_768_8_60[] = { ! 231: 0x1b, // Clock Selector ! 232: 0, // Bt485 clock 2x multiply ! 233: 1, // BitBlt Control ! 234: 0, // TopOfScreen ! 235: 72, // Horizontal Blank ! 236: 16, // Horizontal Begin Sync ! 237: 40, // Horizontal End Sync ! 238: 328, // Horizontal Total ! 239: 45, // Vertical Blank ! 240: 3, // Vertical Begin Sync ! 241: 6, // Vertical End Sync ! 242: 813, // Vertical Total ! 243: 0x200, // XFER LENGTH ! 244: 4, // Vertival Interrupt Line ! 245: 1024 // Screen X ! 246: }; ! 247: ! 248: ! 249: // ! 250: // 800 x 600 x 8, 60 Hz ! 251: // ! 252: ! 253: JAGUAR_REG_INIT v800_600_8_60[] = { ! 254: 0x11, // Clock Selector ! 255: 0, // Bt485 clock 2x multiply ! 256: 1, // BitBlt Control ! 257: 0, // TopOfScreen ! 258: 52, // Horizontal Blank ! 259: 4, // Horizontal Begin Sync ! 260: 16, // Horizontal End Sync ! 261: 252, // Horizontal Total ! 262: 28, // Vertical Blank ! 263: 4, // Vertical Begin Sync ! 264: 8, // Vertical End Sync ! 265: 628, // Vertical Total ! 266: 0x200, // XFER LENGTH ! 267: 4, // Vertival Interrupt Line ! 268: 800 // Screen X ! 269: }; ! 270: ! 271: // ! 272: // 800 x 600 x 8, 72 Hz ! 273: // ! 274: ! 275: JAGUAR_REG_INIT v800_600_8_72[] = { ! 276: 0x13, // Clock Selector ! 277: 0, // Bt485 clock 2x multiply ! 278: 1, // BitBlt Control ! 279: 0, // TopOfScreen ! 280: 52, // Horizontal Blank ! 281: 4, // Horizontal Begin Sync ! 282: 16, // Horizontal End Sync ! 283: 252, // Horizontal Total ! 284: 28, // Vertical Blank ! 285: 4, // Vertical Begin Sync ! 286: 8, // Vertical End Sync ! 287: 628, // Vertical Total ! 288: 0x200, // XFER LENGTH ! 289: 4, // Vertival Interrupt Line ! 290: 800 // Screen X ! 291: }; ! 292: ! 293: // ! 294: // 800 x 600 x 16, 60 Hz ! 295: // ! 296: ! 297: JAGUAR_REG_INIT v800_600_16_60[] = { ! 298: 0x11, // Clock Selector ! 299: 0, // Bt485 clock 2x multiply ! 300: 3, // BitBlt Control (16 bpp) ! 301: 0, // TopOfScreen ! 302: 104, // Horizontal Blank ! 303: 8, // Horizontal Begin Sync ! 304: 32, // Horizontal End Sync ! 305: 504, // Horizontal Total ! 306: 28, // Vertical Blank ! 307: 4, // Vertical Begin Sync ! 308: 8, // Vertical End Sync ! 309: 628, // Vertical Total ! 310: 0x200, // XFER LENGTH ! 311: 4, // Vertival Interrupt Line ! 312: 1600 // Screen X ! 313: }; ! 314: ! 315: // ! 316: // 800 x 600 x 16, 72 Hz ! 317: // ! 318: ! 319: JAGUAR_REG_INIT v800_600_16_72[] = { ! 320: 0x13, // Clock Selector ! 321: 0, // Bt485 clock 2x multiply ! 322: 3, // BitBlt Control (16 bpp) ! 323: 0, // TopOfScreen ! 324: 104, // Horizontal Blank ! 325: 8, // Horizontal Begin Sync ! 326: 32, // Horizontal End Sync ! 327: 504, // Horizontal Total ! 328: 28, // Vertical Blank ! 329: 4, // Vertical Begin Sync ! 330: 8, // Vertical End Sync ! 331: 628, // Vertical Total ! 332: 0x200, // XFER LENGTH ! 333: 4, // Vertival Interrupt Line ! 334: 1600 // Screen X ! 335: }; ! 336: ! 337: // ! 338: // 800 x 600 x 32, 60 Hz ! 339: // ! 340: ! 341: JAGUAR_REG_INIT v800_600_32_60[] = { ! 342: 0x11, // Clock Selector ! 343: 0, // Bt485 clock 2x multiply ! 344: 5, // BitBlt Control (16 bpp) ! 345: 0, // TopOfScreen ! 346: 208, // Horizontal Blank ! 347: 16, // Horizontal Begin Sync ! 348: 64, // Horizontal End Sync ! 349: 1008, // Horizontal Total ! 350: 28, // Vertical Blank ! 351: 4, // Vertical Begin Sync ! 352: 8, // Vertical End Sync ! 353: 628, // Vertical Total ! 354: 0x200, // XFER LENGTH ! 355: 4, // Vertival Interrupt Line ! 356: 3200 // Screen X ! 357: }; ! 358: ! 359: // ! 360: // 800 x 600 x 32, 72 Hz ! 361: // ! 362: ! 363: JAGUAR_REG_INIT v800_600_32_72[] = { ! 364: 0x13, // Clock Selector ! 365: 0, // Bt485 clock 2x multiply ! 366: 5, // BitBlt Control (16 bpp) ! 367: 0, // TopOfScreen ! 368: 208, // Horizontal Blank ! 369: 16, // Horizontal Begin Sync ! 370: 64, // Horizontal End Sync ! 371: 1008, // Horizontal Total ! 372: 28, // Vertical Blank ! 373: 4, // Vertical Begin Sync ! 374: 8, // Vertical End Sync ! 375: 628, // Vertical Total ! 376: 0x200, // XFER LENGTH ! 377: 4, // Vertival Interrupt Line ! 378: 3200 // Screen X ! 379: }; ! 380: ! 381: // ! 382: // 640 x 480 x 8, 60 Hz ! 383: // ! 384: ! 385: JAGUAR_REG_INIT v640_480_8_60[] = { ! 386: 0xc, // Clock Selector ! 387: 0, // Bt485 clock 2x multiply ! 388: 1, // BitBlt Control ! 389: 0, // TopOfScreen ! 390: 41, // Horizontal Blank ! 391: 4, // Horizontal Begin Sync ! 392: 29, // Horizontal End Sync ! 393: 201, // Horizontal Total ! 394: 45, // Vertical Blank ! 395: 11, // Vertical Begin Sync ! 396: 13, // Vertical End Sync ! 397: 525, // Vertical Total ! 398: 0x200, // XFER LENGTH ! 399: 4, // Vertival Interrupt Line ! 400: 640 // Screen X ! 401: }; ! 402: ! 403: // ! 404: // 640 x 480 x 8, 72 Hz ! 405: // ! 406: ! 407: JAGUAR_REG_INIT v640_480_8_72[] = { ! 408: 0xe, // Clock Selectr ! 409: 0, // Bt485 clock 2x multiply ! 410: 1, // BitBlt Control ! 411: 0, // TopOfScreen ! 412: 41, // Horizontal Blank ! 413: 4, // Horizontal Begin Sync ! 414: 29, // Horizontal End Sync ! 415: 201, // Horizontal Total ! 416: 45, // Vertical Blank ! 417: 11, // Vertical Begin Sync ! 418: 13, // Vertical End Sync ! 419: 525, // Vertical Total ! 420: 0x200, // XFER LENGTH ! 421: 4, // Vertival Interrupt Line ! 422: 640 // Screen X ! 423: }; ! 424: ! 425: // ! 426: // 640 x 480 x 16, 60 Hz ! 427: // ! 428: ! 429: JAGUAR_REG_INIT v640_480_16_60[] = { ! 430: 0xc, // Clock Selector ! 431: 0, // Bt485 clock 2x multiply ! 432: 3, // BitBlt Control ! 433: 0, // TopOfScreen ! 434: 82, // Horizontal Blank ! 435: 8, // Horizontal Begin Sync ! 436: 58, // Horizontal End Sync ! 437: 402, // Horizontal Total ! 438: 45, // Vertical Blank ! 439: 11, // Vertical Begin Sync ! 440: 13, // Vertical End Sync ! 441: 525, // Vertical Total ! 442: 0x200, // XFER LENGTH ! 443: 4, // Vertival Interrupt Line ! 444: 1280 // Screen X ! 445: }; ! 446: ! 447: // ! 448: // 640 x 480 x 16, 72 Hz ! 449: // ! 450: ! 451: JAGUAR_REG_INIT v640_480_16_72[] = { ! 452: 0xe, // Clock Selector ! 453: 0, // Bt485 clock 2x multiply ! 454: 3, // BitBlt Control ! 455: 0, // TopOfScreen ! 456: 82, // Horizontal Blank ! 457: 8, // Horizontal Begin Sync ! 458: 58, // Horizontal End Sync ! 459: 402, // Horizontal Total ! 460: 45, // Vertical Blank ! 461: 11, // Vertical Begin Sync ! 462: 13, // Vertical End Sync ! 463: 525, // Vertical Total ! 464: 0x200, // XFER LENGTH ! 465: 4, // Vertival Interrupt Line ! 466: 1280 // Screen X ! 467: }; ! 468: ! 469: // ! 470: // 640 x 480 x 32, 60 Hz ! 471: // ! 472: ! 473: JAGUAR_REG_INIT v640_480_32_60[] = { ! 474: 0xc, // Clock Selector ! 475: 0, // Bt485 clock 2x multiply ! 476: 5, // BitBlt Control ! 477: 0, // TopOfScreen ! 478: 164, // Horizontal Blank ! 479: 17, // Horizontal Begin Sync ! 480: 116, // Horizontal End Sync ! 481: 804, // Horizontal Total ! 482: 45, // Vertical Blank ! 483: 11, // Vertical Begin Sync ! 484: 13, // Vertical End Sync ! 485: 525, // Vertical Total ! 486: 0x200, // XFER LENGTH ! 487: 4, // Vertival Interrupt Line ! 488: 2560 // Screen X ! 489: }; ! 490: ! 491: // ! 492: // 640 x 480 x 32, 72 Hz ! 493: // ! 494: ! 495: JAGUAR_REG_INIT v640_480_32_72[] = { ! 496: 0xe, // Clock Selector ! 497: 0, // Bt485 clock 2x multiply ! 498: 5, // BitBlt Control ! 499: 0, // TopOfScreen ! 500: 164, // Horizontal Blank ! 501: 17, // Horizontal Begin Sync ! 502: 116, // Horizontal End Sync ! 503: 804, // Horizontal Total ! 504: 45, // Vertical Blank ! 505: 11, // Vertical Begin Sync ! 506: 13, // Vertical End Sync ! 507: 525, // Vertical Total ! 508: 0x200, // XFER LENGTH ! 509: 4, // Vertival Interrupt Line ! 510: 2560 // Screen X ! 511: }; ! 512: ! 513: // ! 514: // Gamma correction table ! 515: // ! 516: ! 517: UCHAR Gamma[] = { ! 518: // 1.5 2.2 linear ! 519: 0, // 0, 0 , 0 ! 520: 8, // 26, 54, 1 ! 521: 16, // 41, 73, 2 ! 522: 24, // 53, 88, 3 ! 523: 32, // 65, 101, 4 ! 524: 40, // 75, 111, 5 ! 525: 48, // 85, 121, 6 ! 526: 56, // 94, 130, 7 ! 527: 64, // 103, 138, 8 ! 528: 72, // 111, 145, 9 ! 529: 80, // 119, 152, 0 ! 530: 88, // 127, 159, 1 ! 531: 96, // 135, 166, 2 ! 532: 104,// 142, 172, 3 ! 533: 112,// 149, 178, 4 ! 534: 120,// 156, 183, 5 ! 535: 128,// 163, 189, 6 ! 536: 136,// 170, 194, 7 ! 537: 144,// 177, 199, 8 ! 538: 152,// 183, 205, 9 ! 539: 160,// 189, 209, 0 ! 540: 168,// 196, 214, 1 ! 541: 176,// 202, 218, 2 ! 542: 184,// 208, 223, 3 ! 543: 192,// 214, 227, 4 ! 544: 200,// 220, 231, 5 ! 545: 208,// 226, 235, 6 ! 546: 216,// 231, 239, 7 ! 547: 224,// 237, 243, 8 ! 548: 232,// 243, 247, 9 ! 549: 240,// 248, 251, 0 ! 550: 248,// 255 255 1 ! 551: }; ! 552: ! 553:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.