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

📄 ms_func.lst

📁 MST720-DEMO程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MS_FUNC
OBJECT MODULE PLACED IN ..\1out\Ms_Func.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE ..\SCALER\Ms_Func.c BROWSE INCDIR(..\INC\;..\PANEL\;..\UI\;..\OPTI
                    -ON\;..\SCALER\DSP\) DEFINE(MCU_TYPE_SEL=0) DEBUG OBJECTEXTEND PRINT(..\1out\Ms_Func.lst) OBJECT(..\1out\Ms_Func.obj)

line level    source

   1          /******************************************************************************
   2           Copyright (c) 2005 MStar Semiconductor, Inc.
   3           All rights reserved.
   4          
   5           [Module Name]: Ms_Func.c
   6           [Date]:        17-Feb-2005
   7           [Comment]:
   8             For MST IC functions.
   9           [Reversion History]:
  10          *******************************************************************************/
  11          
  12          #define _MSFUNC_C_
  13          /********************
  14          * INCLUDE FILES     *
  15          *********************/
  16          #include "Project.h"
  17          #include "TypeDef.h"
  18          #include "Ms7X_reg.h"
  19          #include "Global.h"
  20          #include "Debug.h"
  21          #include "Ms_Rwreg.h"
  22          #include "Misc.h"
  23          #include "Sync.h"
  24          #include "Ms_Func.h"
  25          #include "OSDMenu.h"
  26          #include "OSDFunc.h"
  27          #include "Mcu.h"
  28          #include "I2C.h"
  29          #include "msACE.h"
  30          #include "PANEL.h"
  31          #if ((MARIA_TYPE_SEL == MARIA_2) && ENABLE_VD_DSP)
              #include "Maria2_dsp_lib.h"
              #endif  // ENABLE_VD_DSP
  34          
  35          
  36          /**********************
  37          * FUNCTION PROTOTYPES *
  38          ***********************/
  39          void mstEnableMute(void)
  40          {
  41   1              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);
  42   1              // Set frame color to BLUE (20050609)
  43   1              mstWriteByte(BK0_5C_FRAME_COLOR_1, 0x3F);
  44   1              mstWriteByte(BK0_5D_FRAME_COLOR_2, 0x00);
  45   1              // Enable free-run mode
  46   1              mstWriteByte(BK0_02_ISELECT, mstReadByte(BK0_02_ISELECT)|NIS_B);
  47   1              // Set Display CLK to default
  48   1      
  49   1              // Set Display HTotal and VTotal to default
  50   1              //mstWriteWord(BK0_4F_VDTOT_H, PANEL_VTOTAL);
  51   1              mstWriteWord(BK0_55_HDTOT_H, PANEL_HTOTAL-1);   //BK0_54_HDTOT_L, BK0_55_HDTOT_H
  52   1      }
  53          
  54          void mstDisableMute(void)
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 2   

  55          {
  56   1              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);
  57   1              // Disable free-run mode
  58   1              mstWriteByte(BK0_02_ISELECT, mstReadByte(BK0_02_ISELECT) & ~NIS_B);
  59   1      }
  60          
  61          #if SSC_ENABLE
  62          void mstEnableSSC(void)
  63          {
  64   1              // toggle BK0_E2[3] (Reset output)
  65   1              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);
  66   1              mstWriteByte(BK0_E2_SWRST0, _BIT3);
  67   1              miscDelay1ms(20);
  68   1              mstWriteByte(BK0_E2_SWRST0, 0x00);
  69   1      
  70   1      }
  71          #endif  // SSC_ENABLE
  72          
  73          void mstResetVedioDecoder(void)
  74          {
  75   1              mstWriteByte(GEN_00_REGBK, REGBANKVFE);
  76   1              mstWriteByte(BK2_14_SOFT_RST, 0x90);
  77   1              miscDelay1ms(2);
  78   1              mstWriteByte(BK2_14_SOFT_RST, 0x10);
  79   1              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);
  80   1      
  81   1      #if((MARIA_TYPE_SEL == MARIA_2) && ENABLE_VD_DSP)
                      VD_DSP_Ctl(TRUE);
                      g_bEnableVDDSP = 1;
                      miscDelay1ms(50);
              #endif
  86   1      }
  87          
  88          void mstPowerManagement(BYTE status)
  89          {
  90   1              switch (status)
  91   1              {
  92   2                      
  93   2                      case PM_CVBS:
  94   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
  95   2                              
  96   2                      #if ((BOARD_TYPE_SEL == BD_DEMO_7985M_IDP)||(BOARD_TYPE_SEL == BD_DEMO_7988M_IAP)||(BOARD_TYPE_SEL == BD
             -_SOCKET_7988M_IAP)||(BOARD_TYPE_SEL == BD_SOCKET_7985M_IDP)||(BOARD_TYPE_SEL == BD_EXMCU_7988M_IAP))//kevin
                                      mstWriteByte(BK1_31, 0x20);
                                      mstWriteByte(BK1_32, 0x34);
                              #else
 100   2                              mstWriteByte(BK1_31, 0x24);
 101   2                              mstWriteByte(BK1_32, 0x76);
 102   2                      #endif
 103   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 104   2                              mstWriteByte(BK0_E0_PDMD0, 0x80);
 105   2                              mstWriteByte(BK0_E1_PDMD1, 0x18);
 106   2                              break;
 107   2      
 108   2                      case PM_SVIDEO:
 109   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 110   2                              mstWriteByte(BK1_31, 0x20);
 111   2                              mstWriteByte(BK1_32, 0x34);
 112   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 113   2                              mstWriteByte(BK0_E0_PDMD0, 0x90);
 114   2                              mstWriteByte(BK0_E1_PDMD1, 0x18);
 115   2                              break;
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 3   

 116   2      
 117   2                      case PM_YCbCr:
 118   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 119   2                              mstWriteByte(BK1_31, 0x00);
 120   2                              mstWriteByte(BK1_32, 0x04);
 121   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 122   2                              mstWriteByte(BK0_E0_PDMD0, 0xB0);
 123   2                              mstWriteByte(BK0_E1_PDMD1, 0x11);
 124   2                      #if 0 //(MARIA_TYPE_SEL == MARIA_2)
                                      mstWriteByte(BK0_E3_SWRST1, 0x80);
                                      miscDelay1ms(10);
                                      mstWriteByte(BK0_E3_SWRST1, 0x00);
                              #endif
 129   2                              break;
 130   2      
 131   2                      case PM_VGA:
 132   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 133   2                              mstWriteByte(BK1_31, 0x00);
 134   2                              mstWriteByte(BK1_32, 0x04);
 135   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 136   2                              mstWriteByte(BK0_E0_PDMD0, 0xB0);
 137   2                              mstWriteByte(BK0_E1_PDMD1, 0x11);
 138   2                              break;
 139   2      
 140   2                      case PM_CCIR656:
 141   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 142   2                              mstWriteByte(BK1_31, 0x3E);
 143   2                              mstWriteByte(BK1_32, 0xFF);
 144   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 145   2                              mstWriteByte(BK0_E0_PDMD0, 0xB0);
 146   2                              mstWriteByte(BK0_E1_PDMD1, 0x19);
 147   2                              break;
 148   2      
 149   2                      case PM_REG_WRITE_ENABLE:
 150   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 151   2                              mstWriteByte(BK0_E1_PDMD1, (mstReadByte(BK0_E1_PDMD1) & ~BIUCLK_GAT_B));
 152   2                              break;
 153   2      
 154   2                      case PM_REG_WRITE_DISABLE:
 155   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 156   2                              mstWriteByte(BK0_E1_PDMD1, (mstReadByte(BK0_E1_PDMD1) | BIUCLK_GAT_B));
 157   2                              break;
 158   2      
 159   2                      case PM_OSD_TURN_ON:
 160   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 161   2                              mstWriteByte(BK0_E1_PDMD1, (mstReadByte(BK0_E1_PDMD1) & ~OSDCLK_GAT_B));
 162   2                              break;
 163   2      
 164   2                      case PM_OSD_TURN_OFF:
 165   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 166   2                              mstWriteByte(BK0_E1_PDMD1, (mstReadByte(BK0_E1_PDMD1) | OSDCLK_GAT_B));
 167   2                              break;
 168   2      
 169   2      
 170   2                      case PM_POWER_OFF:
 171   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 172   2                              mstWriteByte(BK1_31, 0x7F);
 173   2                              mstWriteByte(BK1_32, 0xFF);
 174   2                              mstWriteByte(BK1_45, 0x01);
 175   2                              mstWriteByte(BK1_A9_PD_VDAC, 0x0F);
 176   2                      #if !PANEL_ANALOG_TCON
                                      mstWriteByte(BK1_4C, 0x5F);
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 4   

                              #endif
 179   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 180   2                              mstWriteByte(BK0_E0_PDMD0, 0xB0);
 181   2                              mstWriteByte(BK0_E1_PDMD1, 0x80);
 182   2                              mstWriteByte(BK0_E1_PDMD1, 0xFF);
 183   2      
 184   2                      #if (MARIA_TYPE_SEL == MARIA_2 && PANEL_LVDS)
                                      mstWriteByte(GEN_00_REGBK, REGBANKLVDS_CCFL);   // switch to Bank 4
                                      mstWriteByte(BK4_1E_MOD_CTRL, 0x04);
                                      mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
                                      mstWriteByte(BK1_AC_EN_CDAC, 0x00);
                                      mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
                              #endif
 191   2                      
 192   2                              break;
 193   2      
 194   2                      case PM_POWER_ON:
 195   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 196   2                              mstWriteByte(BK0_E1_PDMD1, 0x00);
 197   2                              mstWriteByte(BK0_E0_PDMD0, 0x00);
 198   2                              miscDelay1ms(50);
 199   2                              mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
 200   2                      #if PANEL_ANALOG_TCON
 201   2                              //mstWriteByte(BK1_45, 0x00);
 202   2                              mstWriteByte(BK1_A9_PD_VDAC, 0x00);
 203   2                      #else
                                      mstWriteByte(BK1_4C, 0x5F);
                              #endif
 206   2                              mstWriteByte(BK1_31, 0x00);
 207   2                              mstWriteByte(BK1_32, 0x00);
 208   2                      
 209   2                      #if (MARIA_TYPE_SEL == MARIA_2 && PANEL_LVDS)
                                      mstWriteByte(GEN_00_REGBK, REGBANKLVDS_CCFL);   // switch to Bank 4
                                      mstWriteByte(BK4_1E_MOD_CTRL, 0x02);
                                      mstWriteByte(GEN_00_REGBK, REGBANKADC); // switch to Bank 1
                                      mstWriteByte(BK1_AC_EN_CDAC, 0x01);
                              #endif
 215   2                              miscDelay1ms(50);
 216   2                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // switch to Bank 0
 217   2                              //mstWriteByte(BK0_E1_PDMD1, 0x00);
 218   2                              break;
 219   2      
 220   2              }
 221   1              miscDelay1ms(10);
 222   1      
 223   1      }
 224          
 225          #if VIDEO_NON_LINEAR_ADJ
 226          BYTE mstNonLinearCalculate(NonLinearCurveType NoLinear,BYTE AdjustValue)
 227          {
 228   1              BYTE rValue,ucXVStart,ucXVEnd,ucXStar,ucXEnd,ucStartPoint;
 229   1              WORD wDistance;
 230   1              BYTE temData = AdjustValue;
 231   1              
 232   1              if (AdjustValue < NON_LINEAR_POINT_X1)
 233   1              {
 234   2                      ucXVStart = NoLinear.X0;
 235   2                      ucXVEnd   = NoLinear.X1;
 236   2                      ucXStar   = NON_LINEAR_POINT_X0;
 237   2                      ucXEnd    = NON_LINEAR_POINT_X1;
 238   2              }
 239   1              else if (AdjustValue < NON_LINEAR_POINT_X2)

⌨️ 快捷键说明

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