📄 osd1csl.lst
字号:
k=x;
//~Stuff Strings~//
while(((*pString) != EOL)&&(k<Menu1Width)&&(j<string[0]))
{
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorIndex[(*pString)]&0x0F)<<9)|(*pString++)
-);
k++;
j++;
}
y++;
}
}
else if(MenuIndex==MENU2)
{
C51 COMPILER V8.08 OSD1CSL 11/23/2007 00:57:19 PAGE 4
//~Set RAtt_C~//
OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu2Width));
OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+x+4);
k=x;
while((*pString) != EOL)
{
//~Stuff Strings~//
while(((*pString) != EOL)&&(k<Menu2Width)&&(j<string[0]))
{
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorIndex[(*pString)]&0x0F)<<9)|(*pString++)
-);
k++;
j++;
}
y++;
}
}
}
#endif //ICON2BP
197
198
199 #ifdef ICON4BP
//=============================================================================
// Function : OSD1Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,
// uCHAR HVScale,uCHAR Color, uCHAR MenuIndex)
// Prupose : Show OSD1 4BPP
// Arguments : uCHAR *string
// uCHAR x
// uCHAR y
// uCHAR cBlink <---0: No Blink
// uCHAR HVScale
// uCHAR Color <---0: For Default IconColorHighByte.
// 1~15: For user define.
// uCHAR MenuIndex <---1: For Menu 1. 2: For Menu 2.
// Returns : --
// External : -- -- --
//-----------------------------------------------------------------------------
// Detail Description:
// -------------------
// Show OSD1 4BPP
// --------------
//=============================================================================
void OSD1Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR Color, uCHAR MenuIndex
-)
{
uCHAR Char= *(string+2);
uCHAR j,k;
uCHAR V;
if(MenuIndex == MENU1)
{
for(V=0; V<string[1];V++)
{
//~Set RAtt_C~//
OSD1SetRamAddr(Menu1StrAdr+(Menu1Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu1Width));
OSD1SetRamAddr(Menu1StrAdr+(Menu1Width+4)*y+x+4);
//~Stuff Strings~//
j=0;
k=x;
while((k<Menu1Width)&&(j<string[0]))
C51 COMPILER V8.08 OSD1CSL 11/23/2007 00:57:19 PAGE 5
{
if(Color)
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
else
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
k++;
j++;
}
y++;
}
}
else if(MenuIndex == MENU2)
{
for(V=0; V<string[1];V++)
{
//~Set RAtt_C~//
OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(Menu2Width));
OSD1SetRamAddr(Menu2StrAdr+(Menu2Width+4)*y+x+4);
//~Stuff Strings~//
j=0;
k=x;
while((k<Menu2Width)&&(j<string[0]))
{
if(Color)
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(Color&0x0F)<<9)|(Char++));
else
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
k++;
j++;
}
y++;
}
}
}
#endif //ICON4BP
273
274
275 /*void OSD1PatternFillCtrl(uCHAR Enable,uWORD HStartPos, uWORD HEndPos, uWORD VStartPos, uWORD VEndPos)
276 {
277 IC_WritByte(TWIC_P0,OSD_CFG_INDEX,OSD_PT_CTRL);
278 OSD1CfgWr(OSD_PT_CTRL,IC_ReadByte(TWIC_P0,OSD_CFG_DATA)&((Enable<<7)|0x7F));
279 OSD1CfgWr(OSD_PT_HSTART_LSB,HStartPos&0x00FF);
280 OSD1CfgWr(OSD_PT_HSTART_MSB,HStartPos>>8);
281 OSD1CfgWr(OSD_PT_VSTART_LSB,VStartPos&0x00FF);
282 OSD1CfgWr(OSD_PT_VSTART_MSB,VStartPos>>8);
283 OSD1CfgWr(OSD_PT_HEND_LSB,HEndPos&0x00FF);
284 OSD1CfgWr(OSD_PT_HEND_MSB,HEndPos>>8);
285 OSD1CfgWr(OSD_PT_VEND_LSB,VEndPos&0x00FF);
286 OSD1CfgWr(OSD_PT_VEND_MSB,VEndPos>>8);
287 } */
288
289 void OSD1Menu1Enable(void)
290 {
291 1 OSD1CfgWr(OSD_MENU1_ENABLE,0x80);
292 1 IC_WritByte(TWIC_P0,0xE2,0x11);
293 1 }
294 void OSD1Menu2Enable(void)
295 {
296 1 OSD1CfgWr(OSD_MENU2_ENABLE,0x80);
297 1 IC_WritByte(TWIC_P0,0xE2,0x11);
298 1 }
C51 COMPILER V8.08 OSD1CSL 11/23/2007 00:57:19 PAGE 6
299 void OSD1Enable(void)
300 {
301 1 OSD1CfgWr(OSD_CTRL,0x80);
302 1 IC_WritByte(TWIC_P0,0xE2,0x11);
303 1 }
304
305 void OSD1Disable(void)
306 {
307 1 OSD1CfgWr(OSD_CTRL,0x00);
308 1 }
309 void OSD1ClearSRam(void)
310 {
311 1 OSD1CfgWr(OSD_BLK_WRT_LSB,0x00);
312 1 OSD1CfgWr(OSD_BLK_WRT_MSB,0x00);
313 1 OSD1CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
314 1 OSD1CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
315 1 OSD1CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
316 1 OSD1CfgWr(OSD_BLK_WRT_CTR,0x9f);
317 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 704 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 17
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 + -