📄 osddraw.lst
字号:
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE OSDDRAW
OBJECT MODULE PLACED IN .\Object\Osddraw.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c LARGE BROWSE INCDIR(.\Includ
-eFile;.\IncludeFile\Panel;.\IncludeFile\Font_Icon) DEFINE(T108) DEBUG OBJECTEXTEND PRINT(.\List\Osddraw.lst) OBJECT(.\Ob
-ject\Osddraw.obj)
line level source
1 #include <reg51.h>
2 #include "common.h"
3 #include "System.h"
4 #include "Resolution.h"
5
6 #include "SRC_ctrl.h"
7 #include "OSDDraw.h"
*** WARNING C318 IN LINE 7 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'OSDDraw.h'
8 #include "Keypad.h"
9 #include "TwoWire.h"
*** WARNING C318 IN LINE 9 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'TwoWire.h'
10 #include "TW803Reg.h"
*** WARNING C318 IN LINE 10 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'TW803Reg.h'
11 #include "OSDCtrl.h"
*** WARNING C318 IN LINE 11 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'OSDCtrl.h'
12 #include "OSDDRAW.h"
*** WARNING C318 IN LINE 12 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'OSDDRAW.h'
13 #include "Tuner.h"
*** WARNING C318 IN LINE 13 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'Tuner.h'
14 #include "timer0.h"
15 #include "T803_Util.h"
*** WARNING C318 IN LINE 15 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'T803_Util.h'
16 #define __GLOBAL_H__
17 #include "Global.h"
18 #ifndef T118
19 #include "T803OSD.h"
*** WARNING C318 IN LINE 19 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'T803OSD.h'
20 #endif
21 #define __INIT_H__
22 #include "init.h"
*** WARNING C318 IN LINE 22 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'init.h'
23 #include "OSDTbl.h"
*** WARNING C318 IN LINE 23 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'OSDTbl.h'
24 #include "OSDMenu.h"
*** WARNING C318 IN LINE 24 OF ..\CS8957T108\T103 ADD108\Source\OSD\Osddraw.c: can't open file 'OSDMenu.h'
25 #include "intrins.h"
26
27 #if 1 //#ifdef T108
28 #include "IconJigsaw.h"
29 #include "OSD2CSL.h"
30 #include "OSD1_Define.h"
31 #include "OSD2_Define.h"
32
33 #endif
34 /*************************************************************************
35 OSD1 function
36 **************************************************************************/
37 void OSD1LoadColor(void)
38 {
39 1 uCHAR i;
40 1 I2CWriteByte(TW803_P0,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
*** ERROR C202 IN LINE 40 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
41 1 for(i=0;i<32;i++)
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 2
42 1 I2CWriteByte(TW803_P0,OSD_CFG_DATA,cOSDMenuLutData[i]);
*** ERROR C202 IN LINE 42 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
43 1
44 1 }
45
46 void OSDSetRamAddr(uWORD address)
47 {
48 1 I2CWriteByte(TW803_P0,OSD_RAM_AH,(uCHAR)(address>>8));
*** ERROR C202 IN LINE 48 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
49 1 I2CWriteByte(TW803_P0,OSD_RAM_AL,(uCHAR)(address & 0xff));
*** ERROR C202 IN LINE 49 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
50 1
51 1 }
52
53
54 void OSDEnable(void)
55 {
56 1 m_bOSDEnable = 1;
*** ERROR C202 IN LINE 56 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'm_bOSDEnable': undefined identifier
57 1 OSDCfgWr(OSD1_CTRL,0x84);
*** ERROR C202 IN LINE 57 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'OSD1_CTRL': undefined identifier
58 1 I2CWriteByte(TW803_P0,0xa0,0x00);
*** ERROR C202 IN LINE 58 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
59 1 I2CWriteByte(TW803_P0,0xa1,0x80);
*** ERROR C202 IN LINE 59 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
60 1 I2CWriteByte(TW803_P0,0xE2,0x11);
*** ERROR C202 IN LINE 60 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'TW803_P0': undefined identifier
61 1 #ifdef TIMER0
62 1 Timer0Start();
63 1 #endif
64 1
65 1 }
66
67 void OSDDisable(void)
68 {
69 1 #ifdef TIMER0
70 1 Timer0Stop();
71 1 #endif
72 1 OSDCfgWr(OSD1_CTRL,0x18);
*** ERROR C202 IN LINE 72 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'OSD1_CTRL': undefined identifier
73 1 m_cOSDMenu=idNULLMENU;
*** ERROR C202 IN LINE 73 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'm_cOSDMenu': undefined identifier
74 1 m_cItem=0;
*** ERROR C202 IN LINE 74 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'm_cItem': undefined identifier
75 1 m_bOSDEnable=0;
*** ERROR C202 IN LINE 75 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'm_bOSDEnable': undefined identifier
76 1 m_cCurreKey=m_cPreKey=0xFF;
*** ERROR C202 IN LINE 76 OF ..\CS8957T108\T103 ADD108\SOURCE\OSD\OSDDRAW.C: 'm_cCurreKey': undefined identifier
77 1 }
78
79 void OSDExit(void)
80 {
81 1 OSDCfgWr(0x10,0x00);
82 1 OSDDisable();
83 1
84 1 }
85 //-----------------------------------------//Phil Added for OSD1
86 void OSD1PutChar(uCHAR cChar,uCHAR x,uCHAR y, uCHAR cColor,uCHAR FontIndexBase)
87 {
88 1 if((x < OSD_LENGTH) && ( y < OSD_LINE_NUM))
89 1 {
90 2 OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 6)+x);
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 3
91 2 twdWr_Burst_A(OSD_RAM_DL); // Write OSD index
92 2 twdWr_Burst_D(cChar+FontIndexBase);
93 2 twdWr_Burst_D(cColor);
94 2 twdWr_Burst_P();
95 2 }
96 1 }
97
98 void OSD1ShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength, uCHAR FontIndexBase)
99 {
100 1 if((x < OSD_LENGTH) && ( y < OSD_LINE_NUM))
101 1 {
102 2 OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 6)+x);
103 2 twdWr_Burst_A(OSD_RAM_DL); // Write OSD index
104 2 while((*string) != EOL && (x < cLength))
105 2 {
106 3 twdWr_Burst_D((*string++)+FontIndexBase);
107 3 twdWr_Burst_D(cColor);
108 3 x++;
109 3 }
110 2 twdWr_Burst_P();
111 2 }
112 1 }
113
114 void OSDCleanLine(uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
115 {
116 1 if((x < OSD_LENGTH) && ( y < OSD_LINE_NUM))
117 1 {
118 2 OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 6)+x);
119 2 twdWr_Burst_A(OSD_RAM_DL); // Write OSD index
120 2 while((x < OSD_LENGTH) && (x < cLength))
121 2 {
122 3 twdWr_Burst_D(BLANK);
123 3 twdWr_Burst_D(cColor);
124 3 x++;
125 3 twdDelay(1);
126 3 }
127 2 twdWr_Burst_P();
128 2 }
129 1 }
130 void OSDClearPage(void)
131 {
132 1 uCHAR i=0;
133 1 for(i=0;i<OSD_LINE_NUM;i++)
134 1 {
135 2 OSDCleanLine(0,i,0,30/*OSD_LENGTH*/);
136 2 OSDSetLineAttribute(i,0x80);
137 2 }
138 1
139 1 if ( VBI_ON )
140 1 OSDCfgWr(ALPHA_BLD_CTRL,0x80);
141 1 else
142 1 OSDCfgWr(ALPHA_BLD_CTRL,0x83);
143 1 }
144
145 void OSD1ClearMenu(uCHAR cColor)
146 {
147 1 uCHAR i;
148 1
149 1 for(i = 0; i < OSD_LINE_NUM; i++)
150 1 OSDCleanLine(0,i,cColor,OSD_LENGTH);
151 1 }
152
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 4
153 void OSD1SetLineAttribute(uCHAR cLine,uCHAR cAttribute)
154 {
155 1 OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)cLine << 6)+OSD_LENGTH+1);
156 1 I2CWriteByte(TW803_P0,OSD_RAM_DL,0x00);
157 1 I2CWriteByte(TW803_P0,OSD_RAM_DL,cAttribute);
158 1 }
159
160 //---------------------------------//
161
162 void OSDOpenMenu(void)
163 {
164 1 if(m_bOSD2Showed){
165 2 m_bOSD2Showed = 0;
166 2 //OSDDisable();
167 2 OSDCfgWr(OSD1_CTRL,0x18);
168 2 OSD2Disable();
169 2 OSD2ClearMenu(1);
170 2 OSD1ClearMenu(BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT);
171 2 }else{
172 2 OSDClearPage();
173 2 }
174 1 OSDPosition(CENTER);
175 1 I2CWriteByte(TW803_P0,0xE2,0x11);
176 1 OSDShowPage();
177 1 }
178
179 void OSDFuncExit(void)
180 {
181 1
182 1 }
183
184 void OSDShowPage(void)
185 {
186 1 uCHAR y,str_index;
187 1 uCHAR item_num=ALL_MENU[m_cOSDMenu]->Item_Num;
188 1
189 1 OSDReadData(idPUBMENU);
190 1 str_index=ALL_MENU[m_cOSDMenu]->Item_Num*EepPublic.cOSDLang;
191 1
192 1 for(y=0;y<item_num;y++)
193 1 {
194 2 OSDShowLine(iBlankLine_E,0,y,COL_NORMAL,OSD_LENGTH);
195 2 OSDShowLine(ALL_MENU[m_cOSDMenu]->str[y+str_index],TXT_STAT,y,COL_NORMAL,OSD_LENGTH);
196 2
197 2 if(ALL_MENU[m_cOSDMenu]->Par[y].cDataAttr&OSD_VALUE)
198 2 OSDDrawNum(ALL_MENU[m_cOSDMenu]->EEProm[y],ALL_MENU[m_cOSDMenu]->Par[y].ucValMAX,NUM_STAT,y,COL_NORMAL,
-DRAW_BLANK);
199 2
200 2
201 2 // if((ALL_MENU[m_cOSDMenu]->Par->cDataAttr&OSD_ITEM)&&(((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[y].Item)!=NUL
-L))
202 2 if((ALL_MENU[m_cOSDMenu]->Par[y].cDataAttr&OSD_ITEM)&&(((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[y].Item)!=NUL
-L))
203 2 OSDShowItem((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[y].Item[(ALL_MENU[m_cOSDMenu]->EEProm[y])], ITEM_STAT, y
-);
204 2 }
205 1 for(y=0;y<GUAGE_GAP;y++)
206 1 OSDShowLine(iBlankLine_E,0,y+item_num,COL_NORMAL,OSD_LENGTH);
207 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -