|
|
1.1 ! root 1: /* Copyright (c) 1992, 1993 NeXT Computer, Inc. All rights reserved. ! 2: * ! 3: * ATIModes.c - Mode definitions for the ATi display driver. ! 4: * ! 5: * HISTORY ! 6: * 07 Oct 92 Joe Pasqua ! 7: * Created. ! 8: * 01 June 93 Mike Paquette ! 9: * Rewrite: Convert from Corsair device driver to general MACH32 chipset ! 10: * driver. Add support for multiple DACs and CRT setups. ! 11: * Add 8 bit monochrome support. Add support for non-Cosair ! 12: * implementations. ! 13: * 7 July 1993 Derek B Clegg ! 14: * Cleaned up for external release. ! 15: */ ! 16: #import "ATIModes.h" ! 17: ! 18: const ATI_DACSetup ATI_DAC_Setup_15BPP = { ! 19: 0, 1, 0x0d, 0x402A, 0x00, 0x03, 0xA0, IO_15BitsPerPixel ! 20: }; ! 21: ! 22: const ATI_DACSetup ATI_DAC_Setup_8BPP = { ! 23: 0, 0x30, 0x2d, 0x401A, 0xFF, 0x03, 0x00, IO_8BitsPerPixel ! 24: }; ! 25: ! 26: /* 800 x 600, 60Hz, noninterlaced for slow/double clocked DACS (Bt481,ATT491) ! 27: * Note that this programs an 80 MHz dot clock, the current maximum. */ ! 28: static const ATI_CRTCSetup ATI_crt_800_60_SlowDAC = { ! 29: 800, 600, 0x83, 0x63, 0x68, 0x10, 0x4E3, 0x4ab, 0x4B0, 0x04, 0x23, ! 30: 0x062C, 0, ! 31: }; ! 32: ! 33: /* 800 x 600, 72Hz, noninterlaced. */ ! 34: static const ATI_CRTCSetup ATI_crt_800_72 = { ! 35: 800, 600, 0x82, 0x63, 0x6A, 0x0F, 0x537, 0x4ab, 0x4F8, 0x06, 0x23, ! 36: 0x0610, 0, ! 37: }; ! 38: ! 39: /* 800 x 600, 60Hz, noninterlaced. */ ! 40: static const ATI_CRTCSetup ATI_crt_800_60 = { ! 41: 800, 600, 0x83, 0x63, 0x68, 0x10, 0x4E3, 0x4ab, 0x4B0, 0x04, 0x23, ! 42: 0x0630, 0, ! 43: }; ! 44: ! 45: /* 1024 x 768, 76Hz, noninterlaced. */ ! 46: static const ATI_CRTCSetup ATI_crt_1024_76 = { ! 47: 1024, 768, 0xa2, 0x7f, 0x87, 0x0B, 0x64A, 0x5ff, 0x60B, 0x04, 0x23, ! 48: 0x062c, 0, ! 49: }; ! 50: ! 51: /* 1024 x 768, 72Hz, noninterlaced. */ ! 52: static const ATI_CRTCSetup ATI_crt_1024_72 = { ! 53: 1024, 768, 0xa1, 0x7f, 0x82, 0x10, 0x649, 0x5ff, 0x602, 0x26, 0x23, ! 54: 0x0638, 0, ! 55: }; ! 56: ! 57: /* 1024 x 768, 60Hz, noninterlaced. */ ! 58: static const ATI_CRTCSetup ATI_crt_1024_60 = { ! 59: 1024, 768, 0xa7, 0x7f, 0x85, 0x08, 0x63B, 0x5ff, 0x600, 0x04, 0x23, ! 60: 0x063C, 0, ! 61: }; ! 62: ! 63: /* 1120 x 832, 60Hz, noninterlaced. */ ! 64: static const ATI_CRTCSetup ATI_crt_1120_60 = { ! 65: 1120, 832, 0xAB, 0x8B, 0x91, 0x0C, 0x6E8, 0x67F, 0x685, 0x0C, 0x23, ! 66: 0x0638, 0, ! 67: }; ! 68: ! 69: /* 1120 x 832, 68Hz, noninterlaced. */ ! 70: static const ATI_CRTCSetup ATI_crt_1120_68 = { ! 71: 1120, 832, 0xAB, 0x8B, 0x91, 0x0C, 0x6C8, 0x67F, 0x681, 0x06, 0x23, ! 72: 0x062C, 0, ! 73: }; ! 74: ! 75: /* 1280 x 1024, 60Hz, noninterlaced. */ ! 76: static const ATI_CRTCSetup ATI_crt_1280_60 = { ! 77: 1280, 1024, 0xD6, 0x9f, 0xA9, 0x2E, 0x852, 0x7ff, 0x800, 0x25, 0x23, ! 78: 0x0628, 1, ! 79: }; ! 80: ! 81: #if 0 ! 82: ! 83: /* These values are provided for reference only. Current DACs exhibit ! 84: * instability when driven at these high rates. */ ! 85: ! 86: /* 1280 x 1024, 74Hz, noninterlaced. */ ! 87: static const ATI_CRTCSetup ATI_crt_1280_74 = { ! 88: 1280, 1024, 0xD5, 0x9f, 0xA3, 0x12, 0x84B, 0x7ff, 0x7FF, 0x05, 0x23, ! 89: 0x0620, 1, ! 90: }; ! 91: ! 92: /* 1280 x 1024, 70Hz, noninterlaced. */ ! 93: static const ATI_CRTCSetup ATI_crt_1280_70 = { ! 94: 1280, 1024, 0xD2, 0x9f, 0xA9, 0x0E, 0x851, 0x7ff, 0x800, 0x05, 0x23, ! 95: 0x0604, 1, ! 96: }; ! 97: ! 98: #endif ! 99: ! 100: const IODisplayInfo ATIMode[] = { ! 101: { 800, 600, 800, 1600, 72, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 102: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_800_72 }, ! 103: { 800, 600, 800, 1600, 60, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 104: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_800_60 }, ! 105: { 1024, 768, 1024, 2048, 76, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 106: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_1024_76 }, ! 107: { 1024, 768, 1024, 2048, 72, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 108: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_1024_72 }, ! 109: { 1024, 768, 1024, 2048, 60, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 110: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_1024_60 }, ! 111: { 1120, 832, 1120, 2240, 68, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 112: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_1120_68 }, ! 113: { 1120, 832, 1120, 2240, 60, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 114: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_1120_60 }, ! 115: { 800, 600, 800, 800, 72, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 116: "WWWWWWWW", 0, (void *)&ATI_crt_800_72 }, ! 117: { 800, 600, 800, 800, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 118: "WWWWWWWW", 0, (void *)&ATI_crt_800_60 }, ! 119: { 1024, 768, 1024, 1024, 76, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 120: "WWWWWWWW", 0, (void *)&ATI_crt_1024_76 }, ! 121: { 1024, 768, 1024, 1024, 72, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 122: "WWWWWWWW", 0, (void *)&ATI_crt_1024_72 }, ! 123: { 1024, 768, 1024, 1024, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 124: "WWWWWWWW", 0, (void *)&ATI_crt_1024_60 }, ! 125: { 1120, 832, 1120, 1120, 68, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 126: "WWWWWWWW", 0, (void *)&ATI_crt_1120_68 }, ! 127: { 1120, 832, 1120, 1120, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 128: "WWWWWWWW", 0, (void *)&ATI_crt_1120_60 }, ! 129: { 1280, 1024, 1280, 1280, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 130: "WWWWWWWW", 0, (void *)&ATI_crt_1280_60 }, ! 131: { 800, 600, 800, 800, 72, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 132: "PPPPPPPP", 0, (void *)&ATI_crt_800_72 }, ! 133: { 800, 600, 800, 800, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 134: "PPPPPPPP", 0, (void *)&ATI_crt_800_60 }, ! 135: { 1024, 768, 1024, 1024, 76, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 136: "PPPPPPPP", 0, (void *)&ATI_crt_1024_76 }, ! 137: { 1024, 768, 1024, 1024, 72, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 138: "PPPPPPPP", 0, (void *)&ATI_crt_1024_72 }, ! 139: { 1024, 768, 1024, 1024, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 140: "PPPPPPPP", 0, (void *)&ATI_crt_1024_60 }, ! 141: { 1120, 832, 1120, 1120, 68, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 142: "PPPPPPPP", 0, (void *)&ATI_crt_1120_68 }, ! 143: { 1120, 832, 1120, 1120, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 144: "PPPPPPPP", 0, (void *)&ATI_crt_1120_60 }, ! 145: { 1280, 1024, 1280, 1280, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 146: "PPPPPPPP", 0, (void *)&ATI_crt_1280_60 }, ! 147: }; ! 148: ! 149: const int ATIModeCount = (sizeof(ATIMode)/sizeof(ATIMode[0])); ! 150: ! 151: const IODisplayInfo ATISlowDACMode[] = { ! 152: { 800, 600, 800, 1600, 60, 0, IO_15BitsPerPixel, IO_RGBColorSpace, ! 153: "-RRRRRGGGGGBBBBB", 0, (void *)&ATI_crt_800_60_SlowDAC }, ! 154: { 800, 600, 800, 800, 72, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 155: "WWWWWWWW", 0, (void *)&ATI_crt_800_72 }, ! 156: { 800, 600, 800, 800, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 157: "WWWWWWWW", 0, (void *)&ATI_crt_800_60 }, ! 158: { 1024, 768, 1024, 1024, 76, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 159: "WWWWWWWW", 0, (void *)&ATI_crt_1024_76 }, ! 160: { 1024, 768, 1024, 1024, 72, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 161: "WWWWWWWW", 0, (void *)&ATI_crt_1024_72 }, ! 162: { 1024, 768, 1024, 1024, 60, 0, IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, ! 163: "WWWWWWWW", 0, (void *)&ATI_crt_1024_60 }, ! 164: { 800, 600, 800, 800, 72, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 165: "PPPPPPPP", 0, (void *)&ATI_crt_800_72 }, ! 166: { 800, 600, 800, 800, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 167: "PPPPPPPP", 0, (void *)&ATI_crt_800_60 }, ! 168: { 1024, 768, 1024, 1024, 76, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 169: "PPPPPPPP", 0, (void *)&ATI_crt_1024_76 }, ! 170: { 1024, 768, 1024, 1024, 72, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 171: "PPPPPPPP", 0, (void *)&ATI_crt_1024_72 }, ! 172: { 1024, 768, 1024, 1024, 60, 0, IO_8BitsPerPixel, IO_RGBColorSpace, ! 173: "PPPPPPPP", 0, (void *)&ATI_crt_1024_60 }, ! 174: }; ! 175: ! 176: const int ATISlowDACModeCount = ! 177: (sizeof(ATISlowDACMode)/sizeof(ATISlowDACMode[0]));
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.