📄 osddraw.lst
字号:
C51 COMPILER V7.06 OSDDRAW 06/19/2006 11:59:51 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE OSDDRAW
OBJECT MODULE PLACED IN .\Obj\OSDDRAW.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\OSD\OSDDRAW.C BROWSE INCDIR(.\Include\;.\Source\;.\Include\Panel\;.\
-Include\GammaTable\) DEFINE(T112) DEBUG OBJECTEXTEND PRINT(.\OSDDRAW.lst) OBJECT(.\Obj\OSDDRAW.obj)
stmt level source
1 #include <reg51.h>
2 #include "common.h"
3 #include "System.h"
4 #include "Struct.h"
5 #include "OSDDraw.h"
6 #include "Keypad.h"
7 #include "TwoWire.h"
8 #include "TW10xReg.h"
9 #include "OSDCtrl.h"
10 #include "OSDDRAW.h"
11 #include "Video.h"
12 #include "Tuner.h"
13
14 #if (defined T100A)|(defined T101A)|(defined T101)
#include "T100_OSDString.h"
#include "T100OSD.h"
#endif
18
19 #if (defined T102)|(defined T106)|(defined T112)|(defined T116)
20 #include "T102_OSDString.h"
21 #include "T102OSD.h"
22 #endif
23
24
25 #include "OSDTbl.h"
26 #include "OSDMenu.h"
27 #include "intrins.h"
28 extern uCHAR ir_data;
29 extern uCHAR m_cSoundSystem;
30 extern uCHAR ir_data;
31 extern uCHAR ir_repeat;
32 extern bit m_bAir_Cable;
33 extern bit m_bTV_Skip;
34 extern bit m_bKyPowerFlat;
35 extern bit m_bBKPowerOn;
36 extern bit m_bOSDEnable;
37 extern bit m_bKyPowerOn;
38 extern bit m_bChipPowerOn;
39 extern bit m_bKyBlocked;
40 extern uCHAR idata m_cBuff[5];
41 extern uWORD idata m_wBuff[3];
42 extern uDWORD m_dwBuff[2];
43 extern uCHAR idata m_cOSDEvent;
44 extern uCHAR idata m_cCurreKey;
45 extern uCHAR idata m_cPreKey;
46 extern uCHAR idata m_cItem;
47 extern uCHAR idata m_cOSDFunc;
48 extern uWORD idata m_wVRes;
49 extern uWORD idata m_wHRes;
50 extern uCHAR idata m_cSource;
51 extern uCHAR SignalDefine; // add by Sherman 06'02'23
52 extern uCHAR idata m_cChroma; // add by Sherman 06'02'23
53
54 extern uCHAR idata m_cTV_Num;
C51 COMPILER V7.06 OSDDRAW 06/19/2006 11:59:51 PAGE 2
55
56 extern uDWORD m_dwVFrameCntPre;
57 extern uWORD m_wHSyncPeriodPre;
58 extern void BKPower(void);
59 extern void PowerManage(void);
60 extern void AutoScanChannel(void);
61
62 #if VIDEO_AVAILABLE
63 extern EEPVIDEO idata EepVideo;
64 #endif
65
66 #ifdef TIMER0
67 extern void Timer0Start(void);
68 extern void Timer0Stop(void);
69 #endif
70
71 #ifdef NVRAM
72 #include "NVRam.h"
73 extern uWORD idata m_wEepRom;
74 #endif
75
76
77 extern uCHAR idata m_cOSDMenu;
78
79
80
81 MULTILANGUAGEOSD *pOSDLangPtr;
82 OSDMENU **pOSDMenuPtr;
83 uCHAR cTotal=0;
84
85
86 // ADC Digi
87 //Bright,contrast,sharp,freq,phase,hpos,vpos,Bklight,OSDH/V,Gain/Offset Gain/Offset Volume
88 OSDPARAMS code sOSDParamsMax=
89 {0xff, 0xff, 5, 20, 0x1f, 40, 20, 20, 80,65, 0xC0,0xff, 0xff,0xff, 0xFF};
90 OSDPARAMS code sOSDParamsMin=
91 {0, 0, 0, 0, 0x00, 0, 0, 0, 1,1, 0,0, 0,0, 0x00};
92 OSDPARAMS code sOSDParamsDef=
93 {0x80, 0x80, 2, 10, 0x10, 20, 10, 10, 75,45, 0x80,0x80, 0x80,0x80, 0x40};
94
95 #if (defined T102)|(defined T106)|(defined T112)|(defined T116)
96 uCHAR code cOSDMenuLutData[32]={ //For test
97 //0xGB,0x0R
98 0x0f,0x00, //1 blue
99 0x00,0x00, //2 black
100 0x0f,0x0a, //3 purple
101 0x0f,0x00, //4 blue
102 0xf8,0x00, //5 green
103 0x22,0x0A, //6 red
104 0x1f,0x01, //7 light blue//olive
105 0x88,0x05, //8 light grey
106 0xb9,0x0b, //9 purple
107 0xBD,0x05, //A purple
108 0x0f,0x0f, //B
109 0xA3,0x0A, //C Yellow
110 0xcc,0x0c, //D light grey
111 0x68,0x03, //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
112 0xff,0x0f, //F white
113 0x00,0x00, //0
114 };
115 #else
uCHAR code cOSDMenuLutData[32]={
C51 COMPILER V7.06 OSDDRAW 06/19/2006 11:59:51 PAGE 3
//0xGB,0x0R
0x00,0x00, //0
0x0f,0x00, //1 blue
0x00,0x00, //2 black
0x0f,0x0a, //3 purple
0x0f,0x00, //4 blue
0xf8,0x00, //5 green
0x22,0x0A, //6 red
0x1f,0x01, //7 light blue//olive
0x88,0x05, //8 light grey
0xb9,0x0b, //9 purple
0xBD,0x05, //A purple
0x0f,0x0f, //B
0xA3,0x0A, //C Yellow
0xcc,0x0c, //D light grey
0x68,0x03, //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
0xff,0x0f, //F white
};
#endif
136
137 void OSDLoadColor(void)
138 {
139 1 uCHAR i;
140 1 I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
141 1 for(i=0;i<32;i++)
142 1 I2CWriteByte(TW101,OSD_CFG_DATA,cOSDMenuLutData[i]);
143 1
144 1 }
145
146 void OSDSetRamAddr(uWORD address)
147 {
148 1 I2CWriteByte(TW101,OSD_RAM_AH,(uCHAR)(address>>8));
149 1 I2CWriteByte(TW101,OSD_RAM_AL,(uCHAR)(address & 0xff));
150 1
151 1 }
152
153 void OSDEnable(void)
154 {
155 1 m_bOSDEnable = 1;
156 1 OSDCfgWr(OSD_CTRL,0x84);//0x80);//0x84);//0x98); //change by Sherman 05'11'01
157 1 I2CWriteByte(TW101,0xe2,0x11);
158 1
159 1 #ifdef TIMER0
160 1 Timer0Start();
161 1 #endif
162 1
163 1 }
164
165 void OSDDisable(void)
166 {
167 1 Timer0Stop();
168 1 OSDCfgWr(OSD_CTRL,0x18);
169 1 m_cOSDEvent=0;
170 1 m_cOSDFunc=0;
171 1 m_cItem=1;
172 1 m_bOSDEnable=0;
173 1 m_cCurreKey=m_cPreKey=0xFF;
174 1 }
175
176 void OSDExit(void)
177 {
178 1 OSDCfgWr(OSD_CTRL,0x18);
C51 COMPILER V7.06 OSDDRAW 06/19/2006 11:59:51 PAGE 4
179 1 OSDCfgWr(0x10,0x00); //Disable window
180 1 OSDDisable();
181 1 // OSDClearPage();
182 1 }
183
184 void OSDFuncSelect(sCHAR sStep)
185 {
186 1 //Remove previous cursor
187 1 OSDClearCursor();
188 1 if(m_cItem+sStep>=1 && m_cItem+sStep<=cTotal)
189 1 m_cItem+=sStep;
190 1 else
191 1 {
192 2 if(sStep<0)
193 2 m_cItem=cTotal;
194 2 else
195 2 m_cItem=1;
196 2 }
197 1 m_cOSDFunc=m_cItem;
198 1
199 1 switch(m_cOSDMenu){
200 2 case idVIDEOMENU:
201 2 OSDShowVideoData();
202 2 break;
203 2 case idTVMENU:
204 2 // OSDShowTVData(); // mark by Sherman 05'11'14
205 2 break;
206 2 default:
207 2 break;
208 2 }
209 1 OSDMoveCursor();
210 1 return;
211 1 }
212
213
214 void OSDEventMgr(void)
215 {
216 1 Timer0Stop();
217 1 switch(m_cOSDEvent){
218 2 case CLOSEMENU:
219 2 OSDExit();
220 2 break;
221 2 case OPENMENU:
222 2 m_cItem=1;
223 2 OSDOpenMenu();
224 2 break;
225 2
226 2 case FUNCSELCT_IN:
227 2 OSDFuncSelect(1);
228 2 break;
229 2 case FUNCSELCT_DN:
230 2 OSDFuncSelect(-1);
231 2 break;
232 2 case FUNCENTER:
233 2 OSDClearPage();
234 2 OSDPosition(CENTER);
235 2 OSDShowPage();
236 2 break;
237 2 case FUNCEXIT:
238 2 OSDFuncExit();
239 2 break;
240 2 case FUNCADJ_IN:
C51 COMPILER V7.06 OSDDRAW 06/19/2006 11:59:51 PAGE 5
241 2 OSDItemAdj(INCREASE);
242 2 break;
243 2 case FUNCADJ_IN1:
244 2 OSDItemAdj(INCREASE1);
245 2 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -