📄 osd2csl.lst
字号:
120 // Arguments : uCHAR *string
121 // uCHAR x
122 // uCHAR y
123 // uCHAR cBlink <---0: No Blink
124 // uCHAR HVScale
125 // uCHAR Color <---0: For Default IconColorHighByte.
126 // 1~15: For user define.
127 // uCHAR MenuIndex <---1: For Menu 1. 2: For Menu 2.
128 // Returns : --
129 // External : -- -- --
130 //-----------------------------------------------------------------------------
131 // Detail Description:
132 // -------------------
133 // Show OSD2 4BPP
134 // --------------
135 //=============================================================================
136 void OSD2Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR Color, uCHAR MenuIndex
-)
137 {
138 1 uCHAR Char= *(string+2);
139 1 uCHAR j,k;
140 1 uCHAR V;
141 1 if(MenuIndex == MENU1)
142 1 {
143 2 for(V=0; V<string[1];V++)
144 2 {
145 3 //~Set RAtt_C~//
146 3 OSD2SetRamAddr(OSD2Menu1StrAdr+(OSD2Menu1Width+4)*y+3);
147 3 OSD2SetRamData(((0x0000+HVScale)<<6)|(OSD2Menu1Width));
148 3 OSD2SetRamAddr(OSD2Menu1StrAdr+(OSD2Menu1Width+4)*y+x+4);
149 3 //~Stuff Strings~//
150 3 j=0;
151 3 k=x;
152 3 while((k<OSD2Menu1Width)&&(j<string[0]))
153 3 {
154 4 if(Color)
155 4 OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
156 4 else
157 4 OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
158 4 k++;
159 4 j++;
160 4 }
161 3 y++;
162 3 }
163 2 }
164 1 else if(MenuIndex == MENU2)
165 1 {
166 2 for(V=0; V<string[1];V++)
167 2 {
168 3 //~Set RAtt_C~//
169 3 OSD2SetRamAddr(OSD2Menu2StrAdr+(OSD2Menu2Width+4)*y+3);
170 3 OSD2SetRamData(((0x0000+HVScale)<<6)|(OSD2Menu2Width));
171 3 OSD2SetRamAddr(OSD2Menu2StrAdr+(OSD2Menu2Width+4)*y+x+4);
172 3 //~Stuff Strings~//
173 3 j=0;
174 3 k=x;
175 3 while((k<OSD2Menu2Width)&&(j<string[0]))
C51 COMPILER V8.08 OSD2CSL 11/23/2007 00:57:19 PAGE 4
176 3 {
177 4 if(Color)
178 4 OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
179 4 else
180 4 OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
181 4 k++;
182 4 j++;
183 4 }
184 3 y++;
185 3 }
186 2 }
187 1 }
188 #endif //ICON4BP
189
190
191 /*void OSD2PatternFillCtrl(uCHAR Enable,uWORD HStartPos, uWORD HEndPos, uWORD VStartPos, uWORD VEndPos)
192 {
193 IC_WritByte(TWIC_P0,OSD_CFG_INDEX,OSD_PT_CTRL);
194 OSD2CfgWr(OSD_PT_CTRL,IC_ReadByte(TWIC_P0,OSD_CFG_DATA)&((Enable<<7)|0x7F));
195 OSD2CfgWr(OSD_PT_HSTART_LSB,HStartPos&0x00FF);
196 OSD2CfgWr(OSD_PT_HSTART_MSB,HStartPos>>8);
197 OSD2CfgWr(OSD_PT_VSTART_LSB,VStartPos&0x00FF);
198 OSD2CfgWr(OSD_PT_VSTART_MSB,VStartPos>>8);
199 OSD2CfgWr(OSD_PT_HEND_LSB,HEndPos&0x00FF);
200 OSD2CfgWr(OSD_PT_HEND_MSB,HEndPos>>8);
201 OSD2CfgWr(OSD_PT_VEND_LSB,VEndPos&0x00FF);
202 OSD2CfgWr(OSD_PT_VEND_MSB,VEndPos>>8);
203 } */
204
205 void OSD2Menu1Enable(void)
206 {
207 1 OSD2CfgWr(OSD_MENU1_ENABLE,0x80);
208 1 IC_WritByte(TWIC_P0,0xE2,0x11);
209 1 }
210 void OSD2Menu2Enable(void)
211 {
212 1 OSD2CfgWr(OSD_MENU2_ENABLE,0x80);
213 1 IC_WritByte(TWIC_P0,0xE2,0x11);
214 1 }
215 void OSD2Enable(void)
216 {
217 1 OSD2CfgWr(OSD_CTRL,0x80);
218 1 IC_WritByte(TWIC_P0,0xE2,0x11);
219 1 }
220
221 void OSD2Disable(void)
222 {
223 1 OSD2CfgWr(OSD_CTRL,0x00);
224 1 }
225 void OSD2ClearSRam(void)
226 {
227 1 OSD2CfgWr(OSD_BLK_WRT_LSB,0x00);
228 1 OSD2CfgWr(OSD_BLK_WRT_MSB,0x00);
229 1 OSD2CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
230 1 OSD2CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
231 1 OSD2CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
232 1 OSD2CfgWr(OSD_BLK_WRT_CTR,0x9f);
233 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 579 ----
C51 COMPILER V8.08 OSD2CSL 11/23/2007 00:57:19 PAGE 5
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 13
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -