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

« back to all changes in this revision

Viewing changes to src/via_ch7xxx.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 2005 Terry Lewis. All Rights Reserved.
 
3
 * Copyright 2005 Philip Langdale. All Rights Reserved. (CH7011 additions)
 
4
 * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
 
5
 * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
 
6
 *
 
7
 * Permission is hereby granted, free of charge, to any person obtaining a
 
8
 * copy of this software and associated documentation files (the "Software"),
 
9
 * to deal in the Software without restriction, including without limitation
 
10
 * the rights to use, copy, modify, merge, publish, distribute, sub license,
 
11
 * and/or sell copies of the Software, and to permit persons to whom the
 
12
 * Software is furnished to do so, subject to the following conditions:
 
13
 *
 
14
 * The above copyright notice and this permission notice (including the
 
15
 * next paragraph) shall be included in all copies or substantial portions
 
16
 * of the Software.
 
17
 *
 
18
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
19
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
20
 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
 
21
 * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 
22
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 
23
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 
24
 * DEALINGS IN THE SOFTWARE.
 
25
 */
 
26
 
 
27
#ifndef _VIA_CH7xxx_H_
 
28
#define _VIA_CH7xxx_H_ 1
 
29
 
 
30
/*+#define     VIA_BIOS_MAX_NUM_TV_REG         0x80
 
31
+#define     VIA_BIOS_MAX_NUM_TV_CRTC        32
 
32
+#define     VIA_BIOS_NUM_TV_SPECIAL_REG     8
 
33
+#define     VIA_BIOS_MAX_NUM_TV_PATCH       8
 
34
+#define     VIA_BIOS_NUM_TV_OTHER           16
 
35
*/
 
36
 
 
37
#define     VIA_BIOS_TABLE_NUM_TV_REG   0x23 /* 0x00 - 0x22 */
 
38
 
 
39
#define     CH_7011_MAX_NUM_REG         0x4C /* 0x00 - 0x4B */
 
40
#define     CH_7019_MAX_NUM_REG         0x80 /* 0x00 - 0x7F */
 
41
 
 
42
#define     VIA_BIOS_MAX_NUM_TV_CRTC        32
 
43
#define     VIA_BIOS_NUM_TV_SPECIAL_REG     8
 
44
#define     VIA_BIOS_MAX_NUM_TV_PATCH       8
 
45
#define     VIA_BIOS_NUM_TV_OTHER           16
 
46
 
 
47
struct CH7xxxModePrivate {
 
48
    char   id[12]; /* "CH7xxx" */
 
49
    CARD8  Standard;
 
50
};
 
51
 
 
52
static struct CH7xxxModePrivate CH7xxxModePrivateNTSC = {
 
53
    { 'C', 'H', '7', 'x', 'x', 'x', 0, 0, 0, 0, 0, 0 },
 
54
    TVTYPE_NTSC,
 
55
};
 
56
 
 
57
static struct CH7xxxModePrivate CH7xxxModePrivatePAL = {
 
58
    { 'C', 'H', '7', 'x', 'x', 'x', 0, 0, 0, 0, 0, 0 },
 
59
    TVTYPE_PAL,
 
60
};
 
61
 
 
62
 
 
63
#define MODEPREFIX(name) NULL, NULL, name, 0,M_T_DEFAULT
 
64
#define MODESUFFIXNTSC       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
65
        sizeof(struct CH7xxxModePrivate),(void *)&CH7xxxModePrivateNTSC,0,0.0,0.0
 
66
#define MODESUFFIXPAL        0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,\
 
67
        sizeof(struct CH7xxxModePrivate),(void *)&CH7xxxModePrivatePAL,0,0.0,0.0
 
68
 
 
69
/* dotclock is just for modeline validation */
 
70
static DisplayModeRec CH7011Modes[]={
 
71
    { MODEPREFIX("640x480"),      23520,  640,  656,  744,  784, 0,  480,  487,  491,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
72
    { MODEPREFIX("640x480"),      30000,  640,  680,  808, 1000, 0,  480,  520,  523,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
73
    { MODEPREFIX("800x600"),      39900,  800,  840,  976, 1064, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
74
    { MODEPREFIX("800x600"),      34500,  800,  816,  880,  920, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
75
    { MODEPREFIX("1024x768"),     54810, 1024, 1032, 1088, 1160, 0,  768,  780,  792,  945, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
76
    { MODEPREFIX("1024x768"),     57000, 1024, 1040, 1112, 1200, 0,  768,  829,  840,  950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
77
 
 
78
    { MODEPREFIX("640x480Over"),    20160,  640,  648,  704,  720, 0,  480,  487,  491,  560, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
79
    { MODEPREFIX("640x480Over"),    21000,  640,  664,  792,  840, 0,  480,  485,  491,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
80
    { MODEPREFIX("800x600Over"),    35910,  800,  840,  984, 1080, 0,  600,  601,  604,  665, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
81
    { MODEPREFIX("800x600Over"),    32500,  800,  832,  928, 1000, 0,  600,  600,  604,  650, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
82
    { MODEPREFIX("1024x768Over"),   50400, 1024, 1040, 1112, 1200, 0,  768,  772,  776,  840, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
83
    { MODEPREFIX("1024x768Over"),   49500, 1024, 1032, 1112, 1200, 0,  768,  771,  776,  825, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
84
 
 
85
    { MODEPREFIX("720x480"),      25200,  720,  728,  776,  840, 0,  480,  511,  515,  600, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
86
    { MODEPREFIX("720x576"),      28500,  720,  728,  744,  760, 0,  576,  635,  643,  750, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
87
    { MODEPREFIX("720x480Noscale"), 27972,  720,  736,  768,  888, 0,  480,  480,  483,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
88
    { MODEPREFIX("720x576Noscale"), 28000,  720,  728,  864,  896, 0,  576,  576,  579,  625, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
89
};
 
90
 
 
91
static DisplayModeRec CH7019Modes[]={
 
92
    { MODEPREFIX("640x480"),      23520,  640,  656,  744,  784, 0,  480,  487,  491,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
93
    { MODEPREFIX("640x480"),      30000,  640,  680,  808, 1000, 0,  480,  520,  523,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
94
    { MODEPREFIX("800x600"),      39900,  800,  840,  976, 1064, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
95
    { MODEPREFIX("800x600"),      34500,  800,  816,  880,  920, 0,  600,  604,  620,  750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
96
    { MODEPREFIX("1024x768"),     54810, 1024, 1032, 1088, 1160, 0,  768,  780,  792,  945, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
97
    { MODEPREFIX("1024x768"),     57000, 1024, 1040, 1112, 1200, 0,  768,  829,  840,  950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
98
    { MODEPREFIX("640x480Over"),    20160,  640,  648,  704,  720, 0,  480,  487,  491,  560, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
99
    { MODEPREFIX("640x480Over"),    21000,  640,  664,  792,  840, 0,  480,  485,  491,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
100
    { MODEPREFIX("800x600Over"),    35910,  800,  840,  984, 1080, 0,  600,  601,  604,  665, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXNTSC },
 
101
    { MODEPREFIX("800x600Over"),    32500,  800,  832,  928, 1000, 0,  600,  600,  604,  650, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL  },
 
102
    { MODEPREFIX("1024x768Over"),   50400, 1024, 1040, 1112, 1200, 0,  768,  772,  776,  840, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
 
103
    { MODEPREFIX("1024x768Over"),   49500, 1024, 1032, 1112, 1200, 0,  768,  771,  776,  825, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL  },
 
104
};
 
105
 
 
106
 
 
107
typedef struct _VIATVMASKTABLE {
 
108
    CARD8   TV[VIA_BIOS_TABLE_NUM_TV_REG];
 
109
    CARD8   CRTC1[VIA_BIOS_MAX_NUM_TV_CRTC];
 
110
    CARD8   CRTC2[VIA_BIOS_MAX_NUM_TV_CRTC];
 
111
    CARD8   misc1;
 
112
    CARD8   misc2;
 
113
    int     numTV;
 
114
    int     numCRTC1;
 
115
    int     numCRTC2;
 
116
} VIABIOSTVMASKTableRec, *VIABIOSTVMASKTablePtr;
 
117
 
 
118
struct CH7xxxTableRec {
 
119
    char*   name;
 
120
    CARD16  Width;
 
121
    CARD16  Height;
 
122
    int     Standard;
 
123
 
 
124
    CARD8   TV[VIA_BIOS_TABLE_NUM_TV_REG];       /*35*/
 
125
    CARD8   CRTC1[VIA_BIOS_MAX_NUM_TV_CRTC];
 
126
    CARD8   Misc1[VIA_BIOS_NUM_TV_SPECIAL_REG];
 
127
    CARD8   Misc2[VIA_BIOS_NUM_TV_SPECIAL_REG];
 
128
/*merge these three*/
 
129
    CARD8   CRTC2_8BPP[VIA_BIOS_MAX_NUM_TV_CRTC];
 
130
    CARD8   CRTC2_16BPP[VIA_BIOS_MAX_NUM_TV_CRTC];
 
131
    CARD8   CRTC2_32BPP[VIA_BIOS_MAX_NUM_TV_CRTC];
 
132
    CARD16  Patch2[VIA_BIOS_MAX_NUM_TV_PATCH];
 
133
    CARD16  DotCrawlNTSC[VIA_BIOS_NUM_TV_OTHER];
 
134
};
 
135
 
 
136
static struct CH7xxxTableRec
 
137
CH7011Table[] = {
 
138
    { "640x480", 640,  480, TVTYPE_NTSC,
 
139
      { 0X6A, /* 0x00           Mode 17 */
 
140
        0X3F, /* 0x01 FF        Default 0x27 (was 7F) */
 
141
        0X7E, /* 0x02 VBW       Default 0xBE (was 0x7E) */
 
142
        0X8B, /* 0x03 TE        Decent Text 0x8B (was 8D) */
 
143
        0X28, /* 0x04 SAV       Default 0x50 (was 0x21) */
 
144
        0X2C, /* 0x05 HP        Default 0x50 (was 0x2E) */
 
145
        0X05, /* 0x06 VP        Default 0x00 (was 0x04) */
 
146
        0X83, /* 0x07 BL        Default 0x83 */
 
147
        0X03, /* 0x08 CE        Default 0x03 */
 
148
        0X80, /* 0x09 TPC       Default 0x80 */
 
149
        0X3F, /* 0x0A PLLM      Default 0x3F */
 
150
        0X7E, /* 0x0B PLLN      Default 0x7E */
 
151
        0X20, /* 0x0C FSCI      Default 0x20 */
 
152
        0X80, /* 0x0D FSCI      Default 0x80 */
 
153
        0X00, /* 0x0E FSCI      Default 0x08 (was 00) */
 
154
        0X00, /* 0x0F FSCI      Default 0xEB (was 00) */
 
155
        0,    /* 0x10 CIVC */
 
156
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* We don't touch these */
 
157
        0X48, /* 0x1C */
 
158
        0X40, /* 0x1D */
 
159
        0XD2, /* 0x1E */
 
160
        0X80, /* 0x1F */
 
161
        0X40, /* 0x20 */
 
162
        0,    /* 0x21 */
 
163
        0,    /* 0x22 */ },
 
164
      { 0X5D, 0X4F, 0X4F, 0X81, 0X52, 0X9E, 0X56, 0XBA, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X8, 0, 0XDF, 0, 0, 0XDF, 0X57, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
165
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
166
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
167
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
168
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
169
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
170
      { 0X2284, 0, 0, 0, 0, 0, 0, 0 },
 
171
      { 0X2, 0X811, 0X9217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
172
    },
 
173
 
 
174
    { "640x480", 640,  480, TVTYPE_PAL,
 
175
      { 0X61, /* 0x00         PAL Mode 14 non-OS 640x480 1:1 */
 
176
        0X27, /* 0x01 FF      Default 0x27 (was 7F) */
 
177
        0XBE, /* 0x02 VBW     Default 0xBE (was 0x7E) */
 
178
        0X8B, /* 0x03 TE      Decent Text 0x8B (was 8D) */
 
179
        0X28, /* 0x04 SAV     Default 0x50 (was 0x21) */
 
180
        0X2C, /* 0x05 HP      Default 0x50 (was 0x2E) */
 
181
        0X05, /* 0x06 VP      Default 0x00 (was 0x04) */
 
182
        0X83, /* 0x07 BL      Default 0x83 */
 
183
        0X01, /* 0x08 CE      Default 0x03 */
 
184
        0X81, /* 0x09 TPC     Default 0x80 */
 
185
        0X04, /* 0x0A PLLM    Default 0x3F */
 
186
        0X09, /* 0x0B PLLN    Default 0x7E */
 
187
        0X26, /* 0x0C FSCI    Default 0x20 */
 
188
        0X6F, /* 0x0D FSCI    Default 0x80 */
 
189
        0X1F, /* 0x0E FSCI    Default 0x08 */
 
190
        0XD0, /* 0x0F FSCI    Default 0xEB */
 
191
        0,    /* 0x10 CIVC */
 
192
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* We don't touch these */
 
193
        0X48, /* 0x1C */
 
194
        0X40, /* 0x1D */
 
195
        0XD2, /* 0x1E */
 
196
        0X80, /* 0x1F */
 
197
        0X40, /* 0x20 */
 
198
        0,    /* 0x21 */
 
199
        0,    /* 0x22 */ },
 
200
      { 0X64, 0X4F, 0X4F, 0X88, 0X53, 0X83, 0X6F, 0XBA, 0, 0X40, 0, 0, 0, 0, 0, 0, 0X11, 0, 0XDF, 0, 0, 0XDF, 0X70, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
201
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
202
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
203
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
204
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
205
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
206
      { 0X3284, 0, 0, 0, 0, 0, 0, 0 },
 
207
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
208
    },
 
209
 
 
210
    { "800x600", 800,  600, TVTYPE_NTSC,
 
211
      { 0XCF, /* 0x00           Mode 29 */
 
212
        0X27, /* 0x01 FF        Default 0x27  (was 7F) */
 
213
        0XBE, /* 0x02 VBW       Default 0xBE (was 0x76) */
 
214
        0X8B, /* 0x03 TE        Decent Text 0x8B (was 8F) */
 
215
        0X59, /* 0x04 SAV*/
 
216
        0X3C, /* 0x05 HP */
 
217
        0X15, /* 0x06 VP */
 
218
        0X66, /* 0x07 BL        Default 0x83 */
 
219
        0X3,  /* 0x08 CE        Default 0x03 */
 
220
        0X88,
 
221
        0X59,
 
222
        0X2E,
 
223
        0X19,
 
224
        0X8B,
 
225
        0X3A,
 
226
        0X63,
 
227
        0,
 
228
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
229
        0X48,
 
230
        0X40,
 
231
        0XD2,
 
232
        0X80,
 
233
        0X40,
 
234
        0,
 
235
        0, },
 
236
        { 0X80, 0X63, 0X63, 0X84, 0X69, 0X1A, 0XEC, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X5C, 0, 0X57, 0, 0, 0X57, 0XED, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
237
        { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
238
        { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
239
        { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
240
        { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
241
        { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
242
        { 0X5A84, 0, 0, 0, 0, 0, 0, 0 },
 
243
        { 0X2, 0X811, 0X5117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
244
    },
 
245
 
 
246
    { "800x600", 800,  600, TVTYPE_PAL,
 
247
      { 0XC3, 0X7F, 0XE0, 0X8F, 0X39, 0X3F, 0X38, 0X70, 0X3, 0X81, 0X21, 0X56, 0X1F, 0X87, 0X28, 0X18,
 
248
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
249
        0X40, 0, 0, },
 
250
      { 0X73, 0X63, 0X63, 0X97, 0X67, 0X91, 0XEC, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X7E, 0, 0X57, 0, 0, 0X57, 0XED, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
251
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
252
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
253
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
254
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
255
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
256
      { 0X3A84, 0, 0, 0, 0, 0, 0, 0 },
 
257
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
258
    },
 
259
 
 
260
/*check these two modes*/
 
261
    { "1024x768", 1024, 768, TVTYPE_NTSC,
 
262
      { 0XEE,
 
263
        0X3F, /* 0x01 FF        Default 0x27 (was 7F) */
 
264
        0X7E,
 
265
        0X87,
 
266
        0X49,
 
267
        0X32,
 
268
        0X9,
 
269
        0X83,
 
270
        0X3,
 
271
        0X88,
 
272
        0X47,
 
273
        0X4D,
 
274
        0X1B,
 
275
        0XE4,
 
276
        0X89,
 
277
        0X51,
 
278
        0,
 
279
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
280
        0X48,
 
281
        0X40,
 
282
        0XD2,
 
283
        0X80,
 
284
        0X40,
 
285
        0,
 
286
        0, },
 
287
      { 0X8C, 0X7F, 0X7F, 0X90, 0X81, 0X8, 0XAF, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0XC, 0, 0XFF, 0, 0, 0XFF, 0XB0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
288
      { 0, 0X40, 0X80, 0XE, 0X47, 0X1C, 0, 0 },
 
289
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
290
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
291
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
292
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
293
      { 0X4A84, 0, 0, 0, 0, 0, 0, 0 },
 
294
      { 0X2, 0X811, 0X6717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
295
    },
 
296
 
 
297
    { "1024x768", 1024, 768, TVTYPE_PAL,
 
298
      { 0XE5, 0X7F, 0XE0, 0X8F, 0XC1, 0X3E, 0X4A, 0X70, 0, 0X81, 0X7, 0X2A, 0X20, 0X6D, 0XC2, 0XD7,
 
299
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
300
        0X40, 0, 0, },
 
301
      { 0XAA, 0X7F, 0X7F, 0X8E, 0X83, 0X97, 0XE6, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X11, 0, 0XFF, 0, 0, 0XFF, 0XE7, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
302
      { 0, 0X40, 0X80, 0XE, 0X47, 0X1C, 0, 0 },
 
303
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
304
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
305
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
306
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
307
      { 0XC284, 0, 0, 0, 0, 0, 0, 0 },
 
308
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
309
    },
 
310
 
 
311
    { "640x480Over", 640,  480, TVTYPE_NTSC,
 
312
      { 0X69, /* 0x00 DM        Mode 16 640x480 1/1 */
 
313
        0X3F, /* 0x01 FF        Default 0x27 (was 7F) */
 
314
        0X7E, /* 0x02 VBW       Default 0xBE (was 7E) */
 
315
        0X03, /* 0x03 TE        Decent text 0x83 (was 8D) */
 
316
        0X18, /* 0x04 SAV       Default 0x50 (was 10) */
 
317
        0X19, /* 0x05 HP        Default 0x50 */
 
318
        0XFB, /* 0x06 VP        Default 0x00 */
 
319
        0X83, /* 0x07 BL        Default 0x83 (NTSC-J 66) */
 
320
        0X03, /* 0x08 CE        Default 0x03 */
 
321
        0X80, /* 0x09 TPC       Default 0x80 */
 
322
        0X3F, /* 0x0A PLLM      Default 0x3F */
 
323
        0X6E, /* 0x0B PLLN      Default 0x7E */
 
324
        0X25, /* 0x0C FSCI      Default 0x25 */
 
325
        0X24, /* 0x0D FSCI      Default 0x24 */
 
326
        0X92, /* 0x0E FSCI      Default 0x9C (was 92) */
 
327
        0X49, /* 0x0F FSCI      Default 0x7A (was 49) */
 
328
        0X00, /* 0x10 CIVC      Default 0x01 */
 
329
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* We don't touch these */
 
330
        0X48, /* 0x1C CM        Default 0x00 */
 
331
        0X40, /* 0x1D IC        Default 0x88 */
 
332
        0XD2, /* 0x1E GPIO      Default 0xC0 */
 
333
        0X80, /* 0x1F IDF       Default 0x00 */
 
334
        0X40, /* 0x20 CD */
 
335
        0X00, /* 0x21 DC */
 
336
        0X00, /* 0x22 BCO       Default 0x00 */ },
 
337
/* why is this #ifed, what's the difference? */
 
338
#if 0
 
339
        { 0X55, 0X4F, 0X4F, 0X99, 0X51, 0X18, 0X2E, 0X3E, 0, 0X40, 0, 0, 0, 0, 0, 0, 0XE7, 0, 0XDF, 0, 0, 0XDF, 0X2F, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
340
        { 0X20, 0X40, 0, 0, 0X87, 0X1C, 0, 0 },
 
341
        { 0, 0, 0, 0X87, 0X1C, 0, 0, 0 },
 
342
        { 0XCF, 0X7F, 0X7F, 0XCF, 0X92, 0X22, 0X87, 0XBC, 0X2F, 0XDF, 0XDF, 0X2F, 0X11, 0XA, 0XFF, 0X24, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
343
        { 0XCF, 0X7F, 0X7F, 0XCF, 0X92, 0X22, 0X87, 0XBC, 0X2F, 0XDF, 0XDF, 0X2F, 0X11, 0XA, 0XFF, 0X24, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
344
        { 0XCF, 0X7F, 0X7F, 0XCF, 0X92, 0X22, 0X87, 0XBC, 0X2F, 0XDF, 0XDF, 0X2F, 0X11, 0XA, 0XFF, 0X24, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
345
        { 0X7107, 0, 0, 0, 0, 0, 0, 0 },
 
346
        { 0X3, 0X811, 0XF416, 0X9F17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
347
#else
 
348
        { 0X5D, 0X4F, 0X4F, 0X81, 0X52, 0X9E, 0XB, 0X3E, 0, 0X60, 0, 0, 0, 0, 0, 0, 0XEE, 0, 0XDF, 0, 0, 0XDF, 0XC, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
349
        { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
350
        { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
351
        { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
352
        { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
353
        { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
354
        { 0X1184, 0, 0, 0, 0, 0, 0, 0 },
 
355
        { 0X2, 0X811, 0XAD17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
356
#endif
 
357
    },
 
358
 
 
359
    { "640x480Over", 640,  480, TVTYPE_PAL,
 
360
      { 0X60, /* 0x00 DM      Mode 13 PAL 640x480 OS 5/4 */
 
361
        0X27, /* 0x01 FF      Default 0x27 (was 7F) */
 
362
        0XBE, /* 0x02 VBW     Default 0xBE (was 7E) */
 
363
        0X83, /* 0x03 TE      Decent text 0x8B (was 8D) */
 
364
        0X10, /* 0x04 SAV     Default 0x50 */
 
365
        0X19, /* 0x05 HP      Default 0x50 */
 
366
        0XFB, /* 0x06 VP      Default 0x00 */
 
367
        0X83, /* 0x07 BL      Default 0x83 */
 
368
        0X01, /* 0x08 CE      Default 0x03 */
 
369
        0X81, /* 0x09 TPC     Default 0x80 */
 
370
        0X0D, /* 0x0A PLLM    Default 0x3F */
 
371
        0X0B, /* 0x0B PLLN    Default 0x7E */
 
372
        0X30, /* 0x0C FSCI    Default 0x25 */
 
373
        0X0A, /* 0x0D FSCI    Default 0x24 */
 
374
        0XE7, /* 0x0E FSCI    Default 0x9C */
 
375
        0XC4, /* 0x0F FSCI    Default 0x7A */
 
376
        0X00, /* 0x10 CIVC    Default 0x01 */
 
377
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* We don't touch these */
 
378
        0X48, /* 0x1C CM      Default 0x00 */
 
379
        0X40, /* 0x1D IC      Default 0x88 */
 
380
        0XD2, /* 0x1E GPIO    Default 0xC0 */
 
381
        0X80, /* 0x1F IDF     Default 0x00 */
 
382
        0X40, /* 0x20 CD */
 
383
        0X00, /* 0x21 DC */
 
384
        0X00, /* 0x22 BCO     Default 0x00 */ },
 
385
      { 0X64, 0X4F, 0X4F, 0X88, 0X53, 0X83, 0XF2, 0X1F, 0, 0X40, 0, 0, 0, 0, 0, 0, 0XE5, 0, 0XDF, 0, 0, 0XDF, 0XF3, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
386
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
387
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
388
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
389
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
390
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
391
      { 0X3184, 0, 0, 0, 0, 0, 0, 0 },
 
392
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
393
    },
 
394
 
 
395
    { "800x600Over", 800,  600, TVTYPE_NTSC,
 
396
        { 0XCE, /* 0x00         Mode 28 */
 
397
          0X27, /* 0x01         Default 0x27 (was 7F) */
 
398
          0XBE, /* 0x02         Default 0xBE (was 76) */
 
399
          0X8F, /* 0x03 */
 
400
          0X51, /* 0x04 */
 
401
          0X2E, /* 0x05 */
 
402
          0X10, /* 0x06 */
 
403
          0X83, /* 0x07 */
 
404
          0X3,  /* 0x08 */
 
405
          0X81, /* 0x09 */
 
406
          0X13, /* 0x0A */
 
407
          0X3E, /* 0x0B */
 
408
          0X1C, /* 0x0C */
 
409
          0,    /* 0x0D */
 
410
          0,    /* 0x0E */
 
411
          0,    /* 0x0F */
 
412
          0,    /* 0x10 */
 
413
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
414
          0X48,
 
415
          0X40,
 
416
          0XD2,
 
417
          0X80,
 
418
          0X40, 0, 0, },
 
419
        { 0X7D, 0X63, 0X63, 0X81, 0X69, 0X18, 0XBA, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X5A, 0, 0X57, 0, 0, 0X57, 0XBB, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
420
        { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
421
        { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
422
        { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
423
        { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
424
        { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
425
        { 0X5284, 0, 0, 0, 0, 0, 0, 0 },
 
426
        { 0X2, 0X811, 0XD017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
427
    },
 
428
 
 
429
    { "800x600Over", 800,  600, TVTYPE_PAL,
 
430
        { 0XC1, 0X7F, 0XE0, 0X8F, 0X20, 0X1D, 0X36, 0X70, 0X3, 0X94, 0X39, 0X87, 0X26, 0X79, 0X8C, 0XC,
 
431
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
432
          0X40, 0, 0, },
 
433
      { 0X71, 0X63, 0X63, 0X95, 0X67, 0X90, 0X6F, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X57, 0, 0X57, 0, 0, 0X57, 0X70, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
434
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
435
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
436
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
437
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
438
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
439
      { 0X2184, 0, 0, 0, 0, 0, 0, 0 },
 
440
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
441
    },
 
442
 
 
443
    { "1024x768Over", 1024,  768, TVTYPE_NTSC,
 
444
      { 0XED,
 
445
        0X3F, /* 0x01 FF        Default 0x27 (was 7F) */
 
446
        0X7E,
 
447
        0X87,
 
448
        0X49,
 
449
        0X20,
 
450
        0,
 
451
        0X83,
 
452
        0X3,
 
453
        0X90,
 
454
        0X89,
 
455
        0X35,
 
456
        0X1F,
 
457
        0X61,
 
458
        0X1A,
 
459
        0X7C,
 
460
        0,
 
461
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
462
        0X48,
 
463
        0X40,
 
464
        0XD2,
 
465
        0X80,
 
466
        0X40,
 
467
        0,
 
468
        0, },
 
469
      { 0X8C, 0X7F, 0X7F, 0X90, 0X81, 0X8, 0X46, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X4, 0, 0XFF, 0, 0, 0XFF, 0X47, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
470
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
471
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
472
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
473
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
474
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
475
      { 0X5084, 0, 0, 0, 0, 0, 0, 0 },
 
476
      { 0X2, 0X811, 0X4517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
477
    },
 
478
 
 
479
    { "1024x768Over", 1024,  768, TVTYPE_PAL,
 
480
      { 0XE4, 0X7F, 0XA0, 0X8F, 0XB1, 0X28, 0X37, 0X70, 0, 0X81, 0X10, 0X4C, 0X25, 0XF, 0XBA, 0X1B,
 
481
        0X1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
482
        0X40, 0, 0, },
 
483
      { 0XAA, 0X7F, 0X7F, 0X8E, 0X84, 0X97, 0X69, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X7, 0, 0XFF, 0, 0, 0XFF, 0X6A, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
484
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
485
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
486
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
487
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
488
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
489
      { 0XB184, 0, 0, 0, 0, 0, 0, 0 },
 
490
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
491
    },
 
492
 
 
493
    { "720x480", 720,  480, TVTYPE_NTSC,
 
494
        { 0X89, /* 0x00 DM      Mode 19 720x480 1/1 */
 
495
          0X3F, /* 0x01 FF      Default 0x27 (was 7F) */
 
496
          0X7E, /* 0x02 VBW     Default 0xBE (was 7E) */
 
497
          0X03, /* 0x03 TE      Decent text 0x83 (was 8D) */
 
498
          0X18, /* 0x04 SAV     Default 0x50 (was 10) */
 
499
          0X19, /* 0x05 HP      Default 0x50 */
 
500
          0XFB, /* 0x06 VP      Default 0x00 */
 
501
          0X83, /* 0x07 BL      Default 0x83 (NTSC-J 66) */
 
502
          0X03, /* 0x08 CE      Default 0x03 */
 
503
          0X80, /* 0x09 TPC     Default 0x80 */
 
504
          0X3F, /* 0x0A PLLM    Default 0x3F */
 
505
          0X7C, /* 0x0B PLLN    Default 0x7C */
 
506
          0X21, /* 0x0C FSCI    Default 0x25 */
 
507
          0X04, /* 0x0D FSCI    Default 0x04 */
 
508
          0X10, /* 0x0E FSCI    Default 0x10 */
 
509
          0X41, /* 0x0F FSCI    Default 0x41 */
 
510
          0X00, /* 0x10 CIVC    Default 0x01 */
 
511
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* We don't touch these */
 
512
          0X48, /* 0x1C CM      Default 0x00 */
 
513
          0X40, /* 0x1D IC      Default 0x88 */
 
514
          0XD2, /* 0x1E GPIO    Default 0xC0 */
 
515
          0X80, /* 0x1F IDF     Default 0x00 */
 
516
          0X40, /* 0x20 CD */
 
517
          0X00, /* 0x21 DC */
 
518
          0X00, /* 0x22 BCO     Default 0x00 */ },
 
519
        { 0X64, 0X59, 0X59, 0X88, 0X5B, 0X81, 0X56, 0X3E, 0, 0X40, 0, 0, 0, 0, 0, 0, 0XFF, 0, 0XDF, 0, 0, 0XDF, 0X57, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
520
        { 0X20, 0X40, 0, 0X4, 0X87, 0X1C, 0, 0 },
 
521
        { 0, 0, 0, 0X87, 0X1C, 0, 0, 0 },
 
522
        { 0X47, 0XCF, 0XCF, 0X47, 0X9A, 0X23, 0XD9, 0XA, 0X57, 0XDF, 0XDF, 0X57, 0X51, 0XA, 0XFF, 0X3B, 0, 0, 0, 0, 0, 0X2D, 0X5A, 0, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
523
        { 0X47, 0XCF, 0XCF, 0X47, 0X9A, 0X23, 0XD9, 0XA, 0X57, 0XDF, 0XDF, 0X57, 0X51, 0XA, 0XFF, 0X3B, 0, 0, 0, 0, 0, 0X5A, 0XB4, 0X40, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
524
        { 0X47, 0XCF, 0XCF, 0X47, 0X9A, 0X23, 0XD9, 0XA, 0X57, 0XDF, 0XDF, 0X57, 0X51, 0XA, 0XFF, 0X3B, 0, 0, 0, 0, 0, 0XB4, 0X68, 0X81, 0, 0, 0X80, 0, 0X80, 0, 0, 0 },
 
525
        { 0X6E07, 0, 0, 0, 0, 0, 0, 0 },
 
526
        { 0X3, 0X811, 0XC316, 0X4C17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
527
    },
 
528
 
 
529
/* don't we want 720x576 for pal? */
 
530
    { "720x480", 720,  480, TVTYPE_PAL,
 
531
        { 0XE4, 0X7F, 0XA0, 0X8F, 0XB1, 0X28, 0X37, 0X70, 0, 0X81, 0X10, 0X4C, 0X25, 0XF, 0XBA, 0X1B,
 
532
          0X1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
533
          0X40, 0, 0, },
 
534
      { 0XAA, 0X7F, 0X7F, 0X8E, 0X84, 0X97, 0X69, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X7, 0, 0XFF, 0, 0, 0XFF, 0X6A, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
535
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
536
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
537
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
538
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
539
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
540
      { 0XB184, 0, 0, 0, 0, 0, 0, 0 },
 
541
      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
542
    },
 
543
};
 
544
 
 
545
static struct CH7xxxTableRec
 
546
CH7019Table[] = {
 
547
    { "640x480", 640,  480, TVTYPE_NTSC,
 
548
      { 0X6A, 0X7F, 0X7E, 0X8D, 0X21, 0X2E, 0X4, 0X83, 0X3, 0X80, 0X3F, 0X7E, 0X20, 0X80,   0,   0,
 
549
        0,    0,    0,    0,    0,    0,   0,    0,   0,    0,    0,    0, 0X48, 0X40, 0XD2, 0X80,
 
550
        0X40, 0, 0 },
 
551
      { 0X5D, 0X4F, 0X4F, 0X81, 0X52, 0X9E, 0X56, 0XBA, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X8, 0, 0XDF, 0, 0, 0XDF, 0X57, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
552
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
553
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
554
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
555
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
556
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XEF, 0X57, 0XDF, 0XDF, 0X57, 0X11, 0XA, 0X8, 0X50, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
557
      { 0X2284, 0, 0, 0, 0, 0, 0, 0 },
 
558
      { 0X2, 0X811, 0X9217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
559
    },
 
560
 
 
561
    { "640x480", 640,  480, TVTYPE_PAL,
 
562
      { 0X61, 0X7F, 0XE0, 0X8F, 0X31, 0X35, 0X33, 0X6E, 0X3, 0X81, 0X4, 0X9, 0X26, 0X6F, 0X1F, 0XD0,
 
563
        0,    0,    0,    0,    0,    0,    0,    0,   0,    0  , 0,   0, 0X48, 0X40, 0XD2, 0X80,
 
564
        0X40, 0, 0 },
 
565
      { 0X64, 0X4F, 0X4F, 0X88, 0X53, 0X83, 0X6F, 0XBA, 0, 0X40, 0, 0, 0, 0, 0, 0, 0X11, 0, 0XDF, 0, 0, 0XDF, 0X70, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
566
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
567
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
568
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
569
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
570
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0X1E, 0X70, 0XDF, 0XDF, 0X70, 0X51, 0XA, 0X11, 0X5D, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
571
      { 0X3284, 0, 0, 0, 0, 0, 0, 0 },
 
572
    },
 
573
 
 
574
    { "800x600", 800,  600, TVTYPE_NTSC,
 
575
      { 0XCF, 0X7F, 0X76, 0X8F, 0X59, 0X3C, 0X15, 0X83, 0X3, 0X88, 0X59, 0X2E, 0X19, 0X8B, 0X3A, 0X63,
 
576
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
577
        0X40, 0, 0},
 
578
      { 0X80, 0X63, 0X63, 0X84, 0X69, 0X1A, 0XEC, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X5C, 0, 0X57, 0, 0, 0X57, 0XED, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
579
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
580
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
581
      { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
582
      { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
583
      { 0X27, 0X1F, 0X1F, 0X27, 0XE3, 0X34, 0X48, 0XD6, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X5C, 0X5D, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
584
      { 0X5A84, 0, 0, 0, 0, 0, 0, 0 },
 
585
      { 0X2, 0X811, 0X5117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
586
    },
 
587
 
 
588
    { "800x600", 800,  600, TVTYPE_PAL,
 
589
      { 0XC3, 0X7F, 0XE0, 0X8F, 0X39, 0X3F, 0X38, 0X70, 0X3, 0X81, 0X21, 0X56, 0X1F, 0X87, 0X28, 0X18,
 
590
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
591
        0X40, 0, 0},
 
592
      { 0X73, 0X63, 0X63, 0X97, 0X67, 0X91, 0XEC, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X7E, 0, 0X57, 0, 0, 0X57, 0XED, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
593
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
594
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
595
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
596
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
597
      { 0XBF, 0X1F, 0X1F, 0XBF, 0XDB, 0X33, 0X38, 0X8E, 0XED, 0X57, 0X57, 0XED, 0X52, 0X12, 0X74, 0X4D, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
598
      { 0X3A84, 0, 0, 0, 0, 0, 0, 0 },
 
599
    },
 
600
 
 
601
    { "1024x768", 1024,  768, TVTYPE_NTSC,
 
602
      { 0XEE, 0X7F, 0X7E, 0X87, 0X49, 0X32, 0X9, 0X83, 0X3, 0X88, 0X47, 0X4D, 0X1B, 0XE4, 0X89, 0X51,
 
603
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
604
        0X40, 0, 0},
 
605
      { 0X8C, 0X7F, 0X7F, 0X90, 0X81, 0X8, 0XAF, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0XC, 0, 0XFF, 0, 0, 0XFF, 0XB0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
606
      { 0, 0X40, 0X80, 0XE, 0X47, 0X1C, 0, 0 },
 
607
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
608
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
609
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
610
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X3F, 0XB0, 0XFF, 0XFF, 0XB0, 0X9A, 0X13, 0XC, 0X7A, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
611
      { 0X4A84, 0, 0, 0, 0, 0, 0, 0 },
 
612
      { 0X2, 0X811, 0X6717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
613
    },
 
614
 
 
615
    { "1024x768", 1024,  768, TVTYPE_PAL,
 
616
      { 0XE5, 0X7F, 0XE0, 0X8F, 0XC1, 0X3E, 0X4A, 0X70, 0, 0X81, 0X7, 0X2A, 0X20, 0X6D, 0XC2, 0XD7,
 
617
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
618
        0X40, 0, 0},
 
619
      { 0XAA, 0X7F, 0X7F, 0X8E, 0X83, 0X97, 0XE6, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X11, 0, 0XFF, 0, 0, 0XFF, 0XE7, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
620
      { 0, 0X40, 0X80, 0XE, 0X47, 0X1C, 0, 0 },
 
621
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
622
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
623
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
624
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XBE, 0XE7, 0XFF, 0XFF, 0XE7, 0X9A, 0X13, 0X7, 0X7B, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X8E, 0, 0, 0 },
 
625
      { 0XC284, 0, 0, 0, 0, 0, 0, 0 },
 
626
    },
 
627
 
 
628
    { "640x480Over", 640,  480, TVTYPE_NTSC,
 
629
      { 0X69, 0X7F, 0X7E, 0X8D, 0X10, 0X19, 0, 0X83, 0X3, 0X80, 0X3F, 0X6E, 0X25, 0X24, 0X92, 0X49,
 
630
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
631
        0X40, 0, 0},
 
632
      { 0X5D, 0X4F, 0X4F, 0X81, 0X52, 0X9E, 0XB, 0X3E, 0, 0X60, 0, 0, 0, 0, 0, 0, 0XEE, 0, 0XDF, 0, 0, 0XDF, 0XC, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
633
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
634
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
635
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
636
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
637
      { 0XF, 0X7F, 0X7F, 0XF, 0X9A, 0X23, 0X8F, 0XFF, 0XC, 0XDF, 0XDF, 0XC, 0X11, 0XA, 0XEE, 0X31, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
638
      { 0X1184, 0, 0, 0, 0, 0, 0, 0 },
 
639
      { 0X2, 0X811, 0XAD17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
640
    },
 
641
 
 
642
    { "640x480Over", 640,  480, TVTYPE_PAL,
 
643
      { 0X60, 0X7F, 0XE0, 0X8F, 0X31, 0X1B, 0X2D, 0X6E, 0X3, 0X81, 0XD, 0X14, 0X30, 0XA, 0XE7, 0XC4,
 
644
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
645
        0X40, 0, 0},
 
646
      { 0X64, 0X4F, 0X4F, 0X88, 0X53, 0X83, 0XF2, 0X1F, 0, 0X40, 0, 0, 0, 0, 0, 0, 0XE5, 0, 0XDF, 0, 0, 0XDF, 0XF3, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
647
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
648
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
649
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0X28, 0X50, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
650
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0X50, 0XA0, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
651
      { 0X47, 0X7F, 0X7F, 0X47, 0X9A, 0X23, 0X95, 0XFF, 0XF3, 0XDF, 0XDF, 0XF3, 0X9, 0X9, 0XE5, 0X40, 0, 0, 0, 0, 0, 0XA0, 0X40, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
652
      { 0X3184, 0, 0, 0, 0, 0, 0, 0 },
 
653
    },
 
654
 
 
655
    { "800x600Over", 800,  600, TVTYPE_NTSC,
 
656
      { 0XCE, 0X7F, 0X76, 0X8F, 0X51, 0X2E, 0X10, 0X83, 0X3, 0X81, 0X13, 0X3E, 0X1C,
 
657
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
658
        0X40, 0, 0},
 
659
      { 0X7D, 0X63, 0X63, 0X81, 0X69, 0X18, 0XBA, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X5A, 0, 0X57, 0, 0, 0X57, 0XBB, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
660
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
661
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
662
      { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
663
      { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
664
      { 0XF, 0X1F, 0X1F, 0XF, 0XE3, 0X34, 0X44, 0XC6, 0XBB, 0X57, 0X57, 0XBB, 0X52, 0X12, 0X3F, 0X59, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
665
      { 0X5284, 0, 0, 0, 0, 0, 0, 0 },
 
666
      { 0X2, 0X811, 0XD017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
667
    },
 
668
 
 
669
    { "800x600Over", 800,  600, TVTYPE_PAL,
 
670
      { 0XC1, 0X7F, 0XE0, 0X8F, 0X20, 0X1D, 0X36, 0X70, 0X3, 0X94, 0X39, 0X87, 0X26, 0X79, 0X8C, 0XC,
 
671
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
672
        0X40, 0, 0},
 
673
      { 0X71, 0X63, 0X63, 0X95, 0X67, 0X90, 0X6F, 0XF0, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X57, 0, 0X57, 0, 0, 0X57, 0X70, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
674
      { 0X20, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
675
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
676
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0X32, 0X64, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
677
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0X64, 0XC8, 0X40, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
678
      { 0XAF, 0X1F, 0X1F, 0XAF, 0XDB, 0X33, 0X35, 0X8E, 0X70, 0X57, 0X57, 0X70, 0X52, 0X12, 0X57, 0X5A, 0, 0, 0, 0, 0, 0XC8, 0X90, 0X81, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
679
      { 0X2184, 0, 0, 0, 0, 0, 0, 0 },
 
680
    },
 
681
 
 
682
    { "1024x768Over", 1024,  768, TVTYPE_NTSC,
 
683
      { 0XED, 0X7F, 0X7E, 0X87, 0X49, 0X20, 0, 0X83, 0X3, 0X90, 0X89, 0X35, 0X1F, 0X61, 0X1A, 0X7C,
 
684
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
685
        0X40, 0, 0},
 
686
      { 0X8C, 0X7F, 0X7F, 0X90, 0X81, 0X8, 0X46, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X4, 0, 0XFF, 0, 0, 0XFF, 0X47, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
687
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
688
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
689
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
690
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
691
      { 0X87, 0XFF, 0XFF, 0X87, 0X23, 0X34, 0X9, 0X38, 0X47, 0XFF, 0XFF, 0X47, 0X9A, 0X13, 0X4, 0X6F, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
692
      { 0X5084, 0, 0, 0, 0, 0, 0, 0 },
 
693
      { 0X2, 0X811, 0X4517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
694
    },
 
695
 
 
696
    { "1024x768Over", 1024,  768, TVTYPE_PAL,
 
697
      { 0XE4, 0X7F, 0XA0, 0X8F, 0XB1, 0X28, 0X37, 0X70, 0, 0X81, 0X10, 0X4C, 0X25, 0XF, 0XBA, 0X1B, 0X1,
 
698
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0X48, 0X40, 0XD2, 0X80,
 
699
        0X40, 0, 0},
 
700
      { 0XAA, 0X7F, 0X7F, 0X8E, 0X84, 0X97, 0X69, 0XF5, 0, 0X60, 0, 0, 0, 0, 0, 0, 0X7, 0, 0XFF, 0, 0, 0XFF, 0X6A, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
701
      { 0, 0X40, 0X80, 0, 0X47, 0X1C, 0, 0 },
 
702
      { 0, 0, 0, 0X47, 0X1C, 0, 0, 0 },
 
703
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X40, 0X80, 0, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
704
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0X80, 0, 0X41, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
705
      { 0X77, 0XFF, 0XFF, 0X77, 0X2B, 0X35, 0X1B, 0XB7, 0X6A, 0XFF, 0XFF, 0X6A, 0X9A, 0X13, 0X7, 0X77, 0, 0, 0, 0, 0, 0, 0, 0X86, 0, 0, 0X80, 0X20, 0X90, 0, 0, 0 },
 
706
      { 0XB184, 0, 0, 0, 0, 0, 0, 0 },
 
707
    }
 
708
};
 
709
 
 
710
static const VIABIOSTVMASKTableRec ch7011MaskTable = {
 
711
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,
 
712
      0XFF, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0XFF, 0XFF, 0XFF, 0XFF,
 
713
      0XFF, 0XFF, 0XFF },
 
714
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,    0, 0XFF,    0,    0,    0,    0,    0,    0,
 
715
      0XFF,    0, 0XFF,    0,    0, 0XFF, 0XFF,    0,    0,    0,    0,    0,    0,    0,    0,    0 },
 
716
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,
 
717
      0,    0,    0,    0,    0, 0XFF, 0XFF, 0XFF,    0,    0, 0XFF, 0XFF, 0XFF,    0,    0,    0 },
 
718
    0X3F, 0X38,24,13,22
 
719
};
 
720
 
 
721
static const VIABIOSTVMASKTableRec ch7019MaskTable = {
 
722
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,
 
723
      0XFF,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 0XFF, 0XFF, 0XFF, 0XFF,
 
724
      0XFF, 0XFF, 0XFF },
 
725
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,    0, 0XFF,    0,    0,    0,    0,    0,    0,
 
726
      0XFF,    0, 0XFF,    0,    0, 0XFF, 0XFF,    0,    0,    0,    0,    0,    0,    0,    0,    0 },
 
727
    { 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF,
 
728
         0,    0,    0,    0,    0, 0XFF, 0XFF, 0XFF,    0,    0, 0XFF, 0XFF, 0XFF,    0,    0,    0 },
 
729
    0X3F, 0X38,24,13,22
 
730
};
 
731
 
 
732
#endif