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

📄 mstar.lst

📁 Maria2 CarTV 20060707 Tony
💻 LST
📖 第 1 页 / 共 5 页
字号:
 209          //               Analog/Digital/YCbCr(Video) input
 210          //
 211          // caller: mSar_WriteByte(), msReadByte() in ms_rwreg.c
 212          // callee: msMonitorInputTiming() in detect.c
 213          //*******************************************************************
 214          #if     ((MST_CHIP==MST716A)||(MST_CHIP==MST717A)||(MST_CHIP==MST726A))
 215          void SwitchInputPort(InputPortType PortSwitch)
 216          {
 217   1              BYTE bk1_2F_value;
 218   1              BYTE bk1_90_mask=0;
 219   1      
 220   1              switch(PortSwitch)
 221   1              {
 222   2                      case Input_TV:
 223   2                              bk1_2F_value=TV_RealPortSet;
 224   2                              break;
 225   2                      case Input_CVBS1:
 226   2                              bk1_2F_value=CVBS1_RealPortSet;
 227   2                              break;
 228   2                      case Input_CVBS2:
 229   2                              bk1_2F_value=CVBS2_RealPortSet;
 230   2                              break;
 231   2                      case Input_CVBS3:
 232   2                              bk1_2F_value=CVBS3_RealPortSet;
 233   2                              break;
 234   2                      case Input_VGA:
 235   2                              bk1_2F_value=VGA_RealPortSet;
 236   2                              break;
 237   2              case Input_SVIDEO1:
 238   2                  bk1_2F_value=SVIDEO1_RealPortSet;
 239   2                  break;
 240   2              }
 241   1      
 242   1      #if VGA_ENABLE
 243   1          if(PortSwitch==Input_VGA)
 244   1              msWriteRegsTbl(tPCFCC);
*** ERROR C202 IN LINE 244 OF ..\..\KERNAL\MSTAR.C: 'tPCFCC': undefined identifier
C51 COMPILER V8.01   MSTAR                                                                 11/28/2006 08:08:06 PAGE 6   

 245   1          else
 246   1      #endif
 247   1              msWriteRegsTbl(tVideoFCC);
*** ERROR C202 IN LINE 247 OF ..\..\KERNAL\MSTAR.C: 'tVideoFCC': undefined identifier
 248   1      
 249   1          if(IsVideoPortInUse())
 250   1          {
 251   2              if(PortSwitch==Input_TV)
 252   2                  msWriteRegsTbl(t_TVInitializeFCC);
*** ERROR C202 IN LINE 252 OF ..\..\KERNAL\MSTAR.C: 't_TVInitializeFCC': undefined identifier
 253   2              else
 254   2                  msWriteRegsTbl(t_AVInitializeFCC);
*** ERROR C202 IN LINE 254 OF ..\..\KERNAL\MSTAR.C: 't_AVInitializeFCC': undefined identifier
 255   2          }
 256   1      
 257   1              //if (bk1_2F_value==PORT_CVBS_SV1C)
 258   1                              //bk1_90_mask=_BIT3;
 259   1      
 260   1              msWriteByte(BK0_00_REGBK, REG_BANK1_ADC_ACE_MCU);
 261   1              msWriteByte(BK1_2F, bk1_2F_value);
 262   1      
 263   1              bk1_2F_value=msReadByte(BK1_90_SARADC_CTRL);
 264   1              bk1_2F_value&=~_BIT3;
 265   1              msWriteByte(BK1_90_SARADC_CTRL, bk1_2F_value|bk1_90_mask);
 266   1      
 267   1              msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
 268   1      }
 269          #elif (MST_CHIP==MST710A)
              void SwitchInputPort(InputPortType PortSwitch)
              {
                      BYTE bk1_2F_value;
                      BYTE bk1_90_mask=0;
              
                      switch(PortSwitch)
                      {
                              case Input_TV:
                                      bk1_2F_value=TV_RealPortSet;
                                      break;
              
                              case Input_CVBS1:
                                      bk1_2F_value=CVBS1_RealPortSet;
                                      break;
                      }
              
                  if(IsVideoPortInUse())
                  {
                      msWriteRegsTbl(tVideoFCC);    // Nelson 2006-03-25 Add
                      if(PortSwitch==Input_TV)
                          msWriteRegsTbl(t_TVInitializeFCC);
                      else
                          msWriteRegsTbl(t_AVInitializeFCC);
                  }
              
                      if (bk1_2F_value==PORT_CVBS_SV1C)
                      bk1_90_mask=_BIT3;
              
                      msWriteByte(BK0_00_REGBK, REG_BANK1_ADC_ACE_MCU);
                      msWriteByte(BK1_2F, bk1_2F_value);
              
                      bk1_2F_value=msReadByte(BK1_90_SARADC_CTRL);
                      bk1_2F_value&=~_BIT3;
                      msWriteByte(BK1_90_SARADC_CTRL, bk1_2F_value|bk1_90_mask);
C51 COMPILER V8.01   MSTAR                                                                 11/28/2006 08:08:06 PAGE 7   

              
                      msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
              }
              #elif (MST_CHIP==MST720A)
              void SwitchInputPort(InputPortType PortSwitch)
              {
                      BYTE bk1_2F_value;
                      BYTE bk1_90_mask=0;
              
                      switch(PortSwitch)
                      {
                              case Input_TV:
                                      bk1_2F_value=TV_RealPortSet;
                                      break;
                              case Input_CVBS1:
                                      bk1_2F_value=CVBS1_RealPortSet;
                                      //bk1_90_mask=_BIT3;
                                      break;
                              case Input_SVIDEO1:
                                      bk1_2F_value=SVIDEO1_RealPortSet;
                                      break;
                      }
              
                  if(IsVideoPortInUse())
                  {
                     msWriteRegsTbl(tVideoFCC);    // Nelson 2006-03-25 Add
                      if(PortSwitch==Input_TV)
                          msWriteRegsTbl(t_TVInitializeFCC);
                      else
                          msWriteRegsTbl(t_AVInitializeFCC);
                  }
              
                      msWriteByte(BK0_00_REGBK, REG_BANK1_ADC_ACE_MCU);
                      msWriteByte(BK1_2F, bk1_2F_value);
              
                      bk1_2F_value=msReadByte(BK1_90_SARADC_CTRL);
                      bk1_2F_value&=~_BIT3;
                      msWriteByte(BK1_90_SARADC_CTRL, bk1_2F_value|bk1_90_mask);
              
                      msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
              }
              #endif
 346          
 347          
 348          void SetChromaMode(void)
 349          {
 350   1              BYTE uctemp, temp2;
 351   1      
 352   1      #if TV_ENABLE
 353   1              if(IsTVInUse())
 354   1                  {
 355   2                      uctemp=((g_TVChSetting.TvCurChannelMisc&ColorSysMask)>>4)%CHROMA_NUMS;
 356   2              devSetSWF(((g_TVChSetting.TvCurChannelMisc&SoundSysMask)%TV_SOUND_NUMS));
 357   2                  }
 358   1              else
 359   1      #endif
 360   1      
 361   1              uctemp=g_VideoSetting.VideoColorSys%CHROMA_NUMS;
 362   1              msWriteByte(BK0_00_REGBK, REG_BANK3_COMB);
 363   1      
 364   1              switch (uctemp)
 365   1              {
C51 COMPILER V8.01   MSTAR                                                                 11/28/2006 08:08:06 PAGE 8   

 366   2                  case CHROMA_SECAM:
 367   2                  case CHROMA_AUTO:
 368   2                          temp2=0;
 369   2                          break;
 370   2                  case CHROMA_PAL:
 371   2                          temp2=0x02;
 372   2                          break;
 373   2                  case CHROMA_NTSC:
 374   2                          temp2=0x01;
 375   2                          break;
 376   2              }
 377   1              msWriteByteMask(BK3_1C_CTRLSWCH, temp2, 0x03);
 378   1              msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
 379   1      }
 380          
 381          void msLineBufferDelayCtl( BOOL bInterlace )
 382          {
 383   1          BYTE ucTmp = 0;
 384   1          bInterlace=bInterlace;
 385   1          ucTmp = 0x20;
 386   1          msWriteByte(BK0_0F_ASCTRL, ucTmp );
 387   1      }
 388          
 389          ///////////////////////////////////////////////////////////////////////////////
 390          // <Function>: msSetInterrupt
 391          //
 392          // <Description>: Set chip interrrupt.
 393          //
 394          // <Parameter>:  -  <Flow>  -  <Description>
 395          //-----------------------------------------------------------------------------
 396          //    IntSel     -    In    -  interrupt setting
 397          ///////////////////////////////////////////////////////////////////////////////
 398          void msSetInterrupt(msInterruptType IntSel)
 399          {
 400   1          BYTE ucBank;
 401   1      
 402   1          ucBank = msReadByte( BK0_00_REGBK);
 403   1      
 404   1          msWriteByte(BK0_00_REGBK,REG_BANK_SCALER);
 405   1      
 406   1          msWriteByte(BK0_1D_INTENC, 0x00); // Interrupt enable control byte C
 407   1          msWriteByte(BK0_1F_INTEND, 0x00); // Interrupt enable control byte D
 408   1          switch( IntSel )
 409   1          {
 410   2              case INTERRUPT_PC:
 411   2                  msWriteByte(BK0_1F_INTEND, 0x0E); // V change,H loss,V loss
 412   2                  break;
 413   2              case INTERRUPT_YPBPR:
 414   2                  msWriteByte(BK0_1F_INTEND, 0x06); // H loss,V loss
 415   2                  break;
 416   2              case INTERRUPT_INPUT_VSYNC:
 417   2                  msWriteByte(BK0_1D_INTENC, 0x40); // H loss,V loss
 418   2                  break;
 419   2          }
 420   1      
 421   1          msWriteByte(BK0_00_REGBK, ucBank);
 422   1      }
 423          
 424          void ChipPowerUpcontrol(void)
 425          {
 426   1          BYTE vbk0_e0,vbk0_e1,vbk1_31,vbk1_32;
 427   1      
C51 COMPILER V8.01   MSTAR                                                                 11/28/2006 08:08:06 PAGE 9   

 428   1          if( IsCVBSInUse())
 429   1          {
 430   2              vbk0_e0=0x80;
 431   2              vbk0_e1=0x1C;
 432   2              vbk1_31=0x24;
 433   2              vbk1_32=0x76;
 434   2          }
 435   1          else if(IsSVideoInUse())
 436   1          {
 437   2              vbk0_e0=0x90;
 438   2              vbk0_e1=0x18;
 439   2              vbk1_31=0x20;
 440   2              vbk1_32=0x34;
 441   2          }
 442   1      #if VGA_ENABLE
 443   1          else if(IsVGAInUse())
 444   1          {
 445   2              vbk0_e0=0xb0;
 446   2              vbk0_e1=0x11;
 447   2              vbk1_31=0x00;
 448   2              vbk1_32=0x04;
 449   2          }
 450   1      #endif
 451   1      
 452   1          msWriteByte(BK0_E0_PDMD0, vbk0_e0);
 453   1          msWriteByte(BK0_E1_PDMD1, vbk0_e1);
 454   1          Delay1ms(5);//(50);
 455   1          msWriteByte(BK0_00_REGBK, REG_BANK1_ADC_ACE_MCU); // switch to Bank 1
 456   1          msWriteByte(BK1_31, vbk1_31);
 457   1          msWriteByte(BK1_32, vbk1_32);
 458   1      
 459   1          msWriteByte(BK0_00_REGBK, REG_BANK_SCALER); // switch to Bank 0
 460   1      }
 461          
 462          void msSetupInputPort(void)
 463          {
 464   1              SwitchInputPort(g_VideoSetting.InputType);
 465   1      
 466   1          ChipPowerUpcontrol();
 467   1      
 468   1      #if VGA_ENABLE
 469   1          if( IsVGAInUse()) // PC
 470   1          {
 471   2              msWriteByte(BK0_0D_LYL, 0x00);
 472   2              msAdjustPCRGB(0x80, 0x80, 0x80);
 473   2              msWriteByte(BK0_00_REGBK, REG_BANK1_ADC_ACE_MCU );
 474   2              msWriteByte( BK1_24, 0x50 );
 475   2              msWriteByte( BK1_25, 0 ); // FPLL_DIVN => Divide by 1
 476   2              msWriteByte( BK1_29, 0x18 ); // 20051007
 477   2              msWriteByte( BK1_2C, 0x00 ); // I clamp
 478   2              msWriteByte( BK0_00_REGBK, REG_BANK_SCALER);
 479   2              //msWriteByte( BK0_37, 0 ); // 20051004 Lizst: Disable D-Edge

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -