📄 t103_util.lst
字号:
C51 COMPILER V7.50 T103_UTIL 10/30/2006 16:14:42 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE T103_UTIL
OBJECT MODULE PLACED IN .\Obj\T103_Util.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\T103\T103_Util.c LARGE OPTIMIZE(6,SPEED) BROWSE INCDIR(.\Include\;.\
-Source\;.\Include\Panel\;.\Include\GammaTable\;.\Include\tuner\) DEFINE(T103) DEBUG OBJECTEXTEND PRINT(.\T103_Util.lst)
-OBJECT(.\Obj\T103_Util.obj)
line level source
1 /****************************************************************************
2 * File: T803_Util.c *
3 * Description: Define T803 chip control policy *
4 * History: 2005/08/12 *
5 * *
6 * Copyright 2005 (c) Terawins Inc. *
7 ****************************************************************************/
8
9 /****************************************************************************
10 * Include File *
11 ****************************************************************************/
12
13 #include "reg51.h"
14 #include "math.h"
15 #include "common.h"
16 #include "struct.h"
17 #include "system.h"
18 #include "panel.h"
19 #include "Resolution.h"
20 #include "SRC_ctrl.h"
21 #include "twowire.h"
22 #include "filter.h"
23 #include "keypad.h"
24 #include "Nvram.h"
25 //#include "Video.h"
26 #include "T803_Util.h"
27 #include "TW803Reg.h"
28 #include "remote.h"
29 #include "osddraw.h"
30 #include "tuner.h"
31 #include "timer0.h"
32 #include "T515.h"
33 #include "ModeCtrl.h"
34 #include "Global.h"
35 #include "display.h"
36 #include "cfgdsply.h"
37 #include "keypad.h"
38 #include "Gamma.h"
39 #include "INIT.h"
40 #include "VBI_Parser.h" // kenny 20060403
41 #include "SRC_565.h"
42 #include "RGB565.h"
43 static uCHAR cSVideo=0;
44 //static uCHAR cYPbPr=0; // add by Sherman 06'01'12
45 /****************************************************************************
46 * Public Global Variable *
47 ****************************************************************************/
48 uDWORD m_dwTemp[2];
49 uWORD m_wDWHSZ=DWHSZ;
50 uCHAR NoSignal=0;
51 #ifdef ROTATE
uCHAR Dis_Mode=TOP_LEFT;
#endif
C51 COMPILER V7.50 T103_UTIL 10/30/2006 16:14:42 PAGE 2
54
55 /****************************************************************************
56 * Public Function *
57 ****************************************************************************/
58 void InitT803(void)
59 {
60 1 uCHAR RegIndex,RegAdr;
61 1
62 1 RegIndex=0;
63 1 RegAdr=stInitT10xP0[0].ucRegAdr;
64 1 while (RegAdr != 0xFF) // bruce, 2006/01/09
65 1 {
66 2 if(RegAdr==0x30){
67 3 I2CWriteByte(TW803_P0,RegAdr,(I2CReadByte(TW803_P0,0x30)|0x01)); // enable Shadow
68 3 I2CWriteByte(TW803_P0,RegAdr,(I2CReadByte(TW803_P0,0x30)&(~0x02))| DEINTERLACE); //Bruce, 2006/01/10
69 3 }
70 2 else{
71 3 I2CWriteByte(TW803_P0,RegAdr,stInitT10xP0[RegIndex].ucRegVal);
72 3 }
73 2 RegAdr=stInitT10xP0[++RegIndex].ucRegAdr;
74 2 }
75 1 RegIndex=0;
76 1 RegAdr=stInitT10xP2[0].ucRegAdr;
77 1 while (RegAdr != 0xFF) // bruce, 2006/01/09
78 1 {
79 2 if(RegAdr==0x01)
80 2 I2CWriteByte(TW803_P2,RegAdr,(I2CReadByte(TW803_P2,0x01)|0x01));// enable black level correction for 10
- blank-to-black pedestal
81 2 else
82 2 I2CWriteByte(TW803_P2,RegAdr,stInitT10xP2[RegIndex].ucRegVal);
83 2 RegAdr=stInitT10xP2[++RegIndex].ucRegAdr;
84 2 }
85 1 //=========================================================================
86 1 // Panel specified register settings
87 1 //=========================================================================
88 1 //#if (EMPTY_ARRAY)
89 1 for(RegIndex=0;RegIndex < PanelSpecP0Cnt;RegIndex++)
90 1 {
91 2 I2CWriteByte(TW803_P0,ucaPanelSpecAdrP0[RegIndex],ucaPanelSpecDataP0[RegIndex]);
92 2 }
93 1 //#endif
94 1
95 1 for(RegIndex=0;RegIndex < PanelSpecP2Cnt;RegIndex++)
96 1 {
97 2 I2CWriteByte(TW803_P2,ucaPanelSpecAdrP2[RegIndex],ucaPanelSpecDataP2[RegIndex]);
98 2 }
99 1
100 1 #ifdef ROTATE
SET_Dismod();
#endif
103 1
104 1 //kenny 20060403
105 1 #ifdef VBI_CC
VBI_Init();
#endif
108 1 //kenny 20060403
109 1 }
110
111 #ifdef TCON
112 void TconInit(void)
113 {
114 1 uCHAR TconIndex;
C51 COMPILER V7.50 T103_UTIL 10/30/2006 16:14:42 PAGE 3
115 1
116 1 for(TconIndex=0;TconIndex < P1TconCnt;TconIndex++)
117 1 I2CWriteByte(TW803_P1, TconAddress+TconIndex, TconP1Data[TconIndex]);
118 1 }
119 #endif
120
121 #ifdef ROTATE
void SET_Dismod(void)
{
switch (Dis_Mode){
case TOP_LEFT: //Start from top-left
#ifdef ANALOG_PANEL
I2CWriteByte(TW803_P0,0xE1, ScanMode[0]);
#else
UP_DOWN = DigiPanlScanMode[0]>>1;
LEFT_RIGHT = DigiPanlScanMode[0]&0x01;
I2CWriteByte(TW803_P0,0xE1, ScanMode[0]&0xF0);
#endif
break;
case TOP_RIGHT: //Start from top-right
#ifdef ANALOG_PANEL
I2CWriteByte(TW803_P0,0xE1, ScanMode[1]);
#else
UP_DOWN = DigiPanlScanMode[1]>>1;
LEFT_RIGHT = DigiPanlScanMode[1]&0x01;
I2CWriteByte(TW803_P0,0xE1, ScanMode[1]&0xF0);
#endif
break;
case BOTTOM_RIGHT: //Start from bottom-right
#ifdef ANALOG_PANEL
I2CWriteByte(TW803_P0,0xE1, ScanMode[2]);
#else
UP_DOWN = DigiPanlScanMode[2]>>1;
LEFT_RIGHT = DigiPanlScanMode[2]&0x01;
I2CWriteByte(TW803_P0,0xE1, ScanMode[2]&0xF0);
#endif
break;
case BOTTOM_LEFT: //Start from bottom-left
#ifdef ANALOG_PANEL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -