1/* 2 * Copyright (c) 2006 Advanced Micro Devices, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 * DEALINGS IN THE SOFTWARE. 21 * 22 * Neither the name of the Advanced Micro Devices, Inc. nor the names of its 23 * contributors may be used to endorse or promote products derived from this 24 * software without specific prior written permission. 25 */ 26 27 /* 28 * Cimarron mode tables. 29 */ 30 31/*-------------------------------*/ 32/* PREDEFINED DISPLAY TIMINGS */ 33/*-------------------------------*/ 34 35static const VG_DISPLAY_MODE CimarronDisplayModes[] = { 36 /* 320 x 240 PANEL */ 37 38 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 39 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 40 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 41 VG_MODEFLAG_PANELOUT | /* Panel output. */ 42 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 43 VG_MODEFLAG_QVGA, /* QVGA Panel size. */ 44 320, 240, /* No scaling. */ 45 320, 240, /* 320x240 active */ 46 320, 240, /* 320x240 panel */ 47 0, 0, 0, 0, 0, /* No panel registers */ 48 0x0140, 0x0148, 0x0162, 0x0180, 0x0188, 0x0190, /* horiz timings */ 49 0x00F0, 0x00F4, 0x00F9, 0x00FD, 0x00FF, 0x0104, /* vertical timings */ 50 (31L << 16) | ((2000L * 65536L) / 10000L), /* freq = 31.2000 MHz */ 51 } 52 , 53 54 /* 640 x 400 */ 55 56 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 60 */ 57 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 58 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 59 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 60 VG_MODEFLAG_NEG_HSYNC, /* negative HSYNC */ 61 640, 400, /* No scaling. */ 62 0, 0, /* No mode dimensions. */ 63 0, 0, /* No panel dimensions. */ 64 0, 0, 0, 0, 0, /* No panel registers */ 65 0x280, 0x288, 0x290, 0x2F0, 0x318, 0x320, /* horiz timings */ 66 0x190, 0x197, 0x19C, 0x19E, 0x1BA, 0x1C1, /* vertical timings */ 67 0, 0, 0, 0, 0, 0, /* No even timings */ 68 (25L << 16) | ((1750L * 65536L) / 10000L), /* freq = 25.175 MHz */ 69 } 70 , 71 72 /* 640x480 */ 73 74 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 75 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 76 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 77 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 78 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 79 640, 480, /* No scaling. */ 80 0, 0, /* No mode dimensions. */ 81 0, 0, /* No panel dimensions. */ 82 0, 0, 0, 0, 0, /* No panel registers */ 83 0x0280, 0x0288, 0x0290, 0x02E8, 0x0318, 0x0320, /* horiz timings */ 84 0x01E0, 0x01E8, 0x01EA, 0x01EC, 0x0205, 0x020D, /* vertical timings */ 85 0, 0, 0, 0, 0, 0, /* No even timings */ 86 (25L << 16) | ((1750L * 65536L) / 10000L), /* freq = 25.175 MHz */ 87 } 88 , 89 90 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 91 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 92 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 93 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 94 0, 95 640, 480, /* No scaling. */ 96 0, 0, /* No mode dimensions. */ 97 0, 0, /* No panel dimensions. */ 98 0, 0, 0, 0, 0, /* No panel registers */ 99 0x0280, 0x0280, 0x0298, 0x02D8, 0x0330, 0x0330, /* horiz timings */ 100 0x01E0, 0x01E0, 0x01E2, 0x01E5, 0x01F4, 0x01F4, /* vertical timings */ 101 0, 0, 0, 0, 0, 0, /* No even timings */ 102 (28L << 16) | ((5600L * 65536L) / 10000L), /* freq = 28.560 MHz */ 103 } 104 , 105 106 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 107 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 108 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 109 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 110 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 111 640, 480, /* No scaling. */ 112 0, 0, /* No mode dimensions. */ 113 0, 0, /* No panel dimensions. */ 114 0, 0, 0, 0, 0, /* No panel registers */ 115 0x0280, 0x0288, 0x0298, 0x02c0, 0x0338, 0x0340, /* horiz timings */ 116 0x01e0, 0x01e8, 0x01e9, 0x01ec, 0x0200, 0x0208, /* vertical timings */ 117 0, 0, 0, 0, 0, 0, /* No even timings */ 118 (31L << 16) | ((5000L * 65536L) / 10000L), /* freq = 31.5 MHz */ 119 } 120 , 121 122 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 123 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 124 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 125 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 126 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 127 640, 480, /* No scaling. */ 128 0, 0, /* No mode dimensions. */ 129 0, 0, /* No panel dimensions. */ 130 0, 0, 0, 0, 0, /* No panel registers */ 131 0x0280, 0x0280, 0x0290, 0x02D0, 0x0348, 0x0348, /* horiz timings */ 132 0x01E0, 0x01E0, 0x01E1, 0x01E4, 0x01F4, 0x01F4, /* vertical timings */ 133 0, 0, 0, 0, 0, 0, /* No even timings */ 134 (31L << 16) | ((5000L * 65536L) / 10000L), /* freq = 31.5 MHz */ 135 } 136 , 137 138 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 139 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 140 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 141 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 142 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 143 640, 480, /* No scaling. */ 144 0, 0, /* No mode dimensions. */ 145 0, 0, /* No panel dimensions. */ 146 0, 0, 0, 0, 0, /* No panel registers */ 147 0x0280, 0x0280, 0x02B8, 0x02F0, 0x0340, 0x0340, /* horiz timings */ 148 0x01E0, 0x01E0, 0x01E1, 0x01E4, 0x01FD, 0x01FD, /* vertical timings */ 149 0, 0, 0, 0, 0, 0, /* No even timings */ 150 (36L << 16) | ((0000L * 65536L) / 10000L), /* freq = 36.0 MHz */ 151 } 152 , 153 154 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 155 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 156 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 157 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 158 0, 159 640, 480, /* No scaling. */ 160 0, 0, /* No mode dimensions. */ 161 0, 0, /* No panel dimensions. */ 162 0, 0, 0, 0, 0, /* No panel registers */ 163 0x0280, 0x0280, 0x02A0, 0x02E0, 0x0340, 0x0340, /* horiz timings */ 164 0x01E0, 0x01E0, 0x01E1, 0x01E4, 0x01FA, 0x01FA, /* vertical timings */ 165 0, 0, 0, 0, 0, 0, /* No even timings */ 166 (37L << 16) | ((8890L * 65536L) / 10000L), /* freq = 37.889 MHz */ 167 } 168 , 169 170 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 171 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 172 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 173 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 174 0, 175 640, 480, /* No scaling. */ 176 0, 0, /* No mode dimensions. */ 177 0, 0, /* No panel dimensions. */ 178 0, 0, 0, 0, 0, /* No panel registers */ 179 0x0280, 0x0280, 0x02A8, 0x02E8, 0x0350, 0x0350, /* horiz timings */ 180 0x01E0, 0x01E0, 0x01E1, 0x01E4, 0x01FD, 0x01FD, /* vertical timings */ 181 0, 0, 0, 0, 0, 0, /* No even timings */ 182 (43L << 16) | ((1630L * 65536L) / 10000L), /* freq = 43.163 MHz */ 183 } 184 , 185 186 /* 640 x 480 PANEL */ 187 188 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 189 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 190 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 191 VG_MODEFLAG_PANELOUT | /* Panel output. */ 192 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 193 640, 480, /* No scaling. */ 194 640, 480, /* 640x480 active */ 195 640, 480, /* 640x480 panel */ 196 0, 0, 0, 0, 0, /* No panel registers */ 197 0x0280, 0x0280, 0x0290, 0x02E8, 0x0318, 0x0320, /* horiz timings */ 198 0x01E0, 0x01E0, 0x01EA, 0x01EC, 0x0205, 0x020D, /* vertical timings */ 199 0, 0, 0, 0, 0, 0, /* No even timings */ 200 (25L << 16) | ((1750L * 65536L) / 10000L), /* freq = 25.175 MHz */ 201 } 202 , 203 204 /* 800x600 */ 205 206 {VG_SUPPORTFLAG_56HZ | /* refresh rate = 56 */ 207 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 208 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 209 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 210 0, 211 800, 600, /* No scaling. */ 212 0, 0, /* No mode dimensions. */ 213 0, 0, /* No panel dimensions. */ 214 0, 0, 0, 0, 0, /* No panel registers */ 215 0x0320, 0x0320, 0x0338, 0x0380, 0x0400, 0x0400, /* horiz timings */ 216 0x0258, 0x0258, 0x0259, 0x025B, 0x0271, 0x0271, /* vertical timings */ 217 0, 0, 0, 0, 0, 0, /* No even timings */ 218 (36L << 16) | ((0000L * 65536L) / 10000L), /* freq = 36.0 MHz */ 219 } 220 , 221 222 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 223 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 224 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 225 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 226 0, 227 800, 600, /* No scaling. */ 228 0, 0, /* No mode dimensions. */ 229 0, 0, /* No panel dimensions. */ 230 0, 0, 0, 0, 0, /* No panel registers */ 231 0x0320, 0x0328, 0x0348, 0x03D0, 0x0418, 0x0420, /* horiz timings */ 232 0x0258, 0x0258, 0x0259, 0x025D, 0x0274, 0x0274, /* vertical timings */ 233 0, 0, 0, 0, 0, 0, /* No even timings */ 234 (40L << 16) | ((0000L * 65536L) / 10000L), /* freq = 40.00 MHz */ 235 } 236 , 237 238 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 239 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 240 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 241 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 242 0, 243 800, 600, /* No scaling. */ 244 0, 0, /* No mode dimensions. */ 245 0, 0, /* No panel dimensions. */ 246 0, 0, 0, 0, 0, /* No panel registers */ 247 0x0320, 0x0320, 0x0348, 0x0398, 0x0410, 0x0410, /* horiz timings */ 248 0x0258, 0x0258, 0x025c, 0x025F, 0x0274, 0x0274, /* vertical timings */ 249 0, 0, 0, 0, 0, 0, /* No even timings */ 250 (45L << 16) | ((7200L * 65536L) / 10000L), /* freq = 45.72 MHz */ 251 } 252 , 253 254 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 255 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 256 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 257 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 258 0, 259 800, 600, /* No scaling. */ 260 0, 0, /* No mode dimensions. */ 261 0, 0, /* No panel dimensions. */ 262 0, 0, 0, 0, 0, /* No panel registers */ 263 0x0320, 0x0320, 0x0358, 0x03D0, 0x0410, 0x0410, /* horiz timings */ 264 0x0258, 0x0258, 0x027D, 0x0283, 0x029A, 0x029A, /* vertical timings */ 265 0, 0, 0, 0, 0, 0, /* No even timings */ 266 (49L << 16) | ((5000L * 65536L) / 10000L), /* freq = 49.5 MHz */ 267 } 268 , 269 270 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 271 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 272 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 273 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 274 0, 275 800, 600, /* No scaling. */ 276 0, 0, /* No mode dimensions. */ 277 0, 0, /* No panel dimensions. */ 278 0, 0, 0, 0, 0, /* No panel registers */ 279 0x0320, 0x0320, 0x0330, 0x0380, 0x0420, 0x0420, /* horiz timings */ 280 0x0258, 0x0258, 0x0259, 0x025C, 0x0271, 0x0271, /* vertical timings */ 281 0, 0, 0, 0, 0, 0, /* No even timings */ 282 (49L << 16) | ((5000L * 65536L) / 10000L), /* freq = 49.5 MHz */ 283 } 284 , 285 286 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 287 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 288 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 289 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 290 0, 291 800, 600, /* No scaling. */ 292 0, 0, /* No mode dimensions. */ 293 0, 0, /* No panel dimensions. */ 294 0, 0, 0, 0, 0, /* No panel registers */ 295 0x0320, 0x0320, 0x0340, 0x0380, 0x0418, 0x0418, /* horiz timings */ 296 0x0258, 0x0258, 0x0259, 0x025C, 0x0277, 0x0277, /* vertical timings */ 297 0, 0, 0, 0, 0, 0, /* No even timings */ 298 (56L << 16) | ((2500L * 65536L) / 10000L), /* freq = 56.25 MHz */ 299 } 300 , 301 302 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 303 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 304 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 305 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 306 0, 307 800, 600, /* No scaling. */ 308 0, 0, /* No mode dimensions. */ 309 0, 0, /* No panel dimensions. */ 310 0, 0, 0, 0, 0, /* No panel registers */ 311 0x0320, 0x0320, 0x0348, 0x03A0, 0x0420, 0x0420, /* horiz timings */ 312 0x0258, 0x0258, 0x0259, 0x025C, 0x0278, 0x0278, /* vertical timings */ 313 0, 0, 0, 0, 0, 0, /* No even timings */ 314 (60L << 16) | ((650L * 65536L) / 10000L), /* freq = 60.065 MHz */ 315 } 316 , 317 318 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 319 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 320 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 321 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 322 0, 323 800, 600, /* No scaling. */ 324 0, 0, /* No mode dimensions. */ 325 0, 0, /* No panel dimensions. */ 326 0, 0, 0, 0, 0, /* No panel registers */ 327 0x0320, 0x0320, 0x0350, 0x03A8, 0x0430, 0x0430, /* horiz timings */ 328 0x0258, 0x0258, 0x0259, 0x025C, 0x0277, 0x027C, /* vertical timings */ 329 0, 0, 0, 0, 0, 0, /* No even timings */ 330 (68L << 16) | ((1790L * 65536L) / 10000L), /* freq = 68.179 MHz */ 331 } 332 , 333 334 /* 800x600 PANEL */ 335 336 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 337 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 338 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 339 VG_MODEFLAG_PANELOUT | /* Panel output. */ 340 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 341 800, 600, /* No scaling. */ 342 800, 600, /* 800x600 active. */ 343 800, 600, /* 800x600 panel */ 344 0, 0, 0, 0, 0, /* No panel registers */ 345 0x0320, 0x0320, 0x0348, 0x03C8, 0x0420, 0x0420, /* horiz timings */ 346 0x0258, 0x0258, 0x0259, 0x025D, 0x0274, 0x0274, /* vertical timings */ 347 0, 0, 0, 0, 0, 0, /* No even timings */ 348 (40L << 16) | ((0000L * 65536L) / 10000L), /* freq = 40.00 MHz */ 349 } 350 , 351 352 /* 1024x768 */ 353 354 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 355 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 356 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 357 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 358 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 359 1024, 768, /* No scaling. */ 360 0, 0, /* No mode dimensions. */ 361 0, 0, /* No panel dimensions. */ 362 0, 0, 0, 0, 0, /* No panel registers */ 363 0x0400, 0x0400, 0x0418, 0x04A0, 0x0540, 0x0540, /* horiz timings */ 364 0x0300, 0x0300, 0x0303, 0x0309, 0x0326, 0x0326, /* vertical timings */ 365 0, 0, 0, 0, 0, 0, /* No even timings */ 366 (65L << 16) | ((0000L * 65536L) / 10000L), /* freq = 65.00 MHz */ 367 } 368 , 369 370 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 371 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 372 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 373 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 374 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 375 1024, 768, /* No scaling. */ 376 0, 0, /* No mode dimensions. */ 377 0, 0, /* No panel dimensions. */ 378 0, 0, 0, 0, 0, /* No panel registers */ 379 0x0400, 0x0400, 0x0418, 0x04A0, 0x0530, 0x0530, /* horiz timings */ 380 0x0300, 0x0300, 0x0303, 0x0309, 0x0326, 0x0326, /* vertical timings */ 381 0, 0, 0, 0, 0, 0, /* No even timings */ 382 (75L << 16) | ((0000L * 65536L) / 10000L), /* freq = 75.0 MHz */ 383 } 384 , 385 386 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 387 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 388 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 389 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 390 0, 391 1024, 768, /* No scaling. */ 392 0, 0, /* No mode dimensions. */ 393 0, 0, /* No panel dimensions. */ 394 0, 0, 0, 0, 0, /* No panel registers */ 395 0x0400, 0x0400, 0x0438, 0x04A8, 0x0550, 0x0550, /* horiz timings */ 396 0x0300, 0x0300, 0x0304, 0x0307, 0x0324, 0x0324, /* vertical timings */ 397 0, 0, 0, 0, 0, 0, /* No even timings */ 398 (78L << 16) | ((7500L * 65536L) / 10000L), /* freq = 78.75 MHz */ 399 } 400 , 401 402 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 403 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 404 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 405 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 406 0, 407 1024, 768, /* No scaling. */ 408 0, 0, /* No mode dimensions. */ 409 0, 0, /* No panel dimensions. */ 410 0, 0, 0, 0, 0, /* No panel registers */ 411 0x0400, 0x0400, 0x0410, 0x0470, 0x0520, 0x0520, /* horiz timings */ 412 0x0300, 0x0300, 0x0301, 0x0304, 0x0320, 0x0320, /* vertical timings */ 413 0, 0, 0, 0, 0, 0, /* No even timings */ 414 (78L << 16) | ((7500L * 65536L) / 10000L), /* freq = 78.75 MHz */ 415 } 416 , 417 418 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 419 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 420 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 421 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 422 0, 423 1024, 768, /* No scaling. */ 424 0, 0, /* No mode dimensions. */ 425 0, 0, /* No panel dimensions. */ 426 0, 0, 0, 0, 0, /* No panel registers */ 427 0x0400, 0x0400, 0x0430, 0x0490, 0x0560, 0x0560, /* horiz timings */ 428 0x0300, 0x0300, 0x0301, 0x0304, 0x0328, 0x0328, /* vertical timings */ 429 0, 0, 0, 0, 0, 0, /* No even timings */ 430 (94L << 16) | ((5000L * 65536L) / 10000L), /* freq = 94.50 MHz */ 431 } 432 , 433 434 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 435 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 436 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 437 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 438 0, 439 1024, 768, /* No scaling. */ 440 0, 0, /* No mode dimensions. */ 441 0, 0, /* No panel dimensions. */ 442 0, 0, 0, 0, 0, /* No panel registers */ 443 0x0400, 0x0400, 0x0440, 0x04B0, 0x0560, 0x0560, /* horiz timings */ 444 0x0300, 0x0300, 0x0301, 0x0304, 0x0329, 0x0329, /* vertical timings */ 445 0, 0, 0, 0, 0, 0, /* No even timings */ 446 (100L << 16) | ((1870L * 65536L) / 10000L), /* freq = 100.187 MHz */ 447 } 448 , 449 450 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 451 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 452 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 453 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 454 0, 455 1024, 768, /* No scaling. */ 456 0, 0, /* No mode dimensions. */ 457 0, 0, /* No panel dimensions. */ 458 0, 0, 0, 0, 0, /* No panel registers */ 459 0x0400, 0x0400, 0x0448, 0x04B8, 0x0570, 0x0570, /* horiz timings */ 460 0x0300, 0x0300, 0x0301, 0x0304, 0x032E, 0x032E, /* vertical timings */ 461 0, 0, 0, 0, 0, 0, /* No even timings */ 462 (113L << 16) | ((3100L * 65536L) / 10000L), /* freq = 113.31 MHz */ 463 } 464 , 465 466 /* 1024x768 PANEL */ 467 468 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 469 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 470 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 471 VG_MODEFLAG_PANELOUT | /* Panel output. */ 472 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 473 1024, 768, /* No scaling. */ 474 1024, 768, /* 1024x768 active. */ 475 1024, 768, /* 1024x768 panel */ 476 0, 0, 0, 0, 0, /* No panel registers */ 477 0x0400, 0x0400, 0x0418, 0x04A0, 0x0540, 0x0540, /* horiz timings */ 478 0x0300, 0x0300, 0x0303, 0x0309, 0x0326, 0x0326, /* vertical timings */ 479 0, 0, 0, 0, 0, 0, /* No even timings */ 480 (65L << 16) | ((0000L * 65536L) / 10000L), /* freq = 65.00 MHz */ 481 } 482 , 483 484 /* 1152x864 */ 485 486 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 487 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 488 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 489 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 490 0, 491 1152, 864, /* No scaling. */ 492 0, 0, /* No mode dimensions. */ 493 0, 0, /* No panel dimensions. */ 494 0, 0, 0, 0, 0, /* No panel registers */ 495 0x0480, 0x0480, 0x04C0, 0x0538, 0x05F0, 0x05F0, /* horiz timings */ 496 0x0360, 0x0360, 0x0361, 0x0364, 0x037F, 0x037F, /* vertical timings */ 497 0, 0, 0, 0, 0, 0, /* No even timings */ 498 (81L << 16) | ((6000L * 65536L) / 10000L), /* freq = 81.60 MHz */ 499 } 500 , 501 502 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 503 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 504 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 505 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 506 0, 507 1152, 864, /* No scaling. */ 508 0, 0, /* No mode dimensions. */ 509 0, 0, /* No panel dimensions. */ 510 0, 0, 0, 0, 0, /* No panel registers */ 511 0x0480, 0x0480, 0x04C8, 0x0540, 0x0600, 0x0600, /* horiz timings */ 512 0x0360, 0x0360, 0x0368, 0x036B, 0x038B, 0x038B, /* vertical timings */ 513 0, 0, 0, 0, 0, 0, /* No even timings */ 514 (97L << 16) | ((5200L * 65536L) / 10000L), /* freq = 97.52 MHz */ 515 } 516 , 517 518 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 519 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 520 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 521 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 522 0, 523 1152, 864, /* No scaling. */ 524 0, 0, /* No mode dimensions. */ 525 0, 0, /* No panel dimensions. */ 526 0, 0, 0, 0, 0, /* No panel registers */ 527 0x0480, 0x0480, 0x04C8, 0x0548, 0x0610, 0x0610, /* horiz timings */ 528 0x0360, 0x0360, 0x0367, 0x036A, 0x038B, 0x038B, /* vertical timings */ 529 0, 0, 0, 0, 0, 0, /* No even timings */ 530 (101L << 16) | ((4200L * 65536L) / 10000L), /* freq = 101.42 MHz */ 531 } 532 , 533 534 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 535 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 536 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 537 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 538 0, 539 1152, 864, /* No scaling. */ 540 0, 0, /* No mode dimensions. */ 541 0, 0, /* No panel dimensions. */ 542 0, 0, 0, 0, 0, /* No panel registers */ 543 0x0480, 0x0480, 0x04C0, 0x0540, 0x0640, 0x0640, /* horiz timings */ 544 0x0360, 0x0360, 0x0361, 0x0364, 0x0384, 0x0384, /* vertical timings */ 545 0, 0, 0, 0, 0, 0, /* No even timings */ 546 (108L << 16) | ((0000L * 65536L) / 10000L), /* freq = 108.00 MHz */ 547 } 548 , 549 550 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 551 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 552 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 553 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 554 0, 555 1152, 864, /* No scaling. */ 556 0, 0, /* No mode dimensions. */ 557 0, 0, /* No panel dimensions. */ 558 0, 0, 0, 0, 0, /* No panel registers */ 559 0x0480, 0x0480, 0x04C8, 0x0548, 0x0610, 0x0610, /* horiz timings */ 560 0x0360, 0x0360, 0x0363, 0x0366, 0x038B, 0x038B, /* vertical timings */ 561 0, 0, 0, 0, 0, 0, /* No even timings */ 562 (119L << 16) | ((6500L * 65536L) / 10000L), /* freq = 119.65 MHz */ 563 } 564 , 565 566 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 567 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 568 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 569 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 570 0, 571 1152, 864, /* No scaling. */ 572 0, 0, /* No mode dimensions. */ 573 0, 0, /* No panel dimensions. */ 574 0, 0, 0, 0, 0, /* No panel registers */ 575 0x0480, 0x0480, 0x04D0, 0x0550, 0x0620, 0x0620, /* horiz timings */ 576 0x0360, 0x0360, 0x0369, 0x036C, 0x0396, 0x0396, /* vertical timings */ 577 0, 0, 0, 0, 0, 0, /* No even timings */ 578 (129L << 16) | ((6000L * 65536L) / 10000L), /* freq = 129.60 MHz */ 579 } 580 , 581 582 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 583 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 584 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 585 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 586 0, 587 1152, 864, /* No scaling. */ 588 0, 0, /* No mode dimensions. */ 589 0, 0, /* No panel dimensions. */ 590 0, 0, 0, 0, 0, /* No panel registers */ 591 0x0480, 0x0480, 0x04D0, 0x0550, 0x0620, 0x0620, /* horiz timings */ 592 0x0360, 0x0360, 0x0363, 0x0366, 0x0396, 0x0396, /* vertical timings */ 593 0, 0, 0, 0, 0, 0, /* No even timings */ 594 (144L << 16) | ((0000L * 65536L) / 10000L), /* freq = 144.00 MHz */ 595 } 596 , 597 598 /* 1152x864 PANEL */ 599 600 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 601 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 602 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 603 VG_MODEFLAG_PANELOUT | /* Panel output. */ 604 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 605 1152, 864, /* No scaling. */ 606 1152, 864, /* 1152x864 active. */ 607 1152, 864, /* 1152x864 panel. */ 608 0, 0, 0, 0, 0, /* No panel registers */ 609 0x0480, 0x0480, 0x04C0, 0x0538, 0x05F0, 0x05F0, /* horiz timings */ 610 0x0360, 0x0360, 0x0361, 0x0364, 0x037F, 0x037F, /* vertical timings */ 611 0, 0, 0, 0, 0, 0, /* No even timings */ 612 (81L << 16) | ((6000L * 65536L) / 10000L), /* freq = 81.60 MHz */ 613 } 614 , 615 616 /* 1280x1024 */ 617 618 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 619 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 620 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 621 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 622 0, 623 1280, 1024, /* No scaling. */ 624 0, 0, /* No mode dimensions. */ 625 0, 0, /* No panel dimensions. */ 626 0, 0, 0, 0, 0, /* No panel registers */ 627 0x0500, 0x0500, 0x0530, 0x05A0, 0x0698, 0x0698, /* horiz timings */ 628 0x0400, 0x0400, 0x0401, 0x0404, 0x042A, 0x042A, /* vertical timings */ 629 0, 0, 0, 0, 0, 0, /* No even timings */ 630 (108L << 16) | ((0000L * 65536L) / 10000L), /* freq = 108.00 MHz */ 631 } 632 , 633 634 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 635 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 636 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 637 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 638 0, 639 1280, 1024, /* No scaling. */ 640 0, 0, /* No mode dimensions. */ 641 0, 0, /* No panel dimensions. */ 642 0, 0, 0, 0, 0, /* No panel registers */ 643 0x0500, 0x0500, 0x0558, 0x05E0, 0x06C0, 0x06C0, /* horiz timings */ 644 0x0400, 0x0400, 0x0406, 0x0409, 0x042F, 0x042F, /* vertical timings */ 645 0, 0, 0, 0, 0, 0, /* No even timings */ 646 (129L << 16) | ((6000L * 65536L) / 10000L), /* freq = 129.60 MHz */ 647 } 648 , 649 650 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 651 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 652 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 653 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 654 0, 655 1280, 1024, /* No scaling. */ 656 0, 0, /* No mode dimensions. */ 657 0, 0, /* No panel dimensions. */ 658 0, 0, 0, 0, 0, /* No panel registers */ 659 0x0500, 0x0500, 0x0558, 0x05E0, 0x06C0, 0x06C0, /* horiz timings */ 660 0x0400, 0x0400, 0x0407, 0x040A, 0x0431, 0x0431, /* vertical timings */ 661 0, 0, 0, 0, 0, 0, /* No even timings */ 662 (133L << 16) | ((5000L * 65536L) / 10000L), /* freq = 133.50 MHz */ 663 } 664 , 665 666 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 667 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 668 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 669 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 670 0, 671 1280, 1024, /* No scaling. */ 672 0, 0, /* No mode dimensions. */ 673 0, 0, /* No panel dimensions. */ 674 0, 0, 0, 0, 0, /* No panel registers */ 675 0x0500, 0x0500, 0x0510, 0x05A0, 0x0698, 0x0698, /* horiz timings */ 676 0x0400, 0x0400, 0x0401, 0x0404, 0x042A, 0x042A, /* vertical timings */ 677 0, 0, 0, 0, 0, 0, /* No even timings */ 678 (135L << 16) | ((0000L * 65536L) / 10000L), /* freq = 135.0 MHz */ 679 } 680 , 681 682 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 683 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 684 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 685 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 686 0, 687 1280, 1024, /* No scaling. */ 688 0, 0, /* No mode dimensions. */ 689 0, 0, /* No panel dimensions. */ 690 0, 0, 0, 0, 0, /* No panel registers */ 691 0x0500, 0x0500, 0x0540, 0x05E0, 0x06C0, 0x06C0, /* horiz timings */ 692 0x0400, 0x0400, 0x0401, 0x0404, 0x0430, 0x0430, /* vertical timings */ 693 0, 0, 0, 0, 0, 0, /* No even timings */ 694 (157L << 16) | ((5000L * 65536L) / 10000L), /* freq = 157.5 MHz */ 695 } 696 , 697 698 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 699 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 700 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 701 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 702 0, 703 1280, 1024, /* No scaling. */ 704 0, 0, /* No mode dimensions. */ 705 0, 0, /* No panel dimensions. */ 706 0, 0, 0, 0, 0, /* No panel registers */ 707 0x0500, 0x0500, 0x0560, 0x05F0, 0x06E0, 0x06E0, /* horiz timings */ 708 0x0400, 0x0400, 0x040C, 0x040F, 0x0442, 0x0442, /* vertical timings */ 709 0, 0, 0, 0, 0, 0, /* No even timings */ 710 (172L << 16) | ((8000L * 65536L) / 10000L), /* freq = 172.80 MHz */ 711 } 712 , 713 714 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 715 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 716 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 717 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 718 0, 719 1280, 1024, /* No scaling. */ 720 0, 0, /* No mode dimensions. */ 721 0, 0, /* No panel dimensions. */ 722 0, 0, 0, 0, 0, /* No panel registers */ 723 0x0500, 0x0500, 0x0560, 0x05F0, 0x06E0, 0x06E0, /* horiz timings */ 724 0x0400, 0x0400, 0x0406, 0x0409, 0x0442, 0x0442, /* vertical timings */ 725 0, 0, 0, 0, 0, 0, /* No even timings */ 726 (192L << 16) | ((0000L * 65536L) / 10000L), /* freq = 192.00 MHz */ 727 } 728 , 729 730 /* 1280x1024 PANEL */ 731 732 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 733 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 734 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 735 VG_MODEFLAG_PANELOUT | /* Panel output. */ 736 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 737 1280, 1024, /* No scaling. */ 738 1280, 1024, /* 1280x1024 active. */ 739 1280, 1024, /* 1280x1024 panel */ 740 0, 0, 0, 0, 0, /* No panel registers */ 741 0x0500, 0x0500, 0x0530, 0x05A0, 0x0698, 0x0698, /* horiz timings */ 742 0x0400, 0x0400, 0x0401, 0x0404, 0x042A, 0x042A, /* vertical timings */ 743 0, 0, 0, 0, 0, 0, /* No even timings */ 744 (108L << 16) | ((0000L * 65536L) / 10000L), /* freq = 108.00 MHz */ 745 } 746 , 747 748 /* 1600 x 1200 */ 749 750 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 751 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 752 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 753 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 754 0, 755 1600, 1200, /* No scaling. */ 756 0, 0, /* No mode dimensions. */ 757 0, 0, /* No panel dimensions. */ 758 0, 0, 0, 0, 0, /* No panel registers */ 759 0x0640, 0x0640, 0x0680, 0x0740, 0x0870, 0x0870, /* horiz timings */ 760 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04E2, 0x04E2, /* vertical timings */ 761 0, 0, 0, 0, 0, 0, /* No even timings */ 762 (162L << 16) | ((0000L * 65536L) / 10000L), /* freq = 162.0 MHz */ 763 } 764 , 765 766 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 767 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 768 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 769 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 770 0, 771 1600, 1200, /* No scaling. */ 772 0, 0, /* No mode dimensions. */ 773 0, 0, /* No panel dimensions. */ 774 0, 0, 0, 0, 0, /* No panel registers */ 775 0x0640, 0x0640, 0x0680, 0x0740, 0x0870, 0x0870, /* horiz timings */ 776 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04E2, 0x04E2, /* vertical timings */ 777 0, 0, 0, 0, 0, 0, /* No even timings */ 778 (189L << 16) | ((0000L * 65536L) / 10000L), /* freq = 189.0 MHz */ 779 } 780 , 781 782 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 72 */ 783 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 784 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 785 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 786 0, 787 1600, 1200, /* No scaling. */ 788 0, 0, /* No mode dimensions. */ 789 0, 0, /* No panel dimensions. */ 790 0, 0, 0, 0, 0, /* No panel registers */ 791 0x0640, 0x0640, 0x06B0, 0x0760, 0x0880, 0x0880, /* horiz timings */ 792 0x04B0, 0x04B0, 0x04BD, 0x04C0, 0x04EF, 0x04EF, /* vertical timings */ 793 0, 0, 0, 0, 0, 0, /* No even timings */ 794 (198L << 16) | ((0000L * 65536L) / 10000L), /* freq = 198.0 MHz */ 795 } 796 , 797 798 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 799 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 800 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 801 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 802 0, 803 1600, 1200, /* No scaling. */ 804 0, 0, /* No mode dimensions. */ 805 0, 0, /* No panel dimensions. */ 806 0, 0, 0, 0, 0, /* No panel registers */ 807 0x0640, 0x0640, 0x0680, 0x0740, 0x0870, 0x0870, /* horiz timings */ 808 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04E2, 0x04E2, /* vertical timings */ 809 0, 0, 0, 0, 0, 0, /* No even timings */ 810 (202L << 16) | ((5000L * 65536L) / 10000L), /* freq = 202.5 MHz */ 811 } 812 , 813 814 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 815 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 816 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 817 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 818 0, 819 1600, 1200, /* No scaling. */ 820 0, 0, /* No mode dimensions. */ 821 0, 0, /* No panel dimensions. */ 822 0, 0, 0, 0, 0, /* No panel registers */ 823 0x0640, 0x0640, 0x0680, 0x0740, 0x0870, 0x0870, /* horiz timings */ 824 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04E2, 0x04E2, /* vertical timings */ 825 0, 0, 0, 0, 0, 0, /* No even timings */ 826 (229L << 16) | ((5000L * 65536L) / 10000L), /* freq = 229.5 MHz */ 827 } 828 , 829 830 {VG_SUPPORTFLAG_90HZ | /* refresh rate = 90 */ 831 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 832 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 833 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 834 0, 835 1600, 1200, /* No scaling. */ 836 0, 0, /* No mode dimensions. */ 837 0, 0, /* No panel dimensions. */ 838 0, 0, 0, 0, 0, /* No panel registers */ 839 0x0640, 0x0640, 0x06C0, 0x0770, 0x08A0, 0x08A0, /* horiz timings */ 840 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04F0, 0x04F0, /* vertical timings */ 841 0, 0, 0, 0, 0, 0, /* No even timings */ 842 (251L << 16) | ((1820L * 65536L) / 10000L), /* freq = 251.182 MHz */ 843 } 844 , 845 846 {VG_SUPPORTFLAG_100HZ | /* refresh rate = 100 */ 847 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 848 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 849 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 850 0, 851 1600, 1200, /* No scaling. */ 852 0, 0, /* No mode dimensions. */ 853 0, 0, /* No panel dimensions. */ 854 0, 0, 0, 0, 0, /* No panel registers */ 855 0x0640, 0x0640, 0x06C0, 0x0770, 0x08A0, 0x08A0, /* horiz timings */ 856 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04F7, 0x04F7, /* vertical timings */ 857 0, 0, 0, 0, 0, 0, /* No even timings */ 858 (280L << 16) | ((6400L * 65536L) / 10000L), /* freq = 280.64 MHz */ 859 } 860 , 861 862 /* 1600 x 1200 PANEL */ 863 864 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 865 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PANEL, /* Panel Mode. */ 866 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 867 VG_MODEFLAG_PANELOUT | /* Panel output. */ 868 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC, /* negative syncs */ 869 1600, 1200, /* No scaling. */ 870 1600, 1200, /* 1600x1200 Active. */ 871 1600, 1200, /* 1600x1200 Panel. */ 872 0, 0, 0, 0, 0, /* No panel registers */ 873 0x0640, 0x0640, 0x0680, 0x0740, 0x0870, 0x0870, /* horiz timings */ 874 0x04B0, 0x04B0, 0x04B1, 0x04B4, 0x04E2, 0x04E2, /* vertical timings */ 875 0, 0, 0, 0, 0, 0, /* No even timings */ 876 (162L << 16) | ((0000L * 65536L) / 10000L), /* freq = 162.0 MHz */ 877 } 878 , 879 880 /* 1920x1440 */ 881 882 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 883 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 884 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 885 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 886 0, 887 1920, 1440, /* No scaling. */ 888 0, 0, /* No mode dimensions. */ 889 0, 0, /* No panel dimensions. */ 890 0, 0, 0, 0, 0, /* No panel registers */ 891 0x0780, 0x0780, 0x0800, 0x08D0, 0x0A28, 0x0A28, /* horiz timings */ 892 0x05A0, 0x05A0, 0x05A1, 0x05A4, 0x05DC, 0x05DC, /* vertical timings */ 893 0, 0, 0, 0, 0, 0, /* No even timings */ 894 (234L << 16) | ((0000L * 65536L) / 10000L), /* freq = 234.0 MHz */ 895 } 896 , 897 898 {VG_SUPPORTFLAG_70HZ | /* refresh rate = 70 */ 899 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 900 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 901 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 902 0, 903 1920, 1440, /* No scaling. */ 904 0, 0, /* No mode dimensions. */ 905 0, 0, /* No panel dimensions. */ 906 0, 0, 0, 0, 0, /* No panel registers */ 907 0x0780, 0x0780, 0x0818, 0x08E8, 0x0A50, 0x0A50, /* horiz timings */ 908 0x05A0, 0x05A0, 0x05A8, 0x05AB, 0x05E2, 0x05E2, /* vertical timings */ 909 0, 0, 0, 0, 0, 0, /* No even timings */ 910 (278L << 16) | ((4000L * 65536L) / 10000L), /* freq = 278.4 MHz */ 911 } 912 , 913 914 {VG_SUPPORTFLAG_72HZ | /* refresh rate = 70 */ 915 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 916 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 917 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 918 0, 919 1920, 1440, /* No scaling. */ 920 0, 0, /* No mode dimensions. */ 921 0, 0, /* No panel dimensions. */ 922 0, 0, 0, 0, 0, /* No panel registers */ 923 0x0780, 0x0780, 0x0818, 0x08E8, 0x0A50, 0x0A50, /* horiz timings */ 924 0x05A0, 0x05A0, 0x05A4, 0x05A7, 0x05EB, 0x05EB, /* vertical timings */ 925 0, 0, 0, 0, 0, 0, /* No even timings */ 926 (288L << 16) | ((0000L * 65536L) / 10000L), /* freq = 288.0 MHz */ 927 } 928 , 929 930 {VG_SUPPORTFLAG_75HZ | /* refresh rate = 75 */ 931 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 932 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 933 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 934 0, 935 1920, 1440, /* No scaling. */ 936 0, 0, /* No mode dimensions. */ 937 0, 0, /* No panel dimensions. */ 938 0, 0, 0, 0, 0, /* No panel registers */ 939 0x0780, 0x0780, 0x0810, 0x08F0, 0x0A50, 0x0A50, /* horiz timings */ 940 0x05A0, 0x05A0, 0x05A1, 0x05A4, 0x05DC, 0x05DC, /* vertical timings */ 941 0, 0, 0, 0, 0, 0, /* No even timings */ 942 (297L << 16) | ((0000L * 65536L) / 10000L), /* freq = 297.0 MHz */ 943 } 944 , 945 946 {VG_SUPPORTFLAG_85HZ | /* refresh rate = 85 */ 947 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP 948 | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP, 949 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 950 0, 951 1920, 1440, /* No scaling. */ 952 0, 0, /* No mode dimensions. */ 953 0, 0, /* No panel dimensions. */ 954 0, 0, 0, 0, 0, /* No panel registers */ 955 0x0780, 0x0780, 0x0818, 0x08F0, 0x0A60, 0x0A60, /* horiz timings */ 956 0x05A0, 0x05A0, 0x05A1, 0x05A4, 0x05E8, 0x05E8, /* vertical timings */ 957 0, 0, 0, 0, 0, 0, /* No even timings */ 958 (341L << 16) | ((3490L * 65536L) / 10000L), /* freq = 341.35 MHz */ 959 } 960 , 961 962/*-------------------------------*/ 963/* PREDEFINED TV TIMINGS */ 964/*-------------------------------*/ 965 966 /* 720 x 480i NTSC */ 967 968 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 969 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_NTSC | /* NTSC Mode. */ 970 VG_SUPPORTFLAG_ADV7171 | VG_SUPPORTFLAG_SAA7127 | 971 VG_SUPPORTFLAG_ADV7300 | VG_SUPPORTFLAG_TVOUT, 972 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 973 VG_MODEFLAG_INTERLACED | VG_MODEFLAG_TVOUT | /* Interlaced TV output */ 974 VG_MODEFLAG_HALFCLOCK | /* DotPLL = 1/2 VOP */ 975 VG_MODEFLAG_INT_FLICKER, /* Flicker Filter Out */ 976 720, 480, /* No downscaling. */ 977 0, 0, /* No mode dimensions. */ 978 0, 0, /* No panel dimensions. */ 979 0, 0, 0, 0, 0, /* No panel registers */ 980 0x02D0, 0x02D0, 0x02E1, 0x0320, 0x035A, 0x035A, /* horiz timings */ 981 0x00F0, 0x00F0, 0x00F4, 0x00F8, 0x0107, 0x0107, /* vertical timings */ 982 0x00F0, 0x00F0, 0x00F4, 0x00F8, 0x0106, 0x0106, /*Even field timings */ 983 (27L << 16) | ((0000L * 65536L) / 10000L), /* freq = 27.0 MHz */ 984 } 985 , 986 987 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 988 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_NTSC | /* NTSC Mode. */ 989 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 990 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 991 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 992 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* TFT Output. */ 993 640, 480, /* No downscaling. */ 994 640, 480, /* 640x480 active. */ 995 640, 480, /* 640x480 panel. */ 996 0, 0, 0, 0, 0, /* No panel registers */ 997 0x0280, 0x0280, 0x0333, 0x0373, 0x03A8, 0x03A8, /* horiz timings */ 998 0x01E0, 0x01E0, 0x01F5, 0x01F7, 0x020D, 0x020D, /* vertical timings */ 999 0, 0, 0, 0, 0, 0, /* No even timings. */ 1000 (25L << 16) | ((1750L * 65536L) / 10000L), /* freq = 25.175 MHz */ 1001 } 1002 , 1003 1004 /* 800 x 600 NTSC */ 1005 1006 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1007 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_8X6_NTSC | /* 800x600 NTSC. */ 1008 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1009 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1010 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 1011 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1012 800, 600, /* No downscaling. */ 1013 800, 600, /* 800x600 active. */ 1014 800, 600, /* 800x600 active. */ 1015 0, 0, 0, 0, 0, /* No panel registers */ 1016 0x0320, 0x0320, 0x03A7, 0x03E7, 0x03F0, 0x03F0, /* horiz timings */ 1017 0x0258, 0x0258, 0x026A, 0x0272, 0x028A, 0x028A, /* vertical timings */ 1018 0, 0, 0, 0, 0, 0, /* No even timings. */ 1019 (40L << 16) | ((0000L * 65536L) / 10000L), /* freq = 40.000 MHz */ 1020 } 1021 , 1022 1023 /* 1024 x 768 NTSC */ 1024 1025 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1026 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_10X7_NTSC | /* 1024x768 NTSC. */ 1027 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1028 VG_MODEFLAG_AVG_BAND | /* Low bandwidth mode. */ 1029 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 1030 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1031 1024, 768, /* No downscaling. */ 1032 1024, 768, /* 1024x768 active. */ 1033 1024, 768, /* 1024x768 active. */ 1034 0, 0, 0, 0, 0, /* No panel registers */ 1035 0x0400, 0x0400, 0x0490, 0x04D0, 0x04E0, 0x04E0, /* horiz timings */ 1036 0x0300, 0x0300, 0x031B, 0x031D, 0x0339, 0x0339, /* vertical timings */ 1037 0, 0, 0, 0, 0, 0, /* No even timings. */ 1038 (65L << 16) | ((0000L * 65536L) / 10000L), /* freq = 65.00 MHz */ 1039 } 1040 , 1041 1042 /* 720 x 576i PAL */ 1043 1044 {VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PAL | /* PAL Mode. */ 1045 VG_SUPPORTFLAG_ADV7171 | VG_SUPPORTFLAG_SAA7127 | VG_SUPPORTFLAG_ADV7300 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1046 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1047 VG_MODEFLAG_TVOUT | VG_MODEFLAG_INTERLACED | /* Interlaced TV out. */ 1048 VG_MODEFLAG_HALFCLOCK | /* DotPLL = 1/2 VOP */ 1049 VG_MODEFLAG_INT_FLICKER, /* Flicker Filter Out */ 1050 720, 576, /* No downscaling. */ 1051 0, 0, /* No mode dimensions. */ 1052 0, 0, /* No panel dimensions. */ 1053 0, 0, 0, 0, 0, /* No panel registers */ 1054 0x02D0, 0x02D0, 0x02E4, 0x0324, 0x0360, 0x0360, /* horiz timings */ 1055 0x0120, 0x0120, 0x0123, 0x0127, 0x0139, 0x0139, /* vertical timings */ 1056 0x0120, 0x0120, 0x0123, 0x0127, 0x0138, 0x0138, /* Even timings */ 1057 (27L << 16) | ((0000L * 65536L) / 10000L), /* freq = 27.0 MHz */ 1058 } 1059 , 1060 1061 {VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_PAL | /* PAL Mode. */ 1062 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1063 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1064 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 1065 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1066 640, 480, /* No downscaling. */ 1067 640, 480, /* No mode dimensions. */ 1068 640, 480, /* 640x480 active. */ 1069 0, 0, 0, 0, 0, /* 640x480 panel. */ 1070 0x0280, 0x0280, 0x030F, 0x034F, 0x0360, 0x0360, /* horiz timings */ 1071 0x01E0, 0x01E0, 0x01F5, 0x01F7, 0x020D, 0x020D, /* vertical timings */ 1072 0, 0, 0, 0, 0, 0, /* No even timings. */ 1073 (25L << 16) | ((1750L * 65536L) / 10000L), /* freq = 25.175 MHz */ 1074 } 1075 , 1076 1077 /* 800 x 600 PAL */ 1078 1079 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1080 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_8X6_PAL | /* 800x600 PAL. */ 1081 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1082 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1083 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 1084 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1085 800, 600, /* No downscaling. */ 1086 800, 600, /* 800x600 active. */ 1087 800, 600, /* 800x600 active. */ 1088 0, 0, 0, 0, 0, /* No panel registers */ 1089 0x0320, 0x0320, 0x03A7, 0x03E7, 0x03F0, 0x03F0, /* horiz timings */ 1090 0x0258, 0x0258, 0x0270, 0x0272, 0x028A, 0x028A, /* vertical timings */ 1091 0, 0, 0, 0, 0, 0, /* No even timings. */ 1092 (40L << 16) | ((0000L * 65536L) / 10000L), /* freq = 40.000 MHz */ 1093 } 1094 , 1095 1096 /* 1024 x 768 PAL */ 1097 1098 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1099 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_10X7_PAL | /* 1024x768 NTSC. */ 1100 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1101 VG_MODEFLAG_AVG_BAND | /* Low bandwidth mode. */ 1102 VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC | /* negative syncs */ 1103 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1104 1024, 768, /* No downscaling. */ 1105 1024, 768, /* 1024x768 active. */ 1106 1024, 768, /* 1024x768 active. */ 1107 0, 0, 0, 0, 0, /* No panel registers */ 1108 0x0400, 0x0400, 0x0490, 0x04d0, 0x04e0, 0x04e0, /* horiz timings */ 1109 0x0300, 0x0300, 0x031b, 0x031d, 0x0339, 0x0339, /* vertical timings */ 1110 0, 0, 0, 0, 0, 0, /* No even timings. */ 1111 (65L << 16) | ((0000L * 65536L) / 10000L), /* freq = 65.00 MHz */ 1112 } 1113 , 1114 1115 /* 720 x 480p HDTV */ 1116 1117 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1118 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_480P | /* 720x480P. */ 1119 VG_SUPPORTFLAG_ADV7300 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1120 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1121 VG_MODEFLAG_TVOUT, /* Progressive TV out. */ 1122 720, 480, /* No scaling. */ 1123 0, 0, /* No mode dimensions. */ 1124 0, 0, /* No panel dimensions. */ 1125 0, 0, 0, 0, 0, /* No panel registers */ 1126 0x02D0, 0x02D0, 0x02E0, 0x0328, 0x035A, 0x035A, /* horiz timings */ 1127 0x01E0, 0x01E0, 0x01E1, 0x01E3, 0x020D, 0x020D, /* vertical timings */ 1128 0, 0, 0, 0, 0, 0, /* No even timings. */ 1129 (27L << 16) | ((0000L * 65536L) / 10000L), /* freq = 27.0 MHz */ 1130 } 1131 , 1132 1133 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1134 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_480P | /* 720x480P. */ 1135 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1136 VG_MODEFLAG_LOW_BAND | /* Low bandwidth mode. */ 1137 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1138 720, 480, /* No scaling. */ 1139 720, 480, /* 720x480 active. */ 1140 720, 480, /* 720x480 panel. */ 1141 0, 0, 0, 0, 0, /* No panel registers */ 1142 0x02D0, 0x02D0, 0x02E3, 0x0323, 0x035A, 0x035A, /* horiz timings */ 1143 0x01E0, 0x01E0, 0x01E4, 0x01EA, 0x020D, 0x020D, /* vertical timings */ 1144 0, 0, 0, 0, 0, 0, /* No even timings. */ 1145 (27L << 16) | ((0000L * 65536L) / 10000L), /* freq = 27.0 MHz */ 1146 } 1147 , 1148 1149 /* 1280x720p HDTV */ 1150 1151 {VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_720P | /* 1280x720P */ 1152 VG_SUPPORTFLAG_ADV7300 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1153 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 1154 VG_MODEFLAG_TVOUT, /* Progressive TV out */ 1155 1280, 720, /* No scaling. */ 1156 0, 0, /* No mode dimensions. */ 1157 0, 0, /* No panel dimensions. */ 1158 0, 0, 0, 0, 0, /* No panel registers */ 1159 0x0500, 0x0500, 0x0546, 0x0596, 0x0672, 0x0672, /* horiz timings */ 1160 0x02D0, 0x02D0, 0x02D3, 0x02D8, 0x02EE, 0x02EE, /* vertical timings */ 1161 0, 0, 0, 0, 0, 0, /* even timings */ 1162 (74L << 16) | ((2500L * 65536L) / 10000L), /* freq = 74.25 MHz */ 1163 } 1164 , 1165 1166 {VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_720P | /* 1280x720P */ 1167 VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, /* TV Mode. */ 1168 VG_MODEFLAG_AVG_BAND | /* Avg bandwidth mode. */ 1169 VG_MODEFLAG_PANELOUT | VG_MODEFLAG_INVERT_SHFCLK, /* Panel output */ 1170 1280, 720, /* No scaling. */ 1171 1280, 720, /* 1280x720 active. */ 1172 1280, 720, /* 1280x720 panel. */ 1173 0, 0, 0, 0, 0, /* No panel registers */ 1174 0x0500, 0x0500, 0x0547, 0x0597, 0x0672, 0x0672, /* horiz timings */ 1175 0x02D0, 0x02D0, 0x02D4, 0x02D9, 0x02EE, 0x02EE, /* vertical timings */ 1176 0, 0, 0, 0, 0, 0, /* No even timings. */ 1177 (74L << 16) | ((2500L * 65536L) / 10000L), /* freq = 74.25 MHz */ 1178 } 1179 , 1180 1181 /* 1920x1080i HDTV */ 1182 1183 {VG_SUPPORTFLAG_60HZ | /* refresh rate = 60 */ 1184 VG_SUPPORTFLAG_8BPP | VG_SUPPORTFLAG_12BPP | VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP | VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP | VG_SUPPORTFLAG_1080I | /* 1920x1080i Mode. */ 1185 VG_SUPPORTFLAG_ADV7300 | VG_SUPPORTFLAG_FS454 | VG_SUPPORTFLAG_TVOUT, 1186 VG_MODEFLAG_HIGH_BAND | /* High bandwidth mode. */ 1187 VG_MODEFLAG_INTERLACED | VG_MODEFLAG_TVOUT | /* Interlaced TV out */ 1188 /* Interlaced addressing */ 1189 VG_MODEFLAG_INT_ADDRESS | VG_MODEFLAG_INVERT_SHFCLK, 1190 1920, 1080, /* 2:1 downscaling. */ 1191 0, 0, /* No mode dimensions. */ 1192 0, 0, /* No panel dimensions. */ 1193 0, 0, 0, 0, 0, /* No panel registers */ 1194 0x0780, 0x0780, 0x07AD, 0x0805, 0x0898, 0x0898, /* horiz timings */ 1195 0x021C, 0x021C, 0x021E, 0x0226, 0x0233, 0x0233, /* vertical timings */ 1196 0x021C, 0x021C, 0x021E, 0x0226, 0x0232, 0x0232, /*even field timings */ 1197 (74L << 16) | ((2500L * 65536L) / 10000L), /* freq = 74.25 MHz */ 1198 } 1199 , 1200}; 1201 1202#define NUM_CIMARRON_DISPLAY_MODES sizeof(CimarronDisplayModes) / \ 1203 sizeof(VG_DISPLAY_MODE) 1204 1205/*-----------------------------------*/ 1206/* PREDEFINED PLL FREQUENCIES */ 1207/*-----------------------------------*/ 1208 1209static const PLL_FREQUENCY CimarronPLLFrequencies[] = { 1210 {0x000031AC, (24L << 16) | ((9230L * 65536L) / 10000L)} 1211 , /* 24.9230, - 4,27,13 */ 1212 {0x0000215D, (25L << 16) | ((1750L * 65536L) / 10000L)} 1213 , /* 25.1750, - 3,22,14 */ 1214 {0x00001087, (27L << 16) | ((0000L * 65536L) / 10000L)} 1215 , /* 27.0000, - 2, 9, 8 */ 1216 {0x0000216C, (28L << 16) | ((3220L * 65536L) / 10000L)} 1217 , /* 28.3220, - 3,23,13 */ 1218 {0x0000218D, (28L << 16) | ((5600L * 65536L) / 10000L)} 1219 , /* 28.5600, - 3,25,14 */ 1220 {0x000010C9, (31L << 16) | ((2000L * 65536L) / 10000L)} 1221 , /* 31.2000, - 2,13,10 */ 1222 {0x00003147, (31L << 16) | ((5000L * 65536L) / 10000L)} 1223 , /* 31.5000, - 4,21, 8 */ 1224 {0x000010A7, (33L << 16) | ((320L * 65536L) / 10000L)} 1225 , /* 33.0320, - 2,11, 8 */ 1226 {0x00002159, (35L << 16) | ((1120L * 65536L) / 10000L)} 1227 , /* 35.1120, - 3,22,10 */ 1228 {0x00004249, (35L << 16) | ((5000L * 65536L) / 10000L)} 1229 , /* 35.5000, - 5,37,10 */ 1230 {0x00000057, (36L << 16) | ((0000L * 65536L) / 10000L)} 1231 , /* 36.0000, - 1, 6, 8 */ 1232 {0x0000219A, (37L << 16) | ((8890L * 65536L) / 10000L)} 1233 , /* 37.8890, - 3,26,11 */ 1234 {0x00002158, (39L << 16) | ((1680L * 65536L) / 10000L)} 1235 , /* 39.1680, - 3,22, 9 */ 1236 {0x00000045, (40L << 16) | ((0000L * 65536L) / 10000L)} 1237 , /* 40.0000, - 1, 5, 6 */ 1238 {0x00000089, (43L << 16) | ((1630L * 65536L) / 10000L)} 1239 , /* 43.1630, - 1, 9,10 */ 1240 {0x000010E7, (44L << 16) | ((9000L * 65536L) / 10000L)} 1241 , /* 44.9000, - 2,15, 8 */ 1242 {0x00002136, (45L << 16) | ((7200L * 65536L) / 10000L)} 1243 , /* 45.7200, - 3,20, 7 */ 1244 {0x00003207, (49L << 16) | ((5000L * 65536L) / 10000L)} 1245 , /* 49.5000, - 4,33, 8 */ 1246 {0x00002187, (50L << 16) | ((0000L * 65536L) / 10000L)} 1247 , /* 50.0000, - 3,25, 8 */ 1248 {0x00004286, (56L << 16) | ((2500L * 65536L) / 10000L)} 1249 , /* 56.2500, - 5,41, 7 */ 1250 {0x000010E5, (60L << 16) | ((650L * 65536L) / 10000L)} 1251 , /* 60.0650, - 2,15, 6 */ 1252 {0x00004214, (65L << 16) | ((0000L * 65536L) / 10000L)} 1253 , /* 65.0000, - 5,34, 5 */ 1254 {0x00001105, (68L << 16) | ((1790L * 65536L) / 10000L)} 1255 , /* 68.1790, - 2,17, 6 */ 1256 {0x000031E4, (74L << 16) | ((2500L * 65536L) / 10000L)} 1257 , /* 74.2500, - 4,31, 5 */ 1258 {0x00003183, (75L << 16) | ((0000L * 65536L) / 10000L)} 1259 , /* 75.0000, - 4,25, 4 */ 1260 {0x00004284, (78L << 16) | ((7500L * 65536L) / 10000L)} 1261 , /* 78.7500, - 5,41, 5 */ 1262 {0x00001104, (81L << 16) | ((6000L * 65536L) / 10000L)} 1263 , /* 81.6000, - 2,17, 5 */ 1264 {0x00006363, (94L << 16) | ((5000L * 65536L) / 10000L)} 1265 , /* 94.5000, - 7,55, 4 */ 1266 {0x00005303, (97L << 16) | ((5200L * 65536L) / 10000L)} 1267 , /* 97.5200, - 6,49, 4 */ 1268 {0x00002183, (100L << 16) | ((1870L * 65536L) / 10000L)} 1269 , /* 100.187, - 3,25, 4 */ 1270 {0x00002122, (101L << 16) | ((4200L * 65536L) / 10000L)} 1271 , /* 101.420, - 3,19, 3 */ 1272 {0x000041B1, (106L << 16) | ((5000L * 65536L) / 10000L)} 1273 , /* 106.50, - 5,28, 2 */ 1274 {0x00001081, (108L << 16) | ((0000L * 65536L) / 10000L)} 1275 , /* 108.00, - 2, 9, 2 */ 1276 {0x00006201, (113L << 16) | ((3100L * 65536L) / 10000L)} 1277 , /* 113.31, - 7,33, 2 */ 1278 {0x00000041, (119L << 16) | ((6500L * 65536L) / 10000L)} 1279 , /* 119.65, - 1, 5, 2 */ 1280 {0x000041A1, (129L << 16) | ((6000L * 65536L) / 10000L)} 1281 , /* 129.60, - 5,27, 2 */ 1282 {0x00002182, (133L << 16) | ((5000L * 65536L) / 10000L)} 1283 , /* 133.50, - 3,25, 3 */ 1284 {0x000041B1, (135L << 16) | ((0000L * 65536L) / 10000L)} 1285 , /* 135.00, - 5,28, 2 */ 1286 {0x00000051, (144L << 16) | ((0000L * 65536L) / 10000L)} 1287 , /* 144.00, - 1, 6, 2 */ 1288 {0x000041E1, (148L << 16) | ((5000L * 65536L) / 10000L)} 1289 , /* 148.50, - 5,31, 2 */ 1290 {0x000062D1, (157L << 16) | ((5000L * 65536L) / 10000L)} 1291 , /* 157.50, - 7,46, 2 */ 1292 {0x000031A1, (162L << 16) | ((0000L * 65536L) / 10000L)} 1293 , /* 162.00, - 4,27, 2 */ 1294 {0x00000061, (169L << 16) | ((2030L * 65536L) / 10000L)} 1295 , /* 169.203, - 1, 7, 2 */ 1296 {0x00004231, (172L << 16) | ((8000L * 65536L) / 10000L)} 1297 , /* 172.800, - 5,36, 2 */ 1298 {0x00002151, (175L << 16) | ((5000L * 65536L) / 10000L)} 1299 , /* 175.50, - 3,22, 2 */ 1300 {0x000052E1, (189L << 16) | ((0000L * 65536L) / 10000L)} 1301 , /* 189.00, - 6,47, 2 */ 1302 {0x00000071, (192L << 16) | ((0000L * 65536L) / 10000L)} 1303 , /* 192.00, - 1, 8, 2 */ 1304 {0x00003201, (198L << 16) | ((0000L * 65536L) / 10000L)} 1305 , /* 198.00, - 4,33, 2 */ 1306 {0x00004291, (202L << 16) | ((5000L * 65536L) / 10000L)} 1307 , /* 202.50, - 5,42, 2 */ 1308 {0x00001101, (204L << 16) | ((7500L * 65536L) / 10000L)} 1309 , /* 204.75, - 2,17, 2 */ 1310 {0x00007481, (218L << 16) | ((2500L * 65536L) / 10000L)} 1311 , /* 218.25, - 8,73, 2 */ 1312 {0x00004170, (229L << 16) | ((5000L * 65536L) / 10000L)} 1313 , /* 229.50, - 5,24, 1 */ 1314 {0x00006210, (234L << 16) | ((0000L * 65536L) / 10000L)} 1315 , /* 234.00, - 7,34, 1 */ 1316 {0x00003140, (251L << 16) | ((1820L * 65536L) / 10000L)} 1317 , /* 251.182, - 4,21, 1 */ 1318 {0x00006250, (261L << 16) | ((0000L * 65536L) / 10000L)} 1319 , /* 261.00, - 7,38, 1 */ 1320 {0x000041C0, (278L << 16) | ((4000L * 65536L) / 10000L)} 1321 , /* 278.40, - 5,29, 1 */ 1322 {0x00005220, (280L << 16) | ((6400L * 65536L) / 10000L)} 1323 , /* 280.64, - 6,35, 1 */ 1324 {0x00000050, (288L << 16) | ((0000L * 65536L) / 10000L)} 1325 , /* 288.00, - 1, 6, 1 */ 1326 {0x000041E0, (297L << 16) | ((0000L * 65536L) / 10000L)} 1327 , /* 297.00, - 5,31, 1 */ 1328 {0x00002130, (320L << 16) | ((2070L * 65536L) / 10000L)} 1329 , /* 320.207, - 3,20, 1 */ 1330 {0x00006310, (341L << 16) | ((3490L * 65536L) / 10000L)} 1331 /* 341.349, - 7,50, 1 */ 1332}; 1333 1334#define NUM_CIMARRON_PLL_FREQUENCIES sizeof(CimarronPLLFrequencies) / \ 1335 sizeof(PLL_FREQUENCY) 1336 1337/*-----------------------------------*/ 1338/* PREDEFINED FILTER COEFFICIENTS */ 1339/*-----------------------------------*/ 1340 1341static const unsigned long CimarronHorizontalGraphicsFilter[][2] = { 1342 {0x1284A7D5, 0x000017D5}, /* -43, 297, 296, -43, 5 */ 1343 {0x12A497D7, 0x000013D6}, /* -41, 293, 298, -42, 4 */ 1344 {0x12D48BD7, 0x000013D6}, /* -41, 290, 301, -42, 4 */ 1345 {0x13147FD7, 0x000013D5}, /* -41, 287, 305, -43, 4 */ 1346 {0x133473D8, 0x000013D5}, /* -40, 284, 307, -43, 4 */ 1347 {0x136467D8, 0x000013D5}, /* -40, 281, 310, -43, 4 */ 1348 {0x13945FD8, 0x000013D4}, /* -40, 279, 313, -44, 4 */ 1349 {0x13B453D9, 0x000013D4}, /* -39, 276, 315, -44, 4 */ 1350 {0x13E447D9, 0x000013D4}, /* -39, 273, 318, -44, 4 */ 1351 {0x14143BDA, 0x000013D3}, /* -38, 270, 321, -45, 4 */ 1352 {0x143433DA, 0x000013D3}, /* -38, 268, 323, -45, 4 */ 1353 {0x146427DA, 0x000013D3}, /* -38, 265, 326, -45, 4 */ 1354 {0x14941BDB, 0x000013D2}, /* -37, 262, 329, -46, 4 */ 1355 {0x14C40FDB, 0x000013D2}, /* -37, 259, 332, -46, 4 */ 1356 {0x14F407DA, 0x000017D1}, /* -38, 257, 335, -47, 5 */ 1357 {0x1503FBDC, 0x000013D2}, /* -36, 254, 336, -46, 4 */ 1358 {0x1543F3DB, 0x000017D0}, /* -37, 252, 340, -48, 5 */ 1359 {0x1563E3DD, 0x000013D1}, /* -35, 248, 342, -47, 4 */ 1360 {0x1593D7DD, 0x000013D1}, /* -35, 245, 345, -47, 4 */ 1361 {0x15B3CFDD, 0x000013D1}, /* -35, 243, 347, -47, 4 */ 1362 {0x15E3C3DE, 0x000013D0}, /* -34, 240, 350, -48, 4 */ 1363 {0x1613B7DE, 0x000013D0}, /* -34, 237, 353, -48, 4 */ 1364 {0x1633ABDF, 0x000013D0}, /* -33, 234, 355, -48, 4 */ 1365 {0x16639FDF, 0x000013D0}, /* -33, 231, 358, -48, 4 */ 1366 {0x167397E0, 0x000013D0}, /* -32, 229, 359, -48, 4 */ 1367 {0x16B38BE0, 0x000013CF}, /* -32, 226, 363, -49, 4 */ 1368 {0x16E383DF, 0x000017CE}, /* -33, 224, 366, -50, 5 */ 1369 {0x170373E1, 0x000013CF}, /* -31, 220, 368, -49, 4 */ 1370 {0x17236BE1, 0x000013CF}, /* -31, 218, 370, -49, 4 */ 1371 {0x17435FE2, 0x000013CF}, /* -30, 215, 372, -49, 4 */ 1372 {0x177353E2, 0x000013CF}, /* -30, 212, 375, -49, 4 */ 1373 {0x17B34BE1, 0x000017CD}, /* -31, 210, 379, -51, 5 */ 1374 {0x17C33FE3, 0x000013CE}, /* -29, 207, 380, -50, 4 */ 1375 {0x17F333E3, 0x000013CE}, /* -29, 204, 383, -50, 4 */ 1376 {0x181327E4, 0x000013CE}, /* -28, 201, 385, -50, 4 */ 1377 {0x18431FE3, 0x000017CD}, /* -29, 199, 388, -51, 5 */ 1378 {0x186313E4, 0x000013CE}, /* -28, 196, 390, -50, 4 */ 1379 {0x188307E5, 0x000013CE}, /* -27, 193, 392, -50, 4 */ 1380 {0x18B2FBE5, 0x000013CE}, /* -27, 190, 395, -50, 4 */ 1381 {0x18C2F3E6, 0x000013CE}, /* -26, 188, 396, -50, 4 */ 1382 {0x18F2E7E6, 0x000013CE}, /* -26, 185, 399, -50, 4 */ 1383 {0x1912DBE7, 0x000013CE}, /* -25, 182, 401, -50, 4 */ 1384 {0x1952D3E6, 0x000017CC}, /* -26, 180, 405, -52, 5 */ 1385 {0x1972CBE6, 0x000017CC}, /* -26, 178, 407, -52, 5 */ 1386 {0x1992BFE7, 0x000017CC}, /* -25, 175, 409, -52, 5 */ 1387 {0x19C2B3E7, 0x000017CC}, /* -25, 172, 412, -52, 5 */ 1388 {0x19D2A7E9, 0x000013CD}, /* -23, 169, 413, -51, 4 */ 1389 {0x1A029FE8, 0x000017CC}, /* -24, 167, 416, -52, 5 */ 1390 {0x1A1293E9, 0x000013CE}, /* -23, 164, 417, -50, 4 */ 1391 {0x1A3287EA, 0x000013CE}, /* -22, 161, 419, -50, 4 */ 1392 {0x1A627FE9, 0x000017CD}, /* -23, 159, 422, -51, 5 */ 1393 {0x1A7273EB, 0x000013CE}, /* -21, 156, 423, -50, 4 */ 1394 {0x1AA267EB, 0x000013CE}, /* -21, 153, 426, -50, 4 */ 1395 {0x1AC25FEB, 0x000013CE}, /* -21, 151, 428, -50, 4 */ 1396 {0x1AE253EC, 0x000013CE}, /* -20, 148, 430, -50, 4 */ 1397 {0x1B124BEB, 0x000017CD}, /* -21, 146, 433, -51, 5 */ 1398 {0x1B223FED, 0x000013CE}, /* -19, 143, 434, -50, 4 */ 1399 {0x1B5237EC, 0x000017CD}, /* -20, 141, 437, -51, 5 */ 1400 {0x1B622BED, 0x000013CF}, /* -19, 138, 438, -49, 4 */ 1401 {0x1B821FEE, 0x000013CF}, /* -18, 135, 440, -49, 4 */ 1402 {0x1BA217EE, 0x000013CF}, /* -18, 133, 442, -49, 4 */ 1403 {0x1BC20BEF, 0x000013CF}, /* -17, 130, 444, -49, 4 */ 1404 {0x1BE203EF, 0x000013CF}, /* -17, 128, 446, -49, 4 */ 1405 {0x1C01FBEE, 0x000017CF}, /* -18, 126, 448, -49, 5 */ 1406 {0x1C11EFF0, 0x000013D0}, /* -16, 123, 449, -48, 4 */ 1407 {0x1C41E7EF, 0x000017CF}, /* -17, 121, 452, -49, 5 */ 1408 {0x1C61DFEF, 0x000017CF}, /* -17, 119, 454, -49, 5 */ 1409 {0x1C61D3F1, 0x000013D1}, /* -15, 116, 454, -47, 4 */ 1410 {0x1C91CBF0, 0x000017D0}, /* -16, 114, 457, -48, 5 */ 1411 {0x1CA1BFF2, 0x000013D1}, /* -14, 111, 458, -47, 4 */ 1412 {0x1CC1B3F2, 0x000013D2}, /* -14, 108, 460, -46, 4 */ 1413 {0x1CE1AFF1, 0x000017D1}, /* -15, 107, 462, -47, 5 */ 1414 {0x1CF1A3F3, 0x000013D2}, /* -13, 104, 463, -46, 4 */ 1415 {0x1D1197F3, 0x000013D3}, /* -13, 101, 465, -45, 4 */ 1416 {0x1D3197F2, 0x000013D2}, /* -14, 101, 467, -46, 4 */ 1417 {0x1D518BF3, 0x000013D2}, /* -13, 98, 469, -46, 4 */ 1418 {0x1D6183F3, 0x000013D3}, /* -13, 96, 470, -45, 4 */ 1419 {0x1D817BF3, 0x000013D3}, /* -13, 94, 472, -45, 4 */ 1420 {0x1D916FF4, 0x000013D4}, /* -12, 91, 473, -44, 4 */ 1421 {0x1DB167F4, 0x000013D4}, /* -12, 89, 475, -44, 4 */ 1422 {0x1DC15FF4, 0x000013D5}, /* -12, 87, 476, -43, 4 */ 1423 {0x1DE153F5, 0x000013D5}, /* -11, 84, 478, -43, 4 */ 1424 {0x1DF14BF5, 0x000013D6}, /* -11, 82, 479, -42, 4 */ 1425 {0x1E1143F5, 0x000013D6}, /* -11, 80, 481, -42, 4 */ 1426 {0x1E1137F7, 0x00000FD8}, /* -9, 77, 481, -40, 3 */ 1427 {0x1E3133F6, 0x000013D7}, /* -10, 76, 483, -41, 4 */ 1428 {0x1E412BF6, 0x000013D8}, /* -10, 74, 484, -40, 4 */ 1429 {0x1E611FF7, 0x000013D8}, /* -9, 71, 486, -40, 4 */ 1430 {0x1E7117F7, 0x000013D9}, /* -9, 69, 487, -39, 4 */ 1431 {0x1E810FF7, 0x000013DA}, /* -9, 67, 488, -38, 4 */ 1432 {0x1E9107F8, 0x000013DA}, /* -8, 65, 489, -38, 4 */ 1433 {0x1EA0FFF8, 0x000013DB}, /* -8, 63, 490, -37, 4 */ 1434 {0x1EB0F3F9, 0x00000FDD}, /* -7, 60, 491, -35, 3 */ 1435 {0x1ED0EFF8, 0x000013DC}, /* -8, 59, 493, -36, 4 */ 1436 {0x1EE0E7F9, 0x00000FDD}, /* -7, 57, 494, -35, 3 */ 1437 {0x1EF0DFF9, 0x00000FDE}, /* -7, 55, 495, -34, 3 */ 1438 {0x1F00D7F9, 0x00000FDF}, /* -7, 53, 496, -33, 3 */ 1439 {0x1F10CFFA, 0x00000FDF}, /* -6, 51, 497, -33, 3 */ 1440 {0x1F20C7FA, 0x00000FE0}, /* -6, 49, 498, -32, 3 */ 1441 {0x1F20C3FA, 0x00000FE1}, /* -6, 48, 498, -31, 3 */ 1442 {0x1F30BBFA, 0x00000FE2}, /* -6, 46, 499, -30, 3 */ 1443 {0x1F40AFFB, 0x00000FE3}, /* -5, 43, 500, -29, 3 */ 1444 {0x1F50A7FB, 0x00000FE4}, /* -5, 41, 501, -28, 3 */ 1445 {0x1F60A3FB, 0x00000FE4}, /* -5, 40, 502, -28, 3 */ 1446 {0x1F709BFB, 0x00000FE5}, /* -5, 38, 503, -27, 3 */ 1447 {0x1F7093FC, 0x00000FE6}, /* -4, 36, 503, -26, 3 */ 1448 {0x1F808FFC, 0x00000BE7}, /* -4, 35, 504, -25, 2 */ 1449 {0x1F9087FC, 0x00000BE8}, /* -4, 33, 505, -24, 2 */ 1450 {0x1F9083FC, 0x00000BE9}, /* -4, 32, 505, -23, 2 */ 1451 {0x1FA077FD, 0x00000BEA}, /* -3, 29, 506, -22, 2 */ 1452 {0x1FA073FD, 0x00000BEB}, /* -3, 28, 506, -21, 2 */ 1453 {0x1FB06BFD, 0x00000BEC}, /* -3, 26, 507, -20, 2 */ 1454 {0x1FC063FD, 0x00000BED}, /* -3, 24, 508, -19, 2 */ 1455 {0x1FC05BFE, 0x00000BEE}, /* -2, 22, 508, -18, 2 */ 1456 {0x1FC057FE, 0x00000BEF}, /* -2, 21, 508, -17, 2 */ 1457 {0x1FD053FE, 0x000007F0}, /* -2, 20, 509, -16, 1 */ 1458 {0x1FD04BFE, 0x000007F2}, /* -2, 18, 509, -14, 1 */ 1459 {0x1FE043FE, 0x000007F3}, /* -2, 16, 510, -13, 1 */ 1460 {0x1FE03BFF, 0x000007F4}, /* -1, 14, 510, -12, 1 */ 1461 {0x1FE037FF, 0x000007F5}, /* -1, 13, 510, -11, 1 */ 1462 {0x1FE033FF, 0x000007F6}, /* -1, 12, 510, -10, 1 */ 1463 {0x1FF02BFF, 0x000007F7}, /* -1, 10, 511, -9, 1 */ 1464 {0x1FF027FF, 0x000003F9}, /* -1, 9, 511, -7, 0 */ 1465 {0x1FF01C00, 0x000003FA}, /* 0, 7, 511, -6, 0 */ 1466 {0x1FF01800, 0x000003FB}, /* 0, 6, 511, -5, 0 */ 1467 {0x1FF01400, 0x000003FC}, /* 0, 5, 511, -4, 0 */ 1468 {0x1FF00C00, 0x000003FE}, /* 0, 3, 511, -2, 0 */ 1469 {0x1FF00800, 0x000003FF}, /* 0, 2, 511, -1, 0 */ 1470 {0x1FF00400, 0x00000000}, /* 0, 1, 511, 0, 0 */ 1471 {0x1FFFFC00, 0x00000002}, /* 0, -1, 511, 2, 0 */ 1472 {0x1FFFF800, 0x00000003}, /* 0, -2, 511, 3, 0 */ 1473 {0x1FFFF000, 0x00000005}, /* 0, -4, 511, 5, 0 */ 1474 {0x1FFFEC00, 0x00000006}, /* 0, -5, 511, 6, 0 */ 1475 {0x1FFFE800, 0x00000007}, /* 0, -6, 511, 7, 0 */ 1476 {0x1FFFE400, 0x000FFC09}, /* 0, -7, 511, 9, -1 */ 1477 {0x1FFFDC01, 0x000FFC0A}, /* 1, -9, 511, 10, -1 */ 1478 {0x1FEFDC01, 0x000FFC0B}, /* 1, -9, 510, 11, -1 */ 1479 {0x1FEFD401, 0x000FFC0D}, /* 1, -11, 510, 13, -1 */ 1480 {0x1FEFD001, 0x000FFC0E}, /* 1, -12, 510, 14, -1 */ 1481 {0x1FEFCC01, 0x000FF810}, /* 1, -13, 510, 16, -2 */ 1482 {0x1FDFCC01, 0x000FF811}, /* 1, -13, 509, 17, -2 */ 1483 {0x1FDFC401, 0x000FF813}, /* 1, -15, 509, 19, -2 */ 1484 {0x1FCFC002, 0x000FF814}, /* 2, -16, 508, 20, -2 */ 1485 {0x1FCFB802, 0x000FF816}, /* 2, -18, 508, 22, -2 */ 1486 {0x1FCFB402, 0x000FF418}, /* 2, -19, 508, 24, -3 */ 1487 {0x1FBFB402, 0x000FF419}, /* 2, -19, 507, 25, -3 */ 1488 {0x1FAFB002, 0x000FF41B}, /* 2, -20, 506, 27, -3 */ 1489 {0x1FAFA802, 0x000FF41D}, /* 2, -22, 506, 29, -3 */ 1490 {0x1F9FA802, 0x000FF01F}, /* 2, -22, 505, 31, -4 */ 1491 {0x1F9FA402, 0x000FF020}, /* 2, -23, 505, 32, -4 */ 1492 {0x1F8FA002, 0x000FF022}, /* 2, -24, 504, 34, -4 */ 1493 {0x1F7F9803, 0x000FF024}, /* 3, -26, 503, 36, -4 */ 1494 {0x1F7F9403, 0x000FEC26}, /* 3, -27, 503, 38, -5 */ 1495 {0x1F6F9003, 0x000FEC28}, /* 3, -28, 502, 40, -5 */ 1496 {0x1F5F9003, 0x000FEC29}, /* 3, -28, 501, 41, -5 */ 1497 {0x1F4F8C03, 0x000FEC2B}, /* 3, -29, 500, 43, -5 */ 1498 {0x1F3F8C03, 0x000FE82D}, /* 3, -29, 499, 45, -6 */ 1499 {0x1F2F8803, 0x000FE82F}, /* 3, -30, 498, 47, -6 */ 1500 {0x1F2F8003, 0x000FE831}, /* 3, -32, 498, 49, -6 */ 1501 {0x1F1F7C03, 0x000FE833}, /* 3, -33, 497, 51, -6 */ 1502 {0x1F0F7C03, 0x000FE435}, /* 3, -33, 496, 53, -7 */ 1503 {0x1EFF7803, 0x000FE437}, /* 3, -34, 495, 55, -7 */ 1504 {0x1EEF7403, 0x000FE439}, /* 3, -35, 494, 57, -7 */ 1505 {0x1EDF7004, 0x000FE03B}, /* 4, -36, 493, 59, -8 */ 1506 {0x1EBF7403, 0x000FE43C}, /* 3, -35, 491, 60, -7 */ 1507 {0x1EAF6C04, 0x000FE03F}, /* 4, -37, 490, 63, -8 */ 1508 {0x1E9F6804, 0x000FE041}, /* 4, -38, 489, 65, -8 */ 1509 {0x1E8F6804, 0x000FDC43}, /* 4, -38, 488, 67, -9 */ 1510 {0x1E7F6404, 0x000FDC45}, /* 4, -39, 487, 69, -9 */ 1511 {0x1E6F6004, 0x000FDC47}, /* 4, -40, 486, 71, -9 */ 1512 {0x1E4F6404, 0x000FD849}, /* 4, -39, 484, 73, -10 */ 1513 {0x1E3F6004, 0x000FD84B}, /* 4, -40, 483, 75, -10 */ 1514 {0x1E1F6003, 0x000FDC4D}, /* 3, -40, 481, 77, -9 */ 1515 {0x1E1F5804, 0x000FD450}, /* 4, -42, 481, 80, -11 */ 1516 {0x1DFF5804, 0x000FD452}, /* 4, -42, 479, 82, -11 */ 1517 {0x1DEF5404, 0x000FD454}, /* 4, -43, 478, 84, -11 */ 1518 {0x1DCF5804, 0x000FD056}, /* 4, -42, 476, 86, -12 */ 1519 {0x1DBF5004, 0x000FD059}, /* 4, -44, 475, 89, -12 */ 1520 {0x1D9F5004, 0x000FD05B}, /* 4, -44, 473, 91, -12 */ 1521 {0x1D8F5004, 0x000FCC5D}, /* 4, -44, 472, 93, -13 */ 1522 {0x1D6F5004, 0x000FCC5F}, /* 4, -44, 470, 95, -13 */ 1523 {0x1D5F4804, 0x000FCC62}, /* 4, -46, 469, 98, -13 */ 1524 {0x1D3F4C04, 0x000FC864}, /* 4, -45, 467, 100, -14 */ 1525 {0x1D1F4C04, 0x000FCC65}, /* 4, -45, 465, 101, -13 */ 1526 {0x1CFF4804, 0x000FCC68}, /* 4, -46, 463, 104, -13 */ 1527 {0x1CEF4405, 0x000FC46B}, /* 5, -47, 462, 107, -15 */ 1528 {0x1CCF4804, 0x000FC86C}, /* 4, -46, 460, 108, -14 */ 1529 {0x1CAF4404, 0x000FC86F}, /* 4, -47, 458, 111, -14 */ 1530 {0x1C9F4005, 0x000FC072}, /* 5, -48, 457, 114, -16 */ 1531 {0x1C6F4404, 0x000FC474}, /* 4, -47, 454, 116, -15 */ 1532 {0x1C6F3C05, 0x000FBC77}, /* 5, -49, 454, 119, -17 */ 1533 {0x1C4F3C05, 0x000FBC79}, /* 5, -49, 452, 121, -17 */ 1534 {0x1C1F4004, 0x000FC07B}, /* 4, -48, 449, 123, -16 */ 1535 {0x1C0F3C05, 0x000FB87E}, /* 5, -49, 448, 126, -18 */ 1536 {0x1BEF3C04, 0x000FBC80}, /* 4, -49, 446, 128, -17 */ 1537 {0x1BCF3C04, 0x000FBC82}, /* 4, -49, 444, 130, -17 */ 1538 {0x1BAF3C04, 0x000FB885}, /* 4, -49, 442, 133, -18 */ 1539 {0x1B8F3C04, 0x000FB887}, /* 4, -49, 440, 135, -18 */ 1540 {0x1B6F3C04, 0x000FB48A}, /* 4, -49, 438, 138, -19 */ 1541 {0x1B5F3405, 0x000FB08D}, /* 5, -51, 437, 141, -20 */ 1542 {0x1B2F3804, 0x000FB48F}, /* 4, -50, 434, 143, -19 */ 1543 {0x1B1F3405, 0x000FAC92}, /* 5, -51, 433, 146, -21 */ 1544 {0x1AEF3804, 0x000FB094}, /* 4, -50, 430, 148, -20 */ 1545 {0x1ACF3804, 0x000FAC97}, /* 4, -50, 428, 151, -21 */ 1546 {0x1AAF3804, 0x000FAC99}, /* 4, -50, 426, 153, -21 */ 1547 {0x1A7F3804, 0x000FAC9C}, /* 4, -50, 423, 156, -21 */ 1548 {0x1A6F3405, 0x000FA49F}, /* 5, -51, 422, 159, -23 */ 1549 {0x1A3F3804, 0x000FA8A1}, /* 4, -50, 419, 161, -22 */ 1550 {0x1A1F3804, 0x000FA4A4}, /* 4, -50, 417, 164, -23 */ 1551 {0x1A0F3005, 0x000FA0A7}, /* 5, -52, 416, 167, -24 */ 1552 {0x19DF3404, 0x000FA4A9}, /* 4, -51, 413, 169, -23 */ 1553 {0x19CF3005, 0x000F9CAC}, /* 5, -52, 412, 172, -25 */ 1554 {0x199F3005, 0x000F9CAF}, /* 5, -52, 409, 175, -25 */ 1555 {0x197F3005, 0x000F98B2}, /* 5, -52, 407, 178, -26 */ 1556 {0x195F3005, 0x000F98B4}, /* 5, -52, 405, 180, -26 */ 1557 {0x191F3804, 0x000F9CB6}, /* 4, -50, 401, 182, -25 */ 1558 {0x18FF3804, 0x000F98B9}, /* 4, -50, 399, 185, -26 */ 1559 {0x18CF3804, 0x000F98BC}, /* 4, -50, 396, 188, -26 */ 1560 {0x18BF3804, 0x000F94BE}, /* 4, -50, 395, 190, -27 */ 1561 {0x188F3804, 0x000F94C1}, /* 4, -50, 392, 193, -27 */ 1562 {0x186F3804, 0x000F90C4}, /* 4, -50, 390, 196, -28 */ 1563 {0x184F3405, 0x000F8CC7}, /* 5, -51, 388, 199, -29 */ 1564 {0x181F3804, 0x000F90C9}, /* 4, -50, 385, 201, -28 */ 1565 {0x17FF3804, 0x000F8CCC}, /* 4, -50, 383, 204, -29 */ 1566 {0x17CF3804, 0x000F8CCF}, /* 4, -50, 380, 207, -29 */ 1567 {0x17BF3405, 0x000F84D2}, /* 5, -51, 379, 210, -31 */ 1568 {0x177F3C04, 0x000F88D4}, /* 4, -49, 375, 212, -30 */ 1569 {0x174F3C04, 0x000F88D7}, /* 4, -49, 372, 215, -30 */ 1570 {0x172F3C04, 0x000F84DA}, /* 4, -49, 370, 218, -31 */ 1571 {0x170F3C04, 0x000F84DC}, /* 4, -49, 368, 220, -31 */ 1572 {0x16EF3805, 0x000F7CE0}, /* 5, -50, 366, 224, -33 */ 1573 {0x16BF3C04, 0x000F80E2}, /* 4, -49, 363, 226, -32 */ 1574 {0x167F4004, 0x000F80E5}, /* 4, -48, 359, 229, -32 */ 1575 {0x166F4004, 0x000F7CE7}, /* 4, -48, 358, 231, -33 */ 1576 {0x163F4004, 0x000F7CEA}, /* 4, -48, 355, 234, -33 */ 1577 {0x161F4004, 0x000F78ED}, /* 4, -48, 353, 237, -34 */ 1578 {0x15EF4004, 0x000F78F0}, /* 4, -48, 350, 240, -34 */ 1579 {0x15BF4404, 0x000F74F3}, /* 4, -47, 347, 243, -35 */ 1580 {0x159F4404, 0x000F74F5}, /* 4, -47, 345, 245, -35 */ 1581 {0x156F4404, 0x000F74F8}, /* 4, -47, 342, 248, -35 */ 1582 {0x154F4005, 0x000F6CFC}, /* 5, -48, 340, 252, -37 */ 1583 {0x150F4804, 0x000F70FE}, /* 4, -46, 336, 254, -36 */ 1584 {0x14FF4405, 0x000F6901}, /* 5, -47, 335, 257, -38 */ 1585 {0x14CF4804, 0x000F6D03}, /* 4, -46, 332, 259, -37 */ 1586 {0x149F4804, 0x000F6D06}, /* 4, -46, 329, 262, -37 */ 1587 {0x146F4C04, 0x000F6909}, /* 4, -45, 326, 265, -38 */ 1588 {0x143F4C04, 0x000F690C}, /* 4, -45, 323, 268, -38 */ 1589 {0x141F4C04, 0x000F690E}, /* 4, -45, 321, 270, -38 */ 1590 {0x13EF5004, 0x000F6511}, /* 4, -44, 318, 273, -39 */ 1591 {0x13BF5004, 0x000F6514}, /* 4, -44, 315, 276, -39 */ 1592 {0x139F5004, 0x000F6117}, /* 4, -44, 313, 279, -40 */ 1593 {0x136F5404, 0x000F6119}, /* 4, -43, 310, 281, -40 */ 1594 {0x133F5404, 0x000F611C}, /* 4, -43, 307, 284, -40 */ 1595 {0x131F5404, 0x000F5D1F}, /* 4, -43, 305, 287, -41 */ 1596 {0x12DF5C04, 0x000F5D21}, /* 4, -41, 301, 289, -41 */ 1597 {0x12AF5C04, 0x000F5D24}, /* 4, -41, 298, 292, -41 */ 1598}; 1599 1600static const unsigned long CimarronVerticalGraphicsFilter[] = { 1601 0x3F840D05, /* 261, 259, -8 */ 1602 0x3F841D01, /* 257, 263, -8 */ 1603 0x3F8428FE, /* 254, 266, -8 */ 1604 0x3F8438FA, /* 250, 270, -8 */ 1605 0x3F8444F7, /* 247, 273, -8 */ 1606 0x3F8450F4, /* 244, 276, -8 */ 1607 0x3F845CF1, /* 241, 279, -8 */ 1608 0x3F8468EE, /* 238, 282, -8 */ 1609 0x3F8474EB, /* 235, 285, -8 */ 1610 0x3F8480E8, /* 232, 288, -8 */ 1611 0x3F7490E5, /* 229, 292, -9 */ 1612 0x3F749CE2, /* 226, 295, -9 */ 1613 0x3F74ACDE, /* 222, 299, -9 */ 1614 0x3F74B8DB, /* 219, 302, -9 */ 1615 0x3F74C0D9, /* 217, 304, -9 */ 1616 0x3F74CCD6, /* 214, 307, -9 */ 1617 0x3F74D8D3, /* 211, 310, -9 */ 1618 0x3F74E8CF, /* 207, 314, -9 */ 1619 0x3F74F4CC, /* 204, 317, -9 */ 1620 0x3F7500C9, /* 201, 320, -9 */ 1621 0x3F750CC6, /* 198, 323, -9 */ 1622 0x3F7518C3, /* 195, 326, -9 */ 1623 0x3F7520C1, /* 193, 328, -9 */ 1624 0x3F7530BD, /* 189, 332, -9 */ 1625 0x3F753CBA, /* 186, 335, -9 */ 1626 0x3F7548B7, /* 183, 338, -9 */ 1627 0x3F6558B4, /* 180, 342, -10 */ 1628 0x3F6560B2, /* 178, 344, -10 */ 1629 0x3F656CAF, /* 175, 347, -10 */ 1630 0x3F6578AC, /* 172, 350, -10 */ 1631 0x3F6584A9, /* 169, 353, -10 */ 1632 0x3F658CA7, /* 167, 355, -10 */ 1633 0x3F6598A4, /* 164, 358, -10 */ 1634 0x3F65A8A0, /* 160, 362, -10 */ 1635 0x3F65B09E, /* 158, 364, -10 */ 1636 0x3F65BC9B, /* 155, 367, -10 */ 1637 0x3F65C499, /* 153, 369, -10 */ 1638 0x3F65D096, /* 150, 372, -10 */ 1639 0x3F55E093, /* 147, 376, -11 */ 1640 0x3F55E891, /* 145, 378, -11 */ 1641 0x3F55F48E, /* 142, 381, -11 */ 1642 0x3F56008B, /* 139, 384, -11 */ 1643 0x3F560C88, /* 136, 387, -11 */ 1644 0x3F561486, /* 134, 389, -11 */ 1645 0x3F562083, /* 131, 392, -11 */ 1646 0x3F562881, /* 129, 394, -11 */ 1647 0x3F56347E, /* 126, 397, -11 */ 1648 0x3F56407B, /* 123, 400, -11 */ 1649 0x3F564879, /* 121, 402, -11 */ 1650 0x3F465876, /* 118, 406, -12 */ 1651 0x3F466074, /* 116, 408, -12 */ 1652 0x3F466872, /* 114, 410, -12 */ 1653 0x3F46746F, /* 111, 413, -12 */ 1654 0x3F467C6D, /* 109, 415, -12 */ 1655 0x3F46846B, /* 107, 417, -12 */ 1656 0x3F468C69, /* 105, 419, -12 */ 1657 0x3F469866, /* 102, 422, -12 */ 1658 0x3F46A064, /* 100, 424, -12 */ 1659 0x3F46AC61, /* 97, 427, -12 */ 1660 0x3F46B45F, /* 95, 429, -12 */ 1661 0x3F46BC5D, /* 93, 431, -12 */ 1662 0x3F46C45B, /* 91, 433, -12 */ 1663 0x3F46CC59, /* 89, 435, -12 */ 1664 0x3F36DC56, /* 86, 439, -13 */ 1665 0x3F36E454, /* 84, 441, -13 */ 1666 0x3F36EC52, /* 82, 443, -13 */ 1667 0x3F36F450, /* 80, 445, -13 */ 1668 0x3F36FC4E, /* 78, 447, -13 */ 1669 0x3F37004D, /* 77, 448, -13 */ 1670 0x3F370C4A, /* 74, 451, -13 */ 1671 0x3F371448, /* 72, 453, -13 */ 1672 0x3F371C46, /* 70, 455, -13 */ 1673 0x3F372444, /* 68, 457, -13 */ 1674 0x3F372C42, /* 66, 459, -13 */ 1675 0x3F373440, /* 64, 461, -13 */ 1676 0x3F37383F, /* 63, 462, -13 */ 1677 0x3F37403D, /* 61, 464, -13 */ 1678 0x3F37483B, /* 59, 466, -13 */ 1679 0x3F375039, /* 57, 468, -13 */ 1680 0x3F375438, /* 56, 469, -13 */ 1681 0x3F375C36, /* 54, 471, -13 */ 1682 0x3F376434, /* 52, 473, -13 */ 1683 0x3F376833, /* 51, 474, -13 */ 1684 0x3F377031, /* 49, 476, -13 */ 1685 0x3F377430, /* 48, 477, -13 */ 1686 0x3F377C2E, /* 46, 479, -13 */ 1687 0x3F37842C, /* 44, 481, -13 */ 1688 0x3F37882B, /* 43, 482, -13 */ 1689 0x3F47882A, /* 42, 482, -12 */ 1690 0x3F479028, /* 40, 484, -12 */ 1691 0x3F479427, /* 39, 485, -12 */ 1692 0x3F479C25, /* 37, 487, -12 */ 1693 0x3F47A024, /* 36, 488, -12 */ 1694 0x3F47A822, /* 34, 490, -12 */ 1695 0x3F47AC21, /* 33, 491, -12 */ 1696 0x3F47B020, /* 32, 492, -12 */ 1697 0x3F57B01F, /* 31, 492, -11 */ 1698 0x3F57B81D, /* 29, 494, -11 */ 1699 0x3F57BC1C, /* 28, 495, -11 */ 1700 0x3F57C01B, /* 27, 496, -11 */ 1701 0x3F57C41A, /* 26, 497, -11 */ 1702 0x3F67C818, /* 24, 498, -10 */ 1703 0x3F67CC17, /* 23, 499, -10 */ 1704 0x3F67D016, /* 22, 500, -10 */ 1705 0x3F67D415, /* 21, 501, -10 */ 1706 0x3F67D814, /* 20, 502, -10 */ 1707 0x3F77D813, /* 19, 502, -9 */ 1708 0x3F77DC12, /* 18, 503, -9 */ 1709 0x3F77E011, /* 17, 504, -9 */ 1710 0x3F87E010, /* 16, 504, -8 */ 1711 0x3F87E40F, /* 15, 505, -8 */ 1712 0x3F87E80E, /* 14, 506, -8 */ 1713 0x3F97E80D, /* 13, 506, -7 */ 1714 0x3F97EC0C, /* 12, 507, -7 */ 1715 0x3F97F00B, /* 11, 508, -7 */ 1716 0x3FA7F00A, /* 10, 508, -6 */ 1717 0x3FA7F409, /* 9, 509, -6 */ 1718 0x3FB7F408, /* 8, 509, -5 */ 1719 0x3FB7F408, /* 8, 509, -5 */ 1720 0x3FC7F806, /* 6, 510, -4 */ 1721 0x3FC7F806, /* 6, 510, -4 */ 1722 0x3FD7F805, /* 5, 510, -3 */ 1723 0x3FD7FC04, /* 4, 511, -3 */ 1724 0x3FE7FC03, /* 3, 511, -2 */ 1725 0x3FE7FC03, /* 3, 511, -2 */ 1726 0x3FF7FC02, /* 2, 511, -1 */ 1727 0x3FF7FC02, /* 2, 511, -1 */ 1728 0x0007FC01, /* 1, 511, 0 */ 1729 0x0007FC01, /* 1, 511, 0 */ 1730 0x0007FC01, /* 1, 511, 0 */ 1731 0x0027FFFF, /* -1, 511, 2 */ 1732 0x0027FFFF, /* -1, 511, 2 */ 1733 0x0037FFFE, /* -2, 511, 3 */ 1734 0x0037FFFE, /* -2, 511, 3 */ 1735 0x0047FFFD, /* -3, 511, 4 */ 1736 0x0047FBFE, /* -2, 510, 4 */ 1737 0x0057FBFD, /* -3, 510, 5 */ 1738 0x0067FBFC, /* -4, 510, 6 */ 1739 0x0077F7FC, /* -4, 509, 7 */ 1740 0x0077F7FC, /* -4, 509, 7 */ 1741 0x0087F7FB, /* -5, 509, 8 */ 1742 0x0097F3FB, /* -5, 508, 9 */ 1743 0x00A7F3FA, /* -6, 508, 10 */ 1744 0x00B7EFFA, /* -6, 507, 11 */ 1745 0x00C7EBFA, /* -6, 506, 12 */ 1746 0x00D7EBF9, /* -7, 506, 13 */ 1747 0x00E7E7F9, /* -7, 505, 14 */ 1748 0x00F7E3F9, /* -7, 504, 15 */ 1749 0x0107E3F8, /* -8, 504, 16 */ 1750 0x0117DFF8, /* -8, 503, 17 */ 1751 0x0127DBF8, /* -8, 502, 18 */ 1752 0x0137DBF7, /* -9, 502, 19 */ 1753 0x0147D7F7, /* -9, 501, 20 */ 1754 0x0157D3F7, /* -9, 500, 21 */ 1755 0x0167CFF7, /* -9, 499, 22 */ 1756 0x0177CBF7, /* -9, 498, 23 */ 1757 0x0197C7F6, /* -10, 497, 25 */ 1758 0x01A7C3F6, /* -10, 496, 26 */ 1759 0x01B7BFF6, /* -10, 495, 27 */ 1760 0x01C7BBF6, /* -10, 494, 28 */ 1761 0x01E7B3F6, /* -10, 492, 30 */ 1762 0x01F7B3F5, /* -11, 492, 31 */ 1763 0x0207AFF5, /* -11, 491, 32 */ 1764 0x0217ABF5, /* -11, 490, 33 */ 1765 0x0237A3F5, /* -11, 488, 35 */ 1766 0x02479FF5, /* -11, 487, 36 */ 1767 0x026797F5, /* -11, 485, 38 */ 1768 0x027793F5, /* -11, 484, 39 */ 1769 0x02978BF5, /* -11, 482, 41 */ 1770 0x02A78BF4, /* -12, 482, 42 */ 1771 0x02B787F4, /* -12, 481, 43 */ 1772 0x02D77FF4, /* -12, 479, 45 */ 1773 0x02F777F4, /* -12, 477, 47 */ 1774 0x030773F4, /* -12, 476, 48 */ 1775 0x03276BF4, /* -12, 474, 50 */ 1776 0x033767F4, /* -12, 473, 51 */ 1777 0x03575FF4, /* -12, 471, 53 */ 1778 0x037757F4, /* -12, 469, 55 */ 1779 0x038753F4, /* -12, 468, 56 */ 1780 0x03A74BF4, /* -12, 466, 58 */ 1781 0x03C743F4, /* -12, 464, 60 */ 1782 0x03E73BF4, /* -12, 462, 62 */ 1783 0x040737F3, /* -13, 461, 64 */ 1784 0x04272FF3, /* -13, 459, 66 */ 1785 0x044727F3, /* -13, 457, 68 */ 1786 0x04671FF3, /* -13, 455, 70 */ 1787 0x048717F3, /* -13, 453, 72 */ 1788 0x04A70FF3, /* -13, 451, 74 */ 1789 0x04C703F4, /* -12, 448, 76 */ 1790 0x04D6FFF4, /* -12, 447, 77 */ 1791 0x04F6F7F4, /* -12, 445, 79 */ 1792 0x0516EFF4, /* -12, 443, 81 */ 1793 0x0536E7F4, /* -12, 441, 83 */ 1794 0x0556DFF4, /* -12, 439, 85 */ 1795 0x0586CFF5, /* -11, 435, 88 */ 1796 0x05A6C7F5, /* -11, 433, 90 */ 1797 0x05C6BFF5, /* -11, 431, 92 */ 1798 0x05F6B7F4, /* -12, 429, 95 */ 1799 0x0616AFF4, /* -12, 427, 97 */ 1800 0x0636A3F5, /* -11, 424, 99 */ 1801 0x06569BF5, /* -11, 422, 101 */ 1802 0x06868FF5, /* -11, 419, 104 */ 1803 0x06A687F5, /* -11, 417, 106 */ 1804 0x06C67FF5, /* -11, 415, 108 */ 1805 0x06E677F5, /* -11, 413, 110 */ 1806 0x07166BF5, /* -11, 410, 113 */ 1807 0x073663F5, /* -11, 408, 115 */ 1808 0x07665BF4, /* -12, 406, 118 */ 1809 0x07964BF5, /* -11, 402, 121 */ 1810 0x07B643F5, /* -11, 400, 123 */ 1811 0x07D637F6, /* -10, 397, 125 */ 1812 0x08062BF6, /* -10, 394, 128 */ 1813 0x082623F6, /* -10, 392, 130 */ 1814 0x085617F6, /* -10, 389, 133 */ 1815 0x08760FF6, /* -10, 387, 135 */ 1816 0x08B603F5, /* -11, 384, 139 */ 1817 0x08D5F7F6, /* -10, 381, 141 */ 1818 0x0905EBF6, /* -10, 378, 144 */ 1819 0x0925E3F6, /* -10, 376, 146 */ 1820 0x0955D3F7, /* -9, 372, 149 */ 1821 0x0985C7F7, /* -9, 369, 152 */ 1822 0x09A5BFF7, /* -9, 367, 154 */ 1823 0x09D5B3F7, /* -9, 364, 157 */ 1824 0x0A05ABF6, /* -10, 362, 160 */ 1825 0x0A359BF7, /* -9, 358, 163 */ 1826 0x0A658FF7, /* -9, 355, 166 */ 1827 0x0A9587F6, /* -10, 353, 169 */ 1828 0x0AB57BF7, /* -9, 350, 171 */ 1829 0x0AE56FF7, /* -9, 347, 174 */ 1830 0x0B1563F7, /* -9, 344, 177 */ 1831 0x0B455BF6, /* -10, 342, 180 */ 1832 0x0B754BF7, /* -9, 338, 183 */ 1833 0x0BA53FF7, /* -9, 335, 186 */ 1834 0x0BD533F7, /* -9, 332, 189 */ 1835 0x0C0523F8, /* -8, 328, 192 */ 1836 0x0C251BF8, /* -8, 326, 194 */ 1837 0x0C550FF8, /* -8, 323, 197 */ 1838 0x0C9503F7, /* -9, 320, 201 */ 1839 0x0CC4F7F7, /* -9, 317, 204 */ 1840 0x0CF4EBF7, /* -9, 314, 207 */ 1841 0x0D24DBF8, /* -8, 310, 210 */ 1842 0x0D54CFF8, /* -8, 307, 213 */ 1843 0x0D84C3F8, /* -8, 304, 216 */ 1844 0x0DB4BBF7, /* -9, 302, 219 */ 1845 0x0DE4AFF7, /* -9, 299, 222 */ 1846 0x0E149FF8, /* -8, 295, 225 */ 1847 0x0E4493F8, /* -8, 292, 228 */ 1848 0x0E7483F9, /* -7, 288, 231 */ 1849 0x0EA477F9, /* -7, 285, 234 */ 1850 0x0ED46BF9, /* -7, 282, 237 */ 1851 0x0F045FF9, /* -7, 279, 240 */ 1852 0x0F4453F8, /* -8, 276, 244 */ 1853 0x0F7447F8, /* -8, 273, 247 */ 1854 0x0FA43BF8, /* -8, 270, 250 */ 1855 0x0FD42BF9, /* -7, 266, 253 */ 1856 0x10041FF9, /* -7, 263, 256 */ 1857}; 1858