⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osd2csl.lst

📁 T103的开发程序 能兼容很多屏 可根据需要修改定义
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -