📄 ms_func.lst
字号:
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 + -