|
|
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.