📄 osdctrl.lst
字号:
281 void AdjVideoContrast(sCHAR sStep)
282 {
283 1 if( (EepVideo.cContrast+sStep)<=V_CONTRAST_MAX && (EepVideo.cContrast+sStep)>=V_CONTRAST_MIN)
284 1 {
285 2 EepVideo.cContrast+=sStep;
286 2 I2CWriteByte(TW101,VCONTRAST,EepVideo.cContrast); //Ruby 2004-10-09
287 2 OSDShowVideoData();
288 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_CONTRAST_INDEX, EepVideo.cContrast);
289 2 twdDelay(NVRDELAY);
290 2
291 2 }
292 1 }
293
294 void AdjVideoSharp(sCHAR sStep)
295 {
296 1 if(EepVideo.cSharp>V_SHARP_MAX)
297 1 EepVideo.cSharp=V_SHARP_MAX-1;
298 1 if(EepVideo.cSharp<V_SHARP_MIN)
299 1 EepVideo.cSharp=V_SHARP_MIN;
300 1
301 1 if( (EepVideo.cSharp+sStep)<=V_SHARP_MAX && (EepVideo.cSharp+sStep)>=V_SHARP_MIN)
302 1 {
C51 COMPILER V7.06 OSDCTRL 06/19/2006 11:59:51 PAGE 6
303 2 EepVideo.cSharp+=sStep;
304 2 I2CWriteByte(TW101+4,0x80,V_SHARP_MSK|(EepVideo.cSharp<<1));
305 2 OSDShowVideoData();
306 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SHARP_INDEX, EepVideo.cSharp);
307 2 twdDelay(NVRDELAY);
308 2 }
309 1
310 1 }
311
312 void AdjVideoSat(sCHAR sStep)
313 {
314 1 if( (EepVideo.cSat+sStep)<=V_SAT_MAX && (EepVideo.cSat+sStep)>=V_SAT_MIN)
315 1 {
316 2 EepVideo.cSat+=sStep;
317 2
318 2 I2CWriteByte(TW101,VSAT,EepVideo.cSat);
319 2 OSDShowVideoData();
320 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SAT_INDEX, EepVideo.cSat);
321 2 twdDelay(NVRDELAY);
322 2 }
323 1 }
324
325 void AdjVideoHue(sCHAR sStep)
326 {
327 1 if( (EepVideo.cHue+sStep)<=V_HUE_MAX && (EepVideo.cHue+sStep)>=V_HUE_MIN)
328 1 {
329 2 EepVideo.cHue+=sStep;
330 2 I2CWriteByte(VIDEO_ADDR,VHUE,EepVideo.cHue-0x80);
331 2 OSDShowVideoData();
332 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_HUE_INDEX, EepVideo.cHue);
333 2 twdDelay(NVRDELAY);
334 2 }
335 1 }
336
337 #if (defined T112) | (defined T116)
338 void AdjVideoRGB(sCHAR sStep) // add by Sherman 06'01'18
339 {
340 1 if( (EepVideo.cRGB+sStep)<=V_RGB_MAX && (EepVideo.cRGB+sStep)>=V_RGB_MIN)
341 1 {
342 2 EepVideo.cRGB+=sStep;
343 2
344 2 #if (defined T112) // kenny 20060301
345 2 I2CWriteByte(TW101,VRGB,EepVideo.cRGB);
346 2 #elif (defined T116)
I2CWriteByte(TW101,VRGB,EepVideo.cRGB | (EepVideo.cVCOMD & 0x07) << 5);
#endif
349 2 OSDShowVideoData();
350 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_RGB_INDEX, EepVideo.cRGB);
351 2 twdDelay(NVRDELAY);
352 2 }
353 1 }
354 void AdjVideoVCOMA(sCHAR sStep) // add by Sherman 06'01'23
355 {
356 1 if( (EepVideo.cVCOMA+sStep)<=V_VCOMA_MAX && (EepVideo.cVCOMA+sStep)>=V_VCOMA_MIN)
357 1 {
358 2 EepVideo.cVCOMA+=sStep;
359 2 // kenny 20060301
360 2 #if (defined T112) // kenny 20060301
361 2 I2CWriteByte(TW101,VVCOMA,EepVideo.cVCOMA);
362 2 #elif (defined T116)
I2CWriteByte(TW101,VVCOMA,EepVideo.cVCOMA | ((EepVideo.cVCOMD & 0x18) << 2));
#endif
C51 COMPILER V7.06 OSDCTRL 06/19/2006 11:59:51 PAGE 7
365 2 // kenny 20060301
366 2 OSDShowVideoData();
367 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_VCOMA_INDEX, EepVideo.cVCOMA);
368 2 twdDelay(NVRDELAY);
369 2 }
370 1 }
371 void AdjVideoVCOMD(sCHAR sStep) // add by Sherman 06'01'23
372 {
373 1 if( (EepVideo.cVCOMD+sStep)<=V_VCOMD_MAX && (EepVideo.cVCOMD+sStep)>=V_VCOMD_MIN)
374 1 {
375 2 EepVideo.cVCOMD+=sStep;
376 2
377 2 // kenny 20060301
378 2 #if (defined T112)
379 2 I2CWriteByte(TW101,VVCOMD,EepVideo.cVCOMD);
380 2 #elif (defined T116) // kenny 20060301
I2CWriteByte(TW101,VVCOMA,EepVideo.cVCOMA | ((EepVideo.cVCOMD & 0x18) << 2) );
I2CWriteByte(TW101,VVCOMD,EepVideo.cRGB | (EepVideo.cVCOMD & 0x07) << 5);
#endif
384 2 // kenny 20060301
385 2 OSDShowVideoData();
386 2 I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_VCOMD_INDEX, EepVideo.cVCOMD);
387 2 twdDelay(NVRDELAY);
388 2 }
389 1 }
390 #endif
391 #ifdef TV
extern bit m_bLCDOFF;
void AdjTVChannel(sCHAR sStep,bit bShow)
{
uCHAR cNum, cNum_b,cTotal;
uWORD wTemp;
#ifdef NTSC
if(m_bAir_Cable)
cTotal=125;
else
cTotal=83;
#endif
#ifdef PAL
cTotal=95;
#endif
// cNum=TVEEPGetChannel();
//TVSetChannel(I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX)-1);
TVSetChannel(I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX)-1);
cNum = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
cNum_b=cNum;
if(skipon || bShow)
{
cNum+=sStep;
if(sStep)
{
if(cNum>cTotal)
cNum=1;
else if(cNum<1)
cNum=cTotal;
wTemp=TVSetChannel(cNum-1);
if(wTemp&0x8000)
C51 COMPILER V7.06 OSDCTRL 06/19/2006 11:59:51 PAGE 8
m_bTV_Skip=1;
else
m_bTV_Skip=0;
}
}
else
{
do
{
cNum+=sStep;
if(cNum>cTotal)
cNum=1;
else if(cNum<1)
cNum=cTotal;
wTemp=TVSetChannel(cNum-1);
if(wTemp&0x8000)
m_bTV_Skip=1;
else
m_bTV_Skip=0;
}while(m_bTV_Skip&&(cNum_b!=cNum)&&sStep);
}
I2CWriteByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX, cNum);
twdDelay(NVRDELAY);
twdDelay(200);
SetTuner(wTemp);
//SourceSelect(); //Ruby 2004-11-03
if(!bShow)
{
OSDExit();
OSDEnable();
OSDPosition(RIGHT_TOP);
// OSDDrawNum(cNum, 0, 19, 1, COL_NORMAL, DRAW_BLANK|0x03);
}
else
{
//Ruby OSDDrawSkip();
//ruby OSDDrawNum(cNum, 0, 19, 1, COL_TITLE, DRAW_BLANK|0x03);
//ruby OSDDrawTVFreq(wTemp);
}
// OSDShowTVData(); // mark by Sherman 05'11'14
}
void AdjTVSkip(void)
{
uCHAR cNum;
uWORD wTVFreq;
m_bTV_Skip=!m_bTV_Skip;
twdDelay(NVRDELAY);
cNum = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
wTVFreq=TVSetChannel(cNum-1);
if(m_bTV_Skip)wTVFreq|=0x8000;
else wTVFreq&=0x7fff;
EEPSaveTVChannel(cNum-1, wTVFreq);
//Ruby OSDDrawSkip();
// ir_data=0;
C51 COMPILER V7.06 OSDCTRL 06/19/2006 11:59:51 PAGE 9
}
void AdjTVSoundSystem(void)
{
if(m_cSoundSystem==PAL_I)
m_cSoundSystem=PAL_DK;
else
m_cSoundSystem=PAL_I;
//Ruby OSDDrawSoundSystem();
I2CWriteByte(0x86, 0x02,m_cSoundSystem);
// ir_data=0;
}
void AdjTVFineTune(sCHAR sStep)
{
uCHAR cTemp;
uWORD wTemp;
cTemp = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
twdDelay(NVRDELAY);
if(m_bAir_Cable)
{
wTemp=I2CReadByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+(cTemp-1)*2);
wTemp<<=8;
twdDelay(NVRDELAY);
wTemp|=I2CReadByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+(cTemp-1)*2+1);
}
else
{
wTemp=I2CReadByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+(cTemp-1)*2);
wTemp<<=8;
twdDelay(NVRDELAY);
wTemp|=I2CReadByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+(cTemp-1)*2+1);
}
wTemp += sStep;
//Ruby OSDDrawTVFreq(wTemp);
#ifdef PAL
//Ruby OSDDrawBand(wTemp);
#endif
SetTuner(wTemp);
EEPSaveTVChannel(cTemp-1, wTemp);
// OSDShowTVData(); // mark by Sherman 05'11'14
}
void AdjTVSource(void)
{
uCHAR cTemp;
cTemp=I2CReadByte(EEPVIDEOBLOCK, idVIDEO_FLAG_INDEX);
if(m_bAir_Cable)
{
m_bAir_Cable=0;
I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_FLAG_INDEX,cTemp&0xFE);
}
else
{
m_bAir_Cable=1;
I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_FLAG_INDEX,cTemp|0x01);
}
// OSDShowTVData(); // mark by Sherman 05'11'14
}
#endif
C51 COMPILER V7.06 OSDCTRL 06/19/2006 11:59:51 PAGE 10
551 #endif
552
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 785 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -