etc_eep.lst
来自「显示屏驱动源代码」· LST 代码 · 共 617 行 · 第 1/2 页
LST
617 行
292 /*#include "panel.h"
293 void SavePanelInfoEE(void)
294 {
295 WriteEEP( PANELINFO+0 , (BYTE)PanelConfig.x_res );
296 WriteEEP( PANELINFO+1 , (BYTE)(PanelConfig.x_res >> 8) );
297
298 WriteEEP( PANELINFO+2 , (BYTE)PanelConfig.y_res );
299 WriteEEP( PANELINFO+3 , (BYTE)(PanelConfig.y_res >> 8) );
300
301 WriteEEP( PANELINFO+4 , PanelConfig.h_sync_min_pulse_width );
302
C51 COMPILER V7.06 ETC_EEP 02/21/2008 14:00:26 PAGE 6
303 WriteEEP( PANELINFO+5 , PanelConfig.v_sync_min_pulse_width );
304
305 WriteEEP( PANELINFO+6 , (BYTE)PanelConfig.h_min_back_porch );
306 WriteEEP( PANELINFO+7 , (BYTE)(PanelConfig.h_min_back_porch >> 8 ) );
307
308 WriteEEP( PANELINFO+8 , PanelConfig.h_sync_polarity );
309
310 WriteEEP( PANELINFO+9 , PanelConfig.v_sync_polarity );
311
312 WriteEEP( PANELINFO+0x0a , (BYTE)PanelConfig.dot_clock );
313 WriteEEP( PANELINFO+0x0b , (BYTE)(PanelConfig.dot_clock >> 8 ) );
314
315 WriteEEP( PANELINFO+0x0c , (BYTE)PanelConfig.max_clock );
316 WriteEEP( PANELINFO+0x0d , (BYTE)(PanelConfig.max_clock >> 8 ) );
317
318 WriteEEP( PANELINFO+0x0e , PanelConfig.pixs_per_clock );
319
320 WriteEEP( PANELINFO+0x0f , PanelConfig.DE_only );
321 }
322
323
324 #if (defined SERIAL) || (defined SUPPORT_PATTERN) || (defined WIDE_SCREEN)
325 WORD GetPanelXRes(void)
326 {
327 WORD res;
328
329 res = ReadEEP( PANELINFO+1 );
330 res = (res <<8 ) | ReadEEP( PANELINFO+0 );
331 return res;
332 }
333
334 WORD GetPanelYRes(void)
335 {
336 WORD res;
337
338 res = ReadEEP( PANELINFO+3 );
339 res = (res <<8 ) | ReadEEP( PANELINFO+2 );
340 return res;
341 }
342 #endif// (defined SUPPORT_PATTERN) || (defined WIDE_SCREEN)
343 */
344
345 /****
346 #if (defined SERIAL) || (defined WIDE_SCREEN)
347 BYTE GetPanelHsyncMinPulseWidth(void)
348 {
349 return ReadEEP( PANELINFO+4 );
350 }
351
352 BYTE GetPanelVsyncMinPulseWidth(void)
353 {
354 return ReadEEP( PANELINFO+5 );
355 }
356
357 WORD GetPanelHMinBackPorch(void)
358 {
359 WORD res;
360
361 res = ReadEEP( PANELINFO+7 );
362 res = (res <<8 ) | ReadEEP( PANELINFO+6 );
363 return res;
364 }
C51 COMPILER V7.06 ETC_EEP 02/21/2008 14:00:26 PAGE 7
365
366 BYTE GetPanelHsyncPolarity(void)
367 {
368 return ReadEEP( PANELINFO+8 );
369 }
370
371 BYTE GetPanelVsyncPolarity(void)
372 {
373 return ReadEEP( PANELINFO+9 );
374 }
375
376 WORD GetPanelDotClock(void)
377 {
378 WORD res;
379
380 res = ReadEEP( PANELINFO+0x0b );
381 res = (res <<8 ) | ReadEEP( PANELINFO+0x0a );
382 return res;
383 }
384 #endif // WIDE_SCREEN
385
386 WORD GetPanelMaxClock(void)
387 {
388 WORD res;
389
390 res = ReadEEP( PANELINFO+0x0d );
391 res = (res <<8 ) | ReadEEP( PANELINFO+0x0c );
392 return res;
393 }
394
395 BYTE GetPanelPixsPerClock(void)
396 {
397 return ReadEEP( PANELINFO+0x0e );
398 }
399 ***/
400
401 /* Not used yet *************************
402 BYTE GetPanelDEonly(void)
403 {
404 return ReadEEP( PANELINFO+0x0f );
405 }
406 */
407
408 //===================================================================
409
410 #ifdef SUPPORT_TV
#ifdef NTSC_TV
BYTE GetTVInputSelEE(void)
{
return ReadEEP( EEP_TVInputSel );
}
void SetTVInputSelEE(BYTE val)
{
WriteEEP(EEP_TVInputSel, val);
}
#endif
void SetTVPrEE(void)
{
#ifdef NTSC_TV
C51 COMPILER V7.06 ETC_EEP 02/21/2008 14:00:26 PAGE 8
if( TVInputSel == AIRTV ) WriteEEP(CHN_CURAIR, TVChannel);
else WriteEEP(CHN_CURCABLE, TVChannel);
#else
WriteEEP(PR_CUR, TVChannel);
#endif
}
BYTE GetTVPrEE(void)
{
#ifdef NTSC_TV
if( TVInputSel == AIRTV ) return ReadEEP( CHN_CURAIR );
else return ReadEEP( CHN_CURCABLE );
#else
return ReadEEP( PR_CUR );
#endif
}
#ifdef PAL_TV
void SetTVFreqEE(BYTE pr, WORD freq)
{
WORD addr;
addr = FIRST_SAVEDPR + pr*BYTEPERCHANNEL;
#ifdef DEBUG_EEP
dPrintf("\r\n++(SetTVFreqEE) addr:0x%x, freq:%ld__", addr, freq );
#endif
// 2 Byte
WriteEEP( addr++, (BYTE)( (freq>>8) & 0xff ) );
WriteEEP( addr, (BYTE)(freq) );
}
WORD GetTVFreqEE(BYTE pr)
{
BYTE i;
WORD addr;
WORD freq=0;
addr = FIRST_SAVEDPR + pr*BYTEPERCHANNEL;
// 2 Byte
for(i=0; i<2; i++ ) {
freq <<= 8;
freq |= ReadEEP( addr++ );
}
return freq;
}
#endif
void SetFineTuneEE(BYTE pr, BYTE freq)
{
WORD addr;
#ifdef PAL_TV
addr = (FIRST_SAVEDPR +TVFINETUNE ) + pr*BYTEPERCHANNEL;
#else
if( TVInputSel == AIRTV ) addr = FIRSTSAVED_AIRCHN+TVFINETUNE + pr*BYTEPERCHANNEL;
else addr = FIRSTSAVED_CABLECHN+TVFINETUNE + pr*BYTEPERCHANNEL;
#endif
#ifdef DEBUG_EEP
dPrintf("\r\n++(SetTVFreqEE) addr:0x%x, freq:%ld__", addr, freq );
#endif
C51 COMPILER V7.06 ETC_EEP 02/21/2008 14:00:26 PAGE 9
WriteEEP( addr, freq );
}
BYTE GetFineTuneEE(BYTE pr)
{
// BYTE i;
WORD addr;
WORD freq=0;
#ifdef PAL_TV
addr = FIRST_SAVEDPR+TVFINETUNE + pr*BYTEPERCHANNEL;
#else
if( TVInputSel == AIRTV ) addr = FIRSTSAVED_AIRCHN+TVFINETUNE + pr*BYTEPERCHANNEL;
else addr = FIRSTSAVED_CABLECHN+TVFINETUNE + pr*BYTEPERCHANNEL;
#endif
freq = ReadEEP(addr);
return freq;
}
BYTE GetTVPrSystem(BYTE pr)
{
WORD addr;
#ifdef PAL_TV
addr = FIRST_SAVEDPR+TVPRSYSTEM + pr*BYTEPERCHANNEL;
#else
if( TVInputSel == AIRTV ) addr = FIRSTSAVED_AIRCHN+TVPRSYSTEM + pr*BYTEPERCHANNEL;
else addr = FIRSTSAVED_CABLECHN+TVPRSYSTEM + pr*BYTEPERCHANNEL;
#endif
return ReadEEP( addr );
}
void SetTVPrSystem(BYTE pr, BYTE Val)
{
WORD addr;
#ifdef PAL_TV
addr = FIRST_SAVEDPR+TVPRSYSTEM + pr*BYTEPERCHANNEL;
#else
if( TVInputSel == AIRTV ) addr = FIRSTSAVED_AIRCHN+TVPRSYSTEM + pr*BYTEPERCHANNEL;
else addr = FIRSTSAVED_CABLECHN+TVPRSYSTEM + pr*BYTEPERCHANNEL;
#endif
WriteEEP( addr, Val );
}
//#endif //PAL_TV
#endif //SUPPORT_TV
542
543 void ClearBasicEE(void)
544 {
545 1 SaveVInputStdDetectModeEE(0); // AUTO
546 1 WriteEEP(EEP_CCD, 0); // CC = OFF
547 1
548 1 ResetOSDValue();
549 1 //SavePanelInfoEE();
550 1
C51 COMPILER V7.06 ETC_EEP 02/21/2008 14:00:26 PAGE 10
551 1 ResetAudioValue();
552 1
553 1
554 1 ResetVideoValue();
555 1
556 1 #ifdef SUPPORT_TV
WriteEEP(EEP_TVInputSel, 0); //AIRTV
TVChannel = DummyChannel = 2;
#ifdef NTSC_TV
WriteEEP(CHN_CURAIR, TVChannel);
TVInputSel = AIRTV; SetFineTuneEE(TVChannel, 0); //E2(55.25 Mhz)
WriteEEP(CHN_CURCABLE, TVChannel);
TVInputSel = CABLETV; SetFineTuneEE(TVChannel, 0); //E2(55.25 Mhz)
#else
WriteEEP(PR_CUR, TVChannel);
SetTVFreqEE(TVChannel, 0x05e2); //E3(55.25 Mhz)
#endif
#endif // SUPPORT_TV
570 1
571 1 #ifdef WIDE_SCREEN
572 1 Set4WideScreen(WIDESCREEN_WIDE);
573 1 #endif
574 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 496 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- 6
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?