📄 sync.lst
字号:
C51 COMPILER V7.50 SYNC 03/18/2008 22:29:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SYNC
OBJECT MODULE PLACED IN ..\1out\Sync.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE ..\SCALER\Sync.c BROWSE INCDIR(..\INC\;..\PANEL\;..\UI\;..\OPTION\
-;..\SCALER\DSP\) DEFINE(MCU_TYPE_SEL=0) DEBUG OBJECTEXTEND PRINT(..\1out\Sync.lst) OBJECT(..\1out\Sync.obj)
line level source
1 /******************************************************************************
2 Copyright (c) 2005 MStar Semiconductor, Inc.
3 All rights reserved.
4
5 [Module Name]: Sync.c
6 [Date]: 16-Feb-2005
7 [Comment]:
8 For video input sync detect functions.
9 [Reversion History]:
10 *******************************************************************************/
11
12 #define _SYNC_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 "Mcu_reg.h"
21 #include "PANEL.h"
22 #include "Debug.h"
23 #include "Ms_Rwreg.h"
24 #include "Misc.h"
25 #include "Sync.h"
26 #include "OSDMenu.h"
27 #include "Ms_Func.h"
28 #include "msACE.h"
29 #if ((MARIA_TYPE_SEL == MARIA_2) && ENABLE_VD_DSP)
#include "Maria2_dsp_lib.h"
#endif // ENABLE_VD_DSP
32
33
34 /**********************
35 * FUNCTION PROTOTYPES *
36 ***********************/
37 #if !DEMODULELATOR_MODE
void mstSyncDemodulationModeSet(BIT bMode)
{
mstWriteByte(GEN_00_REGBK, REGBANKVCF); // Switch to Bank3 VCF
if(bMode)
mstWriteByte(BK3_11_COMBCFGB, 0x20); // Set demodulation to mode 1
else
mstWriteByte(BK3_11_COMBCFGB, 0x00); // Set demodulation to mode 0
mstWriteByte(GEN_00_REGBK, REGBANKSCALER); //Switch to Bank0 Scaler
}
#endif // !DEMODULELATOR_MODE
52
53 void mstSyncSourceSwitch(void)
54 {
C51 COMPILER V7.50 SYNC 03/18/2008 22:29:09 PAGE 2
55 1 mstPowerManagement(PM_POWER_ON);
56 1 mstEnableMute();
57 1
58 1 #if (MARIA_TYPE_SEL == MARIA_2)
59 1 //-------------- seven 051018----------------------------
60 1 mstWriteByte(GEN_00_REGBK, REGBANKADC);
61 1 if(tOSDSourcSELSequence[Display.ucSourceSEL]==VGA)
62 1 {
63 2 mstWriteByte(BK1_55,0xC0);
64 2 // msACEPCYUV2RGBCtl(1);
65 2 }
66 1 else
67 1 {
68 2 mstWriteByte(BK1_55,0x00);
69 2 // msACEPCYUV2RGBCtl(0);
70 2 }
71 1 mstWriteByte(GEN_00_REGBK, REGBANKSCALER);
72 1 //-------------------------------------------------------
73 1 #endif
74 1
75 1 switch (tOSDSourcSELSequence[Display.ucSourceSEL])
76 1 {
77 2 case CVBS1:
78 2
79 2 #if RS232DBG
80 2 sysWriteString("CVBS 1 IN \x0d\x0a");
81 2 #endif // RS232DBG
82 2
83 2 mstWriteDataTable(tSyncCVBSTable);
84 2 mstWriteByte(GEN_00_REGBK, REGBANKADC);
85 2 mstWriteByte(BK1_18_CALEN, 0x00); // Disable YCbCr/YPbPr whitw balance
86 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_2F_ADC_MUX, 0x10); // select CVBS1 input
mstWriteByte(BK1_90_SARADC_CTRL, (mstReadByte(BK1_90_SARADC_CTRL)&~_BIT3));
#else
90 2 mstWriteByte(BK1_2F_ADC_MUX, 0x00); // select CVBS1 input
91 2 #endif
92 2
93 2 mstWriteByte(GEN_00_REGBK, REGBANKVFE);
94 2
95 2 #if (MARIA_TYPE_SEL == MARIA_2)
96 2 mstWriteByte(BK2_1A_SVD_EN, 0x40); // SVD_EN[7] (CVBS)
97 2 #else
mstWriteByte(BK2_1A_SVD_EN, 0x07); // SVD_EN[7] (CVBS)
#endif
100 2
101 2 #if (!DEMODULELATOR_MODE && FSC_8X && (MARIA_TYPE_SEL == MARIA_1))
mstWriteByte(BK2_2D_VDFD_CTRL3, 0x80);
#endif
104 2
105 2 #if (MARIA_TYPE_SEL == MARIA_1)
mstWriteByte(BK2_69_SRC_CTRL1, 0x82);
#endif
108 2
109 2 mstWriteByte(GEN_00_REGBK, REGBANKVCF); // select register bank scaler
110 2 #if DEMODULELATOR_MODE
111 2 mstWriteByte(BK3_11_COMBCFGB, 0x20);
112 2 #endif
113 2
114 2 #if (MARIA_TYPE_SEL == MARIA_2)
115 2 mstWriteByte(BK3_A1, 0x02); // for SECAM input
C51 COMPILER V7.50 SYNC 03/18/2008 22:29:09 PAGE 3
116 2 #else
mstWriteByte(BK3_40_TIMDETCFGA, mstReadByte(BK3_40_TIMDETCFGA) | _BIT5);
// mstWriteByte(BK3_65_REG_SAT, 0x80); // (65h ORG:0x80)
mstWriteByte(BK3_4C_DEGDETCFG, 0x00);
#endif
121 2
122 2 mstWriteByte(GEN_00_REGBK, REGBANKSCALER); // select register bank scaler
123 2 mstWriteByte(BK0_04_ISCTRL, 0x10);
124 2
125 2 mstResetVedioDecoder(); // Reset vedio decoder
126 2
127 2 #if USE_ALLMACEOSD
mstSetMACE(1);
#else
130 2 mstSetMACE(Display.ucMACE);
131 2 #endif //USE_ALLMACEOSD
132 2 mstSetContrast(Display.ucVedioContrast);
133 2 break;
134 2
135 2 case CVBS2:
136 2
137 2 #if RS232DBG
138 2 sysWriteString("CVBS 2 IN \x0d\x0a");
139 2 #endif // RS232DBG
140 2
141 2 mstWriteDataTable(tSyncCVBSTable);
142 2 mstWriteByte(GEN_00_REGBK, REGBANKADC);
143 2 mstWriteByte(BK1_18_CALEN, 0x00); // Disable YCbCr/YPbPr whitw balance
144 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_2F_ADC_MUX, 0x10); // select CVBS2 input
mstWriteByte(BK1_90_SARADC_CTRL, (mstReadByte(BK1_90_SARADC_CTRL)|_BIT3));
#else
148 2 mstWriteByte(BK1_2F_ADC_MUX, 0x08);
149 2 #endif
150 2
151 2 mstWriteByte(GEN_00_REGBK, REGBANKVFE);
152 2
153 2 #if (MARIA_TYPE_SEL == MARIA_2)
154 2 mstWriteByte(BK2_1A_SVD_EN, 0x40); // SVD_EN[7] (CVBS)
155 2 #else
mstWriteByte(BK2_1A_SVD_EN, 0x07); // SVD_EN[7] (CVBS)
#endif
158 2
159 2 #if (!DEMODULELATOR_MODE && FSC_8X && (MARIA_TYPE_SEL == MARIA_1))
mstWriteByte(BK2_2D_VDFD_CTRL3, 0x80);
#endif
162 2
163 2 #if (MARIA_TYPE_SEL == MARIA_1)
mstWriteByte(BK2_69_SRC_CTRL1, 0x82);
#endif
166 2
167 2 mstWriteByte(GEN_00_REGBK, REGBANKVCF); // select register bank scaler
168 2 #if DEMODULELATOR_MODE
169 2 mstWriteByte(BK3_11_COMBCFGB, 0x20);
170 2 #endif
171 2
172 2 #if (MARIA_TYPE_SEL == MARIA_2)
173 2 mstWriteByte(BK3_A1, 0x02); // for SECAM input
174 2 #else
mstWriteByte(BK3_40_TIMDETCFGA, mstReadByte(BK3_40_TIMDETCFGA) | _BIT5);
// mstWriteByte(BK3_65_REG_SAT, 0x80); // (65h ORG:0x80)
C51 COMPILER V7.50 SYNC 03/18/2008 22:29:09 PAGE 4
mstWriteByte(BK3_4C_DEGDETCFG, 0x00);
#endif
179 2
180 2 mstWriteByte(GEN_00_REGBK, REGBANKSCALER); // select register bank scaler
181 2 mstWriteByte(BK0_04_ISCTRL, 0x10);
182 2
183 2 mstResetVedioDecoder(); // Reset vedio decoder
184 2
185 2 #if USE_ALLMACEOSD
mstSetMACE(1);
#else
188 2 mstSetMACE(Display.ucMACE);
189 2 #endif //USE_ALLMACEOSD
190 2 mstSetContrast(Display.ucVedioContrast);
191 2 break;
192 2
193 2 case SVIDEO1:
194 2
195 2 #if RS232DBG
196 2 sysWriteString("SVIDEO 1 IN \x0d\x0a");
197 2 #endif // RS232DBG
198 2
199 2 mstWriteDataTable(tSyncCVBSTable);
200 2 mstWriteByte(GEN_00_REGBK, REGBANKADC);
201 2 mstWriteByte(BK1_18_CALEN, 0x00); // Disable YCbCr/YPbPr whitw balance
202 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_2F_ADC_MUX, 0x10); // select S-Video input
mstWriteByte(BK1_90_SARADC_CTRL, (mstReadByte(BK1_90_SARADC_CTRL)&~_BIT3));
#else
206 2 mstWriteByte(BK1_2F_ADC_MUX, 0x10);
207 2 #endif
208 2
209 2 mstWriteByte(GEN_00_REGBK, REGBANKVFE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -