⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initial.lst

📁 Realtek 公司的RTD2523A芯片原厂source code,没有被修改过的。
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -