📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 08/20/2007 10:23:30 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c COMPACT OPTIMIZE(9,SIZE)
line level source
1 /*****************************************************************************/
2 /* */
3 /* TW880x Demo Board Techwell,Inc */
4 /* */
5 /* CPU : Winbond 78E62BP-40 */
6 /* LANGUAGE : Tasking C / Keil C */
7 /* PROGRAMMER : Jooyeon Lee / Harry Han */
8 /* */
9 /*****************************************************************************/
10 /* See 'Release.txt' for firmware revision history */
11
12 #include "Config.h"
13
14 #include "reg.h"
15 #include "typedefs.h"
16 #include "main.h"
17 #include "tw88.h"
18 #include "i2c.h"
19 #include "adc.h"
20 #include "cc.h"
21 #include "osdbasic.h"
22 #include "dispinfo.h"
23 #include "debug.h"
24 #include "etc_eep.h"
25 #include "eds.h"
26 #include "measure.h"
27 #include "Printf.h"
28 #include "tuner.h"
29 #include "audio.h"
30 #include "osdmenu.h"
31 #include "pc_eep.h"
32 #include "KeyRemo.h"
33
34 #include "rgbmix.h"
35 #include "panel.h"
36
37 #ifdef SUPPORT_TELETEXT
#include "TeleText.h" // for teletext
#endif // SUPPORT_TELETEXT
40
41 void Loader(BYTE);
42
43 extern CODE BYTE NTSC_Regs[];
44 extern CODE BYTE PAL_Regs[];
45 #ifdef ADD_ANALOGPANEL
extern CODE BYTE NTSC_Regs_Analog[];
extern CODE BYTE PAL_Regs_Analog[];
#endif
49
50 #ifdef SUPPORT_COMPONENT
51 extern CODE BYTE COMP_YPbPr_480I_Reg[];
52 extern CODE BYTE COMP_YPbPr_576I_Reg[];
53 #ifndef WQVGA
extern CODE BYTE COMP_YPbPr_480P_Reg[];
extern CODE BYTE COMP_YPbPr_576P_Reg[];
C51 COMPILER V7.50 MAIN 08/20/2007 10:23:30 PAGE 2
extern CODE BYTE COMP_YPbPr_1080I_Reg[];
extern CODE BYTE COMP_YPbPr_720P_Reg[];
#endif
59 #endif
60
61 #ifdef SUPPORT_GAMMA
62 extern CODE BYTE GammaRed[];
63 extern CODE BYTE GammaBlue[];
64 extern CODE BYTE GammaGreen[];
65 #endif
66
67
68 IDATA BYTE InputSelection;
69 // IDATA BYTE InputSelectionInx = 0;
70 /// bit PcDetectFlag = 1;
71 // bit PowerMode = ON;
72 IDATA WORD IVF;
73 IDATA DWORD IHF;
74 static IDATA BYTE VInputStd;
75
76 bit Range4Coarse=0;
77 BYTE VInputStdDetectMode;
78 static IDATA BYTE I2CAddressDeb;
79 BYTE CheckBuf;
80
81 CODE struct struct_IdName struct_InputSelection[]={
82 { UNKNOWN , "" }, //don't remove or change this.
83 { COMPOSITE , "CVBS" }, //don't remove or change this.
84
85 // you can change the order of the followings
86 #ifdef SUPPORT_SVIDEO
87 { SVIDEO , "S-Video" },
88 #endif
89
90 #ifdef SUPPORT_COMPONENT
91 { COMPONENT , "Component" },
92 #endif
93
94 #ifdef SUPPORT_DTV
{ DTV , "DTV-SOG" },
#endif
97
98 #ifdef SUPPORT_TV
{ TV , "TV" },
#endif
101
102 #ifdef SUPPORT_PC
103 { PC , "PC-HV"},
104 #endif
105
106 #ifdef SUPPORT_DIGITALVGA
{ DIGITALVGA , "DVI" },
#endif
109
110 {0 , ""}, //don't remove or change this.
111 };
112
113
114 CODE struct struct_IdName struct_VInputStd[]={
115 { UNKNOWN , "" }, //don't remove or change this.
116 { NTSC, "NTSC"}, //don't remove or change this.
117
C51 COMPILER V7.50 MAIN 08/20/2007 10:23:30 PAGE 3
118 #ifdef SUPPORT_PAL
119 { PAL, "PAL"},
120 #endif
121
122 #ifdef SUPPORT_SECAM
123 { SECAM, "SECAM"},
124 #endif
125
126 #ifdef SUPPORT_PALM
127 { PALM, "PALM"},
128 #endif
129
130 #ifdef SUPPORT_PALN
131 { PALN, "PALN"},
132 #endif
133
134 #ifdef SUPPORT_PAL60
135 { PAL60, "PAL60"},
136 #endif
137
138 #ifdef SUPPORT_NTSC4
139 { NTSC4, "NTSC4.43"},
140 #endif
141
142 {0 , ""}, //don't remove or change this.
143 };
144
145 CODE BYTE PanelInfoStr[]={
146 #if (defined UXGA) // 1600 x 1200
"---> Panel: UXGA-1600*1200"
#elif (defined SXGA) // 1280 x 1024
"---> Panel: SXGA-1280*1024"
#elif (defined XGA) // 1024 x 768
"---> Panel: XGA-1024*768"
#elif (defined SVGA) // 800 x 600
"---> Panel: SVGA-800*600"
#elif (defined VGA) // 640 x 480
"---> Panel: VGA-640*480"
#elif (defined WXGA) // 1280 x 768 (15:9) // 1366 x 768 (16:9)
"---> Panel: WXGA-1280*768(15:9) or 1366*768(16:9)"
#elif (defined WSVGA) // 1024 x 600 *** only video mode
"---> Panel: WSVGA-1024*600"
#elif (defined WVGA) // 800 x 480
#ifdef AU_10INCH
"---> Panel: WVGA-800*480 -- TTL AU 10inch"
#elif (defined SAMSUNG_10INCH)
"---> Panel: WVGA-800*480 -- TTL SAMSUNG 10inch"
#elif (defined SAMSUNG_TICONLESS_10INCH)
"---> Panel: WVGA-800*480 -- TICONLESS SAMSUNG 10inch"
#elif (defined SHARP_TICONLESS_7INCH)
"---> Panel: WVGA-800*480 -- TICONLESS SHARP 7inch"
#elif (defined AU_TICONLESS_7INCH)
"---> Panel: WVGA-800*480 -- TICONLESS AU 7inch"
#elif (defined AU_TICONLESS_10INCH)
"---> Panel: WVGA-800*480 -- TICONLESS AU 10inch"
#elif defined HITACHI_T01
"---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX18D24VM2BAA"
#elif defined HITACHI_TX23D12
"---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX23D12"
#endif
#elif (defined HVGA) // 480 x 320
"---> Panel: HVGA-480*320"
C51 COMPILER V7.50 MAIN 08/20/2007 10:23:30 PAGE 4
#elif (defined QVGA) // 320 x 240 *** only video mode
"---> Panel: QVGA-320*240"
#elif (defined WQVGA) // 480 x 234 *** only video mode
183 #ifdef ANALOG_7INCH
184 "---> Panel: WQVGA-480*234 -- ANALOG TICONLESS AU 7inch"
185 #elif (defined SHARP_LQ043T3DX02)
"---> Panel: WQVGA-480*234 -- TTL SHARP LED 4.3inch panel"
#endif
188 #endif
189 };
190
191 #ifdef ADD_ANALOGPANEL // Added Analog panel(AU7") from default set panel(expect WQVGA) with DIP #1 switc
-h.(DIP#1=L:ANALOG, H:DEFAULT)
CODE BYTE AddedAnalogPanelStr[]={
#ifdef ADD_ANALOG_7INCH
"---> Added Analog Panel(AU 7inch) with DIP SW1=Enabled"
#elif defined ADD_TMD_LTA05B352A
"---> Added Analog Panel(TMD 4inch) with DIP SW1=Enabled"
#endif
};
#endif
200
201
202 //===================== OSD ===================================================
203 PDATA WORD OSDLastKeyInTime; // in ms
204 //===================== Button Key ============================================
205 bit RepeatKey=0;
206 //===================== Timer =================================================
207 DATA WORD tm01=0;
208 DATA BYTE tic01=0; //, tic_pc;
209 DATA WORD tic_pc=0;
210
211 static DATA DWORD SystemClock; //00:00
212 static DATA DWORD LastBlockedTime; //00:00
213 #ifdef SUPPORT_TW88_CC_DECODER
static DATA DWORD LastCCTime; //ljy010904...CC_FIX_CLEAR_ON_TIME ( sec )
#endif
216 //static DATA WORD WakeupTime;
217 //static DATA BYTE WakeupPR;
218 static DATA WORD OffTime;
219 static DATA BYTE SleepTimer;
220 static DATA WORD SleepTime;
221
222 //===================== Serial ================================================
223 #ifdef SERIAL
224
225 #define BUF_MAX 4//6
226 static DATA BYTE RS_buf[BUF_MAX];
227 static PDATA BYTE RS_in, RS_out;
228 bit RS_Xbusy=0; // bit RS_Xbusy=0;
229
230 //================== Debug key input ==========================================
231 #ifdef DEBUG_TELETEXT
#define MaxBuf 30 // 1+sp+2+sp+2+sp+2+sp+2+sp+2+dum =17
#define MaxArg 10 // for vestel
#else
235 #define MaxBuf 14 // 1+sp+2+sp+2+sp+2+sp+2+sp+2+dum =17
236 #define MaxArg 6 // for vestel
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -