📄 initial.lst
字号:
254 1 RTDCodeW(RTD_DDC_TABLE);
255 1 RTDCodeW(RTD_IO_INI);
256 1
257 1 // Wake RTD up
258 1 RTDSetByte(HOSTCTRL_02, 0x00);
259 1 RTDCodeW(FreeV);
260 1
261 1 RTDSetByte(VDIS_SIGINV_21, 0x00 | DISP_EO_SWAP | DISP_RB_SWAP | DISP_ML_SWAP); // DHS, DVS, DEN, DCLK
- MUST NOT be inverted.
262 1 RTDSetBit(VDIS_CTRL_20, 0xfd, 0x01); // DHS, DVS, DEN, DCLK
- and data are clamped to 0
263 1
264 1 // Initial OSD
265 1 RTDCodeW(OSD_PWUP_INI);
266 1 RTDOSDW(OSD_Reset);
267 1
268 1 // Initial OSD palette
269 1 RTDCodeW(Palette_Open);
270 1 RTDCodeW(Palette_7);
271 1 RTDCodeW(Palette_Close);
272 1
273 1 Set_Gamma();
274 1 Set_Dithering();
275 1 Set_Bright_Contrast();
276 1 }
277
278 void Init_Input_Source(void)
279 {
280 1 ucMode_Found = MODE_NOSUPPORT;
281 1 ucMode_Curr = MODE_NOSIGNAL;
282 1 ucMode_Times = 0;
283 1 ucAV_Mode = 0;
284 1 bVpole_Curr = 1; // The initial set of polarity is positive
285 1 bHpole_Curr = 1; // The initial set of polarity is positive
286 1
287 1 ucTMDS_SEARCH_COUNTER = 0;
288 1
289 1 // Unknown signal source
290 1 if (SOURCE_MAX < (stGUD1.INPUT_SOURCE & 0x07))
291 1 stGUD1.INPUT_SOURCE = (stGUD1.INPUT_SOURCE & 0xf8) | SOURCE_VGA;
292 1
293 1 #if (TMDS_ENABLE == _FALSE)
if (SOURCE_DVI == (stGUD1.INPUT_SOURCE & 0x07))
stGUD1.INPUT_SOURCE = (stGUD1.INPUT_SOURCE & 0xf8) | SOURCE_VGA;
#endif
297 1
298 1 #if (TV_CHIP == TV_NONE)
299 1 if (SOURCE_TV == (stGUD1.INPUT_SOURCE & 0x07))
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 6
300 1 stGUD1.INPUT_SOURCE = (stGUD1.INPUT_SOURCE & 0xf8) | SOURCE_VGA;
301 1 #endif
302 1 #if (VIDEO_CHIP != VDC_SAA7118)
303 1 if (SOURCE_YUV == (stGUD1.INPUT_SOURCE & 0x07))
304 1 stGUD1.INPUT_SOURCE = (stGUD1.INPUT_SOURCE & 0xf8) | SOURCE_VGA;
305 1 #endif
306 1 #if (VIDEO_CHIP == VDC_NONE)
307 1 if (SOURCE_AV == (stGUD1.INPUT_SOURCE & 0x07) || SOURCE_SV == (stGUD1.INPUT_SOURCE & 0x07))
308 1 stGUD1.INPUT_SOURCE = (stGUD1.INPUT_SOURCE & 0xf8) | SOURCE_VGA;
309 1 #endif
310 1
311 1 // Because internal ADC power state will not affect VGA mode detection,
312 1 // we always turn off ADC when source changed, and turn it on again only
313 1 // when a valid VGA mode is going to display.
314 1 PowerDown_ADC();
315 1
316 1 #if (TMDS_ENABLE)
317 1 RTDSetBit(TMDS_CORRECTION_FF, 0xfc, 0x00);
318 1 #endif
319 1
320 1 #if (SOURCE_AUTO_SCAN)
321 1 ucSource_Times = 0;
322 1 PowerUp_TMDS();
323 1 PowerUp_VDC();
324 1 Delay_Xms(10);
325 1 #if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 || VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_ENABLE); // VIDEO ENABLE
I2CWrite(VIDEO_ALL);
#endif
329 1 bSourceScanEnable = _TRUE;
330 1 #endif
331 1
332 1 switch (stGUD1.INPUT_SOURCE & 0x07)
333 1 {
334 2 case SOURCE_VGA:
335 2
336 2 #if (!SOURCE_AUTO_SCAN)
#if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 || VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_DISABLE); // VIDEO DISABLE
I2CWrite(V_NOWORK); // VIDEO No Work
#endif
PowerDown_VDC();
PowerDown_TMDS();
#endif
344 2 // Set user's ADC gain and offset settings
345 2 SetADC_GainOffset();
346 2
347 2 ucInputSrc = SOURCE_VGA;
348 2 ucSync_Type = SYNC_SS;
349 2 RTDCodeW(VGA_INI_SS);
350 2 break;
351 2
352 2 case SOURCE_DVI:
353 2
354 2 #if (!SOURCE_AUTO_SCAN)
#if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 || VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_DISABLE); // VIDEO DISABLE
I2CWrite(V_NOWORK); // VIDEO No Work
#endif
PowerDown_VDC();
#endif
361 2 PowerUp_TMDS();
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 7
362 2
363 2 ucInputSrc = SOURCE_DVI;
364 2 RTDCodeW(DVI_INI);
365 2 break;
366 2
367 2 case SOURCE_AV:
368 2 case SOURCE_TV:
369 2 #if (SOURCE_AUTO_SCAN)
370 2 if ((SOURCE_AV != MASTER_SOURCE) && (SOURCE_AV != SLAVE_SOURCE) && (SOURCE_AV != THIRD_SOURCE))
371 2 {
372 3 bSourceScanEnable = _FALSE;
373 3 }
374 2 #endif
375 2 PowerUp_VDC();
376 2 Delay_Xms(10);
377 2
378 2 #if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 || VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_ENABLE); // VIDEO ENABLE
I2CWrite(VIDEO_ALL);
I2CWrite(AV_DETECT); // VIDEO Detect(AV)
#endif
383 2 if (SOURCE_AV == (stGUD1.INPUT_SOURCE & 0x07))
384 2 {
385 3 ucInputSrc = SOURCE_AV;
386 3 }
387 2 else
388 2 {
389 3 ucInputSrc = SOURCE_TV;
390 3
391 3 #if (TV_CHIP != TV_NONE)
// Set TV channel
Set_TV_Channel();
// Select TV signal input pin and disable AGC of video decoder
I2CWrite(TV_SOURCE_SEL);
I2CWrite(TV_SCAN_GAIN);
#endif
399 3 }
400 2
401 2 RTDCodeW(VIDEO_INI);
402 2 I2CRead(ADDR_VIDEO, 0x1f, 0x01);
403 2 break;
404 2
405 2 case SOURCE_SV:
406 2 #if (SOURCE_AUTO_SCAN)
407 2 if ((SOURCE_SV != MASTER_SOURCE) && (SOURCE_SV != SLAVE_SOURCE) && (SOURCE_SV != THIRD_SOURCE))
408 2 {
409 3 bSourceScanEnable = _FALSE;
410 3 }
411 2 #endif
412 2 PowerUp_VDC();
413 2 Delay_Xms(10);
414 2
415 2 #if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 || VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_ENABLE); // VIDEO ENABLE
I2CWrite(VIDEO_ALL);
I2CWrite(SV_DETECT); // VIDEO Detect(SV)
#endif
420 2 ucInputSrc = SOURCE_SV;
421 2 RTDCodeW(VIDEO_INI);
422 2 I2CRead(ADDR_VIDEO, 0x1f, 0x01);
423 2 break;
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 8
424 2
425 2 case SOURCE_YUV:
426 2 #if (SOURCE_AUTO_SCAN)
427 2 if ((SOURCE_YUV != MASTER_SOURCE) && (SOURCE_YUV != SLAVE_SOURCE) && (SOURCE_YUV != THIRD_SOURCE))
428 2 {
429 3 bSourceScanEnable = _FALSE;
430 3 }
431 2 #endif
432 2 PowerUp_VDC();
433 2 Delay_Xms(10);
434 2
435 2 #if (VIDEO_CHIP == VDC_SAA7118)
I2CWrite(V_ENABLE); // VIDEO ENABLE
I2CWrite(VIDEO_ALL);
I2CWrite(VIDEO_YUV);
I2CWrite(YUV_DETECT); // VIDEO Detect(YUV)
#endif
441 2 ucInputSrc = SOURCE_YUV;
442 2 RTDCodeW(VIDEO_INI);
443 2 I2CRead(ADDR_VIDEO, 0x1f, 0x01);
444 2 break;
445 2 }
446 1
447 1 #if (AUDIO_TYPE != AUDIO_NONE)
SetVolume();
#endif
450 1 }
451
452
453 void Power_Status_Init(void)
454 {
455 1 #if (POWER_KEY_TYPE == TYPE_ONE_TOUCH)
456 1
457 1 #if (KEY_DISABLED == POWER_KEY_MASK)
// Force system to power up when no power-key
bPower_Status = 1;
Power_Up_Init();
bStable = 0; // Assume input signal is not stable when power up
bFrameSync = 0; // Not sync yet
ucModeCnt = MODE_DETECT_FREQ; // Reset Input Mode Detector
Measure_Mode(); // Measure mode-timing
#else
472 1
473 1 // Restore previous power status
474 1
475 1 if (0 == (stGUD1.FUNCTION & 0x08))
476 1 {
477 2 bPower_Status = 1;
478 2
479 2 Power_Up_Init();
480 2
481 2 bStable = 0; // Assume input signal is not stable when power up
482 2 bFrameSync = 0; // Not sync yet
483 2 ucModeCnt = MODE_DETECT_FREQ; // Reset Input Mode Detector
484 2
485 2 Measure_Mode(); // Measure mode-timing
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 9
486 2 }
487 1 else
488 1 {
489 2 bPower_Status = 0;
490 2 }
491 1
492 1 #endif
493 1
494 1 #else
// Do nothing when power-key is two-state type.
bPower_Status = 0;
#endif
500 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 624 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -