📄 t100osd.lst
字号:
C51 COMPILER V7.50 T100OSD 01/12/2006 13:20:34 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE T100OSD
OBJECT MODULE PLACED IN .\Obj\T100OSD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\OSD\T100OSD.c BROWSE INCDIR(.\Include\;.\Source\;.\Include\Panel\;.\
-Include\GammaTable\) DEFINE(T101A) DEBUG OBJECTEXTEND PRINT(.\T100OSD.lst) OBJECT(.\Obj\T100OSD.obj)
line level source
1 #include <reg51.h>
2 #include "common.h"
3 #include "System.h"
4 #include "OSDDraw.h"
5 #include "TwoWire.h"
6 #include "TW10xReg.h"
7 #include "T100OSD.h"
8
9 #ifdef NEW_OSD
#include "T100A_Font12W16H.c"
#else
12 #include "T100A_Font12W18H.c"
13 #endif
14
15
16 #define LOGO_ON
17
18 #ifdef LOGO_ON
19 #define OSDBMP_2BIT_PIXEL 0xf8
20 #define OSDBMP_4BIT_PIXEL 0xb8
21 #define OSDBMP_TYPE OSDBMP_2BIT_PIXEL
22 #define BMP_HPOS (1024-320)/2
23 #define BMP_VPOS (768-76)/2
24
25 //#include "logodata.c"
26 //#include "logo1025.c"
27 #include "T100A_Logo.c"
28
29
30 //bit OSD_PowerOnLogo_On = 1;
31
32 // define OSD Logo BMP LUT color data
33 code unsigned char OSDLutLogoData[32]={
34 0x33,0x03, //Black f=0 , b=0 0x12, 03
35 0xaa,0x02, //Light Blue f=2 , b=1
36 0x18,0x01, //Dark Blue f=8 , b=4
37 0x1f,0x01, //Dark Blue f=8 , b=4
38 0xff,0x0f, //White f=3
39 0xf6,0x0f, //Dark Brown f=4 , b=2
40 0x08,0x08, //Purple f=5
41 0xa8,0x07, //Light Green f=6 , b=3
42 0x86,0x0f, //Dark Red f=7
43 0x54,0x0f, //Dark Red f=7
44 0x54,0x0f, //Dark Red f=7
45 0x0f,0x0f,
46 0xb9,0x00, //purple
- 6
47 0x44,0x04,
48 0x88,0x08, //grey
49 0xff,0x0f //white
50 };
51
52 #endif //LOGO_ON
53
C51 COMPILER V7.50 T100OSD 01/12/2006 13:20:34 PAGE 2
54 void OSDLogo(void)
55 {
56 1 #ifdef LOGO_ON
57 1 unsigned int i;
58 1 OSDSetRamAddr(FONT_DATA_START_ADDRESS);
59 1 I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
60 1 for(i=0;i<32;i++)
61 1 I2CWriteByte(TW101,OSD_CFG_DATA,OSDLutLogoData[i]);
62 1
63 1 OSDCfgWr(BW_W,0x28); //width 40(x8)
64 1 OSDCfgWr(BW_H,58); //58 //height 64
65 1 OSDCfgWr(BD_ENLARGE,0x00); //
66 1
67 1 twdWr_Burst_A(OSD_RAM_DL);
68 1 //for(i=0;i<80*76;i++){
69 1 for(i=0;i<80*58;i++)
70 1 twdWr_Burst_D(logodata[i]);
71 1 twdWr_Burst_P();
72 1
73 1 OSDCfgWr(OSD_CTRL,0xf8); //2 bits pixel BitMap
74 1 twdDelay(2000);
75 1 //OSDDisable();
76 1 #endif
77 1 }
78
79
80 void OSDInit(void)
81 {
82 1 unsigned int i;
83 1
84 1 OSDCfgWr(OSD_CTRL,0x18); //disable osd and width*1
85 1 /* OSD Position */
86 1 #if 0
i=((EepPublic.cOSDVPos&0xe0)>>1)|((EepPublic.cOSDHPos&0xe0)>>5);
OSDCfgWr(CHAR_DLY_0,(uCHAR)i);
i=EepPublic.cOSDHPos<<3;
OSDCfgWr(CHAR_DLY_1,(uCHAR)i);
i=EepPublic.cOSDVPos<<3;
#endif
93 1
94 1 OSDSetRamAddr(FONT_DATA_START_ADDRESS);
95 1 OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE);
96 1 OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START); //To setup character index start address.
97 1 //If start address is 0x9c0,
98 1 //You have get ((0x9c0 >> 5) & 0x7f) to store it
99 1 OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END); //This is to set index end address.
100 1
101 1 OSDCfgWr(CHAR_BS_CTRL,0x40);
102 1 OSDCfgWr(CHAR_BS_COLOR,0x00);
103 1 OSDCfgWr(CHAR_HEIGHT_CTRL,0x20);
104 1 //OSDCfgWr(CHAR_HEIGHT_CTRL,0x40); //For malata only
105 1 OSDCfgWr(BLINK_CTRL,0x01);
106 1 //OSDCfgWr(ALPHA_BLD_CTRL,0x80); /* Alpha blending is disable */
107 1 OSDCfgWr(ALPHA_BLD_CTRL,0x87); //0x86 // Alpha blending is disable; for malata only
108 1
109 1 OSDLoadColor();
110 1 //OSDSetRamAddr(FONT_DATA_START_ADDRESS);
111 1 #if 0
// set TW to fast mode
#ifdef TW100K
I2CWriteByte(TW702_WR_ADDR,TW_INTERFACE,0x04);
#else
C51 COMPILER V7.50 T100OSD 01/12/2006 13:20:34 PAGE 3
I2CWriteByte(TW702_WR_ADDR,TW_INTERFACE,0x05);
#endif
#endif
119 1
120 1 twdWr_Burst_A(OSD_RAM_DL);
121 1 //Below is re-writted
122 1 for(i=0; i<128*FONT_HEIGHT; i++){
123 2 twdWr_Burst_D(font_00[2*i]);
124 2 twdWr_Burst_D(font_00[2*i+1]);
125 2 }
126 1
127 1 //0xc00==1024*3;
128 1 for(; i<0xc00; i++){
129 2 twdWr_Burst_D(0x00);
130 2 twdWr_Burst_D(0x00);
131 2 }
132 1 twdWr_Burst_P();
133 1
134 1 for(i=0;i<15;i++){
135 2 OSDCleanLine(0,i,0,31);
136 2 OSDSetLineAttribute(i,0x80);
137 2 }
138 1 //#endif
139 1 }
140
141 void OSDShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
142 {
143 1 if((x < 30) && ( y < 0x13)){
144 2 OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
145 2 twdWr_Burst_A(OSD_RAM_DL); // Write OSD index
146 2 while((*string) != EOL && (x < cLength)){
147 3 twdWr_Burst_D(*string++);
148 3 twdWr_Burst_D(cColor );
149 3 //twdWr_Burst_D(0xc0);
150 3 x++;
151 3 }
152 2 twdWr_Burst_P();
153 2 }
154 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 454 ----
CONSTANT SIZE = 9664 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -