~ubuntu-branches/ubuntu/precise/xserver-xorg-video-openchrome-lts-trusty/precise-proposed

« back to all changes in this revision

Viewing changes to src/via_vt162x.h

  • Committer: Package Import Robot
  • Author(s): Maarten Lankhorst
  • Date: 2014-05-15 12:47:33 UTC
  • Revision ID: package-import@ubuntu.com-20140515124733-qw5cb5dqlvejqsy3
Tags: upstream-0.3.3
ImportĀ upstreamĀ versionĀ 0.3.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2004-2005 The Unichrome Project  [unichrome.sf.net]
 
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, sub license,
 
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 (including the
 
12
 * next paragraph) shall be included in all copies or substantial portions
 
13
 * of the Software.
 
14
 *
 
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 
20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 
21
 * DEALINGS IN THE SOFTWARE.
 
22
 */
 
23
#ifndef _VIA_VT162X_H_
 
24
#define _VIA_VT162X_H_ 1
 
25
 
 
26
struct VT162xModePrivate {
 
27
    char   id[12]; /* "VT162x" */
 
28
    CARD8  Standard;
 
29
};
 
30
 
 
31
/* Hmm this seemed like a reasonable approach initially. perhaps not. */
 
32
static struct VT162xModePrivate VT162xModePrivateNTSC = { { 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_NTSC,};
 
33
static struct VT162xModePrivate VT162xModePrivatePAL = {  { 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_PAL,};
 
34
static struct VT162xModePrivate VT162xModePrivate480P = { { 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_480P,};
 
35
static struct VT162xModePrivate VT162xModePrivate576P = { { 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_576P,};
 
36
static struct VT162xModePrivate VT162xModePrivate720P = { { 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_720P,};
 
37
static struct VT162xModePrivate VT162xModePrivate1080I = {{ 'V', 'T', '1', '6', '2', 'x', 0, 0, 0, 0, 0, 0 }, TVTYPE_1080I,};
 
38
 
 
39
#define MODEPREFIX(name) NULL, NULL, name, 0,M_T_DEFAULT
 
40
#define MODESUFFIXNTSC       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
41
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivateNTSC,0,0.0,0.0
 
42
#define MODESUFFIXPAL        0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
43
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivatePAL,0,0.0,0.0
 
44
#define MODESUFFIX480P       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
45
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivate480P,0,0.0,0.0
 
46
#define MODESUFFIX576P       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
47
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivate576P,0,0.0,0.0
 
48
#define MODESUFFIX720P       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
49
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivate720P,0,0.0,0.0
 
50
#define MODESUFFIX1080I      0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
51
        sizeof(struct VT162xModePrivate),(void *)&VT162xModePrivate1080I,0,0.0,0.0
 
52
 
 
53
/*
 
54
 *
 
55
 * VT1621 modetables
 
56
 *
 
57
 */
 
58
/* for dotclock i just took HTotal*VTotal*50 -- is not actually used - just to satisfy modevalidation */
 
59
static DisplayModeRec VT1621Modes[] = {
 
60
    { MODEPREFIX("640x480"),     23520,  640,  656,  752,  784, 0,  480,  520,  523,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
61
    { MODEPREFIX("640x480"),     26250,  640,  664,  792,  840, 0,  480,  529,  539,  625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
62
    { MODEPREFIX("800x600"),     39900,  800,  840,  976, 1064, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
63
    { MODEPREFIX("800x600"),     36000,  800,  824,  904,  960, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
64
    { MODEPREFIX("640x480Over"), 20580,  640,  656,  752,  784, 0,  480,  494,  507,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
65
    { MODEPREFIX("640x480Over"), 24000,  640,  672,  888,  960, 0,  480,  485,  491,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
66
    { MODEPREFIX("800x600Over"), 36400,  800,  840,  960, 1040, 0,  600,  602,  604,  700, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
67
    { MODEPREFIX("800x600Over"), 29500,  800,  824,  896,  944, 0,  600,  599,  604,  625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
68
};
 
69
 
 
70
struct VT1621TableRec {
 
71
    char *  name;
 
72
    CARD16  Width;
 
73
    CARD16  Height;
 
74
    int     Standard;
 
75
    CARD8   PrimaryCR6C;
 
76
    CARD8   TV[0x25];
 
77
    CARD8   TVC[0x18];
 
78
    CARD8   TVS[0x18];
 
79
    CARD32  SubCarrier;
 
80
    CARD32  DotCrawlSubCarrier;
 
81
};
 
82
 
 
83
static struct VT1621TableRec
 
84
VT1621Table[] = {
 
85
    { "640x480", 640,  480, TVTYPE_NTSC, 0,
 
86
      { 0x64, 0x03, 0x22, 0x33, 0x43,    0, 0x10, 0x7D,  0xAC, 0x05, 0x99, 0x17, 0x93, 0xA5, 0x03, 0xBA,
 
87
           0,    0, 0x0A, 0xCD, 0x80, 0x28,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
88
        0x75, 0x0C, 0x04, 0x6D },
 
89
      { 0x48, 0x01, 0x02,    0, 0xFC, 0xF9, 0xFF, 0x10,  0x23, 0x2C, 0x09, 0x08, 0x0A, 0x0C, 0x0D, 0x0D },
 
90
      { 0x48, 0x02, 0x02, 0xFD, 0x06, 0xF8, 0x0B, 0xF3,  0x0F, 0x70, 0x05, 0xF9, 0x0B, 0xF1, 0x11, 0x6E },
 
91
      0x207FFFBE, 0x207FF6BE,
 
92
    },
 
93
    { "640x480", 640,  480, TVTYPE_PAL, 0x04,
 
94
      { 0x64, 0x01, 0x02, 0x33, 0x40,    0, 0x10, 0xAD,  0xD3, 0x37, 0xA3,    0, 0x94, 0xFF, 0x03, 0xBA,
 
95
           0,    0, 0x07, 0x26, 0x2C, 0x20,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
96
        0x75, 0x0C, 0x04, 0x76 },
 
97
      { 0x48,    0,    0, 0xFE, 0xFC, 0xFD, 0x05, 0x12,  0x1F, 0x25, 0x0B, 0x08, 0x0A, 0x0C, 0x0D, 0x0D },
 
98
      { 0x48, 0xFE, 0x03, 0xFB, 0x06, 0xF8, 0x0A, 0xF5,  0x0C, 0x73, 0x06, 0xF8, 0x0B, 0xF2, 0x10, 0x6F },
 
99
      0x25D56350, 0,
 
100
    },
 
101
    { "800x600", 800,  600, TVTYPE_NTSC, 0x1E,
 
102
      { 0x84, 0x03, 0x2A, 0x33, 0x43,    0, 0x10, 0xDD,  0xB9, 0x15, 0x99, 0x17, 0x93, 0xA5, 0x03, 0xBA,
 
103
           0,    0, 0x0A, 0xED, 0x98, 0x1C,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
104
        0x75, 0x0C, 0x04, 0x6D },
 
105
      { 0x48,    0, 0xFF, 0xFD, 0xFC, 0xFF, 0x07, 0x13,  0x1E, 0x22, 0x0D, 0x08, 0x09, 0x0A, 0x0B, 0x0C },
 
106
      { 0x48, 0x02, 0x02, 0xFD, 0x06, 0xF8, 0x0B, 0xF3,  0x0F, 0x70, 0x05, 0xF9, 0x0B, 0xF1, 0x11, 0x6E },
 
107
      0x1B5E5096, 0x1B5E5796,
 
108
    },
 
109
    { "800x600", 800,  600, TVTYPE_PAL, 0x04,
 
110
      { 0x84, 0x03, 0x1A, 0x33, 0x40,    0, 0x10, 0x85,  0xF1, 0x4B, 0xA3,    0, 0x94, 0xFF, 0x03, 0xBA,
 
111
           0,    0, 0x07, 0x25, 0x2C, 0x1C,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
112
        0x75, 0x0C, 0x04, 0x76 },
 
113
      { 0x48, 0xFF, 0xFE, 0xFD, 0xFE, 0x02, 0x0A, 0x13,  0x1A, 0x1D, 0x0F, 0x08, 0x09, 0x0A, 0x0B, 0x0B },
 
114
      { 0x48, 0xFB, 0x04, 0xFB, 0x07, 0xF8, 0x09, 0xF6,  0x0A, 0x74, 0x06, 0xF8, 0x0B, 0xF2, 0x10, 0x6F },
 
115
      0x1F872818, 0,
 
116
    },
 
117
    { "640x480Over", 640,  480, TVTYPE_NTSC, 0,
 
118
      { 0x64, 0x03, 0x02, 0x33, 0x43,    0, 0x10, 0x7D,  0x72, 0x05, 0x99, 0x17, 0x93, 0xA5, 0x03, 0xBA,
 
119
           0,    0, 0x0D, 0x45, 0x38, 0x34,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
120
        0x75, 0x0C, 0x04, 0x6D },
 
121
      { 0x48,    0, 0x01, 0x02, 0xFF, 0xF9, 0xFA, 0x0C,  0x26, 0x32, 0x07, 0x08, 0x0A, 0x0D, 0x0E, 0x0F },
 
122
      { 0x48, 0x02, 0x02, 0xFD, 0x06, 0xF8, 0x0B, 0xF3,  0x0F, 0x70, 0x05, 0xF9, 0x0B, 0xF1, 0x11, 0x6E },
 
123
      0x252491F1, 0x252499F1,
 
124
    },
 
125
    { "640x480Over", 640, 480, TVTYPE_PAL, 0,
 
126
      { 0x64, 0x01, 0x12, 0x33, 0x40,    0, 0x10, 0x1D,  0x68, 0x26, 0xA3,    0, 0x94, 0xFF, 0x03, 0xBA,
 
127
           0,    0, 0x0F, 0x67, 0x58, 0x3C,    0,    0,     0,    0,    0,    0, 0x0A,    0,    0,    0,
 
128
        0x75, 0x0C, 0x04, 0x76 },
 
129
      { 0x48,    0, 0x01, 0x01, 0xFE, 0xFA, 0xFD, 0x0E,  0x24, 0x2E, 0x07, 0x07, 0x0A, 0x0D, 0x0F, 0x0F },
 
130
      { 0x48, 0xFD, 0x03, 0xFB, 0x07, 0xF8, 0x0A, 0xF5,  0x0B, 0x74, 0x06, 0xF8, 0x0B, 0xF2, 0x10, 0x6F },
 
131
      0x2F4ABC24, 0,
 
132
    },
 
133
    { "800x600Over", 800, 600, TVTYPE_NTSC, 0,
 
134
      { 0x84, 0x03, 0x0A, 0x33, 0x43,    0, 0x10, 0xC5,  0xAD, 0x10, 0x99, 0x17, 0x93, 0xA5, 0x03, 0xBA,
 
135
           0,    0, 0x04, 0x07, 0x20, 0x0C,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
136
        0x75, 0x0C, 0x04, 0x6D },
 
137
      { 0x48,    0, 0xFF, 0xFD, 0xFC, 0xFE, 0x06, 0x13,  0x1E, 0x23, 0x0D, 0x08, 0x0A, 0x0B, 0x0C, 0x0C },
 
138
      { 0x48, 0x02, 0x02, 0xFD, 0x06, 0xF8, 0x0B, 0xF3,  0x0F, 0x70, 0x05, 0xF9, 0x0B, 0xF1, 0x11, 0x6E },
 
139
      0x1C000008, 0x1C000808,
 
140
    },
 
141
    { "800x600Over", 800, 600, TVTYPE_PAL, 0,
 
142
      { 0x84, 0x03, 0x02, 0x33, 0x40,    0, 0x10, 0x75,  0x7B, 0x34, 0xA3,    0, 0x94, 0xFF, 0x03, 0xBA,
 
143
           0,    0, 0x08, 0xFD, 0xEF, 0x20,    0,    0,     0,    0,    0,    0, 0x02,    0,    0,    0,
 
144
        0x75, 0x0C, 0x04, 0x76 },
 
145
      { 0x48, 0xFF, 0xFE, 0xFD, 0xFE, 0x02, 0x0A, 0x13,  0x1A, 0x1D, 0x0F, 0x08, 0x09, 0x0A, 0x0B, 0x0B },
 
146
      { 0x48, 0xFB, 0x04, 0xFB, 0x07, 0xF8, 0x09, 0xF6,  0x0A, 0x74, 0x06, 0xF8, 0x0B, 0xF2, 0x10, 0x6F },
 
147
      0x26798C0C, 0,
 
148
    },
 
149
    { NULL, 0, 0, 0, 0,
 
150
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
151
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
152
        0, 0, 0, 0 },
 
153
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0 },
 
154
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0 },
 
155
      0, 0,
 
156
    }
 
157
};
 
158
 
 
159
/*
 
160
 *
 
161
 * VT1622 modetables
 
162
 *
 
163
 */
 
164
static DisplayModeRec VT1622Modes[] = {
 
165
    { MODEPREFIX("640x480"),        23520,  640,  656,  744,  784, 0,  480,  487,  491,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
166
    { MODEPREFIX("640x480"),        30000,  640,  680,  808, 1000, 0,  480,  520,  523,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
167
    { MODEPREFIX("800x600"),        39900,  800,  840,  976, 1064, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
168
    { MODEPREFIX("800x600"),        34500,  800,  816,  880,  920, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
169
    { MODEPREFIX("1024x768"),       54810, 1024, 1032, 1088, 1160, 0,  768,  780,  792,  945, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
170
    { MODEPREFIX("1024x768"),       57000, 1024, 1040, 1112, 1200, 0,  768,  829,  840,  950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
171
    { MODEPREFIX("848x480"),        34860,  848,  872, 1032, 1200, 0,  480,  495,  509,  581, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
172
    { MODEPREFIX("848x480"),        36000,  848,  872, 1032, 1200, 0,  480,  498,  509,  600, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
173
    { MODEPREFIX("720x480"),        25200,  720,  728,  776,  840, 0,  480,  511,  515,  600, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
174
    { MODEPREFIX("720x576"),        28500,  720,  728,  744,  760, 0,  576,  635,  643,  750, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
175
    { MODEPREFIX("640x480Over"),    20160,  640,  648,  704,  720, 0,  480,  487,  491,  560, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
176
    { MODEPREFIX("640x480Over"),    21000,  640,  664,  792,  840, 0,  480,  485,  491,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
177
    { MODEPREFIX("800x600Over"),    35910,  800,  840,  984, 1080, 0,  600,  601,  604,  665, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
178
    { MODEPREFIX("800x600Over"),    32500,  800,  832,  928, 1000, 0,  600,  600,  604,  650, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
179
    { MODEPREFIX("1024x768Over"),   50400, 1024, 1040, 1112, 1200, 0,  768,  772,  776,  840, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
180
    { MODEPREFIX("1024x768Over"),   49500, 1024, 1032, 1112, 1200, 0,  768,  771,  776,  825, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
181
    { MODEPREFIX("848x480Over"),    27720,  848,  856,  928, 1008, 0,  480,  490,  493,  550, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
182
    { MODEPREFIX("848x480Over"),    33000,  848,  872, 1032, 1200, 0,  480,  490,  493,  550, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
183
    { MODEPREFIX("720x480Over"),    21000,  720,  728,  760,  800, 0,  480,  480,  483,  525, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
184
    { MODEPREFIX("720x576Over"),    30000,  720,  728,  864, 1000, 0,  576,  576,  579,  600, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
185
    { MODEPREFIX("720x480Noscale"), 27972,  720,  736,  768,  888, 0,  480,  480,  483,  525, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
186
    { MODEPREFIX("720x576Noscale"), 28000,  720,  728,  864,  896, 0,  576,  576,  579,  625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
187
};
 
188
 
 
189
struct VT162XTableRec {
 
190
    char *  name;
 
191
    CARD16  Width;
 
192
    CARD16  Height;
 
193
    int     Standard;
 
194
    CARD8   PrimaryCR6C;
 
195
    CARD8   SecondaryCR6C;
 
196
    CARD8   TV1[0x30];
 
197
    CARD8   TV2[0x1B];
 
198
    CARD8   RGB[6];
 
199
    CARD8   YCbCr[3];
 
200
    CARD32  SubCarrier;
 
201
    CARD32  DotCrawlSubCarrier;
 
202
};
 
203
 
 
204
static struct VT162XTableRec
 
205
VT1622Table[] = {
 
206
    { "640x480", 640, 480, TVTYPE_NTSC, 0, 0,
 
207
      { 0x04,    0,    0, 0x02, 0x03,    0, 0x10, 0x7E,  0x9D, 0x0D, 0x60, 0x17, 0x52, 0x45, 0x0F,    0,
 
208
           0,    0, 0xD0, 0x33, 0xBF, 0x3A,    0,    0,     0,    0, 0xE9,    0,    0,    0,    0, 0x05,
 
209
        0x12, 0x0C, 0x04, 0x74,    0, 0x5A, 0x2F, 0x97,  0x50,    0,    0, 0xAA, 0x2B, 0x7A, 0xD8,    0 },
 
210
      { 0xDC, 0x50, 0x04,    0,    0, 0x40, 0x0F, 0x81,  0x23, 0x57, 0x02, 0x0F, 0x29, 0x73, 0x23, 0x86,
 
211
        0xC4, 0xEA, 0xDF, 0x05, 0x92, 0xA1, 0x04,    0,     0, 0x7F, 0x03 },
 
212
      { 0xAF, 0xAA, 0xAA, 0x91, 0x9C, 0x27 },
 
213
      { 0x50, 0x4B, 0x4D },
 
214
      0x252491F1, 0x252487BE,
 
215
    },
 
216
    { "640x480", 640, 480, TVTYPE_PAL, 0, 0,
 
217
      { 0x04,    0,    0, 0x82,    0,    0, 0x10, 0x3E,  0xA4, 0x37, 0x67,    0, 0x49, 0x49, 0x0F,    0,
 
218
           0,    0, 0xEC, 0x2A, 0xB8, 0x29,    0,    0,     0,    0, 0xED,    0, 0x0A,    0,    0, 0x04,
 
219
        0x12, 0x0C, 0x04, 0x7B,    0, 0x64, 0x30, 0x93,  0x49, 0x5F, 0x15, 0xA5, 0x23, 0x7A, 0xCC,    0 },
 
220
      { 0xF9, 0x50, 0x04,    0,    0, 0x45, 0xE7, 0x81,  0x23, 0x57, 0x02, 0x1F, 0x31, 0x75, 0x23, 0x8A,
 
221
        0xC8, 0xF0, 0xFF, 0x05, 0xD7, 0x8E, 0x03, 0x7F,  0xCF, 0xBF, 0x03 },
 
222
      { 0x8A, 0x86, 0x86, 0x8D, 0x96, 0x20 },
 
223
      { 0x42, 0x49, 0x49 },
 
224
      0x2D66772D, 0,
 
225
    },
 
226
    { "800x600", 800, 600, TVTYPE_NTSC, 0x1E, 0,
 
227
      { 0x84,    0,    0, 0x24, 0x03,    0, 0x10, 0xDE,  0xD4, 0x0E, 0x59, 0x17, 0x46, 0x40, 0x0F,    0,
 
228
           0,    0, 0xEA, 0x0D, 0x98, 0x1C,    0,    0,     0,    0, 0x3D,    0, 0x01,    0,    0, 0x85,
 
229
        0x0D, 0x0A, 0x04, 0x74,    0, 0x5A, 0x41, 0x96,  0x6B,    0,    0, 0xAA, 0x2B, 0xA6, 0x1E, 0x10 },
 
230
      { 0xE4, 0x69, 0x04,    0,    0, 0x3F, 0x27, 0x21,  0x34, 0xED, 0x02, 0x27, 0xF5, 0x9D, 0x24, 0xB7,
 
231
        0x0D, 0x40,    0, 0x58, 0xB6, 0x3B, 0x05,    0,  0x01, 0xEF, 0x05 },
 
232
      { 0x93, 0x90, 0x90, 0x91, 0x9C, 0 },
 
233
      { 0x43, 0x4A, 0x49 },
 
234
      0x1B5E5096, 0x1B5E4912,
 
235
    },
 
236
    { "800x600", 800, 600, TVTYPE_PAL, 0, 0,
 
237
      { 0x84,    0,    0, 0xA4,    0,    0, 0x19, 0x66,  0xBF, 0x12, 0x60,    0, 0x56, 0x45, 0x0F,    0,
 
238
           0,    0, 0xEC, 0x15, 0xFD, 0x28,    0,    0,     0,    0, 0x16,    0, 0x01,    0,    0, 0x85,
 
239
        0x10, 0x0C, 0x04, 0x7B,    0, 0x64, 0x37, 0x93,  0x54, 0x5F, 0x15, 0xA5, 0x23, 0x8F, 0xF4,    0 },
 
240
      { 0xE7, 0x45, 0x04,    0,    0, 0x44, 0x97, 0x21,  0x33, 0xED, 0x02, 0x97, 0x87, 0x87, 0x23, 0x9F,
 
241
        0xE7, 0x16, 0xE7, 0x16, 0xCC, 0xF3, 0x04,    0,  0x01, 0x4F, 0x04 },
 
242
      { 0xB8, 0xB4, 0xB4, 0, 0, 0 },
 
243
      { 0x58, 0x5E, 0x5E },
 
244
      0x277A7DE4, 0,
 
245
    },
 
246
    { "1024x768", 1024, 768, TVTYPE_NTSC, 0x12, 0x1C,
 
247
      { 0x84,    0,    0, 0x44, 0x03,    0, 0x10, 0x80,  0x15, 0x0A, 0x58, 0x17, 0x5B, 0x40, 0x0F,    0,
 
248
           0,    0, 0xE9, 0x1E, 0x9D, 0x19,    0,    0,     0,    0, 0x9C,    0, 0x05,    0,    0, 0x85,
 
249
        0x0A, 0x05, 0x04, 0x74,    0, 0x5A, 0x56, 0x96,  0x8B,    0,    0, 0xAA, 0x2B, 0xDA, 0x79, 0x10 },
 
250
      { 0xDA, 0x50, 0x04,    0,    0, 0x3F, 0x87, 0xFF,  0x34, 0xB0, 0x03, 0x6F, 0xDB, 0xCD, 0x35, 0xF1,
 
251
        0x5E, 0xA5, 0x7E, 0x5A, 0x33, 0x26, 0x07,    0,  0x01, 0x27, 0x08 },
 
252
      { 0xC2, 0xBE, 0xBE, 0x91, 0x9C, 0 },
 
253
      { 0x58, 0x4B, 0x4A },
 
254
      0x14EB66D6, 0x14EB6118,
 
255
    },
 
256
    { "1024x768", 1024, 768, TVTYPE_PAL, 0x1E, 0,
 
257
      { 0x84,    0,    0, 0xC0,    0,    0, 0x10, 0xA0,  0x2A, 0x38, 0x70,    0, 0x4E, 0x50, 0x0F,    0,
 
258
           0,    0, 0xE4, 0x23, 0xD1, 0x0C,    0,    0,     0,    0, 0x96,    0, 0x07,    0,    0, 0x85,
 
259
        0x0C, 0x0C, 0x04, 0x7B,    0, 0x64, 0x53, 0x90,  0x7B, 0x5B, 0x15, 0xA0, 0x22, 0xD1, 0x71, 0x10 },
 
260
      { 0xDD, 0x60, 0x04,    0,    0, 0x45, 0xAF, 0xFF,  0x34, 0xB5, 0x03, 0x57, 0xA8, 0xC8, 0x35, 0xEC,
 
261
        0x4C, 0xCC, 0x67, 0x5A, 0x14, 0x5C, 0x06,    0,  0x01, 0x1F, 0x07 },
 
262
      { 0xA9, 0xA6, 0xA6, 0x90, 0x99, 0 },
 
263
      { 0x51, 0x49, 0x49 },
 
264
      0x1A8CC372, 0,
 
265
    },
 
266
    { "848x480", 848, 480, TVTYPE_NTSC, 0, 0,
 
267
      { 0x84,    0,    0, 0x24, 0x03,    0, 0x10, 0x46,  0xCC, 0x0E, 0x56, 0x17, 0x43, 0x3E, 0x0F,    0,
 
268
           0,    0, 0xE8, 0x29, 0x67, 0x19,    0,    0,     0,    0, 0x29,    0, 0x0B,    0,    0, 0x85,
 
269
        0x0E, 0x08, 0x04, 0x74,    0, 0x5A, 0x3D, 0x96,  0x64,    0,    0, 0xAA, 0x2B, 0x9C, 0x17, 0x10 },
 
270
      { 0xDC, 0x50,    0,    0,    0, 0x40, 0xAF, 0x51,  0x34, 0x44, 0x02, 0xE3, 0xC1, 0x93, 0x23, 0xAD,
 
271
        0xFD, 0x2B, 0x7C, 0x17, 0x6D, 0xCA, 0x04,    0,  0x01, 0x2F, 0x05 },
 
272
      { 0x94, 0x90, 0x91, 0x91, 0x9C, 0 },
 
273
      { 0x44, 0x45, 0x45 },
 
274
      0x1D3CA863, 0x1D3CA05B,
 
275
    },
 
276
    { "848x480", 848, 480, TVTYPE_PAL, 0x08, 0,
 
277
      { 0x04,    0,    0, 0xC2,    0,    0, 0x10, 0x47,  0xE4, 0x09, 0x64,    0, 0x4F, 0x48, 0x0F,    0,
 
278
           0,    0, 0xE7, 0x05, 0x2C, 0x1C,    0,    0,     0,    0, 0x5E,    0, 0x09,    0,    0, 0x84,
 
279
        0x0A, 0x0C, 0x04, 0x7B,    0, 0x64, 0x46, 0x93,  0x68, 0x5F, 0x15, 0xA5, 0x23, 0xB4, 0x2A, 0x10 },
 
280
      { 0xE7, 0x45, 0x04,    0,    0, 0x43, 0xAF, 0x51,  0x34, 0x57, 0x02, 0x7F, 0x4F, 0xA9, 0x34, 0xD1,
 
281
        0x2B, 0x5D, 0xAA, 0x58, 0xD7, 0x01, 0x03,    0,  0x01, 0x7F, 0x04 },
 
282
      { 0xA4, 0xA0, 0xA1, 0, 0, 0 },
 
283
      { 0x50, 0x49, 0x49 },
 
284
      0x1F872818, 0,
 
285
    },
 
286
    { "720x480", 720, 480, TVTYPE_NTSC, 0x04, 0,
 
287
      { 0x04,    0,    0, 0x26, 0x03,    0, 0x10, 0x6D,  0xC3, 0x08, 0x56, 0x17, 0x43, 0x3E, 0x0F,    0,
 
288
           0,    0, 0x0D, 0x07, 0x60, 0x34,    0,    0,     0,    0, 0x1E,    0, 0x03,    0,    0, 0x85,
 
289
        0x0F, 0x08, 0x04, 0x74,    0, 0x5A, 0x39, 0x95,  0x5E,    0,    0, 0xAA, 0x2B, 0x92, 0xFF,    0 },
 
290
      { 0xE4, 0x69, 0x04,    0,    0, 0x40, 0x47, 0xD1,  0x23, 0x57, 0x02, 0xBF, 0xAF, 0x8D, 0x23, 0xA4,
 
291
        0xF3, 0x20, 0x36, 0x17, 0x92, 0x33, 0x04,    0,     0, 0xBF, 0x03 },
 
292
      { 0x94, 0x90, 0x90, 0x91, 0x9C, 0 },
 
293
      { 0x42, 0x49, 0x48 },
 
294
      0x1E555518, 0x1E554CC3,
 
295
    },
 
296
    { "720x576", 720, 576, TVTYPE_PAL, 0, 0,
 
297
      { 0x04,    0,    0, 0xA2,    0,    0, 0x10, 0x1E,  0xAC, 0x38, 0x67,    0, 0x57, 0x49, 0x0F,    0,
 
298
           0,    0, 0xF0, 0x0F, 0xD1, 0x38,    0,    0,     0,    0, 0xF2,    0, 0x02,    0,    0, 0x84,
 
299
        0x13, 0x0C, 0x04, 0x7B, 0x48, 0x64, 0x30, 0x93,  0x49, 0x5F, 0x15, 0xA5, 0x23, 0x8B, 0xBD,    0 },
 
300
      { 0xE7, 0x45, 0x04,    0,    0, 0x45, 0xF7, 0xD1,  0x22, 0xED, 0x02, 0x1D, 0x29, 0x75, 0x23, 0x88,
 
301
        0xC6, 0xF0, 0xFA, 0x0F, 0xCC, 0x30, 0x14,    0,     0, 0x8F, 0x03 },
 
302
      { 0xB5, 0xB1, 0xB1, 0, 0, 0 },
 
303
      { 0x59, 0x4D, 0x4A },
 
304
      0x2D839832, 0,
 
305
    },
 
306
    { "640x480Over", 640, 480, TVTYPE_NTSC, 0, 0,
 
307
      { 0x04,    0,    0, 0x02, 0x03,    0, 0x10, 0x48,  0x72, 0x0A, 0x60, 0x17, 0x52, 0x45, 0x0F,    0,
 
308
           0,    0, 0xED, 0x23, 0x80, 0x35,    0,    0,     0,    0, 0xE9,    0, 0x02,    0,    0, 0x05,
 
309
        0x12, 0x0C, 0x04, 0x75,    0, 0x5A, 0x2F, 0x97,  0x50,    0,    0, 0xAA, 0x2B, 0x7A, 0xD8,    0 },
 
310
      { 0xC4, 0x50, 0x04,    0,    0, 0x41, 0xCF, 0x7F,  0x22, 0x2F, 0x02, 0xFF, 0x7F, 0x71, 0x22, 0x83,
 
311
        0xC0, 0xE5, 0xC0, 0x05, 0x44,    0, 0x04,    0,     0, 0xFF, 0x02 },
 
312
      { 0xAD, 0xA9, 0xA9, 0, 0, 0 },
 
313
      { 0x4F, 0x49, 0x49 },
 
314
      0x25EAAA5E, 0x25EA9FF4,
 
315
    },
 
316
    { "640x480Over", 640, 480, TVTYPE_PAL, 0, 0,
 
317
      { 0x04,    0,    0, 0x82,    0,    0, 0x10, 0xB0,  0x39, 0x39, 0x67,    0, 0x48, 0x4A, 0x0F,    0,
 
318
           0,    0, 0x2C, 0x05, 0x2C, 0x30,    0,    0,     0,    0, 0xC8,    0, 0x02,    0,    0, 0x05,
 
319
        0x15, 0x0C, 0x04, 0x7B,    0, 0x64, 0x28, 0x93,  0x3E, 0x5F, 0x15, 0xA5, 0x23, 0x65, 0xCC,    0 },
 
320
      { 0xF9, 0x50, 0x04,    0,    0, 0x45, 0x47, 0x7F,  0x23, 0xF3, 0x01, 0x9F, 0x7F, 0x62, 0x22, 0x72,
 
321
        0xA7, 0xCB, 0x05, 0x05, 0x33,    0, 0x03,    0,     0, 0x9F, 0x02 },
 
322
      { 0x8A, 0x86, 0x86, 0x90, 0x99, 0 },
 
323
      { 0x42, 0x49, 0x49 },
 
324
      0x360C44BC, 0,
 
325
    },
 
326
    { "800x600Over", 800, 600, TVTYPE_NTSC, 0, 0,
 
327
      { 0x84,    0,    0, 0x24, 0x03,    0, 0x10, 0xEF,  0xB0, 0x0A, 0x5A, 0x17, 0x46, 0x40, 0x0F,    0,
 
328
           0,    0, 0xE8, 0x32, 0xC3, 0x19,    0,    0,     0,    0, 0x33,    0, 0x01,    0,    0, 0x85,
 
329
        0x0D, 0x0A, 0x04, 0x75,    0, 0x5A, 0x41, 0x96,  0x68,    0,    0, 0xAA, 0x2B, 0x9E, 0x1E, 0x10 },
 
330
      { 0xE4, 0x69, 0x04,    0,    0, 0x40, 0x37, 0x21,  0x34, 0x98, 0x02, 0x01, 0x21, 0x97, 0x34, 0xB1,
 
331
        0xFF, 0x34, 0xB6, 0x17, 0x11,    0, 0x05,    0,  0x01, 0x57, 0x05 },
 
332
      { 0x93, 0x90, 0x90, 0, 0, 0 },
 
333
      { 0x42, 0x45, 0x45 },
 
334
      0x1C61CEE0, 0x1C61C714,
 
335
    },
 
336
    { "800x600Over", 800, 600, TVTYPE_PAL, 0, 0,
 
337
      { 0x84,    0,    0, 0xA0,    0,    0, 0x19, 0xA6,  0x9F, 0x38, 0x60,    0, 0x57, 0x45, 0x0F,    0,
 
338
           0,    0, 0xC8, 0x12, 0x8F, 0x1C,    0,    0,     0,    0, 0x0E,    0, 0x03,    0,    0, 0x85,
 
339
        0x10, 0x0C, 0x04, 0x7B,    0, 0x64, 0x37, 0x93,  0x54, 0x5F, 0x15, 0xA5, 0x23, 0x8B, 0xF4,    0 },
 
340
      { 0xE9, 0x50, 0x04,    0,    0, 0x44, 0xE7, 0x1F,  0x33, 0x89, 0x02, 0x8D, 0xBC, 0x85, 0x23, 0x9C,
 
341
        0xE4, 0x13, 0xD4, 0x16, 0x28, 0x90, 0x04,    0,  0x01, 0x0F, 0x04 },
 
342
      { 0xB8, 0xB4, 0xB4, 0x90, 0x99, 0 },
 
343
      { 0x58, 0x48, 0x48 },
 
344
      0x27E98D57, 0,
 
345
    },
 
346
    { "1024x768Over", 1024, 768, TVTYPE_NTSC, 0x16, 0x1C,
 
347
      { 0x84,    0,    0, 0x44, 0x03,    0, 0x10, 0xA0,  0xAA, 0x05, 0x57, 0x17, 0x5C, 0x3F, 0x0F,    0,
 
348
           0,    0, 0xE8, 0x33, 0x1A, 0x16,    0,    0,     0,    0, 0x66,    0, 0x01,    0,    0, 0x85,
 
349
        0x0A, 0x05, 0x04, 0x74,    0, 0x5A, 0x4B, 0x96,  0x79,    0,    0, 0xAA, 0x2B, 0xB9, 0x4B, 0x10 },
 
350
      { 0xE4, 0x50, 0x04,    0,    0, 0x40, 0xAF, 0xFF,  0x34, 0x47, 0x03, 0xAF, 0xFF, 0xB1, 0x34, 0xD1,
 
351
        0x30, 0x68, 0x0B, 0x59, 0x66,    0, 0x06,    0,  0x01, 0x7F, 0x07 },
 
352
      { 0xC2, 0xBE, 0xBE, 0, 0, 0 },
 
353
      { 0x57, 0x45, 0x45 },
 
354
      0x1844440E, 0x18443D63,
 
355
    },
 
356
    { "1024x768Over", 1024, 768, TVTYPE_PAL, 0x1E, 0,
 
357
      { 0x84,    0,    0, 0xC0,    0,    0, 0x10, 0xA8,  0xC5, 0x36, 0x5D,    0, 0x4E, 0x43, 0x0F,    0,
 
358
           0,    0, 0xC9, 0x0A, 0x79, 0x1C,    0,    0,     0,    0, 0x6E,    0, 0x03,    0,    0, 0x85,
 
359
        0x0C, 0x0C, 0x04, 0x7B,    0, 0x64, 0x4B, 0x93,  0x6F, 0x5F, 0x15, 0xA5, 0x23, 0xBE, 0x5A, 0x10 },
 
360
      { 0xDD, 0x60, 0x04,    0,    0, 0x43, 0xAF, 0xFF,  0x34, 0x38, 0x03, 0xCF, 0xDF, 0xB4, 0x34, 0xD6,
 
361
        0x35, 0x75, 0x47, 0x59, 0x47, 0x20, 0x05,    0,  0x01, 0x2F, 0x06 },
 
362
      { 0xA9, 0xA6, 0xA6, 0x90, 0x99, 0 },
 
363
      { 0x51, 0x49, 0x49 },
 
364
      0x1D7B0E38, 0,
 
365
    },
 
366
    { "848x480Over", 848, 480, TVTYPE_NTSC, 0, 0,
 
367
      { 0x84,    0,    0, 0x44, 0x03,    0, 0x10, 0x96,  0xA7, 0x08, 0x5B, 0x17, 0x46, 0x40, 0x0F,    0,
 
368
           0,    0, 0xE8, 0x3C, 0x2D, 0x22,    0,    0,     0,    0, 0x3D,    0, 0x01,    0,    0, 0x85,
 
369
        0x0D, 0x08, 0x04, 0x75,    0, 0x5A, 0x41, 0x96,  0x69,    0,    0, 0xAA, 0x2B, 0xA2, 0x24, 0x10 },
 
370
      { 0xDC, 0x50,    0,    0,    0, 0x40, 0xEF, 0x51,  0x33, 0x25, 0x02, 0x1F, 0x4D, 0x9C, 0x34, 0xB5,
 
371
        0x0C, 0x3D, 0xF1, 0x57, 0x30, 0x01, 0x04,    0,  0x01, 0x1F, 0x04 },
 
372
      { 0xC0, 0xBC, 0xBC, 0, 0, 0 },
 
373
      { 0x58, 0x45, 0x45 },
 
374
      0x1B9364A1, 0x1B933067,
 
375
    },
 
376
    { "848x480Over", 848, 480, TVTYPE_PAL, 0, 0,
 
377
      { 0x84,    0,    0, 0xC0,    0,    0, 0x10, 0x47,  0xA8, 0x39, 0x64,    0, 0x4E, 0x46, 0x0F,    0,
 
378
           0,    0, 0xEA, 0x15, 0xF2, 0x28,    0,    0,     0,    0, 0x39,    0, 0x0B,    0,    0, 0x84,
 
379
        0x0F, 0x0C, 0x04, 0x7B,    0, 0x64, 0x40, 0x93,  0x5F, 0x5F, 0x15, 0xA5, 0x23, 0xA3, 0x2A, 0x10 },
 
380
      { 0xE7, 0x45, 0x04,    0,    0, 0x43, 0xAF, 0x4F,  0x34, 0x25, 0x02, 0x1F, 0x4F, 0x9B, 0x34, 0xB7,
 
381
        0x0A, 0x3F, 0xF0, 0x57, 0x85,    0, 0x03,    0,  0x01, 0x1F, 0x04 },
 
382
      { 0xA4, 0xA1, 0xA1, 0x90, 0x99, 0 },
 
383
      { 0x4E, 0x49, 0x49 },
 
384
      0x2264E5EC, 0,
 
385
    },
 
386
    { "720x480Over", 720, 480, TVTYPE_NTSC, 0, 0,
 
387
      { 0x04,    0,    0, 0x02, 0x03,    0, 0x10, 0x18,  0x28, 0x09, 0x5B, 0x17, 0x46, 0x41, 0x0F,    0,
 
388
           0,    0, 0xEE, 0x0D, 0xA0, 0x38,    0,    0,     0,    0, 0xEE,    0, 0x02,    0,    0, 0x85,
 
389
        0x11, 0x08, 0x04, 0x75,    0, 0x5A, 0x31, 0x95,  0x51,    0,    0, 0xAA, 0x2B, 0x7A, 0xDB,    0 },
 
390
      { 0xE4, 0x69, 0x04,    0,    0, 0x40, 0x1F, 0xCF,  0x23, 0x0C, 0x02, 0x1F, 0xCF, 0x76, 0x23, 0x88,
 
391
        0xC9, 0xEF, 0xFF, 0x05,    0,    0,    0,    0,     0, 0x1F, 0x03 },
 
392
      { 0xAB, 0xA7, 0xA7, 0, 0, 0 },
 
393
      { 0x4D, 0x49, 0x49 },
 
394
      0x2466661D, 0x24665C1E,
 
395
    },
 
396
    { "720x576Over", 720, 576, TVTYPE_PAL, 0, 0,
 
397
      { 0x04,    0,    0, 0xA6,    0,    0, 0x10, 0x10,  0x7D, 0x32, 0x60,    0, 0x57, 0x46, 0x0F,    0,
 
398
           0,    0, 0xEC, 0x15, 0xDC, 0x28,    0,    0,     0,    0, 0xEE,    0, 0x0A,    0,    0, 0x84,
 
399
        0x13, 0x0C, 0x04, 0x7B, 0x48, 0x64, 0x30, 0x93,  0x49, 0x5F, 0x15, 0xA5, 0x23, 0x77, 0xFF,    0 },
 
400
      { 0xE7, 0x45, 0x04,    0,    0, 0x45, 0xE7, 0xCF,  0x23, 0x57, 0x02, 0x1F, 0x80, 0x75, 0x23, 0x89,
 
401
        0xC7, 0xF1, 0xFF, 0x05, 0xD7, 0x80, 0x03,    0,     0, 0xBF, 0x03 },
 
402
      { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 },
 
403
      { 0x58, 0x48, 0x49 },
 
404
      0x2D66772D, 0,
 
405
    },
 
406
    { "720x480Noscale", 720, 480, TVTYPE_NTSC, 0, 0,
 
407
      { 0x04,    0,    0,    0, 0x03,    0, 0x10, 0x98,  0x98, 0x08, 0x5A, 0x17, 0x49, 0x41,    0, 0x89,
 
408
           0,    0, 0xA9, 0x19, 0xDC, 0x24,    0,    0,     0,    0, 0xEE, 0x03, 0x02, 0x80,    0, 0x04,
 
409
        0x11, 0x08, 0x04, 0x75,    0, 0x5A, 0x31, 0x95,  0x51,    0,    0, 0xAA, 0x2B, 0x7A, 0xDB,    0 },
 
410
      { 0xE4, 0x69, 0x04,    0,    0, 0x40, 0x77, 0xD0,  0x23, 0x0C, 0x02, 0x77, 0xD0, 0x80, 0x23, 0x88,
 
411
        0xC9, 0x30, 0xD0, 0x16,    0,    0,    0,    0,     0, 0x77, 0x03 }, 
 
412
      { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 }, /* added later - untested */
 
413
      { 0x58, 0x48, 0x49 }, /* added later - untested */
 
414
      0x20BA2E8B, 0,
 
415
    },
 
416
    { "720x576Noscale", 720, 576, TVTYPE_PAL, 0, 0,
 
417
      { 0x04,    0,    0, 0xA4,    0,    0, 0x10, 0x75,  0xA5, 0x3A, 0x5A,    0, 0x49, 0x46,    0, 0x89,
 
418
           0,    0, 0xE9, 0x19, 0xDC, 0x24,    0,    0,     0,    0, 0xEE,    0, 0x0A,    0,    0, 0x04,
 
419
        0x13, 0x0C, 0x04, 0x7B, 0x48, 0x64, 0x30, 0x93,  0x49, 0x5F, 0x15, 0xA5, 0x23, 0x77, 0xFF,    0 },
 
420
      { 0xE7, 0x45, 0x04,    0,    0, 0x45, 0x7F, 0xD0,  0x23, 0x70, 0x02, 0x7F, 0xD0, 0x93, 0x23, 0x89,
 
421
        0xC7, 0xF1, 0xBD, 0x06,    0,    0,    0,    0,     0, 0x7F, 0x03 }, 
 
422
      { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 }, /* added later - untested */
 
423
      { 0x58, 0x48, 0x49 }, /* added later - untested */
 
424
      0x288933E3, 0,
 
425
    },
 
426
    { NULL, 0, 0, 0, 0, 0,
 
427
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
428
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
429
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0 },
 
430
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
431
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0 },
 
432
      { 0, 0, 0, 0, 0, 0},
 
433
      { 0, 0, 0 },
 
434
      0, 0,
 
435
    }
 
436
};
 
437
 
 
438
/*
 
439
 *
 
440
 * VT1622A/VT1623 modetables
 
441
 *
 
442
 */
 
443
static DisplayModeRec VT1623Modes[] = {
 
444
    { MODEPREFIX("640x480"),      23520,  640,  656,  744,  784, 0,  480,  487,  491,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
445
    { MODEPREFIX("640x480"),      30000,  640,  680,  808, 1000, 0,  480,  520,  523,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
446
    { MODEPREFIX("800x600"),      39900,  800,  840,  976, 1064, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
447
    { MODEPREFIX("800x600"),      34500,  800,  816,  880,  920, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
448
    { MODEPREFIX("1024x768"),     54810, 1024, 1032, 1088, 1160, 0,  768,  780,  792,  945, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
449
    { MODEPREFIX("1024x768"),     57000, 1024, 1040, 1112, 1200, 0,  768,  829,  840,  950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
450
    { MODEPREFIX("848x480"),      34860,  848,  872, 1032, 1200, 0,  480,  495,  509,  581, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
451
    { MODEPREFIX("848x480"),      36000,  848,  872, 1032, 1200, 0,  480,  498,  509,  600, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
452
    { MODEPREFIX("720x480"),      25200,  720,  728,  776,  840, 0,  480,  511,  515,  600, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
453
    { MODEPREFIX("720x576"),      28500,  720,  728,  744,  760, 0,  576,  635,  643,  750, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
454
    { MODEPREFIX("640x480Over"),  20160,  640,  648,  704,  720, 0,  480,  490,  491,  560, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
455
    { MODEPREFIX("640x480Over"),  21000,  640,  664,  792,  840, 0,  480,  485,  491,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
456
    { MODEPREFIX("800x600Over"),  35910,  800,  840,  984, 1080, 0,  600,  601,  604,  665, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
457
    { MODEPREFIX("800x600Over"),  32500,  800,  832,  928, 1000, 0,  600,  600,  604,  650, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
458
    { MODEPREFIX("1024x768Over"), 50400, 1024, 1040, 1112, 1200, 0,  768,  772,  776,  840, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
459
    { MODEPREFIX("1024x768Over"), 49500, 1024, 1032, 1112, 1200, 0,  768,  771,  776,  825, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
460
    { MODEPREFIX("848x480Over"),  27720,  848,  856,  928, 1008, 0,  480,  490,  493,  550, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
461
    { MODEPREFIX("848x480Over"),  33000,  848,  872, 1032, 1200, 0,  480,  490,  493,  550, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
462
    { MODEPREFIX("720x480Over"),  21000,  720,  728,  760,  800, 0,  480,  480,  483,  525, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
463
    { MODEPREFIX("720x576Over"),  27000,  720,  768,  800,  864, 0,  576,  577,  579,  625, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
464
    { MODEPREFIX("720x576Noscale"),  28000,  720,  736,  768,  896,  0,  576,  576,  579,  625,  0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
465
    { MODEPREFIX("720x480Noscale"),  27972,  720,  736,  768,  888,  0,  480,  480,  483,  525,  0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC  },
 
466
    { MODEPREFIX("720x480pal"), 27972,  720,  736,  768,  888, 0,  480,  480,  483,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL },
 
467
};
 
468
 
 
469
static struct VT162XTableRec
 
470
VT1623Table[] = {
 
471
    { "640x480", 640, 480, TVTYPE_NTSC, 0, 0,
 
472
      { 0x04,    0,    0, 0x06, 0x03,    0, 0x20, 0x28,  0x9A, 0x0C, 0x55,    0, 0x52, 0x3B, 0x0F,    0,
 
473
           0,    0, 0xF8, 0x3E, 0x81, 0x56,    0,    0,     0,    0, 0xEA,    0,    0,    0,    0, 0x11,
 
474
        0x15, 0x0C, 0x5F, 0x75, 0x08, 0x56, 0x2F, 0x90,  0x50,    0,    0, 0xA3, 0x29, 0x5B, 0xBF,    0 },
 
475
      {    0,    0,    0,    0,    0, 0x3B, 0x0F, 0x7F,  0x23, 0x57, 0x02, 0x0F, 0x26, 0x73, 0x63, 0x86,
 
476
        0xC4, 0xEA, 0xDF, 0x05, 0x92, 0xA1, 0x84,    0,     0, 0x7F, 0x03 },
 
477
      { 0x6A, 0x62, 0x65, 0x91, 0x9C, 0x27 },
 
478
      { 0x50, 0x4B, 0x4D },
 
479
      0x252491F1, 0x252487BE,
 
480
    },
 
481
    { "640x480", 640, 480, TVTYPE_PAL, 0, 0,
 
482
      { 0x04,    0,    0, 0x06,    0,    0, 0x20, 0xBF,  0x9F, 0x37, 0x5D,    0, 0x4F, 0x42, 0x0F,    0,
 
483
           0,    0, 0xAC, 0x15, 0x6E, 0x28,    0,    0,     0,    0, 0xED,    0, 0x02,    0,    0, 0x99,
 
484
        0x17, 0x0C, 0x31, 0x7A, 0x04, 0x62, 0x30, 0x8E,  0x4A, 0x5B, 0x15, 0xA0, 0x22, 0x5C, 0xCC,    0 },
 
485
      {    0,    0,    0,    0,    0, 0x43, 0xE7, 0x7F,  0x23, 0x57, 0x02, 0x1F, 0x2F, 0x75, 0x63, 0x8A,
 
486
        0xC8, 0xF0, 0xFF, 0x05, 0xD7, 0x8E, 0x83, 0x7F,  0xCF, 0xBF, 0x03 },
 
487
      { 0x6A, 0x62, 0x65, 0x8D, 0x96, 0x20 },
 
488
      { 0x42, 0x49, 0x49 },
 
489
      0x2D66772D, 0,
 
490
    },
 
491
    { "800x600", 800, 600, TVTYPE_NTSC, 0, 0,
 
492
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0x58,  0xD4, 0x09, 0x52,    0, 0x51, 0x3B, 0x0F,    0,
 
493
           0,    0, 0x6A, 0x0D, 0x4C, 0x1C,    0,    0,     0,    0, 0x3E,    0, 0x01,    0,    0, 0x44,
 
494
        0x10, 0x0A, 0x9C, 0x75, 0x04, 0x56, 0x41, 0x90,  0x6B,    0,    0, 0xA3, 0x29, 0x86, 0x10, 0x10 },
 
495
      {    0,    0,    0,    0,    0, 0x3A, 0x27, 0x1F,  0x34, 0xED, 0x02, 0x27, 0xF5, 0x9D, 0x64, 0xB7,
 
496
        0x0D, 0x40,    0, 0x58, 0xB6, 0x3B, 0x85,    0,  0x01, 0xEF, 0x05 },
 
497
      { 0x6A, 0x62, 0x65, 0x91, 0x9C, 0 },
 
498
      { 0x43, 0x4A, 0x49 },
 
499
      0x1B5E5096, 0x1B5E4912,
 
500
    },
 
501
    { "800x600", 800, 600, TVTYPE_PAL, 0, 0,
 
502
      { 0x84,    0,    0, 0x04,    0,    0, 0x20, 0x27,  0xB8, 0x0D, 0x5C,    0, 0x4E, 0x40, 0x0F,    0,
 
503
           0,    0, 0xEC, 0x2A, 0xFD, 0x28,    0,    0,     0,    0, 0x11,    0, 0x01,    0,    0, 0xAA,
 
504
        0x13, 0x0C, 0x9F, 0x79, 0x0C, 0x62, 0x37, 0x8E,  0x54, 0x5B, 0x15, 0xA0, 0x22, 0x70, 0xF4,    0 },
 
505
      {    0,    0,    0,    0,    0, 0x41, 0x97, 0x1F,  0x33, 0xED, 0x02, 0x97, 0x87, 0x87, 0x63, 0x9F,
 
506
        0xE7, 0x16, 0xE7, 0x16, 0xCC, 0xF3, 0x84,    0,  0x01, 0x4F, 0x04 },
 
507
      { 0x6A, 0x62, 0x65, 0, 0, 0},
 
508
      { 0x58, 0x5E, 0x5E },
 
509
      0x277A7DE4, 0,
 
510
    },
 
511
    { "1024x768", 1024, 768, TVTYPE_NTSC, 0, 0,
 
512
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0x47,  0x12, 0x08, 0x50,    0, 0x50, 0x3A, 0x0F,    0,
 
513
           0,    0, 0xEF, 0x37, 0x77, 0x2A,    0,    0,     0,    0, 0xA1,    0, 0x05,    0,    0, 0x77,
 
514
        0x0D, 0x05, 0xEF, 0x73, 0x0C, 0x56, 0x56, 0x90,  0x8B,    0,    0, 0xA3, 0x29, 0xB9, 0x6A, 0x10 },
 
515
      {    0,    0,    0,    0,    0, 0x39, 0x87, 0xFF,  0x34, 0xB0, 0x03, 0x6F, 0xDC, 0xCD, 0x35, 0xF1,
 
516
        0x5E, 0xA5, 0x7E, 0x5A, 0x33, 0x26, 0x87,    0,  0x01, 0x27, 0x08 },
 
517
      { 0x6A, 0x62, 0x65, 0x91, 0x9C, 0 },
 
518
      { 0x58, 0x4B, 0x4A },
 
519
      0x14EB66D6, 0x14EB6118,
 
520
    },
 
521
    { "1024x768", 1024, 768, TVTYPE_PAL, 0, 0,
 
522
      { 0x84,    0,    0, 0x04,    0,    0, 0x20, 0x57,  0x25, 0x35, 0x5A,    0, 0x4D, 0x40, 0x0F,    0,
 
523
           0,    0, 0xE8, 0x23, 0xD1, 0x18,    0,    0,     0,    0, 0x96,    0, 0x07,    0,    0, 0xFF,
 
524
        0x0F, 0x0C, 0x87, 0x79,    0, 0x62, 0x53, 0x8E,  0x7B, 0x5B, 0x15, 0xA0, 0x22, 0xB6, 0x5A, 0x10 },
 
525
      {    0,    0,    0,    0,    0, 0x40, 0xAF, 0xFF,  0x34, 0xB5, 0x03, 0x57, 0xA8, 0xC8, 0x35, 0xEC,
 
526
        0x4C, 0xCC, 0x67, 0x5A, 0x14, 0x5C, 0x06,    0,  0x01, 0x1F, 0x07 },
 
527
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
528
      { 0x50, 0x69, 0x69 },
 
529
      0x1A8CC372, 0,
 
530
    },
 
531
    { "848x480", 848, 480, TVTYPE_NTSC, 0, 0,
 
532
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0xA7,  0xC1, 0x07, 0x50,    0, 0x50, 0x39, 0x0F,    0,
 
533
           0,    0, 0xF0, 0x29, 0x67, 0x31,    0,    0,     0,    0, 0x2A,    0, 0x03,    0,    0, 0x33,
 
534
        0x11, 0x08, 0x47, 0x73, 0x0C, 0x56, 0x3C, 0x90,  0x65,    0,    0, 0xA3, 0x29, 0x7C,    0, 0x10 },
 
535
      {    0,    0,    0,    0,    0, 0x39, 0xAF, 0x4F,  0x34, 0x44, 0x02, 0xE3, 0xC2, 0x93, 0x63, 0xAD,
 
536
        0xFD, 0x2B, 0x7C, 0x17, 0x6D, 0xCA, 0x84,    0,  0x01, 0x2F, 0x05 },
 
537
      { 0x6A, 0x62, 0x65, 0x91, 0x9C, 0 },
 
538
      { 0x44, 0x45, 0x45 },
 
539
      0x1D3CA863, 0x1D3CA05B,
 
540
    },
 
541
    { "848x480", 848, 480, TVTYPE_PAL, 0, 0,
 
542
      { 0x04,    0,    0, 0x06,    0,    0, 0x20, 0xA7,  0xE6, 0x06, 0x5C,    0, 0x4E, 0x41, 0x0F,    0,
 
543
           0,    0, 0xE6, 0x23, 0x84, 0x18,    0,    0,     0,    0, 0x56,    0, 0x01,    0,    0, 0xCC,
 
544
        0x0F, 0x0C, 0x60, 0x79,    0, 0x62, 0x46, 0x8E,  0x68, 0x5B, 0x15, 0xA0, 0x22, 0x94, 0x2A, 0x10 },
 
545
      {    0,    0,    0,    0,    0, 0x40, 0xAF, 0x4F,  0x34, 0x57, 0x02, 0x7F, 0x31, 0xA9, 0x74, 0xD1,
 
546
        0x2B, 0x5D, 0xAA, 0x58, 0xD7, 0x26, 0x83,    0,  0x01, 0x7F, 0x04 },
 
547
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
548
      { 0x50, 0x49, 0x49 },
 
549
      0x1F872818, 0,
 
550
    },
 
551
    { "720x480", 720, 480, TVTYPE_NTSC, 0, 0,
 
552
      { 0x04,    0,    0, 0x06, 0x03,    0, 0x20, 0x3F,  0xB6, 0x07, 0x52,    0, 0x51, 0x3A, 0x0F,    0,
 
553
           0,    0, 0xED, 0x31, 0x50, 0x35,    0,    0,     0,    0, 0x1E,    0, 0x03,    0,    0, 0x33,
 
554
        0x12, 0x08, 0x57, 0x75,    0, 0x56, 0x3A, 0x90,  0x61,    0,    0, 0xA3, 0x29, 0x76, 0xF1,    0 },
 
555
      {    0,    0,    0,    0,    0, 0x3A, 0x47, 0xCF,  0x23, 0x57, 0x02, 0xBF, 0xAD, 0x8D, 0x63, 0xA4,
 
556
        0xF3, 0x20, 0x36, 0x17, 0x92, 0x33, 0x84,    0,     0, 0xBF, 0x03 },
 
557
      { 0x6A, 0x62, 0x65, 0x91, 0x9C, 0 },
 
558
      { 0x42, 0x49, 0x48 },
 
559
      0x1E555518, 0x1E554CC3,
 
560
    },
 
561
    { "720x576", 720, 576, TVTYPE_PAL, 0, 0,
 
562
      { 0x04,    0,    0, 0x06,    0,    0, 0x20, 0x0F,  0xAF, 0x35, 0x5D,    0, 0x4F, 0x41, 0x0F,    0,
 
563
           0,    0, 0xF8, 0x3C, 0x73, 0x56,    0,    0,     0,    0, 0xED,    0, 0x02,    0,    0, 0x99,
 
564
        0x18, 0x0C, 0x76, 0x7A, 0x44, 0x62, 0x30, 0x8E,  0x49, 0x5B, 0x15, 0xA0, 0x22, 0x5C, 0xBD,    0 },
 
565
      {    0,    0,    0,    0,    0, 0x43, 0xF7, 0xCF,  0x22, 0xED, 0x02, 0x1D, 0x29, 0x75, 0x63, 0x88,
 
566
        0xC6, 0xF0, 0xFA, 0x0F, 0xCC, 0x30, 0x94,    0,     0, 0x8F, 0x03 },
 
567
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
568
      { 0x59, 0x4D, 0x4A },
 
569
      0x2D839832, 0,
 
570
    },
 
571
    { "640x480Over", 640, 480, TVTYPE_NTSC, 0, 0,
 
572
      { 0x04,    0,    0, 0x06, 0x03,    0, 0x20, 0x10,  0x76, 0x0A, 0x56, 0x05, 0x50, 0x3B, 0x0F,    0,
 
573
           0,    0, 0xED, 0x23, 0xC0, 0x34,    0,    0,     0,    0, 0xE5,    0, 0x02,    0,    0, 0x11,
 
574
        0x17, 0x0C, 0x46, 0x73, 0x0C, 0x56, 0x2E, 0x90,  0x4E,    0,    0, 0xA3, 0x29, 0x59, 0xBA,    0 },
 
575
      {    0,    0,    0,    0,    0, 0x3A, 0xCF, 0x7F,  0x22, 0x2F, 0x02, 0xFF, 0x59, 0x71, 0x62, 0x83,
 
576
        0xC0, 0xE5, 0xC0, 0x05, 0x44, 0x44, 0x84,    0,     0, 0xFF, 0x02 },
 
577
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
578
      { 0x4F, 0x49, 0x49 },
 
579
      0x25EAAA5E, 0x25EA9FF4,
 
580
    },
 
581
    { "640x480Over", 640, 480, TVTYPE_PAL, 0, 0,
 
582
      { 0x04,    0,    0, 0x06,    0,    0, 0x20, 0x23,  0x4E, 0x2A, 0x61,    0, 0x4D, 0x47, 0x0F,    0,
 
583
           0,    0, 0x4A, 0x0F, 0x37, 0x28,    0,    0,     0,    0, 0xC7,    0, 0x02,    0,    0, 0x88,
 
584
        0x1B, 0x0C, 0xFF, 0x79,    0, 0x62, 0x28, 0x8E,  0x3E, 0x5B, 0x15, 0xA0, 0x22, 0x49, 0xCC,    0 },
 
585
      {    0,    0,    0,    0,    0, 0x44, 0x47, 0x7F,  0x23, 0xF3, 0x01, 0x9F, 0x3F, 0x62, 0x62, 0x72,
 
586
        0xA7, 0xCB, 0x05, 0x05, 0x33, 0x70, 0x83,    0,     0, 0x9F, 0x02 },
 
587
      { 0x6A, 0x62, 0x65, 0x90, 0x99, 0 },
 
588
      { 0x42, 0x49, 0x49 },
 
589
      0x360C44BC, 0,
 
590
    },
 
591
    { "800x600Over", 800, 600, TVTYPE_NTSC, 0, 0,
 
592
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0x5F,  0xA4, 0x08, 0x51,    0, 0x50, 0x39, 0x0F,    0,
 
593
           0,    0, 0xE8, 0x33, 0xE6, 0x18,    0,    0,     0,    0, 0x32,    0, 0x03,    0,    0, 0x33,
 
594
        0x11, 0x0A, 0x9B, 0x73, 0x08, 0x56, 0x3F, 0x90,  0x68,    0,    0, 0xA3, 0x29, 0x82, 0x02, 0x10 },
 
595
      {    0,    0,    0,    0,    0, 0x39, 0x37, 0x21,  0x34, 0x98, 0x02, 0x01, 0x21, 0x97, 0x74, 0xB1,
 
596
        0xFF, 0x34, 0xB6, 0x17, 0x11,    0, 0x85,    0,  0x01, 0x57, 0x05 },
 
597
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
598
      { 0x42, 0x45, 0x45 },
 
599
      0x1C61CEE0, 0x1C61C714,
 
600
    },
 
601
    { "800x600Over", 800, 600, TVTYPE_PAL, 0, 0,
 
602
      { 0x84,    0,    0, 0x04,    0,    0, 0x20, 0x47,  0x90, 0x3B, 0x5A,    0, 0x4D, 0x3F, 0x0F,    0,
 
603
           0,    0, 0xE8, 0x24, 0x8F, 0x1C,    0,    0,     0,    0, 0x0E,    0, 0x03,    0,    0, 0xAA,
 
604
        0x14, 0x0C, 0x2F, 0x79,    0, 0x62, 0x37, 0x8E,  0x54, 0x5B, 0x15, 0xA0, 0x22, 0x6E, 0xF4,    0 },
 
605
      {    0,    0,    0,    0,    0, 0x41, 0xE7, 0x1F,  0x33, 0x89, 0x02, 0x8D, 0xCD, 0x85, 0x63, 0x9C,
 
606
        0xE4, 0x13, 0xD4, 0x16, 0x28, 0x60, 0x84,    0,  0x01, 0x0F, 0x04 },
 
607
      { 0x6A, 0x62, 0x65, 0x90, 0x99, 0 },
 
608
      { 0x58, 0x48, 0x48 },
 
609
      0x27E98D57, 0,
 
610
    },
 
611
    { "1024x768Over", 1024, 768, TVTYPE_NTSC, 0, 0,
 
612
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0x52,  0xAE, 0x09, 0x50,    0, 0x50, 0x39, 0x0F,    0,
 
613
           0,    0, 0xE8, 0x33, 0x0D, 0x15,    0,    0,     0,    0, 0x66,    0, 0x03,    0,    0, 0x55,
 
614
        0x0F, 0x05, 0xF1, 0x73, 0x08, 0x56, 0x4A, 0x90,  0x79,    0,    0, 0xA3, 0x29, 0x9B, 0x33, 0x10 },
 
615
      {    0,    0,    0,    0,    0, 0x39, 0xAF, 0xFF,  0x34, 0x47, 0x03, 0xAF, 0xC3, 0xB1, 0x34, 0xD1,
 
616
        0x30, 0x68, 0x0B, 0x59, 0x66, 0x40, 0x86,    0,  0x01, 0x7F, 0x07 },
 
617
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
618
      { 0x57, 0x45, 0x45 },
 
619
      0x1844440E, 0x18443D63,
 
620
    },
 
621
    { "1024x768Over", 1024, 768, TVTYPE_PAL, 0, 0,
 
622
      { 0x84,    0,    0, 0x04,    0,    0, 0x20, 0x56,  0xC0, 0x32, 0x5A,    0, 0x4D, 0x40, 0x0F,    0,
 
623
           0,    0, 0xC9, 0x14, 0x79, 0x1C,    0,    0,     0,    0, 0x6D,    0, 0x03,    0,    0, 0xDD,
 
624
        0x0F, 0x0C, 0xCA, 0x79, 0x08, 0x62, 0x4B, 0x8E,  0x6F, 0x5B, 0x15, 0xA0, 0x22, 0xA1, 0x5A, 0x10 },
 
625
      {    0,    0,    0,    0,    0, 0x40, 0xAF, 0xFF,  0x34, 0x38, 0x03, 0xCF, 0xDF, 0xB4, 0x34, 0xD6,
 
626
        0x35, 0x75, 0x47, 0x59, 0x47, 0x20, 0x05,    0,  0x01, 0x2F, 0x06 },
 
627
      { 0x6A, 0x62, 0x65, 0x90, 0x99, 0 },
 
628
      { 0x51, 0x49, 0x49 },
 
629
      0x1D7B0E38, 0,
 
630
    },
 
631
    { "848x480Over", 848, 480, TVTYPE_NTSC, 0, 0,
 
632
      { 0x84,    0,    0, 0x04, 0x03,    0, 0x20, 0x4E,  0x9E, 0x07, 0x51,    0, 0x50, 0x3A, 0x0F,    0,
 
633
           0,    0, 0xED, 0x23, 0x08, 0x35,    0,    0,     0,    0, 0x3C,    0, 0x03,    0,    0, 0x44,
 
634
        0x11, 0x0A, 0xF0, 0x73, 0x04, 0x56, 0x41, 0x90,  0x6A,    0,    0, 0xA3, 0x29, 0x87, 0x0A, 0x10 },
 
635
      {    0,    0,    0,    0,    0, 0x39, 0xEF, 0x51,  0x33, 0x25, 0x02, 0x1F, 0x47, 0x9C, 0x74, 0xB5,
 
636
        0x0C, 0x3D, 0xF1, 0x57, 0x30, 0x0C, 0x84,    0,  0x01, 0x1F, 0x04 },
 
637
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
638
      { 0x58, 0x45, 0x45 },
 
639
      0x1B9364A1, 0x1B933067,
 
640
    },
 
641
    { "848x480Over", 848, 480, TVTYPE_PAL, 0, 0,
 
642
      { 0x84,    0,    0, 0x04,    0,    0, 0x20, 0xA5,  0xA1, 0x38, 0x5E,    0, 0x4D, 0x41, 0x0F,    0,
 
643
           0,    0, 0xC7, 0x1E, 0x79, 0x1C,    0,    0,     0,    0, 0x39,    0, 0x03,    0,    0, 0xBB,
 
644
        0x12, 0x0C, 0x5A, 0x79, 0x0C, 0x62, 0x40, 0x8E,  0x5F, 0x5B, 0x15, 0xA0, 0x22, 0x88, 0x2A, 0x10 },
 
645
      {    0,    0,    0,    0,    0, 0x3A, 0xAF, 0x4F,  0x34, 0x25, 0x02, 0x1F, 0x4F, 0x9B, 0x74, 0xB7,
 
646
        0x0A, 0x3F, 0xF0, 0x58, 0x85,    0, 0x83,    0,  0x01, 0x1F, 0x04 },
 
647
      { 0x6A, 0x62, 0x65, 0x90, 0x99, 0 },
 
648
      { 0x4E, 0x49, 0x49 },
 
649
      0x2264E5EC, 0,
 
650
    },
 
651
    { "720x480Over", 720, 480, TVTYPE_NTSC, 0, 0,
 
652
      { 0x04,    0,    0,    0, 0x03,    0, 0x20, 0x28,  0x52, 0x08, 0x50,    0, 0x4E, 0x2F, 0x0F,    0,
 
653
           0,    0, 0x2D, 0x07, 0x28, 0x34,    0,    0,     0,    0, 0xEE,    0, 0x02,    0,    0, 0x11,
 
654
        0x16, 0x08, 0xDF, 0x76, 0x04, 0x56, 0x31, 0x90,  0x51,    0,    0, 0xA3, 0x29, 0x5D, 0xC3,    0 },
 
655
      {    0,    0,    0,    0, 0x08, 0x3A, 0x1F, 0xCF,  0x23, 0x0C, 0x02, 0x1F, 0xCE, 0x76, 0x23, 0x88,
 
656
        0xC9, 0xEF, 0xFF, 0x05,    0,    0,    0,    0,     0, 0x1F, 0x03 },
 
657
      { 0x6A, 0x62, 0x65, 0, 0, 0 },
 
658
      { 0x4D, 0x49, 0x49 },
 
659
      0x2466661D, 0x24665C1E,
 
660
    },
 
661
    { "720x576Over", 720, 576, TVTYPE_PAL, 0, 0,
 
662
      { 0x04,    0,    0,    0,    0,    0, 0x20, 0x3F,  0x89, 0x35, 0x50,    0, 0x43, 0x2E, 0x0F,    0,
 
663
           0,    0, 0xE8, 0x23, 0x84, 0x20,    0,    0,     0,    0, 0xFF,    0, 0x02,    0,    0, 0x99,
 
664
        0x17, 0x0C, 0x6F, 0x79, 0x48, 0x62, 0x34, 0x8E,  0x4F, 0x5B, 0x15, 0xA0, 0x22, 0x67, 0xFF,    0 },
 
665
      {    0,    0,    0,    0,    0, 0x3A, 0x5F, 0xCF,  0x23, 0x70, 0x02, 0x5F, 0xBF, 0x7E, 0x23, 0x94,
 
666
        0xD0, 0x27, 0x8F, 0x16,    0,    0, 0x04,    0,     0, 0x5F, 0x03 },
 
667
      { 0x6A, 0x62, 0x65, 0x90, 0x99, 0 },
 
668
      { 0x58, 0x48, 0x49 },
 
669
      0x2A098ACB, 0,
 
670
    },
 
671
    { "720x576Noscale", 720, 576, TVTYPE_PAL, 0, 0,
 
672
        { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x78, 0x78, 0x38, 0x5a, 0x00, 0x49, 0x2e, 0x00, 0x80,
 
673
        0x00, 0x00, 0x03, 0x0f, 0x16, 0x0c, 0x8d, 0x33, 0x89, 0x28, 0xee, 0x10, 0x02, 0x80, 0x00, 0x00,
 
674
        0x13, 0x0c, 0x04, 0x7b, 0x48, 0x64, 0x30, 0x93, 0x49, 0x5f, 0x15, 0xa5, 0x23, 0x77, 0xff, 0x00,
 
675
        },
 
676
        { 0x00, 0x00, 0x04, 0x00, 0x00, 0x45, 0x7f, 0xd0, 0x23, 0x70, 0x02, 0x7f, 0xd0, 0x83, 0x23, 0x9c,
 
677
        0xdb, 0x08, 0xb7, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x03,   },
 
678
 
 
679
       { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 },
 
680
       { 0x58, 0x48, 0x49 },
 
681
         0x2889338d, 0,
 
682
        },
 
683
 
 
684
    { "720x480Noscale", 720, 480, TVTYPE_NTSC, 0, 0,
 
685
                { 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x20, 0x78, 0x78, 0x06, 0x5a, 0x00, 0x49, 0x2f, 0x00, 0x80,
 
686
                  0x00, 0x00, 0xed, 0x23, 0xde, 0x34, 0x97, 0xab, 0xca, 0x20, 0xee, 0x10, 0x02, 0x80, 0x00, 0x11,
 
687
                  0x11, 0x08, 0x04, 0x76, 0x08, 0x5a, 0x31, 0x95, 0x51, 0x00, 0x00, 0xaa, 0x2b, 0x7a, 0xdb, 0x00,
 
688
                },
 
689
                { 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x77, 0xd0, 0x23, 0x0c, 0x02, 0x77, 0xd0, 0x83, 0x23, 0x98,
 
690
                  0xde, 0xe8, 0xc4, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x03,   },
 
691
                { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 },
 
692
                { 0x58, 0x48, 0x49 },
 
693
          0x20caab97, 0,
 
694
    },
 
695
 
 
696
    { "720x480pal", 720, 480, TVTYPE_PAL, 0, 0,
 
697
      { 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x74,  0x8c, 0x06, 0x50, 0x00, 0x4e, 0x2f, 0x00, 0x07,
 
698
        0x00, 0x00, 0xa9, 0x19, 0x6e, 0x24, 0xe3, 0x33,  0x89, 0x28, 0xee, 0x10, 0x02, 0x80, 0x00, 0x11,
 
699
        0x11, 0x08, 0x04, 0x76, 0x08, 0x5a, 0x31, 0x95,  0x51, 0x00, 0x00, 0xaa, 0x2b, 0x7a, 0xdb, 0x00,
 
700
        },
 
701
      { 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x77, 0xd0,  0x23, 0x0c, 0x02, 0x77, 0xd0, 0xb0, 0x23, 0x88,
 
702
        0xc9, 0x30, 0xd0, 0x16, 0x00, 0x00, 0x00, 0x00,  0x00, 0x77, 0x03 },
 
703
      { 0xBA, 0xB8, 0xB8, 0x90, 0x99, 0 },
 
704
      { 0x58, 0x48, 0x49 },
 
705
      0x288933e3, 0,
 
706
    },
 
707
    { NULL, 0, 0, 0, 0, 0,
 
708
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
709
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
710
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0 },
 
711
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
712
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0 },
 
713
      { 0, 0, 0, 0, 0, 0 },
 
714
      { 0, 0, 0 },
 
715
      0, 0,
 
716
    }
 
717
};
 
718
 
 
719
/*
 
720
 *
 
721
 * VT1625 modetables
 
722
 *
 
723
 */
 
724
 
 
725
static DisplayModeRec VT1625Modes[] = {
 
726
/* all available modes are: */
 
727
/*  { MODEPREFIX("640x480"), ... ,   MODESUFFIXNTSC },
 
728
    { MODEPREFIX("800x600"), ... ,   MODESUFFIXNTSC },
 
729
    { MODEPREFIX("1024x768"), ... ,   MODESUFFIXNTSC },
 
730
 
 
731
    { MODEPREFIX("720x480"), ... ,   MODESUFFIX480P },
 
732
 
 
733
    { MODEPREFIX("640x480"), ... ,   MODESUFFIX720P },
 
734
    { MODEPREFIX("800x600"), ... ,   MODESUFFIX720P },
 
735
    { MODEPREFIX("1024x768"), ... ,   MODESUFFIX720P },
 
736
    { MODEPREFIX("720x480"), ... ,   MODESUFFIX720P },
 
737
    { MODEPREFIX("720x576"), ... ,   MODESUFFIX720P },
 
738
 
 
739
    { MODEPREFIX("640x480"), ... ,   MODESUFFIX1080I },
 
740
    { MODEPREFIX("800x600"), ... ,   MODESUFFIX1080I },
 
741
    { MODEPREFIX("1024x768"), ... ,   MODESUFFIX1080I },
 
742
    { MODEPREFIX("720x480"), ... ,   MODESUFFIX1080I },
 
743
    { MODEPREFIX("720x576"), ... ,   MODESUFFIX1080I },
 
744
 
 
745
    { MODEPREFIX("640x480Over"), ... ,   MODESUFFIXNTSC },
 
746
    { MODEPREFIX("800x600Over"), ... ,   MODESUFFIXNTSC },
 
747
    { MODEPREFIX("1024x768Over"), ... ,   MODESUFFIXNTSC },
 
748
    { MODEPREFIX("720x480Over"), ... ,   MODESUFFIXNTSC },
 
749
 
 
750
    { MODEPREFIX("640x480Over"), ... ,   MODESUFFIXPAL },
 
751
    { MODEPREFIX("800x600Over"), ... ,   MODESUFFIXPAL },
 
752
    { MODEPREFIX("1024x768Over"), ... ,   MODESUFFIXPAL },
 
753
    { MODEPREFIX("720x576Over"), ... ,   MODESUFFIXPAL },*/
 
754
/*                                clock    HR   SH1   SH2   HFL       VR   SV1   SV2   VFL*/
 
755
    { MODEPREFIX("640x480"),      30000,  640,  688,  744,  784, 0,  480,  488,  495,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL   },
 
756
    { MODEPREFIX("800x600"),      34500,  800,  816,  880,  920, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL   },
 
757
    { MODEPREFIX("1024x768"),     57000, 1024, 1040, 1112, 1200, 0,  768,  829,  840,  950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL   },
 
758
    { MODEPREFIX("720x576"),      34500,  720,  760,  800, 1000, 0,  576,  577,  580,  690, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL   },
 
759
    { MODEPREFIX("720x576Over"),  27000,  720,  768,  800,  864, 0,  576,  577,  579,  625, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL   },
 
760
 
 
761
    { MODEPREFIX("1280x720"),     74250, 1280, 1320, 1376, 1650, 0,  720,  722,  728,  750, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX720P  },
 
762
    { MODEPREFIX("1920x1080"),    74250, 1920, 1960, 2064, 2200, 0, 1080, 1083, 1087, 1125, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX1080I },
 
763
 
 
764
    { MODEPREFIX("640x480"),      24696,  640,  656,  744,  784, 0,  480,  482,  483,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC  },
 
765
    { MODEPREFIX("720x480Under"), 34000,  720,  728,  744,  784, 0,  480,  490,  496,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC  },
 
766
    { MODEPREFIX("720x480Fit"),   28980,  720,  728,  776,  840, 0,  480,  484,  499,  575, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC  },
 
767
    { MODEPREFIX("720x480Over"),  27025,  720,  752,  792,  800, 0,  480,  482,  485,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC  },
 
768
 
 
769
    { MODEPREFIX("720x480Under"), 28224,  720,  728,  744,  784, 0,  480,  490,  496,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX480P  },
 
770
    { MODEPREFIX("720x480Fit"),   28980,  720,  728,  776,  840, 0,  480,  484,  499,  575, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX480P  },
 
771
    { MODEPREFIX("720x480Over"),  27027,  720,  784,  808,  858, 0,  480,  483,  486,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX480P  },
 
772
};
 
773
 
 
774
static struct VT162XTableRec
 
775
VT1625Table[] = {
 
776
    { "640x480", 640, 480, TVTYPE_NTSC, 0, 0,
 
777
      /*  00                                                                                         0F */
 
778
      { 0x03,    0, 0x10, 0x40, 0x10,    0,    0, 0x28,  0x47, 0x15, 0x7B,    0, 0x50, 0x57,    0, 0x9E,
 
779
           0, 0x80, 0xFA, 0x21, 0xE0, 0x68, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x41, 0x80,    0, 0x10,
 
780
        0x1C, 0x2A, 0xCB, 0x77,    0,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
781
      /*  4A                            4F    50                                                     59 */
 
782
      { 0xC5,    0,    0, 0x01, 0x10, 0x4A, 0x0F, 0x83,  0x23, 0x57, 0x22, 0x59, 0x83, 0x7F, 0x23, 0x91,
 
783
      /*  5A                            5F    60                       64 */
 
784
        0xD2, 0x13, 0x7C, 0x16, 0x49,    0, 0x92, 0x20,     0, 0x7F, 0x03 },
 
785
      /* RBG 65,66,67,27,2b,2c */
 
786
      { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
787
      /* Y-Cb-Cr 65,66,67 */
 
788
      { 0x55, 0x56, 0x55 },
 
789
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
790
      0x21F07BD6, 0x21F087BE,
 
791
    },
 
792
    { "720x480Under", 720, 480, TVTYPE_NTSC, 0, 0,
 
793
      /*  00                                                                                         0F */
 
794
      { 0x03,    0, 0x10, 0x1F, 0x00,    0,    0, 0x2A,  0x41, 0x0A, 0x7B, 0x15, 0x50, 0x57,    0, 0xB7,
 
795
           0, 0x80, 0xAB, 0x27, 0x70, 0x2C, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x41, 0x80,    0, 0x10,
 
796
        0x1C, 0x08, 0xCB, 0x77, 0x00,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
797
       /*  4A                            4F    50                                                     59 */
 
798
       { 0xC5, 0x0F, 0x00, 0x01, 0x10, 0x4A, 0x0F, 0xCF,  0x23, 0x57, 0x22, 0x59, 0x83, 0x7F, 0x23, 0x91,
 
799
       /*  5A                            5F    60                       64 */
 
800
        0xD2, 0x13, 0x7A, 0x16, 0x49, 0xF1, 0x92, 0xA8,  0xFF, 0x7F, 0x03 },
 
801
       /* RBG 65,66,67,27,2b,2c */
 
802
       { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
803
       /* Y-Cb-Cr 65,66,67 */
 
804
       { 0x55, 0x54, 0x56 },
 
805
       /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
806
       0x21F07BD6, 0x21F04CC3,
 
807
     },
 
808
     { "720x480Fit", 720, 480, TVTYPE_NTSC, 0, 0,
 
809
       /*  00                                                                                         0F */
 
810
       { 0x03,    0, 0x10, 0x1F, 0x00,    0,    0, 0x41,  0x3B, 0x0B, 0x7B, 0x15, 0x50, 0x57,    0, 0xB7,
 
811
            0, 0x80, 0xCD, 0x21, 0x73, 0x34, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x43, 0x80,    0, 0x10,
 
812
         0x1C, 0x08, 0xCA, 0x77, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
813
       /*  4A                            4F    50                                                     59 */
 
814
       { 0xC5, 0x0F,    0, 0x01, 0x10, 0x4A, 0x47, 0xCF,  0x23, 0x3E, 0x22, 0x59, 0x8B, 0x7F, 0x23, 0x91,
 
815
       /*  5A                            5F    60                       64 */
 
816
         0xD2, 0x13, 0x7A, 0x16, 0x30, 0xD4, 0x8C, 0x28,  0xFF, 0x97, 0x03 },
 
817
       /* RBG 65,66,67,27,2b,2c */
 
818
       { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
819
       /* Y-Cb-Cr 65,66,67 */
 
820
       { 0x55, 0x54, 0x56 },
 
821
       /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
822
       0x21F07BD6, 0x21F0EBE8,
 
823
     },
 
824
     { "720x480Over", 720, 480, TVTYPE_NTSC, 0, 0,
 
825
       /*  00                                                                                         0F */
 
826
       { 0x03,    0, 0x10, 0x1F, 0x00,    0,    0, 0x02,  0x10, 0x00, 0x7B, 0x15, 0x50, 0x57,    0, 0xB7,
 
827
            0, 0x80, 0xAD, 0x21, 0x64, 0x34, 0xD6, 0x7B,  0xF0, 0x21, 0x00, 0x50, 0x00, 0x80,    0, 0x10,
 
828
         0x1C, 0x08, 0xE5, 0x77, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
829
       /*  4A                            4F    50                                                     59 */
 
830
       { 0xC5, 0x0F,    0, 0x01, 0x10, 0x4A, 0x1F, 0xD2,  0x23, 0x0C, 0x22, 0x59, 0xC0, 0x7E, 0x23, 0x8C,
 
831
       /*  5A                            5F    60                       64 */
 
832
         0xD0, 0xF6, 0x7C, 0x06,    0, 0x34, 0x80, 0x28,  0xFF, 0x1F, 0x03 },
 
833
       /* RBG 65,66,67,27,2b,2c */
 
834
       { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
835
       /* Y-Cb-Cr 65,66,67 */
 
836
       { 0x55, 0x54, 0x56 },
 
837
       /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
838
       0x21F07BD6, 0x21F05C1E,
 
839
     },
 
840
    { "720x480Under", 720, 480, TVTYPE_480P, 0, 0,
 
841
      /*  00                                                                                         0F */
 
842
      { 0x03,    0, 0x10, 0x40, 0x10,    0,    0, 0x2A,  0x41, 0x14, 0x7B,    0, 0x50, 0x57,    0, 0xB7,
 
843
           0, 0x80, 0xAB, 0x27, 0x70, 0x2C, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x41, 0x80,    0, 0x01,
 
844
        0x2F, 0x08, 0xCB, 0x7E,    0,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
845
      /*  4A                            4F    50                                                     59 */
 
846
      { 0xC5, 0x0F,    0, 0x01,   0, 0x4A, 0x0F, 0xCF,  0x23, 0x57, 0x22, 0x59, 0x83, 0x7F, 0x23, 0x91,
 
847
      /*  5A                            5F    60                       64 */
 
848
        0xD2, 0x13, 0x7A, 0x16, 0x49, 0xF1, 0x92, 0xA8,     0, 0x7F, 0x03 },
 
849
      /* RBG 65,66,67,27,2b,2c */
 
850
      { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
851
      /* Y-Cb-Cr 65,66,67 */
 
852
      { 0x55, 0x54, 0x56 },
 
853
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
854
      0x21F07BD6, 0x21F087BE,
 
855
    },
 
856
    { "720x480Fit", 720, 480, TVTYPE_480P, 0, 0,
 
857
      /*  00                                                                                         0F */
 
858
      { 0x03,    0, 0x10, 0x40, 0x10,    0,    0, 0x41,  0x43, 0xFF, 0x7B,    0, 0x50, 0x57,    0, 0xB7,
 
859
           0, 0x80, 0xCD, 0x21, 0x73, 0x34, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x43, 0x80,    0, 0x01,
 
860
        0x2F, 0x08, 0xCA, 0x7E, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
861
      /*  4A                            4F    50                                                     59 */
 
862
      { 0xC5, 0x0F,    0, 0x01,    0, 0x4A, 0x47, 0xCF,  0x23, 0x3E, 0x22, 0x59, 0x8B, 0x7F, 0x23, 0x91,
 
863
      /*  5A                            5F    60                       64 */
 
864
        0xD2, 0x13, 0x7A, 0x16, 0x30, 0xD4, 0x8C, 0x28,     0, 0x97, 0x03 },
 
865
      /* RBG 65,66,67,27,2b,2c */
 
866
      { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
867
      /* Y-Cb-Cr 65,66,67 */
 
868
      { 0x55, 0x54, 0x56 },
 
869
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
870
      0x21F07BD6, 0x21F087BE,
 
871
    },
 
872
    { "720x480Over", 720, 480, TVTYPE_480P, 0, 0,
 
873
      /*  00                                                                                         0F */
 
874
      { 0x03,    0, 0x10, 0x40, 0x10,    0,    0, 0x01,  0x20,    0, 0x7B,    0, 0x50, 0x57,    0, 0x9E,
 
875
           0, 0x80, 0x04, 0x08, 0x08, 0x10, 0xD6, 0x7B,  0xF0, 0x21, 0x02, 0x50, 0x00, 0x80,    0, 0x01,
 
876
        0x2F, 0x08, 0xDC, 0x7E, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
877
      /*  4A                            4F    50                                                     59 */
 
878
      { 0xC5, 0x0F,    0, 0x01,    0, 0x4A, 0x59, 0xCF,  0x23, 0x0C, 0x22, 0x59, 0xCF, 0x7F, 0x23, 0x91,
 
879
      /*  5A                            5F    60                       64 */
 
880
        0xD2, 0xE1, 0x7D, 0x06,    0,    0, 0x80, 0x28,     0, 0x59, 0x03 },
 
881
      /* RBG 65,66,67,27,2b,2c */
 
882
      { 0x55, 0x37, 0x5C,    0,    0,    0 },
 
883
      /* Y-Cb-Cr 65,66,67 */
 
884
      { 0x55, 0x54, 0x56 },
 
885
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
886
      0x21F07BD6, 0x21F087BE,
 
887
    },
 
888
 
 
889
    { "1280x720", 1280, 720, TVTYPE_720P, 0, 0,
 
890
      /*  00                                                                                         0F */
 
891
      { 0x83,    0, 0x10, 0x40, 0x94, 0x00,    0, 0xFF,  0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E,
 
892
        0x00, 0x80, 0x89, 0x10, 0x63, 0x24, 0x00, 0x00,  0x00, 0x00,    0, 0x50, 0x40, 0x80, 0x00, 0x03,
 
893
        0x25, 0x00, 0x00, 0x7E, 0x00,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
894
/* hdtv - 4A 0x85, 4B 0x0A */
 
895
      /*  4A                            4F    50                                                     59 */
 
896
      { 0xC5, 0x0F,    0, 0x01,    0, 0x00, 0x71, 0xFF,  0x46, 0xED, 0x12, 0x71, 0xFF, 0x50, 0x46, 0x30,
 
897
      /*  5A                            5F    60                       64 */
 
898
        0x30, 0x1C, 0x47, 0x96, 0x00, 0x00, 0x80, 0x28,  0x00, 0x71, 0x36 },
 
899
      /* RBG 65,66,67,27,2b,2c */
 
900
      { 0x55, 0x39, 0x66,    0,    0,    0 },
 
901
      /* Y-Cb-Cr 65,66,67 */
 
902
      { 0x55, 0x56, 0x55 },
 
903
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
904
      0x0, 0x0,
 
905
    },
 
906
 
 
907
    { "1920x1080", 1920, 1080, TVTYPE_1080I, 0, 0,
 
908
      /*  00                                                                                         0F */
 
909
      { 0x83,    0, 0x10, 0x4A, 0x86, 0x32,    0, 0x8B,  0x3D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E,
 
910
        0x00, 0x80, 0x4A, 0x08, 0x37, 0x14, 0x00, 0x00,  0x00, 0x00, 0x00, 0x50, 0x04, 0x80, 0x00, 0x03,
 
911
        0x25, 0x00, 0x00, 0x7E, 0x00,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
912
      /*  4A                            4F    50                                                     59 */
 
913
      { 0xC5, 0x0F,    0, 0x01,    0, 0x00, 0x97, 0x7F,  0x78, 0x64, 0x14, 0x97, 0x7f, 0x59, 0x78, 0xb0,
 
914
      /*  5A                            5F    60                       64 */
 
915
        0x1a, 0xdc, 0x5d, 0x08, 0x00, 0x00, 0x80, 0x28,  0xFF, 0x97, 0x28 },
 
916
      /* RBG 65,66,67,27,2b,2c */
 
917
      { 0x55, 0x39, 0x66,    0,    0,    0 },
 
918
      /* Y-Cb-Cr 65,66,67 */
 
919
      { 0x55, 0x56, 0x55 },
 
920
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
921
      0x0, 0x0,
 
922
    },
 
923
 
 
924
    { "640x480", 640, 480, TVTYPE_PAL, 0, 0,
 
925
      /*  00                                                                                         0F */
 
926
      { 0x03,    0, 0x10, 0x1F, 0x03,    0,    0, 0xF2,  0x42, 0x0A, 0x88, 0x00, 0x55, 0x5E,    0, 0xB0,
 
927
           0, 0x80, 0x0A, 0x09, 0x19, 0x28, 0xCB, 0x8A,  0x09, 0x2A,    0, 0x50, 0x41, 0x80,    0, 0x10,
 
928
        0x17, 0x1C, 0x35, 0x7D, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
929
      /*  4A                            4F    50                                                     59 */
 
930
      { 0xC5, 0x0F,    0, 0x01, 0x10, 0x51, 0xE7, 0x81,  0x23, 0x57, 0x22, 0x5F, 0x6F, 0x7F, 0x23, 0x94,
 
931
      /*  5A                            5F    60                       64 */
 
932
        0xD0, 0x1C, 0x8F, 0x16, 0xE1, 0x38, 0x7A, 0x28,  0xFF, 0xBF, 0x03 },
 
933
      /* RBG 65,66,67,27,2b,2c */
 
934
      { 0x6A, 0x62, 0x65, 0x8D, 0x96, 0x20 },
 
935
      /* Y-Cb-Cr 65,66,67 */
 
936
      { 0x42, 0x49, 0x49 },
 
937
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
938
      0x2D66772D, 0,
 
939
    },
 
940
 
 
941
    { "720x576", 720, 576, TVTYPE_PAL, 0, 0,
 
942
      /*  00                                                                                         0F */
 
943
      { 0x03, 0x00, 0x10, 0x1f, 0x03, 0x00, 0x00, 0xc9,  0x4c, 0x10, 0x7c, 0x00, 0x56, 0x57, 0x07, 0xbf,
 
944
        0x00, 0x80, 0x09, 0x08, 0x17, 0x24, 0xcb, 0x8a,  0x09, 0x2a, 0x06, 0x50, 0x00, 0x80, 0x00, 0x10,
 
945
        0x14, 0x0c, 0x32, 0x7e, 0x00, 0x5f, 0x34, 0x8c,  0x4f, 0x5e, 0x15, 0xa2, 0x22, 0x80, 0xd3, 0x10
 
946
      },
 
947
      /*  4A                            4F    50                                                     59 */
 
948
      { 0xc5, 0x0f, 0x00, 0x01, 0x00, 0x4b, 0xe7, 0xd2,  0x23, 0xb1, 0x22, 0x5f, 0x61, 0x7f, 0x23, 0x90,
 
949
      /*  5A                            5F    60                       64 */
 
950
        0xcd, 0x35, 0x83, 0x16, 0x4F, 0x76, 0x8d, 0xa9,  0xff, 0x4f, 0x04 },
 
951
      /* RBG 65,66,67,27,2b,2c */
 
952
      { 0x6A, 0x62, 0x65, 0x90, 0x99,    0 },
 
953
      /* Y-Cb-Cr 65,66,67 */
 
954
      { 0x58, 0x48, 0x49 },
 
955
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
956
      0x2A098ACB, 0,
 
957
    },
 
958
 
 
959
    { "720x576Over", 720, 576, TVTYPE_PAL, 0, 0,
 
960
      /*  00                                                                                         0F */
 
961
      { 0x03,    0, 0x10, 0x1F, 0x03,    0,    0, 0x39,  0x19, 0x01, 0x88, 0x00, 0x55, 0x5E, 0x00, 0x9E,
 
962
           0, 0x80, 0x04, 0x08, 0x08, 0x10, 0xCB, 0x8A,  0x09, 0x2A, 0x00, 0x50, 0x41, 0x80,    0, 0x10,
 
963
        0x17, 0x0C, 0x32, 0x7D, 0x02,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
964
      /*  4A                            4F    50                                                     59 */
 
965
      { 0xC5, 0x0F,    0, 0x01, 0x10, 0x51, 0x5F, 0xCF,  0x23, 0x70, 0x22, 0x5F, 0xD0, 0x7F, 0x23, 0x92,
 
966
      /*  5A                            5F    60                       64 */
 
967
        0xCE, 0x0C, 0x8E, 0x16,    0,    0, 0x80, 0x20,  0xFF, 0x5F, 0x03 },
 
968
      /* RBG 65,66,67,27,2b,2c */
 
969
      { 0x6A, 0x62, 0x65, 0x90, 0x99,    0 },
 
970
      /* Y-Cb-Cr 65,66,67 */
 
971
      { 0x58, 0x48, 0x49 },
 
972
      /* Subcarrier 19,18,17,16, DotCrawl Subcarrier (set bit 3 of reg 11 then subcarrier) */
 
973
      0x2A098ACB, 0,
 
974
    },
 
975
 
 
976
/*
 
977
    { "1920x1080", 1920, 540, TVTYPE_NTSC, 0, 0,
 
978
      { 0x83,    0, 0x10, 0x4A, 0x86, 0x39,    0, 0x8B,  0x3D, 0x32,    0,    0,    0,    0,    0, 0x9E,
 
979
           0, 0x80, 0x4A, 0x08, 0x37, 0x14,    0,    0,     0,    0,    0, 0x50, 0x44, 0x80,    0, 0x03,
 
980
        0x25,    0,    0, 0x7E,    0,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
981
      { 0xC5, 0x0F,    0, 0x01,    0,    0, 0x97, 0x7F,  0x78, 0x64, 0x14, 0x97, 0x7F, 0x59, 0x78, 0xB0,
 
982
        0x1A, 0xEC, 0xFA, 0x08,    0,    0, 0x80, 0x20,  0xFF, 0x97, 0x28 },
 
983
      { 0x55, 0x56, 0x55, 0x91, 0x9C, 0 },
 
984
      { 0x42, 0x49, 0x48 },
 
985
      0x1E555518, 0x1E554CC3,
 
986
    },
 
987
    { "960x540", 960, 540, TVTYPE_NTSC, 0, 0,
 
988
      { 0x83,    0, 0x10, 0x4A, 0x86, 0x39,    0, 0x8B,  0x3D, 0x32,    0,    0,    0,    0,    0, 0x9E,
 
989
           0, 0x80, 0x4A, 0x08, 0x37, 0x14,    0,    0,     0,    0,    0, 0x50, 0x44, 0x80,    0, 0x03,
 
990
        0x25,    0,    0, 0x7E,    0,    0,    0,    0,     0,    0,    0,    0,    0,    0,    0,    0 },
 
991
      { 0xC5, 0x0F,    0, 0x01,    0,    0, 0x97, 0x7F,  0x78, 0x64, 0x14, 0x97, 0x7F, 0x59, 0x78, 0xB0,
 
992
        0x1A, 0xEC, 0xFA, 0x08,    0,    0, 0x80, 0x20,  0xFF, 0x97, 0x28 },
 
993
      { 0x55, 0x56, 0x55, 0x91, 0x9C, 0 },
 
994
      { 0x42, 0x49, 0x48 },
 
995
      0x1E555518, 0x1E554CC3,
 
996
    },
 
997
*/
 
998
    { NULL, 0, 0, 0, 0, 0,
 
999
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
1000
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
1001
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0 },
 
1002
      { 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0,
 
1003
        0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0 },
 
1004
      { 0, 0, 0, 0, 0, 0 },
 
1005
      { 0, 0, 0 },
 
1006
      0, 0,
 
1007
    }
 
1008
};
 
1009
 
 
1010
#endif /* _VIA_VT162X_H_ */