1dfe64dd3Smacallan/* 2dfe64dd3Smacallan * Global data and definitions 3dfe64dd3Smacallan * 4dfe64dd3Smacallan * Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria 5dfe64dd3Smacallan * 6dfe64dd3Smacallan * Redistribution and use in source and binary forms, with or without 7dfe64dd3Smacallan * modification, are permitted provided that the following conditions 8dfe64dd3Smacallan * are met: 9dfe64dd3Smacallan * 1) Redistributions of source code must retain the above copyright 10dfe64dd3Smacallan * notice, this list of conditions and the following disclaimer. 11dfe64dd3Smacallan * 2) Redistributions in binary form must reproduce the above copyright 12dfe64dd3Smacallan * notice, this list of conditions and the following disclaimer in the 13dfe64dd3Smacallan * documentation and/or other materials provided with the distribution. 14dfe64dd3Smacallan * 3) The name of the author may not be used to endorse or promote products 15dfe64dd3Smacallan * derived from this software without specific prior written permission. 16dfe64dd3Smacallan * 17dfe64dd3Smacallan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR 18dfe64dd3Smacallan * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19dfe64dd3Smacallan * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20dfe64dd3Smacallan * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21dfe64dd3Smacallan * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22dfe64dd3Smacallan * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23dfe64dd3Smacallan * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24dfe64dd3Smacallan * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25dfe64dd3Smacallan * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26dfe64dd3Smacallan * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27dfe64dd3Smacallan * 28dfe64dd3Smacallan * Author: Thomas Winischhofer <thomas@winischhofer.net> 29dfe64dd3Smacallan * 30dfe64dd3Smacallan */ 31dfe64dd3Smacallan 32dfe64dd3Smacallan 33dfe64dd3Smacallan/* For calculating refresh rate index (CR33) */ 34dfe64dd3Smacallanstatic const struct _xgi_vrate { 35dfe64dd3Smacallan CARD16 idx; 36dfe64dd3Smacallan CARD16 xres; 37dfe64dd3Smacallan CARD16 yres; 38dfe64dd3Smacallan CARD16 refresh; 39dfe64dd3Smacallan BOOLEAN XGI730valid32bpp; 40dfe64dd3Smacallan} xgix_vrate[] = { 41dfe64dd3Smacallan {1, 320, 200, 70, TRUE}, 42dfe64dd3Smacallan {1, 320, 240, 60, TRUE}, 43dfe64dd3Smacallan {1, 400, 300, 60, TRUE}, 44dfe64dd3Smacallan {1, 512, 384, 60, TRUE}, 45dfe64dd3Smacallan {1, 640, 400, 72, TRUE}, 46dfe64dd3Smacallan {1, 640, 480, 60, TRUE}, 47dfe64dd3Smacallan {2, 640, 480, 72, TRUE}, 48dfe64dd3Smacallan {3, 640, 480, 75, TRUE}, 49dfe64dd3Smacallan {4, 640, 480, 85, TRUE}, 50dfe64dd3Smacallan {5, 640, 480, 100, TRUE}, 51dfe64dd3Smacallan {6, 640, 480, 120, TRUE}, 52dfe64dd3Smacallan {7, 640, 480, 160, FALSE}, 53dfe64dd3Smacallan {8, 640, 480, 200, FALSE}, 54dfe64dd3Smacallan {1, 720, 480, 60, TRUE}, 55dfe64dd3Smacallan {1, 720, 576, 58, TRUE}, 56dfe64dd3Smacallan {1, 768, 576, 58, TRUE}, 57dfe64dd3Smacallan {1, 800, 480, 60, TRUE}, 58dfe64dd3Smacallan {2, 800, 480, 75, TRUE}, 59dfe64dd3Smacallan {3, 800, 480, 85, TRUE}, 60dfe64dd3Smacallan {1, 800, 600, 56, TRUE}, 61dfe64dd3Smacallan {2, 800, 600, 60, TRUE}, 62dfe64dd3Smacallan {3, 800, 600, 72, TRUE}, 63dfe64dd3Smacallan {4, 800, 600, 75, TRUE}, 64dfe64dd3Smacallan {5, 800, 600, 85, TRUE}, 65dfe64dd3Smacallan {6, 800, 600, 105, TRUE}, 66dfe64dd3Smacallan {7, 800, 600, 120, FALSE}, 67dfe64dd3Smacallan {8, 800, 600, 160, FALSE}, 68dfe64dd3Smacallan {1, 848, 480, 39, TRUE}, 69dfe64dd3Smacallan {2, 848, 480, 60, TRUE}, 70dfe64dd3Smacallan {1, 856, 480, 39, TRUE}, 71dfe64dd3Smacallan {2, 856, 480, 60, TRUE}, 72dfe64dd3Smacallan {1, 1024, 576, 60, TRUE}, 73dfe64dd3Smacallan {2, 1024, 576, 75, TRUE}, 74dfe64dd3Smacallan {3, 1024, 576, 85, TRUE}, 75dfe64dd3Smacallan {1, 1024, 600, 60, TRUE}, 76dfe64dd3Smacallan {1, 1024, 768, 43, TRUE}, 77dfe64dd3Smacallan {2, 1024, 768, 60, TRUE}, 78dfe64dd3Smacallan {3, 1024, 768, 70, FALSE}, 79dfe64dd3Smacallan {4, 1024, 768, 75, FALSE}, 80dfe64dd3Smacallan {5, 1024, 768, 85, TRUE}, 81dfe64dd3Smacallan {6, 1024, 768, 100, TRUE}, 82dfe64dd3Smacallan {7, 1024, 768, 120, TRUE}, 83dfe64dd3Smacallan {1, 1152, 768, 60, TRUE}, 84dfe64dd3Smacallan {1, 1152, 864, 75, TRUE}, 85dfe64dd3Smacallan {2, 1152, 864, 84, FALSE}, 86dfe64dd3Smacallan {1, 1280, 720, 60, TRUE}, 87dfe64dd3Smacallan {2, 1280, 720, 75, FALSE}, 88dfe64dd3Smacallan {3, 1280, 720, 85, TRUE}, 89dfe64dd3Smacallan {1, 1280, 768, 60, TRUE}, 90dfe64dd3Smacallan {1, 1280, 800, 60, TRUE}, 91dfe64dd3Smacallan {1, 1280, 960, 60, TRUE}, 92dfe64dd3Smacallan {2, 1280, 960, 85, TRUE}, 93dfe64dd3Smacallan {1, 1280, 1024, 43, FALSE}, 94dfe64dd3Smacallan {2, 1280, 1024, 60, TRUE}, 95dfe64dd3Smacallan {3, 1280, 1024, 75, FALSE}, 96dfe64dd3Smacallan {4, 1280, 1024, 85, TRUE}, 97dfe64dd3Smacallan {1, 1360, 768, 60, TRUE}, 98dfe64dd3Smacallan {1, 1400, 1050, 60, TRUE}, 99dfe64dd3Smacallan {2, 1400, 1050, 75, TRUE}, 100dfe64dd3Smacallan {1, 1600, 1200, 60, TRUE}, 101dfe64dd3Smacallan {2, 1600, 1200, 65, TRUE}, 102dfe64dd3Smacallan {3, 1600, 1200, 70, TRUE}, 103dfe64dd3Smacallan {4, 1600, 1200, 75, TRUE}, 104dfe64dd3Smacallan {5, 1600, 1200, 85, TRUE}, 105dfe64dd3Smacallan {6, 1600, 1200, 100, TRUE}, 106dfe64dd3Smacallan {7, 1600, 1200, 120, TRUE}, 107dfe64dd3Smacallan {1, 1680, 1050, 60, TRUE}, 108dfe64dd3Smacallan {1, 1920, 1440, 60, TRUE}, 109dfe64dd3Smacallan {2, 1920, 1440, 65, TRUE}, 110dfe64dd3Smacallan {3, 1920, 1440, 70, TRUE}, 111dfe64dd3Smacallan {4, 1920, 1440, 75, TRUE}, 112dfe64dd3Smacallan {5, 1920, 1440, 85, TRUE}, 113dfe64dd3Smacallan {6, 1920, 1440, 100, TRUE}, 114dfe64dd3Smacallan {1, 2048, 1536, 60, TRUE}, 115dfe64dd3Smacallan {2, 2048, 1536, 65, TRUE}, 116dfe64dd3Smacallan {3, 2048, 1536, 70, TRUE}, 117dfe64dd3Smacallan {4, 2048, 1536, 75, TRUE}, 118dfe64dd3Smacallan {5, 2048, 1536, 85, TRUE}, 119dfe64dd3Smacallan {0, 0, 0, 0, FALSE} 120dfe64dd3Smacallan}; 121dfe64dd3Smacallan 122dfe64dd3Smacallan 123dfe64dd3Smacallan/* TV filters for video bridges 124dfe64dd3Smacallan */ 125dfe64dd3Smacallanstatic const struct _XGITVFilter301 { 126dfe64dd3Smacallan unsigned char filter[7][4]; 127dfe64dd3Smacallan} XGITVFilter301[] = { 128dfe64dd3Smacallan {{ {0x00,0xE0,0x10,0x60}, /* NTSCFilter - 320 */ 129dfe64dd3Smacallan {0x00,0xEE,0x10,0x44}, 130dfe64dd3Smacallan {0x00,0xF4,0x10,0x38}, 131dfe64dd3Smacallan {0xF8,0xF4,0x18,0x38}, 132dfe64dd3Smacallan {0xFC,0xFB,0x14,0x2A}, 133dfe64dd3Smacallan {0x00,0x00,0x10,0x20}, 134dfe64dd3Smacallan {0x00,0x04,0x10,0x18} }}, 135dfe64dd3Smacallan {{ {0xF5,0xEE,0x1B,0x44}, /* NTSCFilter - 640 */ 136dfe64dd3Smacallan {0xF8,0xF4,0x18,0x38}, 137dfe64dd3Smacallan {0xEB,0x04,0x25,0x18}, 138dfe64dd3Smacallan {0xF1,0x05,0x1F,0x16}, 139dfe64dd3Smacallan {0xF6,0x06,0x1A,0x14}, 140dfe64dd3Smacallan {0xFA,0x06,0x16,0x14}, 141dfe64dd3Smacallan {0x00,0x04,0x10,0x18} }}, 142dfe64dd3Smacallan {{ {0xEB,0x04,0x25,0x18}, /* NTSCFilter - 720 */ 143dfe64dd3Smacallan {0xE7,0x0E,0x29,0x04}, 144dfe64dd3Smacallan {0xEE,0x0C,0x22,0x08}, 145dfe64dd3Smacallan {0xF6,0x0B,0x1A,0x0A}, 146dfe64dd3Smacallan {0xF9,0x0A,0x17,0x0C}, 147dfe64dd3Smacallan {0xFC,0x0A,0x14,0x0C}, 148dfe64dd3Smacallan {0x00,0x08,0x10,0x10} }}, 149dfe64dd3Smacallan {{ {0xEC,0x02,0x24,0x1C}, /* NTSCFilter - 800/400 */ 150dfe64dd3Smacallan {0xF2,0x04,0x1E,0x18}, 151dfe64dd3Smacallan {0xEB,0x15,0x25,0xF6}, 152dfe64dd3Smacallan {0xF4,0x10,0x1C,0x00}, 153dfe64dd3Smacallan {0xF8,0x0F,0x18,0x02}, 154dfe64dd3Smacallan {0x00,0x04,0x10,0x18}, 155dfe64dd3Smacallan {0x01,0x06,0x0F,0x14} }}, 156dfe64dd3Smacallan {{ {0x00,0xE0,0x10,0x60}, /* PALFilter - 320 */ 157dfe64dd3Smacallan {0x00,0xEE,0x10,0x44}, 158dfe64dd3Smacallan {0x00,0xF4,0x10,0x38}, 159dfe64dd3Smacallan {0xF8,0xF4,0x18,0x38}, 160dfe64dd3Smacallan {0xFC,0xFB,0x14,0x2A}, 161dfe64dd3Smacallan {0x00,0x00,0x10,0x20}, 162dfe64dd3Smacallan {0x00,0x04,0x10,0x18} }}, 163dfe64dd3Smacallan {{ {0xF5,0xEE,0x1B,0x44}, /* PALFilter - 640 */ 164dfe64dd3Smacallan {0xF8,0xF4,0x18,0x38}, 165dfe64dd3Smacallan {0xF1,0xF7,0x1F,0x32}, 166dfe64dd3Smacallan {0xF5,0xFB,0x1B,0x2A}, 167dfe64dd3Smacallan {0xF9,0xFF,0x17,0x22}, 168dfe64dd3Smacallan {0xFB,0x01,0x15,0x1E}, 169dfe64dd3Smacallan {0x00,0x04,0x10,0x18} }}, 170dfe64dd3Smacallan {{ {0xF5,0xEE,0x1B,0x2A}, /* PALFilter - 720 */ 171dfe64dd3Smacallan {0xEE,0xFE,0x22,0x24}, 172dfe64dd3Smacallan {0xF3,0x00,0x1D,0x20}, 173dfe64dd3Smacallan {0xF9,0x03,0x17,0x1A}, 174dfe64dd3Smacallan {0xFB,0x02,0x14,0x1E}, 175dfe64dd3Smacallan {0xFB,0x04,0x15,0x18}, 176dfe64dd3Smacallan {0x00,0x06,0x10,0x14} }}, 177dfe64dd3Smacallan {{ {0xF5,0xEE,0x1B,0x44}, /* PALFilter - 800/400 */ 178dfe64dd3Smacallan {0xF8,0xF4,0x18,0x38}, 179dfe64dd3Smacallan {0xFC,0xFB,0x14,0x2A}, 180dfe64dd3Smacallan {0xEB,0x05,0x25,0x16}, 181dfe64dd3Smacallan {0xF1,0x05,0x1F,0x16}, 182dfe64dd3Smacallan {0xFA,0x07,0x16,0x12}, 183dfe64dd3Smacallan {0x00,0x07,0x10,0x12} }} 184dfe64dd3Smacallan}; 185dfe64dd3Smacallan 186dfe64dd3Smacallanstatic const struct _XGITVFilter301B { 187dfe64dd3Smacallan unsigned char filter[7][7]; 188dfe64dd3Smacallan} XGITVFilter301B[] = { 189dfe64dd3Smacallan {{ {0x01,0x02,0xfb,0xf8,0x06,0x27,0x3a}, /* NTSC - 640 */ 190dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 191dfe64dd3Smacallan {0x01,0x01,0x00,0xf6,0x00,0x28,0x40}, 192dfe64dd3Smacallan {0xff,0x03,0x02,0xf6,0xfc,0x27,0x46}, 193dfe64dd3Smacallan {0xff,0x01,0x04,0xf8,0xfa,0x27,0x46}, 194dfe64dd3Smacallan {0xff,0x01,0x05,0xf9,0xf7,0x26,0x4a}, 195dfe64dd3Smacallan {0xff,0xff,0x05,0xfc,0xf4,0x24,0x52} }}, 196dfe64dd3Smacallan {{ {0x01,0x00,0xfb,0xfb,0x0b,0x25,0x32}, /* NTSC - 720 (?) */ 197dfe64dd3Smacallan {0x01,0x01,0xfb,0xf9,0x09,0x26,0x36}, 198dfe64dd3Smacallan {0x01,0x02,0xfc,0xf8,0x06,0x27,0x38}, 199dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 200dfe64dd3Smacallan {0x01,0x03,0xff,0xf6,0x00,0x27,0x40}, 201dfe64dd3Smacallan {0xff,0x03,0x02,0xf6,0xfe,0x27,0x42}, 202dfe64dd3Smacallan {0xff,0x02,0x03,0xf7,0xfb,0x27,0x46} }}, 203dfe64dd3Smacallan {{ {0x01,0xfe,0xfb,0xfe,0x0e,0x23,0x2e}, /* NTSC - 800 */ 204dfe64dd3Smacallan {0x01,0xff,0xfb,0xfc,0x0c,0x25,0x30}, 205dfe64dd3Smacallan {0x01,0x00,0xfb,0xfa,0x0a,0x26,0x34}, 206dfe64dd3Smacallan {0x01,0x01,0xfc,0xf8,0x08,0x26,0x38}, 207dfe64dd3Smacallan {0x01,0x02,0xfd,0xf7,0x06,0x27,0x38}, 208dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 209dfe64dd3Smacallan {0xff,0x03,0x00,0xf6,0x00,0x27,0x42} }}, 210dfe64dd3Smacallan {{ {0xff,0xfd,0xfe,0x05,0x11,0x1e,0x24}, /* NTSC - 1024 */ 211dfe64dd3Smacallan {0xff,0xfd,0xfd,0x04,0x11,0x1f,0x26}, 212dfe64dd3Smacallan {0xff,0xfd,0xfc,0x02,0x10,0x22,0x28}, 213dfe64dd3Smacallan {0xff,0xff,0xfc,0x00,0x0f,0x22,0x28}, 214dfe64dd3Smacallan {0x01,0xfe,0xfb,0xff,0x0e,0x23,0x2c}, 215dfe64dd3Smacallan {0x01,0xff,0xfb,0xfd,0x0d,0x24,0x2e}, 216dfe64dd3Smacallan {0x01,0xff,0xfb,0xfb,0x0c,0x25,0x32} }}, 217dfe64dd3Smacallan {{ {0x01,0x02,0xfb,0xf8,0x06,0x27,0x3a}, /* PAL - 640 */ 218dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 219dfe64dd3Smacallan {0x01,0x01,0x00,0xf6,0x00,0x28,0x40}, 220dfe64dd3Smacallan {0xff,0x03,0x02,0xf6,0xfc,0x27,0x46}, 221dfe64dd3Smacallan {0xff,0x01,0x04,0xf8,0xfa,0x27,0x46}, 222dfe64dd3Smacallan {0xff,0x01,0x05,0xf9,0xf7,0x26,0x4a}, 223dfe64dd3Smacallan {0xff,0xff,0x05,0xfc,0xf4,0x24,0x52} }}, 224dfe64dd3Smacallan {{ {0x01,0x00,0xfb,0xfb,0x0b,0x25,0x32}, /* PAL - 720/768 */ 225dfe64dd3Smacallan {0x01,0x01,0xfb,0xf9,0x09,0x26,0x36}, 226dfe64dd3Smacallan {0x01,0x02,0xfc,0xf8,0x06,0x27,0x38}, 227dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 228dfe64dd3Smacallan {0x01,0x03,0xff,0xf6,0x00,0x27,0x40}, 229dfe64dd3Smacallan {0xff,0x03,0x02,0xf6,0xfe,0x27,0x42}, 230dfe64dd3Smacallan {0xff,0x02,0x03,0xf7,0xfb,0x27,0x46} }}, 231dfe64dd3Smacallan {{ {0x01,0xfe,0xfb,0xfe,0x0e,0x23,0x2e}, /* PAL - 800 */ 232dfe64dd3Smacallan {0x01,0xff,0xfb,0xfc,0x0c,0x25,0x30}, 233dfe64dd3Smacallan {0x01,0x00,0xfb,0xfa,0x0a,0x26,0x34}, 234dfe64dd3Smacallan {0x01,0x01,0xfc,0xf8,0x08,0x26,0x38}, 235dfe64dd3Smacallan {0x01,0x02,0xfd,0xf7,0x06,0x27,0x38}, 236dfe64dd3Smacallan {0x01,0x02,0xfe,0xf7,0x03,0x27,0x3c}, 237dfe64dd3Smacallan {0xff,0x03,0x00,0xf6,0x00,0x27,0x42} }}, 238dfe64dd3Smacallan {{ {0xff,0xfd,0xfe,0x05,0x11,0x1e,0x24}, /* PAL - 1024 */ 239dfe64dd3Smacallan {0xff,0xfd,0xfd,0x04,0x11,0x1f,0x26}, 240dfe64dd3Smacallan {0xff,0xfd,0xfc,0x02,0x10,0x22,0x28}, 241dfe64dd3Smacallan {0xff,0xff,0xfc,0x00,0x0f,0x22,0x28}, 242dfe64dd3Smacallan {0x01,0xfe,0xfb,0xff,0x0e,0x23,0x2c}, 243dfe64dd3Smacallan {0x01,0xff,0xfb,0xfd,0x0d,0x24,0x2e}, 244dfe64dd3Smacallan {0x01,0xff,0xfb,0xfb,0x0c,0x25,0x32} }} 245dfe64dd3Smacallan}; 246dfe64dd3Smacallan 247dfe64dd3Smacallan/* TV scaling data for video bridges 248dfe64dd3Smacallan */ 249dfe64dd3Smacallantypedef struct _XGITVVScale { 250dfe64dd3Smacallan unsigned short ScaleVDE; 251dfe64dd3Smacallan int sindex; 252dfe64dd3Smacallan unsigned short RealVDE; 253dfe64dd3Smacallan unsigned short reg[24]; 254dfe64dd3Smacallan} MyXGITVVScale, *MyXGITVVScalePtr; 255dfe64dd3Smacallan 256dfe64dd3Smacallanstatic const MyXGITVVScale XGITVVScale[] = { 257dfe64dd3Smacallan { 0x01D6, 3, 480, /* NTSC 640 */ 258dfe64dd3Smacallan { 0x037C, 0x02B0, 0x00EF, 0x01FA, 0x01E7, 0x01E9, 259dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x037C, 0x01FB, 0x00D4, 260dfe64dd3Smacallan 0x037C, 0x02CB, 0x0049, 0x01FB, 0x01EE, 0x01F0, 261dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x037C, 0x01FB, 0x00E0 } 262dfe64dd3Smacallan }, 263dfe64dd3Smacallan { 0x01CC, 2, 480, 264dfe64dd3Smacallan { 0x0369, 0x02AD, 0x00E7, 0x01FF, 0x01E8, 0x01EB, 265dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0369, 0x0200, 0x00D4, 266dfe64dd3Smacallan 0x0369, 0x02C6, 0x003A, 0x0200, 0x01F0, 0x01F3, 267dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0369, 0x0200, 0x00E0 } 268dfe64dd3Smacallan }, 269dfe64dd3Smacallan { 0x01C2, 1, 480, 270dfe64dd3Smacallan { 0x0356, 0x02AB, 0x00E0, 0x0204, 0x01E9, 0x01EC, 271dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0356, 0x0205, 0x00D4, 272dfe64dd3Smacallan 0x0356, 0x02C1, 0x002B, 0x0205, 0x01F3, 0x01F6, 273dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0356, 0x0205, 0x00E0 } 274dfe64dd3Smacallan }, 275dfe64dd3Smacallan { 0x01B8, 0, 480, /* default */ 276dfe64dd3Smacallan { 0x0343, 0x02A9, 0x00DA, 0x0209, 0x01EA, 0x01ED, 277dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0343, 0x020A, 0x00D4, 278dfe64dd3Smacallan 0x0343, 0x02BD, 0x001F, 0x020A, 0x01F5, 0x01F8, 279dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0343, 0x020A, 0x00E0 } 280dfe64dd3Smacallan }, 281dfe64dd3Smacallan { 0x01AE, -1, 480, 282dfe64dd3Smacallan { 0x035B, 0x02AC, 0x00E3, 0x020E, 0x01EC, 0x01F0, 283dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x035B, 0x020F, 0x0152, 284dfe64dd3Smacallan 0x035B, 0x02C3, 0x0031, 0x020F, 0x01F8, 0x01FC, 285dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x035B, 0x020F, 0x015E } 286dfe64dd3Smacallan }, 287dfe64dd3Smacallan { 0x01A4, -2, 480, 288dfe64dd3Smacallan { 0x0347, 0x02A9, 0x00DB, 0x0213, 0x01ED, 0x01F1, 289dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0347, 0x0214, 0x0102, 290dfe64dd3Smacallan 0x0347, 0x02BE, 0x0022, 0x0214, 0x01FA, 0x01FE, 291dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0347, 0x0214, 0x010E } 292dfe64dd3Smacallan }, 293dfe64dd3Smacallan { 0x019A, -3, 480, 294dfe64dd3Smacallan { 0x0333, 0x02A7, 0x00D4, 0x0218, 0x01EE, 0x01F2, 295dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0333, 0x0219, 0x016A, 296dfe64dd3Smacallan 0x0333, 0x02B9, 0x0013, 0x0219, 0x01FD, 0x0201, 297dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0333, 0x0219, 0x016A } 298dfe64dd3Smacallan }, 299dfe64dd3Smacallan { 0x01D6, 3, 480, /* NTSC 720 */ 300dfe64dd3Smacallan { 0x037C, 0x0307, 0x005D, 0x01FB, 0x01EE, 0x01F0, 301dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x037C, 0x01FB, 0x0090 } 302dfe64dd3Smacallan }, 303dfe64dd3Smacallan { 0x01CC, 2, 480, 304dfe64dd3Smacallan { 0x0369, 0x0302, 0x004E, 0x0200, 0x01F0, 0x01F3, 305dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0369, 0x0200, 0x0090 } 306dfe64dd3Smacallan }, 307dfe64dd3Smacallan { 0x01C2, 1, 480, 308dfe64dd3Smacallan { 0x0356, 0x02FD, 0x003F, 0x0205, 0x01F3, 0x01F6, 309dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0356, 0x0205, 0x0090 } 310dfe64dd3Smacallan }, 311dfe64dd3Smacallan { 0x01B8, 0, 480, /* default */ 312dfe64dd3Smacallan { 0x0343, 0x02F9, 0x0033, 0x020A, 0x01F5, 0x01F8, 313dfe64dd3Smacallan 0x0000, 0x004C, 0x008F, 0x0343, 0x020A, 0x0090 } 314dfe64dd3Smacallan }, 315dfe64dd3Smacallan { 0x01AE, -1, 480, 316dfe64dd3Smacallan { 0x035B, 0x02FF, 0x0045, 0x020F, 0x01F8, 0x01FC, 317dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x035B, 0x020F, 0x010E } 318dfe64dd3Smacallan }, 319dfe64dd3Smacallan { 0x01A4, -2, 480, 320dfe64dd3Smacallan { 0x0347, 0x02FA, 0x0036, 0x0214, 0x01FA, 0x01FE, 321dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0347, 0x0214, 0x00BE } 322dfe64dd3Smacallan }, 323dfe64dd3Smacallan { 0x019A, -3, 480, 324dfe64dd3Smacallan { 0x0333, 0x02F5, 0x0027, 0x0219, 0x01FD, 0x0201, 325dfe64dd3Smacallan 0x0000, 0x0050, 0x008F, 0x0333, 0x0219, 0x0136 } 326dfe64dd3Smacallan }, 327dfe64dd3Smacallan { 0x01D6, 3, 600, /* NTSC 800 */ 328dfe64dd3Smacallan { 0x0438, 0x0353, 0x0099, 0x0272, 0x025F, 0x0261, 329dfe64dd3Smacallan 0x0000, 0x0073, 0x008F, 0x0438, 0x0273, 0x020A, 330dfe64dd3Smacallan 0x0438, 0x0372, 0x00FE, 0x0273, 0x0266, 0x0268, 331dfe64dd3Smacallan 0x0000, 0x0073, 0x008F, 0x0438, 0x0273, 0x020A } 332dfe64dd3Smacallan }, 333dfe64dd3Smacallan { 0x01CC, 2, 600, 334dfe64dd3Smacallan { 0x0421, 0x0350, 0x0090, 0x0277, 0x0260, 0x0263, 335dfe64dd3Smacallan 0x0000, 0x0073, 0x008F, 0x0421, 0x0278, 0x020A, 336dfe64dd3Smacallan 0x0421, 0x036C, 0x00EC, 0x0278, 0x0268, 0x026B, 337dfe64dd3Smacallan 0x0000, 0x0073, 0x008F, 0x0421, 0x0278, 0x020A } 338dfe64dd3Smacallan }, 339dfe64dd3Smacallan { 0x01C2, 1, 600, 340dfe64dd3Smacallan { 0x0413, 0x034F, 0x008C, 0x027C, 0x0261, 0x0264, 341dfe64dd3Smacallan 0x0000, 0x0074, 0x008F, 0x0413, 0x027D, 0x01FE, 342dfe64dd3Smacallan 0x0413, 0x0369, 0x00E3, 0x027D, 0x026B, 0x026E, 343dfe64dd3Smacallan 0x0000, 0x0074, 0x008F, 0x0413, 0x027D, 0x020C } 344dfe64dd3Smacallan }, 345dfe64dd3Smacallan { 0x01B8, 0, 600, /* default */ 346dfe64dd3Smacallan { 0x041F, 0x0350, 0x0090, 0x0281, 0x0262, 0x0265, 347dfe64dd3Smacallan 0x0000, 0x0078, 0x008F, 0x041F, 0x0282, 0x0220, 348dfe64dd3Smacallan 0x041F, 0x036C, 0x00EC, 0x0282, 0x026D, 0x0270, 349dfe64dd3Smacallan 0x0001, 0x0078, 0x008F, 0x041F, 0x0282, 0x0220 } 350dfe64dd3Smacallan }, 351dfe64dd3Smacallan { 0x01AE, -1, 600, 352dfe64dd3Smacallan { 0x0407, 0x034D, 0x0087, 0x0286, 0x0264, 0x0268, 353dfe64dd3Smacallan 0x0000, 0x0078, 0x008F, 0x0407, 0x0287, 0x0220, 354dfe64dd3Smacallan 0x0407, 0x0366, 0x00DA, 0x0287, 0x0270, 0x0274, 355dfe64dd3Smacallan 0x0001, 0x0078, 0x008F, 0x0407, 0x0287, 0x0220 } 356dfe64dd3Smacallan }, 357dfe64dd3Smacallan { 0x01A4, -2, 600, 358dfe64dd3Smacallan { 0x03EF, 0x034A, 0x007E, 0x028B, 0x0265, 0x0269, 359dfe64dd3Smacallan 0x0000, 0x0078, 0x008F, 0x03EF, 0x028C, 0x0220, 360dfe64dd3Smacallan 0x03EF, 0x0360, 0x00C8, 0x028C, 0x0272, 0x0276, 361dfe64dd3Smacallan 0x0001, 0x0078, 0x008F, 0x03EF, 0x028C, 0x0220 } 362dfe64dd3Smacallan }, 363dfe64dd3Smacallan { 0x019A, -3, 600, 364dfe64dd3Smacallan { 0x0429, 0x0351, 0x0093, 0x0290, 0x0266, 0x026A, 365dfe64dd3Smacallan 0x0000, 0x0082, 0x008F, 0x0429, 0x0291, 0x024E, 366dfe64dd3Smacallan 0x0429, 0x036E, 0x00F2, 0x0291, 0x0275, 0x0279, 367dfe64dd3Smacallan 0x0001, 0x0082, 0x008F, 0x0429, 0x0291, 0x024E } 368dfe64dd3Smacallan }, 369dfe64dd3Smacallan { 0x0230, 3, 480, /* PAL 640 */ 370dfe64dd3Smacallan { 0x0371, 0x02AE, 0x00EA, 0x01FF, 0x01E8, 0x01EB, 371dfe64dd3Smacallan 0x0000, 0x0007, 0x0010, 0x0371, 0x0200, 0x0032, 372dfe64dd3Smacallan 0x0371, 0x02C8, 0x0040, 0x0200, 0x01F0, 0x01F3, 373dfe64dd3Smacallan 0x0000, 0x000E, 0x0020, 0x0371, 0x0200, 0x0032 } 374dfe64dd3Smacallan }, 375dfe64dd3Smacallan { 0x0226, 2, 480, 376dfe64dd3Smacallan { 0x0383, 0x02B1, 0x00F2, 0x0204, 0x01E9, 0x01EC, 377dfe64dd3Smacallan 0x0000, 0x0005, 0x000B, 0x0383, 0x0205, 0x0032, 378dfe64dd3Smacallan 0x0383, 0x02CD, 0x004F, 0x0205, 0x01F3, 0x01F6, 379dfe64dd3Smacallan 0x0000, 0x0005, 0x000B, 0x0383, 0x0205, 0x0032 } 380dfe64dd3Smacallan }, 381dfe64dd3Smacallan { 0x021C, 1, 480, 382dfe64dd3Smacallan { 0x035F, 0x02AC, 0x00E4, 0x0209, 0x01EA, 0x01ED, 383dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x035F, 0x020A, 0x0032, 384dfe64dd3Smacallan 0x035F, 0x02C4, 0x0034, 0x020A, 0x01F5, 0x01F8, 385dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x035F, 0x020A, 0x0032 } 386dfe64dd3Smacallan }, 387dfe64dd3Smacallan { 0x0212, 0, 480, /* default */ 388dfe64dd3Smacallan { 0x034F, 0x02AA, 0x00DE, 0x020E, 0x01EC, 0x01F0, 389dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x034F, 0x020F, 0x0032, 390dfe64dd3Smacallan 0x034F, 0x02C0, 0x0028, 0x020F, 0x01F8, 0x01FC, 391dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x034F, 0x020F, 0x0032 } 392dfe64dd3Smacallan }, 393dfe64dd3Smacallan { 0x0208, -1, 480, 394dfe64dd3Smacallan { 0x033F, 0x02A8, 0x00D8, 0x0213, 0x01ED, 0x01F1, 395dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x033F, 0x0214, 0x0032, 396dfe64dd3Smacallan 0x033F, 0x02BC, 0x001C, 0x0214, 0x01FA, 0x01FE, 397dfe64dd3Smacallan 0x0000, 0x0004, 0x0009, 0x033F, 0x0214, 0x0032 } 398dfe64dd3Smacallan }, 399dfe64dd3Smacallan { 0x01FE, -2, 480, 400dfe64dd3Smacallan { 0x0395, 0x02B3, 0x00F8, 0x0218, 0x01EE, 0x01F2, 401dfe64dd3Smacallan 0x0000, 0x0001, 0x0002, 0x0395, 0x0219, 0x0032, 402dfe64dd3Smacallan 0x0395, 0x02D1, 0x005B, 0x0219, 0x01FD, 0x0201, 403dfe64dd3Smacallan 0x0000, 0x0001, 0x0002, 0x0395, 0x0219, 0x0032 } 404dfe64dd3Smacallan }, 405dfe64dd3Smacallan { 0x01F4, -3, 480, 406dfe64dd3Smacallan { 0x0383, 0x02B1, 0x00F2, 0x021D, 0x01EF, 0x01F3, 407dfe64dd3Smacallan 0x0000, 0x0001, 0x0002, 0x0383, 0x021E, 0x0032, 408dfe64dd3Smacallan 0x0383, 0x02CD, 0x004F, 0x021E, 0x01FF, 0x0203, 409dfe64dd3Smacallan 0x0000, 0x0001, 0x0002, 0x0383, 0x021E, 0x0032 } 410dfe64dd3Smacallan }, 411dfe64dd3Smacallan { 0x0230, 2, 576, /* PAL 720 */ 412dfe64dd3Smacallan { 0x03BF, 0x0318, 0x0090, 0x0260, 0x0250, 0x0253, 413dfe64dd3Smacallan 0x0000, 0x0004, 0x0007, 0x03BF, 0x0260, 0x00E0, 414dfe64dd3Smacallan 0x6954, 0x6C6C, 0x5320, 0x666F, 0x6169, 0x4220, 415dfe64dd3Smacallan 0x7265, 0x746E, 0x7373, 0x6E6F, 0x0260, 0x00E0 } 416dfe64dd3Smacallan }, 417dfe64dd3Smacallan { 0x0226, 1, 576, 418dfe64dd3Smacallan { 0x03DD, 0x031F, 0x00A5, 0x0265, 0x0253, 0x0256, 419dfe64dd3Smacallan 0x0000, 0x0003, 0x0005, 0x03DD, 0x0265, 0x013B, 420dfe64dd3Smacallan 0x7242, 0x756F, 0x6867, 0x2074, 0x6F74, 0x7920, 421dfe64dd3Smacallan 0x756F, 0x6220, 0x2079, 0x6F6E, 0x2074, 0x2061 } 422dfe64dd3Smacallan }, 423dfe64dd3Smacallan { 0x021C, 0, 576, /* default */ 424dfe64dd3Smacallan { 0x0437, 0x0336, 0x00EA, 0x026A, 0x0255, 0x0258, 425dfe64dd3Smacallan 0x0000, 0x0002, 0x0003, 0x0437, 0x026A, 0x0180, 426dfe64dd3Smacallan 0x656D, 0x6572, 0x5720, 0x7A69, 0x7261, 0x2064, 427dfe64dd3Smacallan 0x7562, 0x2074, 0x6874, 0x2065, 0x0274, 0x01CE } 428dfe64dd3Smacallan }, 429dfe64dd3Smacallan { 0x0212, -1, 576, 430dfe64dd3Smacallan { 0x0423, 0x0331, 0x00DB, 0x026F, 0x0258, 0x025C, 431dfe64dd3Smacallan 0x0001, 0x0002, 0x0003, 0x0423, 0x026F, 0x01CA, 432dfe64dd3Smacallan 0x6957, 0x617A, 0x6472, 0x4520, 0x7478, 0x6172, 433dfe64dd3Smacallan 0x726F, 0x6964, 0x616E, 0x7269, 0x3A65, 0x01CE } 434dfe64dd3Smacallan }, 435dfe64dd3Smacallan { 0x0208, -2, 576, 436dfe64dd3Smacallan { 0x040F, 0x032C, 0x00CC, 0x0274, 0x025A, 0x025E, 437dfe64dd3Smacallan 0x0000, 0x0002, 0x0003, 0x040F, 0x0274, 0x01CA, 438dfe64dd3Smacallan 0x6854, 0x6D6F, 0x7361, 0x5720, 0x6E69, 0x7369, 439dfe64dd3Smacallan 0x6863, 0x6F68, 0x6566, 0x2172, 0x027E, 0x01CA } 440dfe64dd3Smacallan }, 441dfe64dd3Smacallan { 0x01FE, -3, 576, 442dfe64dd3Smacallan { 0x03FB, 0x0327, 0x00BD, 0x0279, 0x025D, 0x0261, 443dfe64dd3Smacallan 0x0000, 0x0002, 0x0003, 0x03FB, 0x0279, 0x01CA, 444dfe64dd3Smacallan } 445dfe64dd3Smacallan }, 446dfe64dd3Smacallan { 0x01F4, -4, 576, 447dfe64dd3Smacallan { 0x03E7, 0x0322, 0x00AE, 0x027E, 0x025F, 0x0263, 448dfe64dd3Smacallan 0x0000, 0x0002, 0x0003, 0x03E7, 0x027E, 0x01CA, 449dfe64dd3Smacallan 0x6854, 0x7369, 0x7320, 0x6170, 0x6563, 0x6620, 450dfe64dd3Smacallan 0x726F, 0x7320, 0x6C61, 0x0365, 0x027F, 0x01FE } 451dfe64dd3Smacallan }, 452dfe64dd3Smacallan { 0x0230, 3, 600, /* PAL 800 */ 453dfe64dd3Smacallan { 0x047F, 0x035C, 0x00B4, 0x0277, 0x0260, 0x0263, 454dfe64dd3Smacallan 0x0000, 0x0005, 0x0007, 0x047F, 0x0278, 0x0170, 455dfe64dd3Smacallan 0x047F, 0x0384, 0x0034, 0x0278, 0x0268, 0x026B, 456dfe64dd3Smacallan 0x0000, 0x0005, 0x0007, 0x047F, 0x0278, 0x017E } 457dfe64dd3Smacallan }, 458dfe64dd3Smacallan { 0x0226, 2, 600, 459dfe64dd3Smacallan { 0x044B, 0x0356, 0x00A1, 0x027C, 0x0261, 0x0264, 460dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x044B, 0x027D, 0x0150, 461dfe64dd3Smacallan 0x044B, 0x0377, 0x000D, 0x027D, 0x026B, 0x026E, 462dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x044B, 0x027D, 0x015E } 463dfe64dd3Smacallan }, 464dfe64dd3Smacallan { 0x021C, 1, 600, 465dfe64dd3Smacallan { 0x0437, 0x0353, 0x0099, 0x0281, 0x0262, 0x0265, 466dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x0437, 0x0282, 0x0150, 467dfe64dd3Smacallan 0x0437, 0x0372, 0x00FE, 0x0282, 0x026D, 0x0270, 468dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x0437, 0x0282, 0x015E } 469dfe64dd3Smacallan }, 470dfe64dd3Smacallan { 0x0212, 0, 600, /* default */ 471dfe64dd3Smacallan { 0x0423, 0x0351, 0x0092, 0x0286, 0x0264, 0x0268, 472dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x0423, 0x0287, 0x01C8, 473dfe64dd3Smacallan 0x0423, 0x036D, 0x00EF, 0x0287, 0x0270, 0x0274, 474dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x0423, 0x0287, 0x01D6 } 475dfe64dd3Smacallan }, 476dfe64dd3Smacallan { 0x0208, -1, 600, 477dfe64dd3Smacallan { 0x040F, 0x034E, 0x008A, 0x028B, 0x0265, 0x0269, 478dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x040F, 0x028C, 0x01A0, 479dfe64dd3Smacallan 0x040F, 0x0368, 0x00E0, 0x028C, 0x0272, 0x0276, 480dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x040F, 0x028C, 0x01AE } 481dfe64dd3Smacallan }, 482dfe64dd3Smacallan { 0x01FE, -2, 600, 483dfe64dd3Smacallan { 0x03FB, 0x034C, 0x0083, 0x0290, 0x0266, 0x026A, 484dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x03FB, 0x0291, 0x01C8, 485dfe64dd3Smacallan 0x03FB, 0x0363, 0x00D1, 0x0291, 0x0275, 0x0279, 486dfe64dd3Smacallan 0x0000, 0x0019, 0x0024, 0x03FB, 0x0291, 0x01D6 } 487dfe64dd3Smacallan }, 488dfe64dd3Smacallan { 0x01F4, -3, 600, 489dfe64dd3Smacallan { 0x0437, 0x0353, 0x0099, 0x0295, 0x0267, 0x026B, 490dfe64dd3Smacallan 0x0000, 0x0003, 0x0004, 0x0437, 0x0296, 0x01BF, 491dfe64dd3Smacallan 0x0437, 0x0372, 0x00FE, 0x0296, 0x0277, 0x027B, 492dfe64dd3Smacallan 0x0000, 0x0003, 0x0004, 0x0437, 0x0296, 0x01BA } 493dfe64dd3Smacallan }, 494dfe64dd3Smacallan}; 495dfe64dd3Smacallan 496098ad5bdSmacallanstatic unsigned const char XGIScalingP1Regs[] = { 497dfe64dd3Smacallan 0x08,0x09,0x0b,0x0c,0x0d,0x0e,0x10,0x11,0x12 498dfe64dd3Smacallan}; 499098ad5bdSmacallanstatic unsigned const char XGIScalingP4Regs[] = { 500dfe64dd3Smacallan 0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b 501dfe64dd3Smacallan}; 502dfe64dd3Smacallan 503dfe64dd3Smacallanstatic const unsigned char XGI301CScaling[] = { 504dfe64dd3Smacallan 505dfe64dd3Smacallan /* NTSC/PAL-M/525ip 640x480 */ 506dfe64dd3Smacallan 507dfe64dd3Smacallan 0x03,0x1C,0x03,0x7E,0x01,0x1C,0x05,0x7E,0x00,0x1C,0x06,0x7E,0x7F,0x1B,0x09,0x7D, 508dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7D,0x19,0x0D,0x7D,0x7D,0x18,0x0F,0x7C,0x7C,0x16,0x12,0x7C, 509dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x0F,0x18,0x7D,0x7C,0x0D,0x19,0x7E, 510dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7E,0x06,0x1C,0x00,0x7E,0x05,0x1C,0x01, 511dfe64dd3Smacallan 512dfe64dd3Smacallan 0x03,0x1B,0x03,0x7F,0x02,0x1B,0x05,0x7E,0x00,0x1B,0x07,0x7E,0x7F,0x1B,0x09,0x7D, 513dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7D,0x19,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7C,0x16,0x12,0x7C, 514dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x19,0x7E, 515dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7E,0x07,0x1B,0x00,0x7E,0x05,0x1B,0x02, 516dfe64dd3Smacallan 517dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, 518dfe64dd3Smacallan 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, 519dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, 520dfe64dd3Smacallan 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02, 521dfe64dd3Smacallan 522dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D,0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, 523dfe64dd3Smacallan 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C,0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, 524dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, 525dfe64dd3Smacallan 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02, 526dfe64dd3Smacallan 527dfe64dd3Smacallan 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x19,0x0A,0x7C, 528dfe64dd3Smacallan 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x10,0x7C,0x7D,0x15,0x11,0x7D, 529dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x15,0x7D,0x7D,0x10,0x16,0x7D,0x7D,0x0E,0x17,0x7E, 530dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 531dfe64dd3Smacallan 532dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x19,0x07,0x7C,0x02,0x18,0x08,0x7E,0x01,0x18,0x0A,0x7D, 533dfe64dd3Smacallan 0x00,0x17,0x0C,0x7D,0x7F,0x17,0x0E,0x7C,0x7E,0x15,0x0F,0x7E,0x7E,0x14,0x11,0x7D, 534dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x17,0x7E, 535dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x18,0x03,0x7D,0x07,0x19,0x03, 536dfe64dd3Smacallan 537dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x18,0x07,0x7D,0x03,0x18,0x09,0x7C,0x02,0x17,0x0A,0x7D, 538dfe64dd3Smacallan 0x01,0x17,0x0C,0x7C,0x00,0x16,0x0E,0x7C,0x7F,0x15,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 539dfe64dd3Smacallan 0x7E,0x12,0x12,0x7E,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x16,0x7F, 540dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x17,0x02,0x7D,0x09,0x18,0x02,0x7D,0x07,0x18,0x04, 541dfe64dd3Smacallan 542dfe64dd3Smacallan /* NTSC/PAL-M/525ip 720x480 */ 543dfe64dd3Smacallan 544dfe64dd3Smacallan 0x03,0x1C,0x03,0x7E,0x01,0x1C,0x05,0x7E,0x00,0x1C,0x06,0x7E,0x7F,0x1B,0x09,0x7D, 545dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7D,0x19,0x0D,0x7D,0x7D,0x18,0x0F,0x7C,0x7C,0x16,0x12,0x7C, 546dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x0F,0x18,0x7D,0x7C,0x0D,0x19,0x7E, 547dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7E,0x06,0x1C,0x00,0x7E,0x05,0x1C,0x01, 548dfe64dd3Smacallan 549dfe64dd3Smacallan 0x03,0x1B,0x03,0x7F,0x02,0x1B,0x05,0x7E,0x00,0x1B,0x07,0x7E,0x7F,0x1B,0x09,0x7D, 550dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7D,0x19,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7C,0x16,0x12,0x7C, 551dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x19,0x7E, 552dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7E,0x07,0x1B,0x00,0x7E,0x05,0x1B,0x02, 553dfe64dd3Smacallan 554dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, 555dfe64dd3Smacallan 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, 556dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, 557dfe64dd3Smacallan 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02, 558dfe64dd3Smacallan 559dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D,0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, 560dfe64dd3Smacallan 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C,0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, 561dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, 562dfe64dd3Smacallan 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02, 563dfe64dd3Smacallan 564dfe64dd3Smacallan 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x19,0x0A,0x7C, 565dfe64dd3Smacallan 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x10,0x7C,0x7D,0x15,0x11,0x7D, 566dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x15,0x7D,0x7D,0x10,0x16,0x7D,0x7D,0x0E,0x17,0x7E, 567dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 568dfe64dd3Smacallan 569dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x19,0x07,0x7C,0x02,0x18,0x08,0x7E,0x01,0x18,0x0A,0x7D, 570dfe64dd3Smacallan 0x00,0x17,0x0C,0x7D,0x7F,0x17,0x0E,0x7C,0x7E,0x15,0x0F,0x7E,0x7E,0x14,0x11,0x7D, 571dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x17,0x7E, 572dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x18,0x03,0x7D,0x07,0x19,0x03, 573dfe64dd3Smacallan 574dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x18,0x07,0x7D,0x03,0x18,0x09,0x7C,0x02,0x17,0x0A,0x7D, 575dfe64dd3Smacallan 0x01,0x17,0x0C,0x7C,0x00,0x16,0x0E,0x7C,0x7F,0x15,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 576dfe64dd3Smacallan 0x7E,0x12,0x12,0x7E,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x16,0x7F, 577dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x17,0x02,0x7D,0x09,0x18,0x02,0x7D,0x07,0x18,0x04, 578dfe64dd3Smacallan 579dfe64dd3Smacallan /* NTSC/PAL-M/525i 800x600 */ 580dfe64dd3Smacallan 581dfe64dd3Smacallan 0x07,0x15,0x07,0x7D,0x05,0x15,0x08,0x7E,0x04,0x15,0x09,0x7E,0x03,0x15,0x0B,0x7D, 582dfe64dd3Smacallan 0x02,0x14,0x0C,0x7E,0x01,0x14,0x0D,0x7E,0x00,0x13,0x0F,0x7E,0x00,0x12,0x10,0x7E, 583dfe64dd3Smacallan 0x7F,0x11,0x11,0x7F,0x7E,0x10,0x12,0x00,0x7E,0x0F,0x13,0x00,0x7E,0x0D,0x14,0x01, 584dfe64dd3Smacallan 0x7D,0x0C,0x14,0x03,0x7D,0x0B,0x15,0x03,0x7D,0x09,0x15,0x05,0x7D,0x08,0x15,0x06, 585dfe64dd3Smacallan 586dfe64dd3Smacallan 0x07,0x15,0x07,0x7D,0x06,0x15,0x08,0x7D,0x05,0x15,0x09,0x7D,0x04,0x14,0x0B,0x7D, 587dfe64dd3Smacallan 0x03,0x14,0x0C,0x7D,0x02,0x13,0x0D,0x7E,0x01,0x13,0x0E,0x7E,0x00,0x12,0x10,0x7E, 588dfe64dd3Smacallan 0x7F,0x11,0x11,0x7F,0x7F,0x10,0x12,0x7F,0x7E,0x0E,0x13,0x01,0x7E,0x0D,0x13,0x02, 589dfe64dd3Smacallan 0x7E,0x0C,0x14,0x02,0x7D,0x0B,0x14,0x04,0x7D,0x09,0x15,0x05,0x7D,0x08,0x15,0x06, 590dfe64dd3Smacallan 591dfe64dd3Smacallan 0x07,0x14,0x07,0x7E,0x06,0x14,0x08,0x7E,0x05,0x14,0x0A,0x7D,0x04,0x14,0x0B,0x7D, 592dfe64dd3Smacallan 0x03,0x13,0x0C,0x7E,0x02,0x13,0x0D,0x7E,0x01,0x12,0x0E,0x7F,0x00,0x11,0x0F,0x00, 593dfe64dd3Smacallan 0x00,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01,0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x13,0x02, 594dfe64dd3Smacallan 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x14,0x03,0x7D,0x0A,0x14,0x05,0x7D,0x08,0x14,0x07, 595dfe64dd3Smacallan 596dfe64dd3Smacallan 0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D,0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, 597dfe64dd3Smacallan 0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F,0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, 598dfe64dd3Smacallan 0x00,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01,0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, 599dfe64dd3Smacallan 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04,0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06, 600dfe64dd3Smacallan 601dfe64dd3Smacallan 0x08,0x13,0x08,0x7D,0x07,0x13,0x09,0x7D,0x05,0x13,0x0A,0x7E,0x04,0x13,0x0B,0x7E, 602dfe64dd3Smacallan 0x04,0x12,0x0C,0x7E,0x03,0x12,0x0D,0x7E,0x02,0x11,0x0E,0x7F,0x01,0x10,0x0F,0x00, 603dfe64dd3Smacallan 0x00,0x10,0x10,0x00,0x00,0x0F,0x10,0x01,0x7F,0x0E,0x11,0x02,0x7F,0x0D,0x12,0x02, 604dfe64dd3Smacallan 0x7E,0x0C,0x12,0x04,0x7E,0x0B,0x13,0x04,0x7E,0x0A,0x13,0x05,0x7E,0x09,0x13,0x06, 605dfe64dd3Smacallan 606dfe64dd3Smacallan 0x08,0x13,0x08,0x7D,0x07,0x13,0x09,0x7D,0x06,0x12,0x0A,0x7E,0x05,0x12,0x0B,0x7E, 607dfe64dd3Smacallan 0x04,0x12,0x0C,0x7E,0x03,0x11,0x0D,0x7F,0x02,0x11,0x0E,0x7F,0x01,0x10,0x0E,0x01, 608dfe64dd3Smacallan 0x01,0x0F,0x0F,0x01,0x00,0x0E,0x10,0x02,0x00,0x0E,0x11,0x01,0x7F,0x0D,0x11,0x03, 609dfe64dd3Smacallan 0x7F,0x0C,0x12,0x03,0x7E,0x0B,0x12,0x05,0x7E,0x0A,0x12,0x06,0x7E,0x09,0x13,0x06, 610dfe64dd3Smacallan 611dfe64dd3Smacallan 0x08,0x12,0x08,0x7E,0x07,0x12,0x09,0x7E,0x06,0x12,0x0A,0x7E,0x05,0x12,0x0B,0x7E, 612dfe64dd3Smacallan 0x04,0x11,0x0C,0x7F,0x03,0x11,0x0D,0x7F,0x02,0x10,0x0D,0x01,0x02,0x10,0x0E,0x00, 613dfe64dd3Smacallan 0x01,0x0F,0x0F,0x01,0x00,0x0E,0x10,0x02,0x00,0x0D,0x10,0x03,0x7F,0x0D,0x11,0x03, 614dfe64dd3Smacallan 0x7F,0x0C,0x11,0x04,0x7F,0x0B,0x12,0x04,0x7E,0x0A,0x12,0x06,0x7E,0x09,0x12,0x07, 615dfe64dd3Smacallan 616dfe64dd3Smacallan /* PAL/PAL-N 640x480 */ 617dfe64dd3Smacallan 618dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 619dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 620dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 621dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 622dfe64dd3Smacallan 623dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 624dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 625dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 626dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 627dfe64dd3Smacallan 628dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 629dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 630dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 631dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 632dfe64dd3Smacallan 633dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 634dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 635dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 636dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 637dfe64dd3Smacallan 638dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 639dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 640dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 641dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 642dfe64dd3Smacallan 643dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 644dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 645dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 646dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 647dfe64dd3Smacallan 648dfe64dd3Smacallan 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, 649dfe64dd3Smacallan 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, 650dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, 651dfe64dd3Smacallan 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E, 652dfe64dd3Smacallan 653dfe64dd3Smacallan /* PAL/PAL-N 720x576, 768x576 */ 654dfe64dd3Smacallan 655dfe64dd3Smacallan 0x03,0x1C,0x03,0x7E,0x01,0x1C,0x05,0x7E,0x00,0x1C,0x07,0x7D,0x7F,0x1B,0x09,0x7D, 656dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7D,0x19,0x0D,0x7D,0x7D,0x18,0x0F,0x7C,0x7C,0x16,0x12,0x7C, 657dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x0F,0x18,0x7D,0x7C,0x0D,0x19,0x7E, 658dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7E,0x07,0x1C,0x7F,0x7E,0x05,0x1C,0x01, 659dfe64dd3Smacallan 660dfe64dd3Smacallan 0x03,0x1B,0x03,0x7F,0x02,0x1B,0x05,0x7E,0x01,0x1B,0x07,0x7D,0x7F,0x1B,0x09,0x7D, 661dfe64dd3Smacallan 0x7E,0x1A,0x0B,0x7D,0x7E,0x19,0x0D,0x7C,0x7D,0x17,0x10,0x7C,0x7C,0x16,0x12,0x7C, 662dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x16,0x7C,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x19,0x7E, 663dfe64dd3Smacallan 0x7D,0x0B,0x1A,0x7E,0x7D,0x09,0x1B,0x7F,0x7D,0x07,0x1B,0x01,0x7E,0x05,0x1B,0x02, 664dfe64dd3Smacallan 665dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, 666dfe64dd3Smacallan 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, 667dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, 668dfe64dd3Smacallan 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02, 669dfe64dd3Smacallan 670dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D,0x01,0x1A,0x08,0x7D,0x00,0x1A,0x09,0x7D, 671dfe64dd3Smacallan 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0E,0x7C,0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, 672dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, 673dfe64dd3Smacallan 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02, 674dfe64dd3Smacallan 675dfe64dd3Smacallan 0x04,0x19,0x04,0x7F,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x19,0x0A,0x7C, 676dfe64dd3Smacallan 0x7F,0x18,0x0C,0x7D,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x10,0x7C,0x7D,0x15,0x11,0x7D, 677dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x15,0x7D,0x7C,0x10,0x16,0x7E,0x7C,0x0E,0x17,0x7F, 678dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 679dfe64dd3Smacallan 680dfe64dd3Smacallan 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, 681dfe64dd3Smacallan 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 682dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, 683dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 684dfe64dd3Smacallan 685dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x18,0x07,0x7D,0x03,0x18,0x08,0x7D,0x01,0x18,0x0A,0x7D, 686dfe64dd3Smacallan 0x00,0x17,0x0C,0x7D,0x7F,0x16,0x0E,0x7D,0x7F,0x15,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 687dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x16,0x7F, 688dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x18,0x03,0x7D,0x07,0x18,0x04, 689dfe64dd3Smacallan 690dfe64dd3Smacallan /* PAL/PAL-N 800x600 */ 691dfe64dd3Smacallan 692dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x02,0x1A,0x05,0x7F,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, 693dfe64dd3Smacallan 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, 694dfe64dd3Smacallan 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, 695dfe64dd3Smacallan 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1A,0x03, 696dfe64dd3Smacallan 697dfe64dd3Smacallan 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D,0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, 698dfe64dd3Smacallan 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C,0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, 699dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, 700dfe64dd3Smacallan 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02, 701dfe64dd3Smacallan 702dfe64dd3Smacallan 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x19,0x0A,0x7C, 703dfe64dd3Smacallan 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x10,0x7C,0x7D,0x15,0x11,0x7D, 704dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x15,0x7D,0x7C,0x10,0x16,0x7E,0x7C,0x0E,0x17,0x7F, 705dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 706dfe64dd3Smacallan 707dfe64dd3Smacallan 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, 708dfe64dd3Smacallan 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 709dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, 710dfe64dd3Smacallan 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04, 711dfe64dd3Smacallan 712dfe64dd3Smacallan 0x05,0x18,0x05,0x7E,0x04,0x18,0x07,0x7D,0x03,0x18,0x08,0x7D,0x01,0x18,0x0A,0x7D, 713dfe64dd3Smacallan 0x00,0x17,0x0C,0x7D,0x7F,0x16,0x0E,0x7D,0x7F,0x15,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 714dfe64dd3Smacallan 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x16,0x7F, 715dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x18,0x03,0x7D,0x07,0x18,0x04, 716dfe64dd3Smacallan 717dfe64dd3Smacallan 0x06,0x18,0x06,0x7C,0x04,0x18,0x07,0x7D,0x03,0x18,0x09,0x7C,0x02,0x17,0x0A,0x7D, 718dfe64dd3Smacallan 0x01,0x17,0x0C,0x7C,0x00,0x16,0x0E,0x7C,0x7F,0x15,0x0F,0x7D,0x7E,0x14,0x11,0x7D, 719dfe64dd3Smacallan 0x7E,0x12,0x12,0x7E,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x15,0x7F,0x7D,0x0E,0x16,0x7F, 720dfe64dd3Smacallan 0x7D,0x0C,0x17,0x00,0x7D,0x0A,0x17,0x02,0x7D,0x09,0x18,0x02,0x7D,0x07,0x18,0x04, 721dfe64dd3Smacallan 722dfe64dd3Smacallan 0x06,0x17,0x06,0x7D,0x05,0x17,0x07,0x7D,0x03,0x17,0x09,0x7D,0x02,0x17,0x0A,0x7D, 723dfe64dd3Smacallan 0x01,0x16,0x0C,0x7D,0x00,0x15,0x0E,0x7D,0x7F,0x14,0x0F,0x7E,0x7F,0x13,0x11,0x7D, 724dfe64dd3Smacallan 0x7E,0x12,0x12,0x7E,0x7E,0x11,0x13,0x7E,0x7D,0x0F,0x14,0x00,0x7D,0x0E,0x15,0x00, 725dfe64dd3Smacallan 0x7D,0x0C,0x16,0x01,0x7D,0x0A,0x17,0x02,0x7D,0x09,0x17,0x03,0x7D,0x07,0x17,0x05 726dfe64dd3Smacallan}; 727dfe64dd3Smacallan 728dfe64dd3Smacallan 729dfe64dd3Smacallan/* Mandatory functions */ 730dfe64dd3Smacallanstatic void XGIIdentify(int flags); 731dfe64dd3Smacallanstatic Bool XGIPreInit(ScrnInfoPtr pScrn, int flags); 732dfe64dd3Smacallanstatic Bool XGIScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv); 733dfe64dd3Smacallanstatic Bool XGIEnterVT(int scrnIndex, int flags); 734dfe64dd3Smacallanstatic void XGILeaveVT(int scrnIndex, int flags); 735dfe64dd3Smacallanstatic Bool XGICloseScreen(int scrnIndex, ScreenPtr pScreen); 736dfe64dd3Smacallanstatic Bool XGISaveScreen(ScreenPtr pScreen, int mode); 737dfe64dd3Smacallanstatic Bool XGISwitchMode(int scrnIndex, DisplayModePtr mode, int flags); 738dfe64dd3Smacallanstatic void XGIAdjustFrame(int scrnIndex, int x, int y, int flags); 739dfe64dd3Smacallanstatic Bool XGISaveScreenDH(ScreenPtr pScreen, int mode); 740dfe64dd3Smacallan 741dfe64dd3Smacallan/* Optional functions */ 742dfe64dd3Smacallanstatic void XGIFreeScreen(int scrnIndex, int flags); 743dfe64dd3Smacallan 744dfe64dd3Smacallanstatic int XGIValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, 745dfe64dd3Smacallan int flags); 746dfe64dd3Smacallan/* Internally used functions */ 747dfe64dd3Smacallanstatic Bool XGIMapMem(ScrnInfoPtr pScrn); 748dfe64dd3Smacallanstatic Bool XGIUnmapMem(ScrnInfoPtr pScrn); 749dfe64dd3Smacallanstatic void XGISave(ScrnInfoPtr pScrn); 750dfe64dd3Smacallanstatic void XGIRestore(ScrnInfoPtr pScrn); 751dfe64dd3Smacallanstatic Bool XGIModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); 752dfe64dd3Smacallanstatic void XGIModifyModeInfo(DisplayModePtr mode); 753dfe64dd3Smacallanstatic void XGIPreSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode, int viewmode); 754dfe64dd3Smacallanstatic void XGIPostSetMode(ScrnInfoPtr pScrn, XGIRegPtr xgiReg); 755dfe64dd3Smacallan 756dfe64dd3Smacallan/* static Bool InRegion(int x, int y, region r); */ 757dfe64dd3Smacallan/* #ifdef XGIMERGED 758dfe64dd3Smacallanstatic void XGIMergePointerMoved(int scrnIndex, int x, int y); 759dfe64dd3Smacallan#endif */ 760dfe64dd3SmacallanUSHORT XGI_CalcModeIndex(ScrnInfoPtr pScrn, DisplayModePtr mode, 761dfe64dd3Smacallan unsigned long VBFlags); 762dfe64dd3Smacallanunsigned char XGI_GetSetBIOSScratch(ScrnInfoPtr pScrn, USHORT offset, unsigned char value); 763dfe64dd3Smacallan#ifdef DEBUG 764dfe64dd3Smacallanstatic void XGIDumpModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode); 765dfe64dd3Smacallan#endif 766dfe64dd3Smacallan 767dfe64dd3Smacallanextern BOOLEAN XGIBIOSSetMode(VB_DEVICE_INFO *XGI_Pr, 768dfe64dd3Smacallan PXGI_HW_DEVICE_INFO HwDeviceExtension, ScrnInfoPtr pScrn, 769dfe64dd3Smacallan DisplayModePtr mode); 770dfe64dd3Smacallan 771dfe64dd3Smacallanextern void XGI_New_GetVBType(VB_DEVICE_INFO *XGI_Pr, PXGI_HW_DEVICE_INFO); 772dfe64dd3Smacallan 773dfe64dd3Smacallanextern BOOLEAN XGIBIOSSetModeCRT1(VB_DEVICE_INFO *XGI_Pr, 774dfe64dd3Smacallan PXGI_HW_DEVICE_INFO HwDeviceExtension, ScrnInfoPtr pScrn, 775dfe64dd3Smacallan DisplayModePtr mode); 776