📄 osddraw.lst
字号:
C51 COMPILER V7.06 OSDDRAW 09/22/2005 16:15:34 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE OSDDRAW
OBJECT MODULE PLACED IN F:\SOURCE~1\CAR_DVD\KSP7200\21_09_05\OSDDRAW.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE F:\SOURCE~1\CAR_DVD\KSP7200\21_09_05\OSDDRAW.C DB SB OE OT(6)
stmt level source
1 #include <reg51.h>
2 #include <intrins.h>
3 #include "common.h"
4 #include "System.h"
5 //#include "Struct.h"
6 #include "OSDDraw.h"
7 //#include "OSDCtrl.h"
8 //#include "Video.h"
9 #include "TwoWire.h"
10 #include "TW100Reg.h"
11
12 #include "OSD1218.h"
13 #include "font1218.c"
14 //#include "OSDTbl.h"
15 //#include "OSDMenu.h"
16
17 #define TURE 1
18 //extern bit bGAMMA_ADJ;
19 //bit m_bOSDEnable=0;
20 //bit m_bKyPowerOn=0;
21 //bit m_bChipPowerOn=0;
22 //extern uCHAR idata m_cBuff[5];
23 //extern uWORD idata m_wBuff[3];
24 //extern uCHAR idata m_cOSDEvent;
25 //extern uCHAR idata m_cCurreKey;
26 //extern uCHAR idata m_cPreKey;
27 //extern uCHAR idata m_cItem;
28 //extern uCHAR idata m_cOSDFunc;
29 extern uCHAR idata cSource;
30 //extern uCHAR idata AddPoint;
31 //extern uCHAR idata GammaBuffer;
32 //extern void AdjustGammmaDate(void);
33
34 //void BKPower(void);
35 //void PowerManage(void);
36 #define GAUGE_Y 6
37
38 //extern EEPVIDEO idata EepVideo;
39
40 //#ifdef TIMER0
41 //extern void Timer0Start(void);
42 //extern void Timer0Stop(void);
43 //#endif
44
45 //#ifdef NVRAM
46 //#include "NVRam.h"
47 //extern uWORD idata m_wEepRom;
48 //#endif
49
50 /////////////////////////////////////////////
51 //sary/////////////
52 #include "OSD_main.h"
53 #include "OSD_source.h"
54 #include "OSD_audio.h"
55 #include "OSD_video.h"
C51 COMPILER V7.06 OSDDRAW 09/22/2005 16:15:34 PAGE 2
56 #include "OSD_screen.h"
57 #include "OSD_system.h"
58
59
60 extern bit OSD_enable;
61 extern uCHAR window;
62 extern uCHAR cursor1, cursor2;
63 extern bit enter;
64
65 extern unsigned char CurMode; //source_val; //source chosen
66
67 //Audio
68 extern unsigned char Aud_BassLevel; //0(-7)->15(+7)
69 extern unsigned char Aud_TrebleLevel; //0(-7)->15(+7)
70 extern unsigned char Aud_BalanceLevel; //0(L7)->15(R7)
71 extern unsigned char Aud_FaderLevel; //0(F7)->15(R7)
72
73 extern unsigned int AudioStatus;
74 extern unsigned char Aud_IniVol;
75
76 /*extern bit subwoofer; //0 off, 1 on
77 extern bit beep; //0 off, 1 on
78 extern unsigned char start_vol; //0->50*/
79
80
81 //video
82 extern unsigned char bright;
83 extern unsigned char contrast;
84 extern unsigned char color;
85 extern unsigned char sharp;
86
87 //screen
88 extern unsigned int VideoStatus;
89 /*extern bit direction; //0 normal, 1 inv
90 extern bit full; //0 4:3, 1 16:9
91 */
92
93 //System
94 extern unsigned char MinoutState; //in_out; //0 none, 1 level-1,
95 //2 level-2, 3 level-3
96 extern unsigned char TiltLimit; //tilt_range; //2 auto, 3 1-3,
97 //4 1-4, 5 1-5
98 extern unsigned char ChannelType; //tv_sys; //0 NTSC, 1 PAL, 2 CHINESE
99 extern unsigned char PalType; //tv_sound; //0 sound-3, 1 sound-1
100 //2 sound-2
101 extern unsigned int TiltFlag0; //bit tilt; //0 auto, 1 manual
102 //extern bit backlight; //0 normal, 1 bright
103
104 //reset
105 extern bit reset_valid; //0: no 1:ok
106
107 //////////////////////////////////////////////
108
109 /*
110 code OSDMENU *OSDMenu_E[]={
111 MainMenu_E,
112 };
113
114 code OSDMENU *OSDMenu_C[]={
115 MainMenu_C,
116 };
117
C51 COMPILER V7.06 OSDDRAW 09/22/2005 16:15:34 PAGE 3
118 typedef struct tagMULTILANGUAGEOSD{
119 uCHAR cLangID;
120 OSDMENU **osdMenuPtr;
121 }MULTILANGUAGEOSD;
122
123 MULTILANGUAGEOSD code MultiLangOSD[]={
124 {eENGLISH, OSDMenu_E},
125 {eCHINESE, OSDMenu_C},
126 };
127
128 code uCHAR *MessageData[] = {
129 iNoSignal,
130 iNoSupport,
131 iFailSafeMode,
132 iAutoAdjust,
133 iPowerOff,
134 iADCCalib,
135 iAdcSubsample,
136 iSyncError
137 };
138 */
139 uCHAR code cOSDMenuLutData[32]={
140 //0xGB, 0x0R
141 0x00,0x00, //0
142 0x0f,0x00, //1 blue
143 0x00,0x00, //2 black
144 0x0f,0x0a, //3 purple
145 0x0e,0x00, //4 dark blue
146 0xf8,0x00, //5 green
147 0x22,0x0A, //6 red
148 0xc4,0x0c, //7 olive
149 0x88,0x05, //8 light grey
150 0xb9,0x0b, //9 purple
151 0xBD,0x05, //A purple
152 0x0f,0x0f, //B
153 0xA3,0x0A, //C Yellow
154 0xcc,0x0c, //D light grey
155 0x68,0x03, //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
156 0xff,0x0f, //F white
157 };
158
159
160 void OSDInit(void)
161 {
162 1 unsigned int i;
163 1 OSDCfgWr(OSD_CTRL,0x18); //disable osd and width*1
164 1
165 1 // OSDCfgWr(OSD_CTRL,0x18);
166 1 OSDSetRamAddr(FONT_DATA_START_ADDRESS);
167 1 OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE);
168 1 OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START); //To setup character index start address.
169 1 //If start address is 0x9c0,
170 1 //You have get ((0x9c0 >> 5) & 0x7f) to store it
171 1 OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END); //This is to set index end address.
172 1
173 1 OSDCfgWr(CHAR_BS_CTRL,0x40);
174 1 OSDCfgWr(CHAR_BS_COLOR,0x00);
175 1 OSDCfgWr(CHAR_HEIGHT_CTRL,0x20);
176 1 //OSDCfgWr(CHAR_HEIGHT_CTRL,0x40); //For malata only
177 1 OSDCfgWr(BLINK_CTRL,0x01);
178 1 //OSDCfgWr(ALPHA_BLD_CTRL,0x80); /* Alpha blending is disable */
179 1 OSDCfgWr(ALPHA_BLD_CTRL,0x02); //0x86 // Alpha blending is disable; for malata only
C51 COMPILER V7.06 OSDDRAW 09/22/2005 16:15:34 PAGE 4
180 1
181 1 OSDLoadColor();
182 1 //OSDSetRamAddr(FONT_DATA_START_ADDRESS);
183 1 twdWr_Burst_A(OSD_RAM_DL);
184 1 //Below is re-writted
185 1 for(i=0; i<128*FONT_HEIGHT; i++){
186 2 twdWr_Burst_D(font_00[2*i]);
187 2 twdWr_Burst_D(font_00[2*i+1]);
188 2 }
189 1
190 1 //0xc00==1024*3;
191 1 for(; i<0xc00; i++){
192 2 twdWr_Burst_D(0x00);
193 2 twdWr_Burst_D(0x00);
194 2 }
195 1 twdWr_Burst_P();
196 1
197 1 for(i=0;i<15;i++)
198 1 {
199 2 OSDCleanLine(0,i,0,31);
200 2 OSDSetLineAttribute(i,0x80);
201 2 }
202 1 }
203
204 void OSDLoadColor(void)
205 {
206 1 uCHAR i;
207 1 I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
208 1 for(i=0;i<32;i++)
209 1 I2CWriteByte(TW101,OSD_CFG_DATA,cOSDMenuLutData[i]);
210 1
211 1 }
212
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -