📄 scaler.lst
字号:
C51 COMPILER V7.06 SCALER 12/11/2007 11:28:43 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SCALER
OBJECT MODULE PLACED IN .\BIN\Scaler.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\Scaler.C LARGE OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND PRINT(.\LST\Scaler.
-lst) OBJECT(.\BIN\Scaler.obj)
stmt level source
1 /*==========================================
2 ==========================================*/
3 #include "include.h"
4 /*==========================================
5 ==========================================*/
6 #if PanelDepth == 6
7 #define DisplayColorDepth 0xff
8 #define DT158 PanelDethMode
9 #else
#define DisplayColorDepth 0x00
#define DT158 PanelDethMode
#endif
13
14 #if PanelTwoPixelPerClk == 1
#define DisplayBusWidth 0x00
#else
17 #define DisplayBusWidth 0xff
18 #endif
19
20 #if PanelSync_DE == 1
#define DisplaySyncMode 0xff
#else
23 #define DisplaySyncMode 0x00
24 #endif
25 #if PANEL == Topply_CarTV
26 #define DisplayControl (0x61 | (DisplayColorDepth & BIT_3) | (DisplayBusWidth & BIT_2) | (DisplaySyncMode
-& BIT_1))
27 #else
#define DisplayControl (0x61 | (DisplayColorDepth & BIT_3) | (DisplayBusWidth & BIT_2) | (DisplaySyncMode
-& BIT_1))
#endif
30 #define DT155 (unsigned char)PanelPadDrive
31 #define DT156 (unsigned char)(PanelPadDrive >> 8)|((~Panel_Invert_DVS & BIT_4) | (~Panel_Invert_DHS & BIT_
-5) | (~Panel_Invert_DCLK & BIT_6) | (~Panel_Invert_DEN & BIT_7))
32 #define DT61 ((Panel_Invert_DVS & BIT_0) | (Panel_Invert_DHS & BIT_1) | (Panel_Invert_DCLK & BIT_2) | (Pan
-el_Invert_DEN & BIT_3))
33 /*
34 code unsigned short H_ActiveTab[]={
35 640,720,640,720,640,848,800,832,1024,1152,1152,1152,1280,1280,1600,1280,1280,756
36 };
37 code unsigned short V_ActiveTab[]={
38 350,350,400,400,480,480,600,624,768,864,870,900,960,1024,1200,720,768, 574
39 };
40 */
41 code struct ActiveTbl Active_Tab[]={
42 {Re_0640x0350,640,350,800}, //0
43 {Re_0640x0400,640,400,800},
44 {Re_0720x0350,720,350,900},
45 {Re_0720x0400,720,400,900},
46
47 {Re_0640x0400_1,640,400,800},
48 {Re_0640x0480,640,480,800}, //5
49 {Re_0720x0480,720,480,900},
50
C51 COMPILER V7.06 SCALER 12/11/2007 11:28:43 PAGE 2
51 //{Re_0800x0600,825,600,1040},
52 {Re_0800x0600,800,600,1040},
53 {Re_0832x0624,832,624,1152},
54 {Re_0848x0480,848,480,1600},
55
56 {Re_1024x0768,1024,768,1344}, //10
57
58 {Re_1152x0864,1152,864,1600},
59 {Re_1152x0870,1152,870,1456},
60 {Re_1152x0900,1152,900,1504},
61
62 {Re_1280x0720,1280,720,1728},
63 {Re_1280x0960,1280,960,1800}, //15
64 {Re_1280x1024,1280,1024,1728},
65
66 {Re_1600x1200,1600,1200,1800},
67
68 {Re_0720x0576,720,576,944},
69 };
70
71 code unsigned char TCON_Tab[]={
72 // CPT_M170
73 /*
74 0x00,0x63,0x22,0x00,0x88,0x4a,0x12,0x00,0x10,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
75 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76 // OE
77 0x01,0x00,0x02,0x04,0xa0,0x04,0x20,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
78 // CKV
79 0x01,0x00,0x02,0x04,0xc0,0x04,0xff,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 // STV
81 0x01,0x00,0x02,0x00,0x80,0x02,0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
82 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
83 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
84 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
85 // POL
86 0x01,0x00,0x01,0x00,0x00,0x02,0x00,0x02,0x02,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
87 // TP
88 0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
89 */
90 // AU_M170ES05
91
92 0x00,0x63,0x22,0x00,0x88,0x8f,0x00,0x07,0x13,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
93 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
94 // OE
95 0x01,0x00,0x01,0x00,0xe0,0x03,0x14,0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
96 // CKV
97 0x01,0x00,0x01,0x00,0x00,0x04,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
98 // STV
99 0x01,0x00,0x02,0x00,0x80,0x02,0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
100 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
102 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
103 // POL
104 0x01,0x00,0x01,0x00,0x00,0x02,0x00,0x02,0x02,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
105 // TP
106 0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
107
108 // CMO_M170ES05
109 /*
110 0x00,0x63,0x22,0x00,0x88,0x83,0x00,0x00,0x10,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
111 // OE
112 0x01,0x00,0x02,0x04,0xbc,0x04,0x44,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.06 SCALER 12/11/2007 11:28:43 PAGE 3
113 // CKV
114 0x01,0x00,0x01,0x00,0xa0,0x04,0x20,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
115 // STV
116 0x01,0x00,0x02,0x00,0x00,0x02,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
117 // POL
118 0x01,0x00,0x01,0x00,0x80,0x02,0x80,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119 // TP
120 0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
121 //GVON
122 0x01,0x00,0x02,0x04,0x30,0x03,0xc0,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
123 //GVOFF
124 0x01,0x00,0x02,0x04,0x30,0x03,0xc0,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
125 // STV
126 0x01,0x00,0x02,0x00,0x00,0x02,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
127 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
128 */
129 };
130 /*==========================================
131 ==========================================*/
132 void UpdatePresetData(void)
133 {
134 1 code unsigned short UpdateSquenceTable[]={
135 1 0x002,0x008,
136 1 0x020,0x023,0x025,0x026,0x027,
137 1 0x02e,0x02f,0x030,0x031,
138 1 0x032,0x033,0x034,0x035,0x036,0x037,
139 1 0x060,0x064,0x065,0x066,
140 1 0x154,0x156,0x157,0x158,0x16a,0x16e,0x186,0x18d,0x1f1
141 1 };
142 1 /*==========================================
143 1 ==========================================*/
144 1 code unsigned char D1024x768[]={
145 1 // 0x002, 0x008,
146 1 0x06, 0x04,
147 1 // 0x020, 0x023, 0x025, 0x026, 0x027,
148 1 0x81, 0x00, 0x00, 0x80, 0x11,
149 1 //#if DVImode == DEmode
150 1 // 0x02e, 0x02f, 0x030, 0x031,
151 1 // 0xe0, 0x01, 0xe0, 0x01,
152 1 //#else
153 1 // 0x02e, 0x02f, 0x030, 0x031,
154 1 0x20, 0x00, 0x00, 0x00,
155 1 //#endif
156 1 // 0x032, 0x033, 0x034, 0x035, 0x036, 0x037,
157 1 0xe0, 0x01, 0x88, 0x00, 0x80, 0x02,
158 1 // 0x060, 0x064, 0x065, 0x066,
159 1 0x00, 0x00, 0x00, 0x00,
160 1 // 0x154, 0x156, 0x157, 0x158, 0x16a, 0x16e, 0x186, 0x18d, 0x1f1
161 1 // 050511,Eason
162 1 // 0x00, DT156, 0x40, DT158, DT16A, 0x06, 0x00, 0x00, 0x2A
163 1 0x00, DT156, 0x40, DT158, DT16A, 0x06, 0x00, 0x00, 0x2A
164 1 };
165 1
166 1 unsigned char i;
167 1 // 050511,Eason
168 1 for(i=0; i<30; i++){
169 2 // for(i=0; i<29; i++){
170 2 WriteIIC563(UpdateSquenceTable[i],D1024x768[i]);
171 2 }
172 1 }
173 /*==========================================
174 ==========================================*/
C51 COMPILER V7.06 SCALER 12/11/2007 11:28:43 PAGE 4
175 void InitScaler(void)
176 {
177 1 /*
178 1 #if 0
179 1 unsigned char i;
180 1 code unsigned short InitTab[][2]={
181 1 {0x15B,(unsigned char)PanelTypVTotal},{0x15C,(unsigned char)(PanelTypVTotal>>8)}, // Display Vtotal
182 1 // 050526,Eason HSD190ME12 1280*1024 has lack top line problem but can solve flicker problem
183 1 // {0x15D,(unsigned char)PanelMinVSyncWidth+PanelMinVSyncBackPorch}, // Display V Pulse Width
184 1 {0x15D,(unsigned char)PanelMinVSyncWidth}, // Display V Pulse Width
185 1 {0x162,(unsigned char)PanelVActiveStart},
186 1 {0x163,(unsigned char)((PanelVActiveStart)>>8)}, // Display Background Window VBegin
187 1 {0x164,(unsigned char)PanelHeight},
188 1 {0x165,(unsigned char)((PanelHeight)>>8)}, // Display Background Window VLength
189 1 {0x16f,(unsigned char)PanelVActiveStart},
190 1 {0x170,(unsigned char)((PanelVActiveStart)>>8)}, // Display Active VBegin
191 1 {0x171,(unsigned char)PanelHeight},
192 1 {0x172,(unsigned char)((PanelHeight)>>8)}, // Display VActive
193 1 {0x15E,(unsigned char)PanelMinHTotal},
194 1 {0x15F,(unsigned char)(PanelMinHTotal>>8)}, // Display Htotal
195 1 {0x160,(unsigned char)PanelMinHSyncWidth}, // Display H Pulse Width
196 1 {0x166,(unsigned char)PanelHActiveStart},
197 1 {0x167,(unsigned char)(PanelHActiveStart>>8)}, // Display Background Window HBegin
198 1 {0x168,(unsigned char)PanelWidth},
199 1 {0x169,(unsigned char)(PanelWidth>>8)}, // Display Backgroun Window HWidth
200 1 {0x173,(unsigned char)PanelHActiveStart},
201 1 {0x174,(unsigned char)(PanelHActiveStart>>8)}, // Display Active HBegin
202 1 {0x175,(unsigned char)PanelWidth},
203 1 {0x176,(unsigned char)(PanelWidth>>8)}, // Display HActive
204 1 {0x070,0x08}, // VSO output&Enable Brightness PWM
205 1 {0x072,0x00}, // Sync Processor Ctrl: Bypass Sync Control
206 1 {0x196,0x14}, // Sync Processor Ctrl: Select Raw_hs
207 1 {0x197,0x82}, // Sync Processor Ctrl2
208 1 {0x021,0x0c}, // Clamp Pulse
209 1 {0x022,0x83},
210 1 {0x012,0x00}, // SOG Slicer Ctrl
211 1 {0x18e,0x03}, //Clear FIFO interrupt
212 1 {0x18f,0x00}, //Disable FIFO interrupt
213 1 {0x1a3,0x2d}, //Hsync not present
214 1 {0x1a4,0x2d}, //Hsync present
215 1 {0x1a5,0x2d}, //Vsync not present
216 1 {0x1a6,0x2d}, //Vsync present
217 1 {0x1a7,0x08}, //Hcounter change threshold
218 1 {0x1a8,0x24}, //Vcounter change threshold
219 1 {0x1a9,0x3c}, // H/V interrupt enable1
220 1 {0x1aa,0x00}, // H/V interrupt enable2
221 1 {0x1ab,0x2f}, // H/V interrupt clear1
222 1 {0x1ac,0x1f}, // H/V interrupt clear2
223 1 {0x1d8,0x0a}, // sRGB static dither mode control
224 1 {0x199,0x01}, //Graphic Filed control
225 1 {0x01e,0xb8}, //DVI EquPLL BW
226 1 {0x0db,0x0c},
227 1 {0x0d5,0x01},
228 1 };
229 1 ForceToBackground(0,0,0);
230 1 TCONInit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -